re PR fortran/47082 ([OOP] ICE in gfc_conv_component_ref)
[gcc.git] / gcc / ChangeLog
1 2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * config/i386/sysv4.h (TARGET_VERSION): Remove.
4 (SUBTARGET_RETURN_IN_MEMORY): Remove.
5 (ASM_OUTPUT_ASCII): Remove.
6 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
7
8 2011-02-02 Jeff Law <law@redhat.com>
9
10 PR middle-end/47543
11 * reload.c (find_reloads_address): Handle reg+d address where both
12 components are invalid by reloading the entire address.
13
14 2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
15 Richard Guenther <rguenther@suse.de>
16
17 PR tree-optimization/40979
18 PR bootstrap/47044
19 * passes.c (init_optimization_passes): After LIM call copy_prop
20 and DCE to clean up.
21 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
22
23 2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
24
25 PR tree-optimization/47576
26 PR tree-optimization/47555
27 * doc/invoke.texi (scev-max-expr-complexity): Documented.
28 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
29 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
30 * tree-scalar-evolution.c (follow_ssa_edge): Use
31 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
32
33 2011-02-02 Richard Guenther <rguenther@suse.de>
34
35 PR tree-optimization/47566
36 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
37
38 2011-02-02 Alexandre Oliva <aoliva@redhat.com>
39
40 PR debug/47106
41 PR debug/47402
42 * tree-inline.c (declare_return_variable): Remove unused caller
43 variable.
44
45 PR debug/47106
46 PR debug/47402
47 * tree-flow-inline.h (clear_is_used, is_used_p): New.
48 * cfgexpand.c (account_used_vars_for_block): Use them.
49 * tree-nrv.c (tree_nrv): Likewise.
50 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
51 (dump_scope_block): Likewise.
52 (remove_unused_locals): Likewise.
53
54 PR debug/47106
55 PR debug/47402
56 * tree-inline.c (declare_return_variable): Add result decl to
57 local decls only once.
58 * gimple-low.c (record_vars_into): Mark newly-created variables
59 as referenced.
60
61 2011-02-02 Alexandre Oliva <aoliva@redhat.com>
62
63 PR debug/47498
64 PR debug/47501
65 PR debug/45136
66 PR debug/45130
67 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
68 debug insns.
69 (no_real_insns_p, schedule_block, set_priorities): Drop special
70 treatment of boundary debug insns.
71 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
72 insns.
73 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
74 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
75 (BOUNDARY_DEBUG_INSN_P): Likewise.
76 (SCHEDULE_DEBUG_INSN_P): Likewise.
77 * sched-rgn.c (init_ready_list): Drop special treatment of
78 boundary debug insns.
79 * final.c (rest_of_clean_state): Clear notes' BB.
80
81 2011-02-01 Joseph Myers <joseph@codesourcery.com>
82
83 * config/openbsd.opt (assert=): New Driver option.
84
85 2011-02-01 Joseph Myers <joseph@codesourcery.com>
86
87 * config/i386/nto.opt: New.
88 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
89
90 2011-02-01 Joseph Myers <joseph@codesourcery.com>
91
92 * config/i386/netware.opt: New.
93 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
94
95 2011-02-01 Joseph Myers <joseph@codesourcery.com>
96
97 * config/interix.opt (posix): New Driver option.
98
99 2011-02-01 DJ Delorie <dj@redhat.com>
100
101 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
102
103 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
104 class for A0/A1.
105
106 2011-02-01 Sebastian Pop <sebastian.pop@amd.com>
107
108 PR tree-optimization/47561
109 * toplev.c (process_options): Print the Graphite flags. Add
110 flag_loop_flatten to the list of options requiring Graphite.
111
112 2011-02-01 Joseph Myers <joseph@codesourcery.com>
113
114 * config/i386/cygming.opt (posix): New Driver option.
115
116 2011-02-01 Joseph Myers <joseph@codesourcery.com>
117
118 * config/arm/vxworks.opt: New.
119 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
120
121 2011-02-01 Joseph Myers <joseph@codesourcery.com>
122
123 * config/alpha/elf.opt: New.
124 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
125 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
126
127 2011-02-01 Richard Guenther <rguenther@suse.de>
128
129 PR tree-optimization/47559
130 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
131 store-motion on references that can throw.
132
133 2011-02-01 Bernd Schmidt <bernds@codesourcery.com>
134
135 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
136 * tree-pass.h (TDF_CSELIB): New macro.
137 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
138 cselib_lookup): Check for it rather than for TDF_DETAILS.
139
140 2011-02-01 H.J. Lu <hongjiu.lu@intel.com>
141
142 PR driver/47547
143 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
144 is HOST_BIT_BUCKET.
145
146 * opts.c (finish_options): Don't add x_aux_base_name if it is
147 HOST_BIT_BUCKET.
148
149 2011-02-01 Richard Guenther <rguenther@suse.de>
150
151 PR tree-optimization/47555
152 Revert
153 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
154
155 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
156
157 2011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
158
159 PR gcc/46692
160 * config/lm32/t-lm32: Add multilib for all CPU options.
161
162 2011-02-01 Richard Guenther <rguenther@suse.de>
163
164 PR tree-optimization/47541
165 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
166 sure to have a field at offset zero.
167
168 2011-01-31 Joseph Myers <joseph@codesourcery.com>
169
170 * config/arc/arc.opt (EB, EL): New Driver options.
171
172 2011-01-31 Joseph Myers <joseph@codesourcery.com>
173
174 * config/alpha/osf5.opt: New.
175 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
176
177 2011-01-31 Joseph Myers <joseph@codesourcery.com>
178
179 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
180
181 2011-01-31 Sebastian Pop <sebastian.pop@amd.com>
182
183 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
184 -floop-interchange.
185 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
186 is an alias of -floop-interchange and that it requires the
187 Graphite infrastructure.
188 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
189 flag_loop_interchange based on the value of flag_tree_loop_linear.
190
191 2011-01-31 Jakub Jelinek <jakub@redhat.com>
192 Richard Guenther <rguenther@suse.de>
193
194 PR tree-optimization/47538
195 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
196 type instead of r1type, except for comparisons. For right
197 shifts and comparisons punt if there are mismatches in
198 sizetype vs. non-sizetype types.
199
200 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
201
202 * doc/sourcebuild.texi (Effective-Target Keywords): Document
203 avx_runtime.
204
205 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
206
207 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
208 version number.
209 * configure: Regenerate.
210
211 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
212
213 * configure.ac (gcc_cv_ld_static_option): Define.
214 (gcc_cv_ld_dynamic_option): Define.
215 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
216 instead.
217 (HAVE_LD_STATIC_DYNAMIC): Update message.
218 (LD_STATIC_OPTION): Define.
219 (LD_DYNAMIC_OPTION): Define.
220 * configure: Regenerate.
221 * config.in: Regenerate.
222 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
223 HAVE_LD_STATIC_DYNAMIC]: Use them.
224
225 2011-01-31 Nick Clifton <nickc@redhat.com>
226
227 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
228 registers inside interrupt handlers if the handler is not a leaf
229 function.
230
231 2011-01-31 Nick Clifton <nickc@redhat.com>
232
233 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
234 reg_renumber returning an INVALID_REGNUM.
235
236 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
237
238 PR libgcj/44341
239 * doc/install.texi: Document host options discarded when cross
240 configuring target libraries.
241
242 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
243
244 Reverted:
245 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
246 PR debug/45136
247 PR debug/45130
248 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
249 debug insns.
250 (no_real_insns_p, schedule_block, set_priorities): Drop special
251 treatment of boundary debug insns.
252 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
253 insns.
254 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
255 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
256 (BOUNDARY_DEBUG_INSN_P): Likewise.
257 (SCHEDULE_DEBUG_INSN_P): Likewise.
258 * sched-rgn.c (init_ready_list): Drop special treatment of
259 boundary debug insns.
260 * final.c (rest_of_clean-state): Clear notes' BB.
261
262 2011-01-31 Alan Modra <amodra@gmail.com>
263
264 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
265 toc relative expressions as we do in print_operand_address.
266
267 2011-01-30 Kazu Hirata <kazu@codesourcery.com>
268
269 * doc/extend.texi: Follow spelling conventions.
270 * doc/invoke.texi: Fix a typo.
271
272 2011-01-30 Joseph Myers <joseph@codesourcery.com>
273
274 * config/hpux11.opt: New.
275 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
276 ia64*-*-hpux*): Use hpux11.opt.
277
278 2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
279
280 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
281 to tmake_file.
282
283 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
284
285 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
286 support sites.
287
288 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
289
290 * doc/install.texi (Binaries): Remove outdated reference for
291 Motorola 68HC11/68HC12 downloads.
292
293 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
294
295 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
296 Drepper's paper.
297
298 2011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
299
300 PR bootstrap/47147
301 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
302 used by NetBSD.
303
304 2011-01-28 Ahmad Sharif <asharif@google.com>
305
306 * value-prof.c (check_counter): Corrected error message.
307
308 2011-01-29 Jie Zhang <jie@codesourcery.com>
309
310 * config/arm/arm.c (arm_legitimize_reload_address): New.
311 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
312 arm_legitimize_reload_address.
313 * config/arm/arm-protos.h (arm_legitimize_reload_address):
314 Declare.
315
316 2011-01-28 Ian Lance Taylor <iant@google.com>
317
318 * godump.c (go_define): Ignore macros whose definitions include
319 two adjacent operands.
320
321 2011-01-28 Jakub Jelinek <jakub@redhat.com>
322
323 PR target/42894
324 * varasm.c (force_const_mem): Store copy of x in desc->constant
325 instead of x itself.
326 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
327 itself into REG_EQUAL note.
328
329 2011-01-28 Joseph Myers <joseph@codesourcery.com>
330
331 * config/freebsd.opt (posix, rdynamic): New Driver options.
332
333 2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
334
335 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
336 -Bstatic/-Bdynamic.
337 * configure: Regenerate.
338
339 2011-01-27 Joseph Myers <joseph@codesourcery.com>
340
341 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
342 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
343
344 2011-01-27 Anatoly Sokolov <aesok@post.ru>
345
346 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
347 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
348 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
349 (s390_preferred_reload_class): Make static. Change return and
350 'rclass' argument type to reg_class_t.
351
352 2011-01-27 Jan Hubicka <jh@suse.cz>
353
354 PR middle-end/46949
355 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
356 (process_function_and_variable_attributes): Check defined weakrefs.
357
358 2011-01-27 Martin Jambor <mjambor@suse.cz>
359
360 PR tree-optimization/47228
361 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
362 build_ref_for_offset.
363
364 2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
365
366 * config/spu/spu-elf.h (ASM_SPEC): Remove.
367
368 2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
369
370 PR rtl-optimization/46856
371 * postreload.c (reload_combine_recognize_const_pattern): Do not
372 separate cc0 setter and user on cc0 targets.
373
374 2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
375
376 PR c/43082
377 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
378 passed a VOID_TYPE expression, immediately emit an error and
379 return error_mark_node.
380
381 2011-01-26 Jeff Law <law@redhat.com>
382
383 PR rtl-optimization/47464
384 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
385 rather than may_trap_p as needed.
386
387 2011-01-26 DJ Delorie <dj@redhat.com>
388
389 PR rtl-optimization/46878
390 * combine.c (insn_a_feeds_b): Check for the implicit cc0
391 setter/user dependency as well.
392
393 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
394
395 PR rtl-optimization/44469
396 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
397 after removing trivially dead basic blocks.
398
399 2011-01-26 Joseph Myers <joseph@codesourcery.com>
400
401 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
402 * config/frv/frv.h (LINK_SPEC): Likewise.
403 * config/i386/netware.h (LINK_SPEC): Likewise.
404 * config/m68k/linux.h (ASM_SPEC): Likewise.
405 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
406 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
407 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
408 * config/sparc/linux.h (ASM_SPEC): Likewise.
409 * config/sparc/linux64.h (ASM_SPEC): Likewise.
410 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
411
412 2011-01-26 Joseph Myers <joseph@codesourcery.com>
413
414 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
415 * config/frv/frv.h (ASM_SPEC): Likewise.
416 * config/m68k/linux.h (ASM_SPEC): Likewise.
417 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
418 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
419 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
420 * config/sparc/linux.h (ASM_SPEC): Likewise.
421 * config/sparc/linux64.h (ASM_SPEC): Likewise.
422 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
423
424 2011-01-26 Joseph Myers <joseph@codesourcery.com>
425
426 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
427 * config/frv/frv.h (LINK_SPEC): Likewise.
428 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
429
430 2011-01-26 Joseph Myers <joseph@codesourcery.com>
431
432 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
433 * config/frv/frv.h (ASM_SPEC): Likewise.
434 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
435 * config/m68k/linux.h (ASM_SPEC): Likewise.
436 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
437 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
438 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
439 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
440 * config/sparc/linux.h (ASM_SPEC): Likewise.
441 * config/sparc/linux64.h (ASM_SPEC): Likewise.
442 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
443 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
444
445 2011-01-26 Steve Ellcey <sje@cup.hp.com>
446
447 PR target/46997
448 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
449 (*mux2): Ditto.
450 (vec_extract_evenodd_help): Ditto.
451 (vec_extract_evenv4hi): Ditto.
452 (vec_extract_oddv4hi): Ditto.
453 (vec_interleave_lowv2si): Ditto.
454 (vec_interleave_highv2si): Ditto.
455 (vec_extract_evenv2si): Ditto.
456 (vec_extract_oddv2si: Ditto.
457 (vec_pack_trunc_v2si): Ditto.
458
459 2011-01-22 Jan Hubicka <jh@suse.cz>
460
461 PR target/47237
462 * cgraph.h (cgraph_local_info): New field can_change_signature.
463 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
464 signature can change.
465 (ipcp_estimate_growth): Call sequence simplify only if calle signature
466 can change.
467 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
468 (cgraph_function_versioning): We can not change signature of functions
469 that don't allow that.
470 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
471 (lto_input_node): Likewise.
472 * ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
473 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
474 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
475 that can not change signature.
476 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
477 init_cumulative_args): Do not use local calling conventions for functions
478 that can not change signature.
479
480 2011-01-22 Jan Hubicka <jh@suse.cz>
481
482 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
483
484 2011-01-26 Richard Guenther <rguenther@suse.de>
485
486 PR tree-optimization/47190
487 * cgraphunit.c (process_common_attributes): New function.
488 (process_function_and_variable_attributes): Use it.
489
490 2011-01-26 Richard Guenther <rguenther@suse.de>
491
492 PR lto/47423
493 * cgraphbuild.c (record_eh_tables): Record reference to personality
494 function.
495
496 2011-01-26 Alexandre Oliva <aoliva@redhat.com>
497
498 PR debug/45454
499 * sel-sched.c (moveup_expr): Don't let debug insns prevent
500 non-debug insns from moving up.
501
502 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
503
504 PR target/40125
505 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
506 t-dlldir{,-x} fragment for build and add it to tmake_file.
507 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
508 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
509 * config/i386/t-dlldir: New file.
510 (SHLIB_DLLDIR): Define.
511 * config/i386/t-dlldir-x: New file.
512 (SHLIB_DLLDIR): Define.
513 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
514 (SHLIB_INSTALL): Use it.
515
516 2011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
517
518 PR target/47246
519 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
520 lower bound of the allowed Thumb-2 coprocessor load/store
521 index range to -256. Add explaining comment.
522
523 2011-01-25 Ian Lance Taylor <iant@google.com>
524
525 * godump.c (go_define): Improve lexing of macro expansion to only
526 accept expressions which match Go spec.
527
528 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
529
530 PR c++/43601
531 * tree.c (handle_dll_attribute): Handle it.
532 * doc/extend.texi (@item dllexport): Mention it.
533 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
534
535 2011-01-25 Ian Lance Taylor <iant@google.com>
536
537 PR tree-optimization/26854
538 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
539 (decl_jump_unsafe): Move higher in file, with no other change.
540 (bind): Set has_jump_unsafe_decl if appropriate.
541 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
542 (check_earlier_gotos): Likewise.
543 (c_check_switch_jump_warnings): Likewise.
544
545 2011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
546
547 * doc/invoke.texi (Warning Options): Add missing hyphen.
548 (-fprofile-dir): Minor grammatical fixes.
549 (-fbranch-probabilities): Likewise.
550
551 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
552
553 PR debug/45136
554 PR debug/45130
555 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
556 debug insns.
557 (no_real_insns_p, schedule_block, set_priorities): Drop special
558 treatment of boundary debug insns.
559 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
560 insns.
561 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
562 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
563 (BOUNDARY_DEBUG_INSN_P): Likewise.
564 (SCHEDULE_DEBUG_INSN_P): Likewise.
565 * sched-rgn.c (init_ready_list): Drop special treatment of
566 boundary debug insns.
567 * final.c (rest_of_clean-state): Clear notes' BB.
568
569 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
570
571 * Makefile.in (LAMBDA_H): Removed.
572 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
573 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
574 lambda-trans.o, and tree-loop-linear.o.
575 (lto-symtab.o): Remove dependence on LAMBDA_H.
576 (tree-loop-linear.o): Remove rule.
577 (lambda-mat.o): Same.
578 (lambda-trans.o): Same.
579 (lambda-code.o): Same.
580 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
581 (tree-vect-slp.o): Same.
582 * hwint.h (gcd): Moved here.
583 (least_common_multiple): Same.
584 * lambda-code.c: Removed.
585 * lambda-mat.c: Removed.
586 * lambda-trans.c: Removed.
587 * lambda.h: Removed.
588 * tree-loop-linear.c: Removed.
589 * lto-symtab.c: Do not include lambda.h.
590 * omega.c (gcd): Removed.
591 * passes.c (init_optimization_passes): Remove pass_linear_transform.
592 * tree-data-ref.c (print_lambda_vector): Moved here.
593 (lambda_vector_copy): Same.
594 (lambda_matrix_copy): Same.
595 (lambda_matrix_id): Same.
596 (lambda_vector_first_nz): Same.
597 (lambda_matrix_row_add): Same.
598 (lambda_matrix_row_exchange): Same.
599 (lambda_vector_mult_const): Same.
600 (lambda_vector_negate): Same.
601 (lambda_matrix_row_negate): Same.
602 (lambda_vector_equal): Same.
603 (lambda_matrix_right_hermite): Same.
604 * tree-data-ref.h: Do not include lambda.h.
605 (lambda_vector): Moved here.
606 (lambda_matrix): Same.
607 (dependence_level): Same.
608 (lambda_transform_legal_p): Removed declaration.
609 (lambda_collect_parameters): Same.
610 (lambda_compute_access_matrices): Same.
611 (lambda_vector_gcd): Same.
612 (lambda_vector_new): Same.
613 (lambda_vector_clear): Same.
614 (lambda_vector_lexico_pos): Same.
615 (lambda_vector_zerop): Same.
616 (lambda_matrix_new): Same.
617 * tree-flow.h (least_common_multiple): Removed declaration.
618 * tree-parloops.c (lambda_trans_matrix): Moved here.
619 (LTM_MATRIX): Same.
620 (LTM_ROWSIZE): Same.
621 (LTM_COLSIZE): Same.
622 (LTM_DENOMINATOR): Same.
623 (lambda_trans_matrix_new): Same.
624 (lambda_matrix_vector_mult): Same.
625 (lambda_transform_legal_p): Same.
626 * tree-pass.h (pass_linear_transform): Removed declaration.
627 * tree-ssa-loop.c (tree_linear_transform): Removed.
628 (gate_tree_linear_transform): Removed.
629 (pass_linear_transform): Removed.
630 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
631 flag_loop_interchange.
632
633 2011-01-25 Jakub Jelinek <jakub@redhat.com>
634
635 PR tree-optimization/47265
636 PR tree-optimization/47443
637 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
638 if name still has some uses.
639
640 2011-01-25 Martin Jambor <mjambor@suse.cz>
641
642 PR tree-optimization/47382
643 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
644 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
645
646 2011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
647
648 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
649 sjlj_except_unwind_info.
650
651 2011-01-25 Richard Guenther <rguenther@suse.de>
652
653 PR tree-optimization/47426
654 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
655 visible functions results escape.
656
657 2011-01-25 Jakub Jelinek <jakub@redhat.com>
658
659 PR target/45701
660 * config/arm/arm.c (any_sibcall_uses_r3): New function.
661 (arm_get_frame_offsets): Use it.
662
663 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
664 Jakub Jelinek <jakub@redhat.com>
665
666 PR tree-optimization/47271
667 * tree-if-conv.c (bb_postdominates_preds): New.
668 (if_convertible_bb_p): Call bb_postdominates_preds.
669 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
670 (predicate_scalar_phi): Call bb_postdominates_preds.
671
672 2011-01-25 Nick Clifton <nickc@redhat.com>
673
674 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
675 * config/rx/rx.c (rx_function_value): Likewise.
676 (rx_promote_function_mode): Likewise.
677 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
678 in order to make it legitimate.
679 * config/rx/rx.md (adddi3_internal): If the second operand is a
680 MEM make sure that the first operand is the same as the result
681 register.
682 (addsi3_unspec): Delete.
683 (subdi3): Do not accept immediate operands.
684 (subdi3_internal): Likewise.
685
686 2011-01-25 Jeff Law <law@redhat.com>
687
688 PR rtl-optimization/37273
689 * ira-costs.c (scan_one_insn): Detect constants living in memory and
690 handle them like argument loads from stack slots. Do not double
691 count memory for memory constants and argument loads from stack slots.
692
693 2011-01-25 Jakub Jelinek <jakub@redhat.com>
694
695 PR tree-optimization/47427
696 PR tree-optimization/47428
697 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
698 coalesce if the new root var would be TREE_READONLY.
699
700 2011-01-25 Richard Guenther <rguenther@suse.de>
701
702 PR middle-end/47414
703 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
704 correct type for TBAA.
705
706 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
707
708 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
709 (close_phi_written_to_memory): Call for_each_index with
710 dr_indices_valid_in_loop.
711
712 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
713
714 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
715 when it is initialized.
716
717 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
718
719 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
720 call to graphite_find_data_references_in_stmt.
721 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
722 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
723 call to graphite_find_data_references_in_stmt.
724 (analyze_drs_in_stmts): Same.
725 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
726 in which the scalar analysis of indices is performed.
727 (create_data_ref): Same. Update call to dr_analyze_indices.
728 (find_data_references_in_stmt): Update call to create_data_ref.
729 (graphite_find_data_references_in_stmt): Same.
730 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
731 declaration.
732 (create_data_ref): Same.
733 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
734 call to create_data_ref.
735
736 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
737
738 * graphite-sese-to-poly.c (build_poly_scop): Move
739 rewrite_commutative_reductions_out_of_ssa before
740 find_scop_parameters.
741
742 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
743
744 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
745 VAR_DECL, PARM_DECL, and RESULT_DECL.
746
747 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
748
749 * graphite-dependences.c (reduction_dr_1): Allow several reductions
750 in a reduction PBB.
751 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
752 that have already been marked as PBB_IS_REDUCTION.
753
754 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
755
756 * graphite-scop-detection.c (same_close_phi_node): New.
757 (remove_duplicate_close_phi): New.
758 (make_close_phi_nodes_unique): New.
759 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
760
761 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
762
763 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
764 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
765 of both data references to be the same.
766
767 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
768
769 * graphite-dependences.c (build_lexicographical_constraint): Remove the
770 gdim parameter.
771 (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
772 (dependence_polyhedron): Same.
773 (graphite_legal_transform_dr): Same.
774 (graphite_carried_dependence_level_k): Same.
775 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
776 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
777
778 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
779
780 * graphite-sese-to-poly.c
781 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
782 (close_phi_written_to_memory): New.
783 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
784 and unshare_expr.
785
786 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
787
788 * doc/install.texi: Update the expected version number of PPL to 0.11.
789 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
790 #if PPL_VERSION_MINOR < 11.
791
792 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
793
794 * graphite-dependences.c: Include graphite-cloog-util.h.
795 (new_poly_ddr): Inlined into dependence_polyhedron.
796 (free_poly_ddr): Moved close by new_poly_ddr.
797 (dependence_polyhedron_1): Renamed dependence_polyhedron.
798 Early return NULL when ppl_powerset_is_empty returns true.
799 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
800 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
801 (graphite_legal_transform_dr): Call new_poly_ddr.
802 (graphite_carried_dependence_level_k): Same.
803 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
804 (dot_transformed_deps_stmt_1): Removed.
805 (dot_deps_stmt_1): Call dot_deps_stmt_2.
806 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
807 (dot_deps_1): Call dot_deps_2.
808 * Makefile.in (graphite-dependences.o): Add missing dependence on
809 graphite-cloog-util.h.
810
811 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
812
813 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
814 (build_lexicographical_constraint): Same.
815 (dependence_polyhedron_1): Same.
816 (graphite_legal_transform_dr): Same.
817 (graphite_carried_dependence_level_k): Same.
818 * graphite-ppl.c (ppl_powerset_is_empty): New.
819 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
820 * tree-data-ref.c (dump_data_reference): Print the basic block index.
821
822 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
823
824 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
825 the "a followed by b" relation and document it.
826
827 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
828
829 * graphite-dependences.c (build_lexicographical_constraint): Stop the
830 iteration when the bag of constraints is empty.
831
832 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
833
834 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
835
836 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
837
838 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
839 nest and two loop depths as parameters.
840 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
841 lst_perfect_nestify.
842
843 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
844
845 * graphite-dependences.c (print_pddr): Call
846 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
847
848 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
849
850 * graphite-ppl.c (debug_gmp_value): New.
851 * graphite-ppl.h (debug_gmp_value): Declared.
852
853 2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
854
855 * doc/install.texi: Document availability of cloog-0.16.
856
857 2011-01-25 Vladimir Kargov <kargov@gmail.com>
858
859 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
860 invalid postdominance info.
861
862 2011-01-24 Jan Hubicka <jh@suse.cz>
863
864 PR c/21659
865 * doc/extend.texi (weak pragma): Drop claim that it must
866 appear before definition.
867 * varasm.c (merge_weak, declare_weak): Only sanity check
868 that DECL is not output at a time it is declared weak.
869
870 2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
871
872 * machmode.def: Fixed comments.
873
874 2011-01-24 Kai Tietz <kai.tietz@onevision.com>
875
876 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
877
878 2011-01-24 Paul Koning <ni1d@arrl.net>
879
880 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
881 WORDS_BIG_ENDIAN.
882
883 2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
884
885 PR target/46519
886 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
887 (block_info): Add scanned and prev.
888 (move_or_delete_vzeroupper_2): Return if the basic block
889 has been scanned and the upper 128bit state is unchanged
890 from the last scan.
891 (move_or_delete_vzeroupper_1): Return true if the exit
892 state is changed.
893 (move_or_delete_vzeroupper): Visit basic blocks using the
894 work-list based algorithm based on vt_find_locations in
895 var-tracking.c.
896
897 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
898
899 2011-01-24 Nick Clifton <nickc@redhat.com>
900
901 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
902 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
903 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
904 then define __v850e1__.
905 * doc/invoke.texi: Document -mv850es.
906
907 2011-01-24 Richard Henderson <rth@redhat.com>
908
909 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
910 compound unordered comparisons.
911 * config/rx/rx.c (rx_split_fp_compare): Remove.
912 * config/rx/rx-protos.h: Update.
913 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
914 (cbranchsf4): Don't call rx_split_fp_compare.
915 (*cbranchsf4): Use rx_split_cbranch.
916 (*cmpsf): Don't accept "i" constraint.
917 (*conditional_branch): Only valid after reload.
918 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
919
920 2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
921
922 PR target/47385
923 * config/rs6000/altivec.md (vector constant splitters): Add
924 support for creating vector single precision constants if -mvsx is
925 used and we would create the constant using Altivec primitives.
926
927 2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
928 Richard Sandiford <rdsandiford@googlemail.com>
929
930 PR rtl-optimization/47166
931 * reload1.c (emit_reload_insns): Disable the spill_reg_store
932 mechanism for PRE_MODIFY and POST_MODIFY.
933 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
934 reloadreg.
935
936 2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
937
938 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
939
940 2011-01-22 Jan Hubicka <jh@suse.cz>
941
942 PR lto/47333
943 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
944
945 2011-01-22 Jan Hubicka <jh@suse.cz>
946
947 PR tree-optimization/43884
948 PR lto/44334
949 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
950 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
951
952 2011-01-22 Anatoly Sokolov <aesok@post.ru>
953
954 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
955 * config/s390/s390.c (s390_register_move_cost,
956 s390_memory_move_cost): New.
957 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
958
959 2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
960
961 PR middle-end/47401
962 * except.c (sjlj_assign_call_site_values): Move setting the
963 crtl->uses_eh_lsda flag to ...
964 (sjlj_mark_call_sites): ... here.
965 (sjlj_emit_function_enter): Support NULL dispatch label.
966 (sjlj_build_landing_pads): In a function with no landing pads
967 that still has must-not-throw regions, generate code to register
968 a personality function with empty LSDA.
969
970 2011-01-21 Richard Henderson <rth@redhat.com>
971
972 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
973
974 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
975
976 * compare-elim.c: New file.
977 * Makefile.in (OBJS-common): Add it.
978 (compare-elim.o): New.
979 * common.opt (fcompare-elim): New.
980 * opts.c (default_options_table): Add OPT_fcompare_elim.
981 * tree-pass.h (pass_compare_elim_after_reload): New.
982 * passes.c (init_optimization_passes): Add it.
983 * recog.h: Protect against re-inclusion.
984 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
985 * doc/invoke.texi (-fcompare-elim): Document it.
986 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
987 * doc/tm.texi: Rebuild.
988
989 2011-01-22 Nick Clifton <nickc@redhat.com>
990
991 * config/rx/rx.md (cstoresf4): Pass comparison operator to
992 rx_split_fp_compare.
993
994 2011-01-22 Nick Clifton <nickc@redhat.com>
995
996 * config/rx/rx.md (UNSPEC_CONST): New.
997 (deallocate_and_return): Wrap the amount popped off the stack in
998 an UNSPEC_CONST in order to stop it being rejected by
999 -mmax-constant-size.
1000 (pop_and_return): Add a "(return)" rtx.
1001 (call): Drop the immediate operand.
1002 (call_internal): Likewise.
1003 (call_value): Likewise.
1004 (call_value_internal): Likewise.
1005 (sibcall_internal): Likewise.
1006 (sibcall_value_internal): Likewise.
1007 (sibcall): Likewise. Generate an explicit call using
1008 sibcall_internal.
1009 (sibcall_value): Likewise.
1010 (mov<>): FAIL if a constant operand is not legitimate.
1011 (addsi3_unpsec): New pattern.
1012
1013 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
1014 CONSTs.
1015 (ok_for_max_constant): New function.
1016 (gen_safe_add): New function.
1017 (rx_expand_prologue): Use gen_safe_add.
1018 (rx_expand_epilogue): Likewise.
1019 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
1020 UNSPEC CONSTs.
1021
1022 2011-01-21 Jeff Law <law@redhat.com>
1023
1024 PR tree-optimization/47053
1025 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
1026 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
1027 statements are deleted.
1028 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
1029 is nonempty, then purge dead edges and cleanup the CFG.
1030
1031 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
1032
1033 PR debug/47402
1034 Temporarily revert:
1035 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
1036 PR debug/47106
1037 * tree-dfa.c (create_var_ann): Mark variable as used.
1038
1039 2011-01-21 Jakub Jelinek <jakub@redhat.com>
1040
1041 PR middle-end/45566
1042 * except.c (convert_to_eh_region_ranges): Emit queued no-region
1043 notes from other section in hot/cold partitioning even if
1044 last_action is -3. Increment call_site_base.
1045
1046 PR rtl-optimization/47366
1047 * fwprop.c (forward_propagate_into): Return bool. If
1048 any changes are made, -fnon-call-exceptions is used and
1049 REG_EH_REGION note is present, call purge_dead_edges
1050 and return true if it purged anything.
1051 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
1052 any EH edges were purged.
1053
1054 2011-01-21 Jeff Law <law@redhat.com>
1055
1056 PR rtl-optimization/41619
1057 * caller-save.c (setup_save_areas): Break out code to determine
1058 which hard regs are live across calls by examining the reload chains
1059 so that it is always used.
1060 Eliminate code which checked REG_N_CALLS_CROSSED.
1061
1062 2011-01-21 Jakub Jelinek <jakub@redhat.com>
1063
1064 PR tree-optimization/47355
1065 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
1066 NOP has non-debug uses beyond PHIs in new_bb.
1067
1068 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
1069
1070 PR debug/47106
1071 * cfgexpand.c (account_used_vars_for_block): Only account vars
1072 that are annotated as used.
1073 (estimated_stack_frame_size): Don't set TREE_USED.
1074 * tree-dfa.c (create_var_ann): Mark variable as used.
1075
1076 2011-01-21 Richard Guenther <rguenther@suse.de>
1077
1078 PR middle-end/47395
1079 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
1080
1081 2011-01-21 Richard Guenther <rguenther@suse.de>
1082
1083 PR tree-optimization/47365
1084 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
1085 (vn_reference_lookup_pieces): Adjust.
1086 (vn_reference_lookup): Likewise.
1087 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
1088 (vn_reference_lookup_3): Only look through kills if in
1089 VN_WALKREWRITE mode.
1090 (vn_reference_lookup_pieces): Adjust.
1091 (vn_reference_lookup): Likewise.
1092 (visit_reference_op_load): Likewise.
1093 (visit_reference_op_store): Likewise.
1094 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
1095 (compute_avail): Likewise.
1096 (eliminate): Likewise.
1097
1098 2011-01-21 Jakub Jelinek <jakub@redhat.com>
1099
1100 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
1101 DECL_IGNORED_P non-reg vars if they are used.
1102
1103 PR tree-optimization/47391
1104 * varpool.c (const_value_known_p): Return false if
1105 decl is volatile.
1106
1107 2011-01-21 Kai Tietz <kai.tietz@onevision.com>
1108
1109 PR bootstrap/47215
1110 * config/i386/i386.c (ix86_local_alignment): Handle
1111 case for va_list_type_node is nil.
1112 (ix86_canonical_va_list_type): Likewise.
1113
1114 2011-01-21 Alan Modra <amodra@gmail.com>
1115
1116 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
1117 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
1118
1119 2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1120
1121 * config/arm/arm.md (define_attr type): Rename f_load
1122 and f_store to f_fpa_load and f_fpa_store. Update.
1123 (write_conflict): Deal with rename fallout.
1124 (*push_fp_multi): Likewise.
1125 * config/arm/fpa.md (f_load): Use f_fpa_load.
1126 (f_store): Use f_fpa_store.
1127 (*movsf_fpa): Likewise.
1128 (*movdf_fpa): Likewise.
1129 (*movxf_fpa): Likewise.
1130 (*thumb2_movsf_fpa): Likewise.
1131 (*thumb2_movdf_fpa): Likewise.
1132 (*thumb2_movxf_fpa): Likewise.
1133 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
1134 f_loadd and f_stored.
1135 (*thumb2_movdi_vfp): Likewise.
1136 (*thumb2_movsf_vfp): Fix attribute to f_loads.
1137 (*thumb2_movsi_vfp): Likewise.
1138 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
1139 Use f_loads instead of f_load.
1140 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
1141
1142 2011-01-20 Anatoly Sokolov <aesok@post.ru>
1143
1144 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1145 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
1146 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1147 (xtensa_mode_dependent_address_p): New function.
1148 (constantpool_address_p): Make static. Change return type to bool.
1149 Change argument type to const_rtx. Use CONST_INT_P predicate.
1150
1151 2011-01-20 Alexandre Oliva <aoliva@redhat.com>
1152
1153 PR debug/46583
1154 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
1155
1156 2011-01-20 Jakub Jelinek <jakub@redhat.com>
1157
1158 PR debug/47283
1159 * cfgexpand.c (expand_debug_expr): Instead of generating
1160 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
1161 etc. handling.
1162
1163 2011-01-20 Richard Guenther <rguenther@suse.de>
1164
1165 PR middle-end/47370
1166 * tree-inline.c (remap_gimple_op_r): Recurse manually for
1167 the pointer operand of MEM_REFs.
1168
1169 2011-01-20 Jakub Jelinek <jakub@redhat.com>
1170
1171 PR tree-optimization/46130
1172 * ipa-split.c (consider_split): If return_bb contains non-virtual
1173 PHIs other than for retval or if split_function would not adjust it,
1174 refuse to split.
1175
1176 2011-01-20 Richard Guenther <rguenther@suse.de>
1177
1178 PR tree-optimization/47167
1179 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1180 Revert previous change, only avoid enumeral type changes.
1181
1182 2011-01-19 Mike Stump <mikestump@comcast.net>
1183
1184 * doc/tm.texi.in (BRANCH_COST): Englishify.
1185 * doc/tm.texi (BRANCH_COST): Likewise.
1186
1187 2011-01-19 Dodji Seketeli <dodji@redhat.com>
1188
1189 PR c++/47291
1190 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
1191 (gen_scheduled_generic_parms_dies): New functions.
1192 (gen_struct_or_union_type_die): Schedule template parameters DIEs
1193 generation for the end of CU compilation.
1194 (dwarf2out_finish): Generate template parameters DIEs here.
1195
1196 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1197
1198 PR debug/46240
1199 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
1200 debug bind stmt on merge edges.
1201
1202 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1203
1204 PR debug/47079
1205 PR debug/46724
1206 * function.c (instantiate_expr): Instantiate incoming rtl of
1207 implicit arguments, and recurse on VALUE_EXPRs.
1208 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
1209 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
1210
1211 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
1212
1213 * c-parser.c (c_parser_for_statement): Initialize
1214 collection_expression.
1215
1216 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1217
1218 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
1219
1220 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1221
1222 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
1223 (LINK_SHLIB_SPEC): Don't use %(link_path).
1224 (SUBTARGET_EXTRA_SPECS): Remove link_path.
1225
1226 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1227
1228 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
1229 (NO_SHARED_LIB_SUPPORT): Remove.
1230 (LINK_SHLIB_SPEC): Remove one conditional definition.
1231
1232 2011-01-19 Joseph Myers <joseph@codesourcery.com>
1233
1234 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
1235 %{call_shared}.
1236 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
1237 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
1238 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
1239 %{call_shared} and conditionals on these options not being passed.
1240 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
1241 %{call_shared}.
1242
1243 2011-01-19 Jakub Jelinek <jakub@redhat.com>
1244
1245 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
1246 simplify.
1247
1248 * ipa-split.c: Spelling fixes.
1249
1250 2011-01-19 Richard Henderson <rth@redhat.com>
1251
1252 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
1253 (*mulsi3): Likewise.
1254
1255 * longlong.h [__mn10300__] (count_leading_zeros): New.
1256 [__mn10300__] (umul_ppmm, smul_ppmm): New.
1257 [__mn10300__] (add_ssaaaa, subddmmss): New.
1258 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
1259 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
1260
1261 2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1262
1263 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
1264
1265 2011-01-19 Richard Henderson <rth@redhat.com>
1266
1267 * config/mn10300/mn10300.md (addsi3_flags): New.
1268 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
1269 (subsi3_flags, subc_internal, subdi3): New.
1270 (subdi3_internal, *subdi3_degenerate): New.
1271 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
1272
1273 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
1274 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
1275 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
1276 * config/mn10300/mn10300-protos.h: Update.
1277 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
1278 (return_ret): Likewise. Rename from return_internal_regs.
1279 (return_internal): Remove.
1280
1281 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
1282 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
1283 (mn10300_legitimate_constant_p): Likewise.
1284 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
1285 (mn10300_frame_size): New.
1286 (mn10300_expand_prologue): Use it.
1287 (mn10300_expand_epilogue): Likewise.
1288 (mn10300_initial_offset): Likewise.
1289 * config/mn10300/mn10300-protos.h: Update.
1290 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
1291 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
1292 (prologue, epilogue, return_internal): Tidy output code.
1293 (mn10300_store_multiple_operation, return): Likewise.
1294 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
1295 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
1296 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
1297 (load_pic, am33_load_pic): New.
1298 (mn10300_load_pic0, mn10300_load_pic1): New.
1299
1300 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
1301 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
1302 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
1303 (cc_flags_for_mode, cc_flags_for_code): New.
1304 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
1305 overflow flag is not valid. Validate that the flags we need
1306 for the comparison are valid.
1307 (mn10300_output_cmp): Remove.
1308 (mn10300_output_add): New.
1309 (mn10300_select_cc_mode): Use cc_flags_for_code.
1310 (mn10300_split_cbranch): New.
1311 (mn10300_match_ccmode): New.
1312 (mn10300_split_and_operand_count): New.
1313 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
1314 to the function.
1315 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
1316 (addsi3): ... here. Use mn10300_output_add.
1317 (*addsi3_flags): New.
1318 (*am33_subsi3, *mn10300_subsi3): Merge...
1319 (subsi3): ... here. Use attribute isa.
1320 (*subsi3_flags): New.
1321 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
1322 when possible.
1323 (*am33_andsi3, *mn10300_andsi3): Merge...
1324 (andsi3): ... here.
1325 (*andsi3_flags): New.
1326 (andsi3 splitters): New.
1327 (*am33_iorsi3, *mn10300_iorsi3): Merge...
1328 (iorsi3): ... here.
1329 (*iorsi3_flags): New.
1330 (*am33_xorsi3, *mn10300_xorsi3): Merge...
1331 (xorsi3): ... here.
1332 (*xorsi3_flags): New.
1333 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
1334 (one_cmplsi2): ... here.
1335 (*one_cmplsi2_flags): New.
1336 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
1337 instead of "dax" in constraints. Use mn10300_split_cbranch.
1338 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
1339 use matching constraints to eliminate a self-comparison.
1340 (*integer_conditional_branch): Rename from integer_conditional_branch.
1341 Use int_mode_flags to match CC_REG.
1342 (*cbranchsi4_btst, *btstsi): New.
1343 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
1344 mn10300_split_cbranch.
1345 (*am33_cmpsf): Rename from am33_cmpsf.
1346 (*float_conditional_branch): Rename from float_conditional_branch.
1347 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
1348 (zero_extendqisi2): ... here.
1349 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
1350 (zero_extendhisi2): ... here.
1351 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
1352 (extendqisi2): ... here.
1353 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
1354 (extendhisi2): ... here.
1355 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
1356 (ashlsi3): ... here.
1357 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
1358 (lshrsi3): ... here.
1359 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
1360 (ashrsi3): ... here.
1361 (consecutive add peephole): Remove.
1362 * config/mn10300/predicates.md (label_ref_operand): New.
1363 (int_mode_flags): New.
1364 (CCZN_comparison_operator): New.
1365
1366 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
1367 (throughput_42_latency_43): New reservation.
1368 (mulsidi3, umulsidi3): New expanders.
1369 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
1370 the MDR register to allocation; separately allocate the low and
1371 high parts of the DImode result.
1372 (umulsidi3_internal): Similarly.
1373 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
1374 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
1375 (udivsi3, umodsi3): Remove.
1376 (udivmodsi4, divmodsi4): New expanders.
1377 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
1378 (*divmodsi4): Simiarly.
1379 (ext_internal): New.
1380
1381 * config/mn10300/constraints.md ("z"): New constraint.
1382 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
1383 (FIXED_REGISTERS): Don't fix MDR.
1384 (CALL_USED_REGSITERS): Reformat nicely.
1385 (REG_ALLOC_ORDER): Add MDR.
1386 (enum regclass): Add MDR_REGS.
1387 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
1388 (IRA_COVER_CLASSES): Add MDR_REGS.
1389 (REGNO_REG_CLASS): Handle MDR_REG.
1390 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
1391 (mn10300_register_move_cost): Likewise.
1392 * config/mn10300/mn10300.md (MDR_REG): New.
1393 (*movsi_internal): Handle moves to/from MDR_REGS.
1394
1395 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
1396 POST_MODIFY.
1397 (mn10300_secondary_reload): Tidy combination reload classes.
1398 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
1399 addresses for AM33. Allow symbolic offsets for reg+imm.
1400 (mn10300_regno_in_class_p): New.
1401 (mn10300_legitimize_reload_address): New.
1402 * config/mn10300/mn10300.h (enum reg_class): Remove
1403 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
1404 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
1405 SP_OR_GENERAL_REGS.
1406 (REG_CLASS_NAMES): Update to match.
1407 (REG_CLASS_CONTENTS): Likewise.
1408 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
1409 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
1410 (REGNO_IN_RANGE_P): Remove.
1411 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
1412 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
1413 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
1414 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
1415 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
1416 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
1417 (REGNO_GENERAL_P): New.
1418 (HAVE_POST_MODIFY_DISP): New.
1419 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
1420 (LEGITIMIZE_RELOAD_ADDRESS): New.
1421 * config/mn10300/mn10300-protos.h: Update.
1422
1423 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
1424 DATA_REGS for AM33 stack-pointer destination.
1425 (mn10300_preferred_output_reload_class): Likewise.
1426 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
1427 into a form appropriate for ...
1428 (TARGET_SECONDARY_RELOAD): New.
1429 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
1430 * config/mn10300/mn10300-protos.h: Update.
1431 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
1432 reload_insi; use the "A" constraint for the scratch; handle AM33
1433 moves of sp to non-address registers.
1434
1435 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
1436 (*movqi_internal): ... here.
1437 (*am33_movhi, *mn10300_movhi): Merge into...
1438 (*movhi_internal): ... here.
1439 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
1440 as the source/destination of moves from/to SP.
1441 (movsf): Only allow for AM33-2.
1442 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
1443 any integer constant constraint. Only allow for AM33-2. Tidy
1444 all of the alternative outputs.
1445 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
1446 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
1447 for MN103.
1448 (udivsi3, umodsi3): New patterns for MN103 only.
1449
1450 2011-01-19 Joern Rennecke <amylaar@spamcop.net>
1451
1452 * doc/tm.texi.in: Spell out that a lack of register class unions
1453 can lead to ICEs.
1454 * doc/tm.texi: Regenerate.
1455
1456 2011-01-19 Jakub Jelinek <jakub@redhat.com>
1457
1458 PR rtl-optimization/47337
1459 * dce.c (check_argument_store): New function.
1460 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
1461
1462 PR tree-optimization/47290
1463 * tree-eh.c (infinite_empty_loop_p): New function.
1464 (cleanup_empty_eh): Use it.
1465
1466 2011-01-18 Steve Ellcey <sje@cup.hp.com>
1467
1468 PR target/46997
1469 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
1470 (a64_expand_widen_sum): Ditto.
1471 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
1472 (vec_extract_evenodd_help): Ditto.
1473 (vec_extract_evenv4hi): Ditto.
1474 (vec_extract_oddv4hi): Ditto.
1475 (vec_extract_evenv2si): Ditto.
1476 (vec_extract_oddv2si): Ditto.
1477 (vec_extract_evenv2sf): Ditto.
1478 (vec_extract_oddv2sf): Ditto.
1479 (vec_pack_trunc_v4hi: Ditto.
1480 (vec_pack_trunc_v2si): Ditto.
1481 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
1482 (vec_interleave_highv8qi): Ditto.
1483 (mix1_r): Ditto.
1484 (vec_extract_oddv8qi): Ditto.
1485 (vec_interleave_lowv4hi): Ditto.
1486 (vec_interleave_highv4hi): Ditto.
1487 (vec_interleave_lowv2si): Ditto.
1488 (vec_interleave_highv2si): Ditto.
1489
1490 2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1491
1492 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
1493 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
1494 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
1495 (pa_c_mode_for_suffix): New.
1496 (TARGET_EXPAND_BUILTIN): Define.
1497 (TARGET_C_MODE_FOR_SUFFIX): Define.
1498 (pa_builtins): Define.
1499 (pa_init_builtins): Register __float128 type and init new support
1500 builtins.
1501 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
1502 * config/pa/quadlib.c (_U_Qfcopysign): New.
1503
1504 2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
1505
1506 PR middle-end/46894
1507 * explow.c (allocate_dynamic_stack_space): Do not assume more than
1508 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
1509 are defined.
1510
1511 2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1512
1513 PR tree-optimization/47179
1514 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
1515 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
1516
1517 2011-01-18 Richard Guenther <rguenther@suse.de>
1518
1519 PR rtl-optimization/47216
1520 * emit-rtl.c: Include tree-flow.h.
1521 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
1522 of replicating it with different semantics.
1523 * Makefile.in (emit-rtl.o): Adjust.
1524
1525 2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1526
1527 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
1528 include.
1529 (cortex_a9_dp): Handle neon types correctly.
1530
1531 2011-01-18 Jakub Jelinek <jakub@redhat.com>
1532
1533 PR rtl-optimization/47299
1534 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
1535 subtarget. Use normal multiplication if both operands are
1536 constants.
1537 * expmed.c (expand_widening_mult): Don't try to optimize constant
1538 multiplication if op0 has VOIDmode. Convert op1 constant to mode
1539 before using it.
1540
1541 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1542
1543 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
1544 spacing after 'e.g.', typos, comma, hyphenation.
1545
1546 2011-01-17 Richard Henderson <rth@redhat.com>
1547
1548 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
1549 (rx_restricted_mem_operand): New.
1550 (rx_shift_operand): Use register_operand.
1551 (rx_source_operand, rx_compare_operand): Likewise.
1552 * config/rx/rx.md (addsi3_flags): New expander.
1553 (adddi3): Rewrite as expander.
1554 (adc_internal, *adc_flags, adddi3_internal): New patterns.
1555 (subsi3_flags): New expander.
1556 (subdi3): Rewrite as expander.
1557 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
1558
1559 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
1560 (rx_init_builtins): Remove sat builtin.
1561 (rx_expand_builtin): Likewise.
1562 * config/rx/rx.md (ssaddsi3): New.
1563 (*sat): Rename from sat. Represent the CC_REG input.
1564
1565 * config/rx/predicates.md (rshift_operator): New.
1566 * config/rx/rx.c (rx_expand_insv): Remove.
1567 * config/rx/rx-protos.h: Update.
1568 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
1569 operand to the canonical position.
1570 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
1571 (*bitclr, *bitclr_in_memory): Similarly.
1572 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
1573 (insv): Retain the zero_extract in the expansion.
1574
1575 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
1576 (bswaphi2, bitinvert, revw): Likewise.
1577
1578 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
1579 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
1580 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
1581 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
1582 (bitset, bitset_in_memory): Likewise.
1583 (bitinvert, bitinvert_in_memory): Likewise.
1584 (bitclr, bitclr_in_memory): Likewise.
1585 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
1586 (rx_strend, rx_cmpstrn): Likewise.
1587 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
1588 (bitop peep2 patterns): Remove.
1589
1590 * config/rx/rx.c (rx_match_ccmode): New.
1591 * config/rx/rx-protos.h: Update.
1592 * config/rx/rx.md (abssi2): Clobber, don't set flags.
1593 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
1594 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
1595 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
1596 (fix_truncsfsi2, floatsisf2): Likewise.
1597 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
1598 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
1599 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
1600 (*subsi3_flags, *xorsi3_flags): New.
1601
1602 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
1603
1604 * config/rx/rx.c (rx_print_operand): Remove workaround for
1605 unsplit comparison operations.
1606
1607 * config/rx/rx.md (movsicc): Split after reload.
1608 (*movsicc): Merge *movsieq and *movsine via match_operator.
1609 (*stcc): New pattern.
1610
1611 * config/rx/rx.c (rx_float_compare_mode): Remove.
1612 * config/rx/rx.h (rx_float_compare_mode): Remove.
1613 * config/rx/rx.md (cstoresi4): Split after reload.
1614 (*sccc): New pattern.
1615
1616 * config/rx/predicates.md (label_ref_operand): New.
1617 (rx_z_comparison_operator): New.
1618 (rx_zs_comparison_operator): New.
1619 (rx_fp_comparison_operator): New.
1620 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
1621 Validate that the flags are set properly for the comparison.
1622 (rx_gen_cond_branch_template): Remove.
1623 (rx_cc_modes_compatible): Remove.
1624 (mode_from_flags): New.
1625 (flags_from_code): Rename from flags_needed_for_conditional.
1626 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
1627 (rx_select_cc_mode): Likewise.
1628 (rx_split_fp_compare): New.
1629 (rx_split_cbranch): New.
1630 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
1631 (*cbranchsi4): Use match_operator and rx_split_cbranch.
1632 (*cbranchsf4): Similarly.
1633 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
1634 match_operator and rx_split_cbranch.
1635 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
1636 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
1637 (*cmpsi): Rename from cmpsi.
1638 (*tstsi): Rename from tstsi.
1639 (*cmpsf): Rename from cmpsf; use CC_Fmode.
1640 (*conditional_branch): Rename from conditional_branch.
1641 (*reveresed_conditional_branch): Remove.
1642 (b<code>): Remove expander.
1643 * config/rx/rx-protos.h: Update.
1644
1645 * config/rx/rx.c (rx_compare_redundant): Remove.
1646 * config/rx/rx.md (cmpsi): Don't use it.
1647 * config/rx/rx-protos.h: Update.
1648
1649 * config/rx/rx-modes.def (CC_F): New mode.
1650 * config/rx/rx.c (rx_select_cc_mode): New.
1651 * config/rx/rx.h (SELECT_CC_MODE): Use it.
1652 * config/rx/rx-protos.h: Update.
1653
1654 2011-01-17 Richard Henderson <rth@redhat.com>
1655
1656 * except.c (dump_eh_tree): Fix stray ; after for statement.
1657
1658 2011-01-17 Richard Guenther <rguenther@suse.de>
1659
1660 PR tree-optimization/47313
1661 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
1662 handling before copying the body. Properly deal with
1663 by-reference result in SSA form.
1664
1665 2011-01-17 Ian Lance Taylor <iant@google.com>
1666
1667 PR target/47219
1668 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
1669 (struct_value_alias_set): Don't define.
1670 (sparc_option_override): Don't set sparc_sr_alias_set and
1671 struct_value_alias_set.
1672 (save_or_restore_regs): Use gen_frame_mem rather than calling
1673 set_mem_alias_set.
1674 (sparc_struct_value_rtx): Likewise.
1675
1676 2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
1677
1678 PR target/47318
1679 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
1680 __m128i.
1681 (_mm_maskstore_pd): Likewise.
1682 (_mm_maskload_ps): Likewise.
1683 (_mm_maskstore_ps): Likewise.
1684 (_mm256_maskload_pd): Change mask to __m256i.
1685 (_mm256_maskstore_pd): Likewise.
1686 (_mm256_maskload_ps): Likewise.
1687 (_mm256_maskstore_ps): Likewise.
1688
1689 * config/i386/i386-builtin-types.def: Updated.
1690 (ix86_expand_special_args_builtin): Likewise.
1691
1692 * config/i386/i386.c (bdesc_special_args): Update
1693 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
1694 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
1695 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
1696 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
1697
1698 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
1699 Use <avxpermvecmode> on mask register.
1700 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
1701
1702 2011-01-17 Olivier Hainque <hainque@adacore.com>
1703 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1704 Eric Botcazou <ebotcazou@adacore.com>
1705
1706 PR target/46655
1707 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
1708 if <= USHRT_MAX in 32-bit mode.
1709
1710 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1711
1712 * doc/install.texi (Configuration, Specific): Wrap long
1713 lines in examples. Allow line wrapping in long options
1714 and URLs where beneficial for PDF output.
1715
1716 2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
1717
1718 * config/mips/mips.c (mips_classify_symbol): Don't return
1719 SYMBOL_PC_RELATIVE for nonlocal labels.
1720
1721 2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
1722
1723 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
1724
1725 2011-01-15 Jan Hubicka <jh@suse.cz>
1726
1727 PR tree-optimization/47276
1728 * ipa.c (function_and_variable_visibility): Do not try to mark alias
1729 declarations as needed.
1730
1731 2011-01-15 Martin Jambor <mjambor@suse.cz>
1732
1733 * common.opt (fdevirtualize): New flag.
1734 * doc/invoke.texi (Option Summary): Document it.
1735 * opts.c (default_options_table): Add devirtualize flag.
1736 * ipa-prop.c (detect_type_change): Return immediately if
1737 devirtualize flag is not set.
1738 (detect_type_change_ssa): Likewise.
1739 (compute_known_type_jump_func): Likewise.
1740 (ipa_analyze_virtual_call_uses): Likewise.
1741
1742 2011-01-14 Martin Jambor <mjambor@suse.cz>
1743
1744 PR tree-optimization/45934
1745 PR tree-optimization/46302
1746 * ipa-prop.c (type_change_info): New type.
1747 (stmt_may_be_vtbl_ptr_store): New function.
1748 (check_stmt_for_type_change): Likewise.
1749 (detect_type_change): Likewise.
1750 (detect_type_change_ssa): Likewise.
1751 (compute_complex_assign_jump_func): Check for dynamic type change.
1752 (compute_complex_ancestor_jump_func): Likewise.
1753 (compute_known_type_jump_func): Likewise.
1754 (compute_scalar_jump_functions): Likewise.
1755 (ipa_analyze_virtual_call_uses): Likewise.
1756 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
1757
1758 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1759
1760 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
1761 * config/i386/i386.opt (msse5): New Alias.
1762
1763 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1764
1765 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1766 * config/sparc/linux64.h (CC1_SPEC): Likewise.
1767 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1768 * config/sparc/sparc.h (CC1_SPEC): Likewise.
1769
1770 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1771
1772 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
1773 -mcpu options.
1774 * config/sparc/linux64.h (CC1_SPEC): Likewise.
1775 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1776 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
1777 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
1778 Likewise.
1779 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
1780
1781 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1782
1783 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
1784 -fvec-eabi.
1785
1786 2011-01-14 Mike Stump <mikestump@comcast.net>
1787
1788 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
1789 * config/fr30/fr30.md: Likweise
1790 (movsi_push): Likewise.
1791 (movsi_pop): Likewise.
1792 (enter_func): Likewise.
1793 * config/moxie/moxie.md (movsi_push): Likewise.
1794 (movsi_pop): Likewise.
1795
1796 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1797
1798 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
1799 %{no_archive} %{exact_version}.
1800 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
1801 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
1802 %{no_archive} %{exact_version}.
1803 * config/mips/openbsd.h (LINK_SPEC): Likewise.
1804 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
1805 * config/mips/vxworks.h: Likewise.
1806
1807 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1808
1809 * config/microblaze/microblaze.h (ASM_SPEC): Remove
1810 %{microblaze1}.
1811
1812 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1813
1814 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
1815 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
1816
1817 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1818
1819 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
1820 -nodefaultlib.
1821
1822 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1823
1824 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
1825 for mcpu not cpu.
1826 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
1827 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
1828 not cpu.
1829 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
1830 Don't handle -shlib.
1831
1832 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1833
1834 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
1835 (CC1_SPEC): Don't handle -profile.
1836
1837 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1838
1839 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
1840 * config/mips/mips.h (CC1_SPEC): Likewise.
1841
1842 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1843
1844 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
1845 * config/mips/mips.h (CC1_SPEC): Likewise.
1846
1847 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1848
1849 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
1850 * config/m32r/linux.h (LINK_SPEC): Likewise.
1851 * config/mips/linux.h (LINK_SPEC): Likewise.
1852 * config/mips/linux64.h (LINK_SPEC): Likewise.
1853 * config/sparc/linux.h (LINK_SPEC): Likewise.
1854 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1855 LINK_SPEC): Likewise.
1856 * config/xtensa/linux.h (LINK_SPEC): Likewise.
1857
1858 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1859
1860 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
1861 %{version:-v}.
1862 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1863
1864 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1865
1866 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
1867 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1868
1869 2011-01-14 Joseph Myers <joseph@codesourcery.com>
1870
1871 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
1872
1873 2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1874
1875 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
1876 supports -Bstatic/-Bdynamic.
1877 * configure: Regenerate.
1878
1879 2011-01-14 Jan Hubicka <jh@suse.cz>
1880 Jack Howarth <howarth@bromo.med.uc.edu>
1881
1882 PR target/46037
1883 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
1884 when checking debug_info_level. Test write_symbols instead of
1885 debug_hooks->var_location when setting flag_var_tracking_uninit.
1886
1887 2011-01-14 Richard Guenther <rguenther@suse.de>
1888
1889 PR tree-optimization/47179
1890 * target.def (ref_may_alias_errno): New target hook.
1891 * targhooks.h (default_ref_may_alias_errno): Declare.
1892 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
1893 (default_ref_may_alias_errno): New function.
1894 * target.h (struct ao_ref_s): Declare.
1895 * tree-ssa-alias.c: Include target.h.
1896 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
1897 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
1898 (targhooks.o): Likewise.
1899 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
1900 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
1901
1902 2011-01-14 Richard Guenther <rguenther@suse.de>
1903
1904 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
1905
1906 2011-01-14 Richard Guenther <rguenther@suse.de>
1907
1908 PR tree-optimization/47280
1909 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
1910 return CFG changes.
1911 (tree_ssa_forward_propagate_single_use_vars): Deal with
1912 CFG changes from associate_plusminus.
1913
1914 2011-01-14 Richard Guenther <rguenther@suse.de>
1915
1916 PR middle-end/47281
1917 Revert
1918 2011-01-11 Richard Guenther <rguenther@suse.de>
1919
1920 PR tree-optimization/46076
1921 * tree-ssa.c (useless_type_conversion_p): Conversions from
1922 unprototyped to empty argument list function types are useless.
1923
1924 2011-01-14 Richard Guenther <rguenther@suse.de>
1925
1926 PR tree-optimization/47286
1927 * tree-ssa-structalias.c (new_var_info): Register variables are global.
1928
1929 2011-01-14 Martin Jambor <mjambor@suse.cz>
1930
1931 PR middle-end/46823
1932 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1933
1934 2011-01-13 Anatoly Sokolov <aesok@post.ru>
1935
1936 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
1937 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1938 * config/xtensa/xtensa.c (xtensa_libcall_value,
1939 xtensa_function_value_regno_p): New functions.
1940 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1941
1942 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
1943
1944 PR c++/47213
1945 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1946 PE specific hook.
1947 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
1948 New function prototype.
1949 * config/i386/winnt.c (i386_pe_assemble_visibility):
1950 Warn only if attribute was specified by user.
1951
1952 2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
1953
1954 PR target/47251
1955 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1956 floating point.
1957 (floatunsdidf2_fcfidu): Ditto.
1958
1959 2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1960
1961 * config/s390/s390.c (print_operand_address): Replace 'error' with
1962 'output_operand_lossage'.
1963 (print_operand): Likewise.
1964
1965 2011-01-13 Jeff Law <law@redhat.com>
1966
1967 PR rtl-optimization/39077
1968 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
1969 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
1970 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
1971 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
1972 * gcse.c (prune_insertions_deletions): New function.
1973 (compute_pre_data): Use it.
1974
1975 2011-01-13 Dodji Seketeli <dodji@redhat.com>
1976
1977 PR debug/PR46973
1978 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1979 static function.
1980 (prune_unused_types_mark): Use it.
1981
1982 2011-01-13 Andrey Belevantsev <abel@ispras.ru>
1983
1984 PR rtl-optimization/45352
1985 * sel-sched.c: Update copyright years.
1986 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1987 in the advancing loop when we have issued issue_rate insns.
1988
1989 2011-01-12 Richard Henderson <rth@redhat.com>
1990
1991 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1992 (TARGET_MD_ASM_CLOBBERS): New.
1993
1994 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1995 (TARGET_DELEGITIMIZE_ADDRESS): New.
1996
1997 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1998 (clzsi2, *bsch): New patterns.
1999
2000 * config/mn10300/mn10300.md (INT): New mode iterator.
2001 (*mov<INT>_clr): New pattern, and peep2 to generate it.
2002
2003 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
2004 flag_split_wide_types.
2005
2006 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
2007 (mn10300_trampoline_init): Rewrite without a template, an immediate
2008 load and a direct branch.
2009 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
2010
2011 2011-01-12 Anatoly Sokolov <aesok@post.ru>
2012
2013 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2014 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
2015 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
2016 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2017
2018 2011-01-12 Kai Tietz <kai.tietz@onevision.com>
2019
2020 PR debug/47209
2021 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
2022 of type.
2023
2024 2011-01-12 Jan Hubicka <jh@suse.cz>
2025
2026 PR driver/47244
2027 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
2028 (PLUGIN_COND_CLOSE): New macro.
2029 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
2030
2031 2011-01-12 Richard Guenther <rguenther@suse.de>
2032
2033 PR lto/47259
2034 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
2035 register variables in a MEM_REF.
2036
2037 2011-01-12 Joseph Myers <joseph@codesourcery.com>
2038
2039 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
2040 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
2041 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
2042 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
2043 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
2044 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
2045 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
2046 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
2047 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
2048 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
2049 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
2050 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
2051 * config/gnu-user.h: New. Copied from linux.h.
2052 (LINUX_TARGET_STARTFILE_SPEC): Rename to
2053 GNU_USER_TARGET_STARTFILE_SPEC.
2054 (LINUX_TARGET_ENDFILE_SPEC): Rename to
2055 GNU_USER_TARGET_ENDFILE_SPEC.
2056 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
2057 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
2058 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
2059 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
2060 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
2061 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
2062 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
2063 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
2064 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
2065 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
2066 * config/arm/linux-eabi.h (CC1_SPEC): Use
2067 GNU_USER_TARGET_CC1_SPEC.
2068 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
2069 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
2070 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
2071 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
2072 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
2073 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
2074 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
2075 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
2076
2077 2011-01-12 Richard Guenther <rguenther@suse.de>
2078
2079 PR other/46946
2080 * doc/invoke.texi (ffast-math): Document it is turned on
2081 with -Ofast.
2082
2083 2011-01-12 Jan Hubicka <jh@suse.cz>
2084
2085 PR tree-optimization/47233
2086 * opts.c (common_handle_option): Disable ipa-reference with profile
2087 feedback.
2088
2089 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
2090
2091 * c-parser.c (c_parser_objc_at_property_declaration): Improved
2092 error message.
2093
2094 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
2095
2096 * c-parser.c (c_lex_one_token): Updated and reindented some
2097 comments. No changes in code.
2098
2099 2011-01-11 Ian Lance Taylor <iant@google.com>
2100
2101 * godump.c (go_output_var): Don't output the variable if there is
2102 already a type with the same name.
2103
2104 2011-01-11 Ian Lance Taylor <iant@google.com>
2105
2106 * godump.c (go_format_type): Don't generate float80.
2107
2108 2011-01-11 Richard Henderson <rth@redhat.com>
2109
2110 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
2111 declaration. Rewrite for both speed and size.
2112 (mn10300_address_cost_1): Remove.
2113 (mn10300_register_move_cost): New.
2114 (mn10300_memory_move_cost): New.
2115 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
2116 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
2117 extensions, shifts, BSWAP, CLZ.
2118 (mn10300_wide_const_load_uses_clr): Remove.
2119 (TARGET_REGISTER_MOVE_COST): New.
2120 (TARGET_MEMORY_MOVE_COST): New.
2121 * config/mn10300/mn10300-protos.h: Update.
2122 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
2123
2124 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
2125 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
2126 * config/mn10300/mn10300-protos.h: Update.
2127 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
2128 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
2129 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
2130 (*test_int_bitfield, *test_byte_bitfield): Remove.
2131 (*bit_test, *subreg_bit_test): Remove.
2132 * config/mn10300/predicates.md (const_8bit_operand): Remove.
2133
2134 * config/mn10300/constraints.md ("c"): Rename from "A".
2135 ("A", "D"): New constraint letters.
2136 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
2137 (fmssf4, fnmasf4, fnmssf4): Likewise.
2138
2139 * config/mn10300/mn10300.md (isa): New attribute.
2140 (enabled): New attribute.
2141
2142 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
2143 (abssf2, negsf2): Define only for hardware fp.
2144 (sqrtsf2): Reformat.
2145 (addsf3, subsf3, mulsf3): Merge expander and insn.
2146
2147 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
2148 (DEBUGGER_AUTO_OFFSET): Remove.
2149 (DEBUGGER_ARG_OFFSET): Remove.
2150
2151 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
2152 Emit register stores with the same offsets as the hardware.
2153 (mn10300_store_multiple_operation): Don't check that the register
2154 save offsets are monotonic.
2155 * config/mn10300/mn10300-protos.h: Update.
2156
2157 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
2158
2159 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
2160 in terms of the value on the stack, not the MDR register.
2161
2162 2011-01-11 Jan Hubicka <jh@suse.cz>
2163
2164 PR lto/45721
2165 PR lto/45375
2166 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
2167 (symbol_alias_set_destroy, symbol_alias_set_contains,
2168 propagate_aliases_backward): Declare.
2169 * lto-streamer-out.c (struct sets): New sturcture.
2170 (trivally_defined_alias): New function.
2171 (output_alias_pair_p): Rewrite.
2172 (output_unreferenced_globals): Fix output of alias pairs.
2173 (produce_symtab): Likewise.
2174 * ipa.c (function_and_variable_visibility): Set weak alias destination
2175 as needed in lto.
2176 * varasm.c (symbol_alias_set_t): Remove.
2177 (symbol_alias_set_destroy): Export.
2178 (propagate_aliases_forward, propagate_aliases_backward): New functions
2179 based on ...
2180 (compute_visible_aliases): ... this one; remove.
2181 (trivially_visible_alias): New
2182 (trivially_defined_alias): New.
2183 (remove_unreachable_alias_pairs): Rewrite.
2184 (finish_aliases_1): Reorganize code checking if alias is defined.
2185 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
2186 in LTO mode.
2187
2188 2011-01-11 Richard Guenther <rguenther@suse.de>
2189
2190 PR tree-optimization/46076
2191 * tree-ssa.c (useless_type_conversion_p): Conversions from
2192 unprototyped to empty argument list function types are useless.
2193
2194 2011-01-11 Richard Guenther <rguenther@suse.de>
2195
2196 PR middle-end/45235
2197 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
2198 volatile MEMs as MEM_READONLY_P.
2199
2200 2011-01-11 Richard Guenther <rguenther@suse.de>
2201
2202 PR tree-optimization/47239
2203 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
2204
2205 2011-01-11 Jeff Law <law@redhat.com>
2206
2207 PR tree-optimization/47086
2208 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
2209 IVs from statements that might throw.
2210
2211 2011-01-10 Jan Hubicka <jh@suse.cz>
2212
2213 PR lto/45375
2214 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
2215
2216 2011-01-10 Jan Hubicka <jh@suse.cz>
2217
2218 PR lto/45375
2219 * profile.c (read_profile_edge_counts): Ignore profile inconistency
2220 when correcting profile.
2221
2222 2011-01-10 Jan Hubicka <jh@suse.cz>
2223
2224 PR lto/46083
2225 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
2226 DECL_FINI_PRIORITY.
2227 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
2228 Restore DECL_FINI_PRIORITY.
2229
2230 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2231
2232 * doc/gimple.texi: Fix quoting of multi-word return values in
2233 @deftypefn statements. Ensure presence of return value. Wrap
2234 overlong @deftypefn lines.
2235 (is_gimple_operand, is_gimple_min_invariant_address): Remove
2236 descriptions of removed functions.
2237 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
2238 of multi-word return value in @deftypefn statement.
2239
2240 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2241
2242 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
2243 (Conditional Expressions, Logical Operators)
2244 (Statement and operand traversals): Do not indent smallexample
2245 code. Fix duplicate function argument in example.
2246
2247 2011-01-10 Jeff Law <law@redhat.com>
2248
2249 PR tree-optimization/47141
2250 * ipa-split.c (split_function): Handle case where we are
2251 returning a value and the return block has a virtual operand phi.
2252
2253 2011-01-10 Jan Hubicka <jh@suse.cz>
2254
2255 PR tree-optimization/47234
2256 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
2257 (pass_feedback_split_functions): Declare.
2258 * passes.c (init_optimization_passes): Add ipa-split as subpass of
2259 tree-profile.
2260 * ipa-split.c (gate_split_functions): Update comments; disable
2261 split-functions for profile_arc_flag and branch_probabilities.
2262 (gate_feedback_split_functions): New function.
2263 (execute_feedback_split_functions): New function.
2264 (pass_feedback_split_functions): New global var.
2265
2266 2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
2267
2268 PR lto/46760
2269 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
2270 calling gimple_call_set_cannot_inline.
2271
2272 2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
2273
2274 * config/darwin-sections.def: Remove unused section.
2275
2276 2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
2277
2278 PR c++/47218
2279 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
2280
2281 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
2282
2283 PR objc/47232
2284 * c-parser.c (c_parser_declaration_or_fndef): Improved
2285 error message.
2286
2287 2011-01-09 Kai Tietz <kai.tietz@onevision.com>
2288
2289 * config/i386/winnt.c (i386_pe_start_function): Make sure
2290 to switch back to function's section.
2291
2292 2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
2293
2294 PR gcc/46902
2295 PR testsuite/46912
2296 * plugin.c: Move include of dlfcn.h from here...
2297 * system.h: ... to here.
2298
2299 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2300
2301 * doc/cpp.texi (C++ Named Operators): Fix markup for header
2302 file name.
2303 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
2304 two extra empty pages in PDF output.
2305
2306 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
2307
2308 PR objc/47078
2309 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
2310 for error recovery purposes behave as if it was not specified so
2311 that the default type is usd.
2312
2313 2011-01-07 Jan Hubicka <jh@suse.cz>
2314
2315 PR tree-optmization/46469
2316 * ipa.c (function_and_variable_visibility): Clear needed flags on
2317 nodes with external decls; handle weakrefs merging correctly.
2318
2319 2011-01-07 Joseph Myers <joseph@codesourcery.com>
2320
2321 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
2322 not false.
2323
2324 2011-01-07 Jan Hubicka <jh@suse.cz>
2325
2326 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
2327 and no longer claim that gold is required for linker plugin.
2328 * configure: Regenerate.
2329 * gcc.c (PLUGIN_COND): New macro.
2330 (LINK_COMMAND_SPEC): Use it.
2331 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
2332 * config.in (HAVE_LTO_PLUGIN): New.
2333 * configure.ac (--with-lto-plugin): New parameter; autodetect
2334 HAVE_LTO_PLUGIN.
2335
2336 2011-01-07 Jan Hubicka <jh@suse.cz>
2337
2338 PR tree-optimization/46367
2339 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
2340 when we can update original.
2341 (cgraph_mark_inline_edge): Sanity check.
2342 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
2343
2344 2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2345
2346 * config/spu/spu.h (ASM_COMMENT_START): Define.
2347
2348 2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
2349
2350 PR driver/42445
2351 * gcc.c (%>S): New.
2352 (SWITCH_KEEP_FOR_GCC): Likewise.
2353 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
2354 (do_spec_1): Handle "%>".
2355
2356 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
2357
2358 2011-01-07 Jakub Jelinek <jakub@redhat.com>
2359
2360 PR target/47201
2361 * config/i386/i386.c (ix86_delegitimize_address): If
2362 simplify_gen_subreg fails, return orig_x.
2363
2364 PR bootstrap/47187
2365 * value-prof.c (gimple_stringop_fixed_value): Handle
2366 lhs of the call properly.
2367
2368 2011-01-07 Jan Hubicka <jh@suse.cz>
2369
2370 PR lto/45375
2371 * lto-opt.c (lto_reissue_options): Set flag_shlib.
2372
2373 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
2374
2375 * target.def (function_switched_text_sections): New hook.
2376 * doc/tm.texi: Regenerated.
2377 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2378 * final.c (default_function_switched_text_sections): New.
2379 (final_scan_insn): Call function_switched_text_sections when a
2380 mid-function section change occurs.
2381 * output.h (default_function_switched_text_sections): Declare.
2382 * config/darwin-protos.h (darwin_function_switched_text_sections):
2383 Likewise.
2384 * config/darwin.c (darwin_function_switched_text_sections): New.
2385 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2386
2387 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
2388
2389 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
2390 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
2391 the secondary code fragment when outputting for DWARF == 2.
2392
2393 2011-01-07 Anatoly Sokolov <aesok@post.ru>
2394
2395 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2396 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
2397 Remove.
2398 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
2399 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2400
2401 2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
2402
2403 PR debug/46704
2404 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
2405 when it is not empty.
2406
2407 2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
2408
2409 Bobcat Enablement
2410 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
2411 (case ${target}): Add btver1.
2412 * config/i386/driver-i386.c (host_detect_local_cpu): Let
2413 -march=native recognize btver1 processors.
2414 * config/i386/i386-c.c (ix86_target_macros_internal): Add
2415 btver1 def_and_undef
2416 * config/i386/i386.c (struct processor_costs btver1_cost): New
2417 btver1 cost table.
2418 (m_BTVER1): New definition.
2419 (m_AMD_MULTIPLE): Includes m_BTVER1.
2420 (initial_ix86_tune_features): Add btver1 tune.
2421 (processor_target_table): Add btver1 entry.
2422 (static const char *const cpu_names): Add btver1 entry.
2423 (software_prefetching_beneficial_p): Add btver1.
2424 (ix86_option_override_internal): Add btver1 instruction sets.
2425 (ix86_issue_rate): Add btver1.
2426 (ix86_adjust_cost): Add btver1.
2427 * config/i386/i386.h (TARGET_BTVER1): New definition.
2428 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
2429 (enum processor_type): Add PROCESSOR_BTVER1.
2430 * config/i386/i386.md (define_attr "cpu"): Add btver1.
2431
2432 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2433
2434 PR target/43309
2435 * config/i386/i386.c (legitimize_tls_address)
2436 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
2437 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
2438 (tls_initial_exec_64_sun): New pattern.
2439
2440 2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2441
2442 * doc/invoke.texi (Overall Options): Improve wording and markup
2443 of the description of -wrapper.
2444
2445 2011-01-06 Joseph Myers <joseph@codesourcery.com>
2446
2447 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
2448 rdynamic, threads): New Driver options.
2449
2450 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2451
2452 PR target/38118
2453 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
2454 if coming from .tdata.
2455 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2456
2457 2011-01-06 Jan Hubicka <jh@suse.cz>
2458
2459 PR lto/47188
2460 * collect2.c (main): Do not enable LTOmode when plugin is active.
2461
2462 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2463
2464 PR other/45915
2465 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
2466 --version output if supported.
2467 * configure: Regenerate.
2468
2469 2011-01-06 Joseph Myers <joseph@codesourcery.com>
2470
2471 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
2472 Driver options.
2473
2474 2011-01-06 Jakub Jelinek <jakub@redhat.com>
2475
2476 PR c/47150
2477 * c-convert.c (convert): When converting a complex expression
2478 other than COMPLEX_EXPR to a different complex type, ensure
2479 c_save_expr is called instead of save_expr, unless in_late_binary_op.
2480 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
2481 when converting COMPLEX_TYPE.
2482
2483 2011-01-06 Ira Rosen <irar@il.ibm.com>
2484
2485 PR tree-optimization/47139
2486 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
2487 only the last reduction value is used outside the loop. Update
2488 documentation.
2489
2490 2011-01-05 Joseph Myers <joseph@codesourcery.com>
2491
2492 * config/rtems.opt: New.
2493 * config.gcc (*-*-rtems*): Use rtems.opt.
2494
2495 2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
2496
2497 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
2498 processors do not support 3DNow instructions.
2499
2500 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2501
2502 * config/spu/spu.c (spu_option_override): Set parameter
2503 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
2504
2505 2011-01-05 Jan Hubicka <jh@suse.cz>
2506
2507 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
2508 at the command line.
2509
2510 2011-01-05 Martin Jambor <mjambor@suse.cz>
2511
2512 PR lto/47162
2513 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
2514 deltas on streamed outgoing edges.
2515 (output_node_opt_summary): Output info for outgoing edges only when
2516 the node is in new parameter set.
2517 (output_cgraph_opt_summary): New parameter set, passed to the two
2518 aforementioned functions. Update its forward declaration and its
2519 callee too.
2520
2521 2011-01-05 Tom Tromey <tromey@redhat.com>
2522
2523 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
2524 operator to c_finish_omp_atomic.
2525 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
2526 (build_unary_op): Update.
2527 (build_modify_expr): Update.
2528 (build_asm_expr): Update.
2529
2530 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2531
2532 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
2533 newly inserted insns.
2534 (pad_bb): Likewise.
2535 (spu_emit_branch_hint): Likewise.
2536 (insert_hbrp_for_ilb_runout): Likewise.
2537 (spu_machine_dependent_reorg): Call df_finish_pass after
2538 schedule_insns returns.
2539
2540 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2541
2542 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
2543
2544 2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
2545
2546 PR tree-optimization/47005
2547 * tree-sra.c (struct access): Add 'non_addressable' bit.
2548 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
2549 (decide_one_param_reduction): Return 0 if the parameter is passed by
2550 reference and one of the accesses in the group is non_addressable.
2551
2552 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2553
2554 PR tree-optimization/47056
2555 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
2556 (mark_load): Likewise. Handle FUNCTION_DECL specially.
2557 (mark_store): Likewise. Pass STMT to ipa_record_reference.
2558
2559 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
2560
2561 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
2562 initializer. Skip view conversions from aggregate types.
2563
2564 2011-01-04 Kai Tietz <kai.tietz@onevision.com>
2565
2566 PR bootstrap/47055
2567 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
2568
2569 2011-01-04 Philipp Thomas <pth@suse.de>
2570
2571 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
2572 obvious typo.
2573
2574 2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2575
2576 * function.c (thread_prologue_and_epilogue_insns): Do not crash
2577 on empty epilogue sequences.
2578
2579 2011-01-04 Joseph Myers <joseph@codesourcery.com>
2580
2581 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
2582 non-static): New Driver options.
2583
2584 2011-01-04 Jie Zhang <jie@codesourcery.com>
2585
2586 PR driver/47137
2587 * gcc.c (default_compilers[]): Set combinable field to 0
2588 for all assembly languages.
2589
2590 2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
2591
2592 * config/mips/loongson3a.md: New file.
2593 * config/mips/mips.md: Include loongson3a.md.
2594 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
2595 TUNE_LOONGSON_3A.
2596
2597 2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
2598
2599 PR middle-end/47017
2600 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
2601 instead of convert_memory_address_addr_space on the base expression.
2602
2603 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2604
2605 * config/spu/spu.c (spu_option_override): Update error text
2606 for bad -march= / -mtune= values.
2607
2608 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2609
2610 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
2611 if branch-hint optimization will be performed.
2612
2613 2011-01-03 Jakub Jelinek <jakub@redhat.com>
2614
2615 PR tree-optimization/47148
2616 * ipa-split.c (split_function): Convert arguments to
2617 DECL_ARG_TYPE if possible.
2618
2619 PR tree-optimization/47155
2620 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
2621 when computing uns.
2622
2623 PR rtl-optimization/47157
2624 * combine.c (try_combine): If undobuf.other_insn becomes
2625 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
2626 and set *new_direct_jump_p too.
2627
2628 2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
2629
2630 PR tree-optimization/47021
2631 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
2632
2633 2011-01-03 Jakub Jelinek <jakub@redhat.com>
2634
2635 * gcc.c (process_command): Update copyright notice dates.
2636 * gcov.c (print_version): Likewise.
2637 * gcov-dump.c (print_version): Likewise.
2638 * mips-tfile.c (main): Likewise.
2639 * mips-tdump.c (main): Likewise.
2640
2641 2011-01-03 Martin Jambor <mjambor@suse.cz>
2642
2643 PR tree-optimization/46801
2644 * tree-sra.c (type_internals_preclude_sra_p): Check whether
2645 aggregate fields start at byte boundary instead of the bit-field flag.
2646
2647 2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
2648
2649 PR driver/47137
2650 * gcc.c (main): Revert revision 168407.
2651
2652 2011-01-03 Martin Jambor <mjambor@suse.cz>
2653
2654 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
2655
2656 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2657
2658 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
2659 vector optab to expand vector/scalar shift, update gimple to vector.
2660
2661 2011-01-03 Martin Jambor <mjambor@suse.cz>
2662
2663 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
2664 a thunk.
2665
2666 2011-01-03 Martin Jambor <mjambor@suse.cz>
2667
2668 PR tree-optimization/46984
2669 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
2670 HOST_WIDE_INT.
2671 (cgraph_create_indirect_edge): Fixed line length.
2672 (cgraph_indirect_call_info): Declare.
2673 (cgraph_make_edge_direct) Update declaration.
2674 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
2675 (cgraph_create_indirect_edge): Use it.
2676 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
2677 callees.
2678 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
2679 the new thunk_delta representation.
2680 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
2681 HOST_WIDE_INT.
2682 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
2683 (ipa_read_indirect_edge_info): Likewise.
2684 * lto-cgraph.c (output_edge_opt_summary): New function.
2685 (output_node_opt_summary): Call it on all outgoing edges.
2686 (input_edge_opt_summary): New function.
2687 (input_node_opt_summary): Call it on all outgoing edges.
2688
2689 2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
2690
2691 PR driver/47137
2692 * gcc.c (main): Don't check have_o when settting combine_inputs.
2693
2694 2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
2695
2696 * regrename.c: Add general comment describing the pass.
2697 (struct du_head): Remove 'length' field.
2698 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
2699 (regrename_optimize): Do not sort chains. Rework comments, add others.
2700 Force renaming to the preferred class (if any) in the first pass and do
2701 not consider registers that belong to it in the second pass.
2702 (create_new_chain): Do not set 'length' field.
2703 (scan_rtx_reg): Likewise.
2704
2705 2011-01-02 Jakub Jelinek <jakub@redhat.com>
2706
2707 PR tree-optimization/47140
2708 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
2709 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
2710 to bit_value_binop.
2711
2712 PR rtl-optimization/47028
2713 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
2714 parm_birth_insn instead of at the beginning of first bb.
2715
2716 2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
2717
2718 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
2719 Remove the word "see" before "@pxref".
2720 * doc/rtl.texi: Remove the word "see" before "@pxref".
2721
2722 2011-01-01 Jan Hubicka <jh@suse.cz>
2723
2724 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
2725 memory.
2726
2727 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
2728
2729 PR target/38662
2730 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
2731
2732 \f
2733 Copyright (C) 2011 Free Software Foundation, Inc.
2734
2735 Copying and distribution of this file, with or without modification,
2736 are permitted in any medium without royalty provided the copyright
2737 notice and this notice are preserved.