1 2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
2 Richard Sandiford <rdsandiford@googlemail.com>
4 PR rtl-optimization/47166
5 * reload1.c (emit_reload_insns): Disable the spill_reg_store
6 mechanism for PRE_MODIFY and POST_MODIFY.
7 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
10 2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
12 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED
15 2011-01-22 Jan Hubicka <jh@suse.cz>
18 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
20 2011-01-22 Jan Hubicka <jh@suse.cz>
22 PR tree-optimization/43884
24 * predict.c (maybe_hot_frequency_p): Use entry block frequency as an base.
25 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
27 2011-01-22 Anatoly Sokolov <aesok@post.ru>
29 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
30 * config/s390/s390.c (s390_register_move_cost,
31 s390_memory_move_cost): New.
32 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
34 2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
37 * except.c (sjlj_assign_call_site_values): Move setting the
38 crtl->uses_eh_lsda flag to ...
39 (sjlj_mark_call_sites): ... here.
40 (sjlj_emit_function_enter): Support NULL dispatch label.
41 (sjlj_build_landing_pads): In a function with no landing pads
42 that still has must-not-throw regions, generate code to register
43 a personality function with empty LSDA.
45 2011-01-21 Richard Henderson <rth@redhat.com>
47 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
49 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
51 * compare-elim.c: New file.
52 * Makefile.in (OBJS-common): Add it.
53 (compare-elim.o): New.
54 * common.opt (fcompare-elim): New.
55 * opts.c (default_options_table): Add OPT_fcompare_elim.
56 * tree-pass.h (pass_compare_elim_after_reload): New.
57 * passes.c (init_optimization_passes): Add it.
58 * recog.h: Protect against re-inclusion.
59 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
60 * doc/invoke.texi (-fcompare-elim): Document it.
61 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
62 * doc/tm.texi: Rebuild.
64 2011-01-22 Nick Clifton <nickc@redhat.com>
66 * config/rx/rx.md (cstoresf4): Pass comparison operator to
69 2011-01-22 Nick Clifton <nickc@redhat.com>
71 * config/rx/rx.md (UNSPEC_CONST): New.
72 (deallocate_and_return): Wrap the amount popped off the stack in
73 an UNSPEC_CONST in order to stop it being rejected by
75 (pop_and_return): Add a "(return)" rtx.
76 (call): Drop the immediate operand.
77 (call_internal): Likewise.
78 (call_value): Likewise.
79 (call_value_internal): Likewise.
80 (sibcall_internal): Likewise.
81 (sibcall_value_internal): Likewise.
82 (sibcall): Likewise. Generate an explicit call using
84 (sibcall_value): Likewise.
85 (mov<>): FAIL if a constant operand is not legitimate.
86 (addsi3_unpsec): New pattern.
88 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
90 (ok_for_max_constant): New function.
91 (gen_safe_add): New function.
92 (rx_expand_prologue): Use gen_safe_add.
93 (rx_expand_epilogue): Likewise.
94 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
97 2011-01-21 Jeff Law <law@redhat.com>
99 PR tree-optimization/47053
100 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
101 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
102 statements are deleted.
103 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
104 is nonempty, then purge dead edges and cleanup the CFG.
106 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
110 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
112 * tree-dfa.c (create_var_ann): Mark variable as used.
114 2011-01-21 Jakub Jelinek <jakub@redhat.com>
117 * except.c (convert_to_eh_region_ranges): Emit queued no-region
118 notes from other section in hot/cold partitioning even if
119 last_action is -3. Increment call_site_base.
121 PR rtl-optimization/47366
122 * fwprop.c (forward_propagate_into): Return bool. If
123 any changes are made, -fnon-call-exceptions is used and
124 REG_EH_REGION note is present, call purge_dead_edges
125 and return true if it purged anything.
126 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
127 any EH edges were purged.
129 2011-01-21 Jeff Law <law@redhat.com>
131 PR rtl-optimization/41619
132 * caller-save.c (setup_save_areas): Break out code to determine
133 which hard regs are live across calls by examining the reload chains
134 so that it is always used.
135 Eliminate code which checked REG_N_CALLS_CROSSED.
137 2011-01-21 Jakub Jelinek <jakub@redhat.com>
139 PR tree-optimization/47355
140 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
141 NOP has non-debug uses beyond PHIs in new_bb.
143 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
146 * cfgexpand.c (account_used_vars_for_block): Only account vars
147 that are annotated as used.
148 (estimated_stack_frame_size): Don't set TREE_USED.
149 * tree-dfa.c (create_var_ann): Mark variable as used.
151 2011-01-21 Richard Guenther <rguenther@suse.de>
154 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
156 2011-01-21 Richard Guenther <rguenther@suse.de>
158 PR tree-optimization/47365
159 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
160 (vn_reference_lookup_pieces): Adjust.
161 (vn_reference_lookup): Likewise.
162 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
163 (vn_reference_lookup_3): Only look through kills if in
165 (vn_reference_lookup_pieces): Adjust.
166 (vn_reference_lookup): Likewise.
167 (visit_reference_op_load): Likewise.
168 (visit_reference_op_store): Likewise.
169 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
170 (compute_avail): Likewise.
171 (eliminate): Likewise.
173 2011-01-21 Jakub Jelinek <jakub@redhat.com>
175 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
176 DECL_IGNORED_P non-reg vars if they are used.
178 PR tree-optimization/47391
179 * varpool.c (const_value_known_p): Return false if
182 2011-01-21 Kai Tietz <kai.tietz@onevision.com>
185 * config/i386/i386.c (ix86_local_alignment): Handle
186 case for va_list_type_node is nil.
187 (ix86_canonical_va_list_type): Likewise.
189 2011-01-21 Alan Modra <amodra@gmail.com>
191 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
192 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
194 2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
196 * config/arm/arm.md (define_attr type): Rename f_load
197 and f_store to f_fpa_load and f_fpa_store. Update.
198 (write_conflict): Deal with rename fallout.
199 (*push_fp_multi): Likewise.
200 * config/arm/fpa.md (f_load): Use f_fpa_load.
201 (f_store): Use f_fpa_store.
202 (*movsf_fpa): Likewise.
203 (*movdf_fpa): Likewise.
204 (*movxf_fpa): Likewise.
205 (*thumb2_movsf_fpa): Likewise.
206 (*thumb2_movdf_fpa): Likewise.
207 (*thumb2_movxf_fpa): Likewise.
208 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
209 f_loadd and f_stored.
210 (*thumb2_movdi_vfp): Likewise.
211 (*thumb2_movsf_vfp): Fix attribute to f_loads.
212 (*thumb2_movsi_vfp): Likewise.
213 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
214 Use f_loads instead of f_load.
215 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
217 2011-01-20 Anatoly Sokolov <aesok@post.ru>
219 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
220 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
221 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
222 (xtensa_mode_dependent_address_p): New function.
223 (constantpool_address_p): Make static. Change return type to bool.
224 Change argument type to const_rtx. Use CONST_INT_P predicate.
226 2011-01-20 Alexandre Oliva <aoliva@redhat.com>
229 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
231 2011-01-20 Jakub Jelinek <jakub@redhat.com>
234 * cfgexpand.c (expand_debug_expr): Instead of generating
235 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
238 2011-01-20 Richard Guenther <rguenther@suse.de>
241 * tree-inline.c (remap_gimple_op_r): Recurse manually for
242 the pointer operand of MEM_REFs.
244 2011-01-20 Jakub Jelinek <jakub@redhat.com>
246 PR tree-optimization/46130
247 * ipa-split.c (consider_split): If return_bb contains non-virtual
248 PHIs other than for retval or if split_function would not adjust it,
251 2011-01-20 Richard Guenther <rguenther@suse.de>
253 PR tree-optimization/47167
254 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
255 Revert previous change, only avoid enumeral type changes.
257 2011-01-19 Dodji Seketeli <dodji@redhat.com>
260 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
261 (gen_scheduled_generic_parms_dies): New functions.
262 (gen_struct_or_union_type_die): Schedule template parameters DIEs
263 generation for the end of CU compilation.
264 (dwarf2out_finish): Generate template parameters DIEs here.
266 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
269 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
270 debug bind stmt on merge edges.
272 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
276 * function.c (instantiate_expr): Instantiate incoming rtl of
277 implicit arguments, and recurse on VALUE_EXPRs.
278 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
279 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
281 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
283 * c-parser.c (c_parser_for_statement): Initialize
284 collection_expression.
286 2011-01-19 Joseph Myers <joseph@codesourcery.com>
288 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
290 2011-01-19 Joseph Myers <joseph@codesourcery.com>
292 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
293 (LINK_SHLIB_SPEC): Don't use %(link_path).
294 (SUBTARGET_EXTRA_SPECS): Remove link_path.
296 2011-01-19 Joseph Myers <joseph@codesourcery.com>
298 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
299 (NO_SHARED_LIB_SUPPORT): Remove.
300 (LINK_SHLIB_SPEC): Remove one conditional definition.
302 2011-01-19 Joseph Myers <joseph@codesourcery.com>
304 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
306 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
307 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
308 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
309 %{call_shared} and conditionals on these options not being passed.
310 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
313 2011-01-19 Jakub Jelinek <jakub@redhat.com>
315 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
318 * ipa-split.c: Spelling fixes.
320 2011-01-19 Richard Henderson <rth@redhat.com>
322 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
325 * longlong.h [__mn10300__] (count_leading_zeros): New.
326 [__mn10300__] (umul_ppmm, smul_ppmm): New.
327 [__mn10300__] (add_ssaaaa, subddmmss): New.
328 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
329 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
331 2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
333 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
335 2011-01-19 Richard Henderson <rth@redhat.com>
337 * config/mn10300/mn10300.md (addsi3_flags): New.
338 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
339 (subsi3_flags, subc_internal, subdi3): New.
340 (subdi3_internal, *subdi3_degenerate): New.
341 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
343 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
344 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
345 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
346 * config/mn10300/mn10300-protos.h: Update.
347 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
348 (return_ret): Likewise. Rename from return_internal_regs.
349 (return_internal): Remove.
351 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
352 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
353 (mn10300_legitimate_constant_p): Likewise.
354 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
355 (mn10300_frame_size): New.
356 (mn10300_expand_prologue): Use it.
357 (mn10300_expand_epilogue): Likewise.
358 (mn10300_initial_offset): Likewise.
359 * config/mn10300/mn10300-protos.h: Update.
360 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
361 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
362 (prologue, epilogue, return_internal): Tidy output code.
363 (mn10300_store_multiple_operation, return): Likewise.
364 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
365 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
366 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
367 (load_pic, am33_load_pic): New.
368 (mn10300_load_pic0, mn10300_load_pic1): New.
370 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
371 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
372 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
373 (cc_flags_for_mode, cc_flags_for_code): New.
374 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
375 overflow flag is not valid. Validate that the flags we need
376 for the comparison are valid.
377 (mn10300_output_cmp): Remove.
378 (mn10300_output_add): New.
379 (mn10300_select_cc_mode): Use cc_flags_for_code.
380 (mn10300_split_cbranch): New.
381 (mn10300_match_ccmode): New.
382 (mn10300_split_and_operand_count): New.
383 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
385 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
386 (addsi3): ... here. Use mn10300_output_add.
387 (*addsi3_flags): New.
388 (*am33_subsi3, *mn10300_subsi3): Merge...
389 (subsi3): ... here. Use attribute isa.
390 (*subsi3_flags): New.
391 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
393 (*am33_andsi3, *mn10300_andsi3): Merge...
395 (*andsi3_flags): New.
396 (andsi3 splitters): New.
397 (*am33_iorsi3, *mn10300_iorsi3): Merge...
399 (*iorsi3_flags): New.
400 (*am33_xorsi3, *mn10300_xorsi3): Merge...
402 (*xorsi3_flags): New.
403 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
404 (one_cmplsi2): ... here.
405 (*one_cmplsi2_flags): New.
406 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
407 instead of "dax" in constraints. Use mn10300_split_cbranch.
408 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
409 use matching constraints to eliminate a self-comparison.
410 (*integer_conditional_branch): Rename from integer_conditional_branch.
411 Use int_mode_flags to match CC_REG.
412 (*cbranchsi4_btst, *btstsi): New.
413 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
414 mn10300_split_cbranch.
415 (*am33_cmpsf): Rename from am33_cmpsf.
416 (*float_conditional_branch): Rename from float_conditional_branch.
417 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
418 (zero_extendqisi2): ... here.
419 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
420 (zero_extendhisi2): ... here.
421 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
422 (extendqisi2): ... here.
423 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
424 (extendhisi2): ... here.
425 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
427 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
429 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
431 (consecutive add peephole): Remove.
432 * config/mn10300/predicates.md (label_ref_operand): New.
433 (int_mode_flags): New.
434 (CCZN_comparison_operator): New.
436 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
437 (throughput_42_latency_43): New reservation.
438 (mulsidi3, umulsidi3): New expanders.
439 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
440 the MDR register to allocation; separately allocate the low and
441 high parts of the DImode result.
442 (umulsidi3_internal): Similarly.
443 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
444 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
445 (udivsi3, umodsi3): Remove.
446 (udivmodsi4, divmodsi4): New expanders.
447 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
448 (*divmodsi4): Simiarly.
451 * config/mn10300/constraints.md ("z"): New constraint.
452 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
453 (FIXED_REGISTERS): Don't fix MDR.
454 (CALL_USED_REGSITERS): Reformat nicely.
455 (REG_ALLOC_ORDER): Add MDR.
456 (enum regclass): Add MDR_REGS.
457 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
458 (IRA_COVER_CLASSES): Add MDR_REGS.
459 (REGNO_REG_CLASS): Handle MDR_REG.
460 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
461 (mn10300_register_move_cost): Likewise.
462 * config/mn10300/mn10300.md (MDR_REG): New.
463 (*movsi_internal): Handle moves to/from MDR_REGS.
465 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
467 (mn10300_secondary_reload): Tidy combination reload classes.
468 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
469 addresses for AM33. Allow symbolic offsets for reg+imm.
470 (mn10300_regno_in_class_p): New.
471 (mn10300_legitimize_reload_address): New.
472 * config/mn10300/mn10300.h (enum reg_class): Remove
473 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
474 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
476 (REG_CLASS_NAMES): Update to match.
477 (REG_CLASS_CONTENTS): Likewise.
478 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
479 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
480 (REGNO_IN_RANGE_P): Remove.
481 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
482 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
483 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
484 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
485 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
486 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
487 (REGNO_GENERAL_P): New.
488 (HAVE_POST_MODIFY_DISP): New.
489 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
490 (LEGITIMIZE_RELOAD_ADDRESS): New.
491 * config/mn10300/mn10300-protos.h: Update.
493 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
494 DATA_REGS for AM33 stack-pointer destination.
495 (mn10300_preferred_output_reload_class): Likewise.
496 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
497 into a form appropriate for ...
498 (TARGET_SECONDARY_RELOAD): New.
499 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
500 * config/mn10300/mn10300-protos.h: Update.
501 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
502 reload_insi; use the "A" constraint for the scratch; handle AM33
503 moves of sp to non-address registers.
505 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
506 (*movqi_internal): ... here.
507 (*am33_movhi, *mn10300_movhi): Merge into...
508 (*movhi_internal): ... here.
509 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
510 as the source/destination of moves from/to SP.
511 (movsf): Only allow for AM33-2.
512 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
513 any integer constant constraint. Only allow for AM33-2. Tidy
514 all of the alternative outputs.
515 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
516 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
518 (udivsi3, umodsi3): New patterns for MN103 only.
520 2011-01-19 Joern Rennecke <amylaar@spamcop.net>
522 * doc/tm.texi.in: Spell out that a lack of register class unions
524 * doc/tm.texi: Regenerate.
526 2011-01-19 Jakub Jelinek <jakub@redhat.com>
528 PR rtl-optimization/47337
529 * dce.c (check_argument_store): New function.
530 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
532 PR tree-optimization/47290
533 * tree-eh.c (infinite_empty_loop_p): New function.
534 (cleanup_empty_eh): Use it.
536 2011-01-18 Steve Ellcey <sje@cup.hp.com>
539 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
540 (a64_expand_widen_sum): Ditto.
541 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
542 (vec_extract_evenodd_help): Ditto.
543 (vec_extract_evenv4hi): Ditto.
544 (vec_extract_oddv4hi): Ditto.
545 (vec_extract_evenv2si): Ditto.
546 (vec_extract_oddv2si): Ditto.
547 (vec_extract_evenv2sf): Ditto.
548 (vec_extract_oddv2sf): Ditto.
549 (vec_pack_trunc_v4hi: Ditto.
550 (vec_pack_trunc_v2si): Ditto.
551 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
552 (vec_interleave_highv8qi): Ditto.
554 (vec_extract_oddv8qi): Ditto.
555 (vec_interleave_lowv4hi): Ditto.
556 (vec_interleave_highv4hi): Ditto.
557 (vec_interleave_lowv2si): Ditto.
558 (vec_interleave_highv2si): Ditto.
560 2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
562 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
563 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
564 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
565 (pa_c_mode_for_suffix): New.
566 (TARGET_EXPAND_BUILTIN): Define.
567 (TARGET_C_MODE_FOR_SUFFIX): Define.
568 (pa_builtins): Define.
569 (pa_init_builtins): Register __float128 type and init new support
571 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
572 * config/pa/quadlib.c (_U_Qfcopysign): New.
574 2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
577 * explow.c (allocate_dynamic_stack_space): Do not assume more than
578 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
581 2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
583 PR tree-optimization/47179
584 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
585 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
587 2011-01-18 Richard Guenther <rguenther@suse.de>
589 PR rtl-optimization/47216
590 * emit-rtl.c: Include tree-flow.h.
591 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
592 of replicating it with different semantics.
593 * Makefile.in (emit-rtl.o): Adjust.
595 2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
597 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
599 (cortex_a9_dp): Handle neon types correctly.
601 2011-01-18 Jakub Jelinek <jakub@redhat.com>
603 PR rtl-optimization/47299
604 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
605 subtarget. Use normal multiplication if both operands are
607 * expmed.c (expand_widening_mult): Don't try to optimize constant
608 multiplication if op0 has VOIDmode. Convert op1 constant to mode
611 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
613 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
614 spacing after 'e.g.', typos, comma, hyphenation.
616 2011-01-17 Richard Henderson <rth@redhat.com>
618 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
619 (rx_restricted_mem_operand): New.
620 (rx_shift_operand): Use register_operand.
621 (rx_source_operand, rx_compare_operand): Likewise.
622 * config/rx/rx.md (addsi3_flags): New expander.
623 (adddi3): Rewrite as expander.
624 (adc_internal, *adc_flags, adddi3_internal): New patterns.
625 (subsi3_flags): New expander.
626 (subdi3): Rewrite as expander.
627 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
629 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
630 (rx_init_builtins): Remove sat builtin.
631 (rx_expand_builtin): Likewise.
632 * config/rx/rx.md (ssaddsi3): New.
633 (*sat): Rename from sat. Represent the CC_REG input.
635 * config/rx/predicates.md (rshift_operator): New.
636 * config/rx/rx.c (rx_expand_insv): Remove.
637 * config/rx/rx-protos.h: Update.
638 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
639 operand to the canonical position.
640 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
641 (*bitclr, *bitclr_in_memory): Similarly.
642 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
643 (insv): Retain the zero_extract in the expansion.
645 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
646 (bswaphi2, bitinvert, revw): Likewise.
648 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
649 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
650 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
651 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
652 (bitset, bitset_in_memory): Likewise.
653 (bitinvert, bitinvert_in_memory): Likewise.
654 (bitclr, bitclr_in_memory): Likewise.
655 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
656 (rx_strend, rx_cmpstrn): Likewise.
657 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
658 (bitop peep2 patterns): Remove.
660 * config/rx/rx.c (rx_match_ccmode): New.
661 * config/rx/rx-protos.h: Update.
662 * config/rx/rx.md (abssi2): Clobber, don't set flags.
663 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
664 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
665 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
666 (fix_truncsfsi2, floatsisf2): Likewise.
667 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
668 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
669 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
670 (*subsi3_flags, *xorsi3_flags): New.
672 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
674 * config/rx/rx.c (rx_print_operand): Remove workaround for
675 unsplit comparison operations.
677 * config/rx/rx.md (movsicc): Split after reload.
678 (*movsicc): Merge *movsieq and *movsine via match_operator.
679 (*stcc): New pattern.
681 * config/rx/rx.c (rx_float_compare_mode): Remove.
682 * config/rx/rx.h (rx_float_compare_mode): Remove.
683 * config/rx/rx.md (cstoresi4): Split after reload.
684 (*sccc): New pattern.
686 * config/rx/predicates.md (label_ref_operand): New.
687 (rx_z_comparison_operator): New.
688 (rx_zs_comparison_operator): New.
689 (rx_fp_comparison_operator): New.
690 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
691 Validate that the flags are set properly for the comparison.
692 (rx_gen_cond_branch_template): Remove.
693 (rx_cc_modes_compatible): Remove.
694 (mode_from_flags): New.
695 (flags_from_code): Rename from flags_needed_for_conditional.
696 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
697 (rx_select_cc_mode): Likewise.
698 (rx_split_fp_compare): New.
699 (rx_split_cbranch): New.
700 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
701 (*cbranchsi4): Use match_operator and rx_split_cbranch.
702 (*cbranchsf4): Similarly.
703 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
704 match_operator and rx_split_cbranch.
705 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
706 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
707 (*cmpsi): Rename from cmpsi.
708 (*tstsi): Rename from tstsi.
709 (*cmpsf): Rename from cmpsf; use CC_Fmode.
710 (*conditional_branch): Rename from conditional_branch.
711 (*reveresed_conditional_branch): Remove.
712 (b<code>): Remove expander.
713 * config/rx/rx-protos.h: Update.
715 * config/rx/rx.c (rx_compare_redundant): Remove.
716 * config/rx/rx.md (cmpsi): Don't use it.
717 * config/rx/rx-protos.h: Update.
719 * config/rx/rx-modes.def (CC_F): New mode.
720 * config/rx/rx.c (rx_select_cc_mode): New.
721 * config/rx/rx.h (SELECT_CC_MODE): Use it.
722 * config/rx/rx-protos.h: Update.
724 2011-01-17 Richard Henderson <rth@redhat.com>
726 * except.c (dump_eh_tree): Fix stray ; after for statement.
728 2011-01-17 Richard Guenther <rguenther@suse.de>
730 PR tree-optimization/47313
731 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
732 handling before copying the body. Properly deal with
733 by-reference result in SSA form.
735 2011-01-17 Ian Lance Taylor <iant@google.com>
738 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
739 (struct_value_alias_set): Don't define.
740 (sparc_option_override): Don't set sparc_sr_alias_set and
741 struct_value_alias_set.
742 (save_or_restore_regs): Use gen_frame_mem rather than calling
744 (sparc_struct_value_rtx): Likewise.
746 2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
749 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
751 (_mm_maskstore_pd): Likewise.
752 (_mm_maskload_ps): Likewise.
753 (_mm_maskstore_ps): Likewise.
754 (_mm256_maskload_pd): Change mask to __m256i.
755 (_mm256_maskstore_pd): Likewise.
756 (_mm256_maskload_ps): Likewise.
757 (_mm256_maskstore_ps): Likewise.
759 * config/i386/i386-builtin-types.def: Updated.
760 (ix86_expand_special_args_builtin): Likewise.
762 * config/i386/i386.c (bdesc_special_args): Update
763 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
764 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
765 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
766 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
768 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
769 Use <avxpermvecmode> on mask register.
770 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
772 2011-01-17 Olivier Hainque <hainque@adacore.com>
773 Michael Haubenwallner <michael.haubenwallner@salomon.at>
774 Eric Botcazou <ebotcazou@adacore.com>
777 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
778 if <= USHRT_MAX in 32-bit mode.
780 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
782 * doc/install.texi (Configuration, Specific): Wrap long
783 lines in examples. Allow line wrapping in long options
784 and URLs where beneficial for PDF output.
786 2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
788 * config/mips/mips.c (mips_classify_symbol): Don't return
789 SYMBOL_PC_RELATIVE for nonlocal labels.
791 2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
793 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
795 2011-01-15 Jan Hubicka <jh@suse.cz>
797 PR tree-optimization/47276
798 * ipa.c (function_and_variable_visibility): Do not try to mark alias
799 declarations as needed.
801 2011-01-15 Martin Jambor <mjambor@suse.cz>
803 * common.opt (fdevirtualize): New flag.
804 * doc/invoke.texi (Option Summary): Document it.
805 * opts.c (default_options_table): Add devirtualize flag.
806 * ipa-prop.c (detect_type_change): Return immediately if
807 devirtualize flag is not set.
808 (detect_type_change_ssa): Likewise.
809 (compute_known_type_jump_func): Likewise.
810 (ipa_analyze_virtual_call_uses): Likewise.
812 2011-01-14 Martin Jambor <mjambor@suse.cz>
814 PR tree-optimization/45934
815 PR tree-optimization/46302
816 * ipa-prop.c (type_change_info): New type.
817 (stmt_may_be_vtbl_ptr_store): New function.
818 (check_stmt_for_type_change): Likewise.
819 (detect_type_change): Likewise.
820 (detect_type_change_ssa): Likewise.
821 (compute_complex_assign_jump_func): Check for dynamic type change.
822 (compute_complex_ancestor_jump_func): Likewise.
823 (compute_known_type_jump_func): Likewise.
824 (compute_scalar_jump_functions): Likewise.
825 (ipa_analyze_virtual_call_uses): Likewise.
826 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
828 2011-01-14 Joseph Myers <joseph@codesourcery.com>
830 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
831 * config/i386/i386.opt (msse5): New Alias.
833 2011-01-14 Joseph Myers <joseph@codesourcery.com>
835 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
836 * config/sparc/linux64.h (CC1_SPEC): Likewise.
837 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
838 * config/sparc/sparc.h (CC1_SPEC): Likewise.
840 2011-01-14 Joseph Myers <joseph@codesourcery.com>
842 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
844 * config/sparc/linux64.h (CC1_SPEC): Likewise.
845 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
846 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
847 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
849 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
851 2011-01-14 Joseph Myers <joseph@codesourcery.com>
853 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
856 2011-01-14 Mike Stump <mikestump@comcast.net>
858 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
859 * config/fr30/fr30.md: Likweise
860 (movsi_push): Likewise.
861 (movsi_pop): Likewise.
862 (enter_func): Likewise.
863 * config/moxie/moxie.md (movsi_push): Likewise.
864 (movsi_pop): Likewise.
866 2011-01-14 Joseph Myers <joseph@codesourcery.com>
868 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
869 %{no_archive} %{exact_version}.
870 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
871 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
872 %{no_archive} %{exact_version}.
873 * config/mips/openbsd.h (LINK_SPEC): Likewise.
874 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
875 * config/mips/vxworks.h: Likewise.
877 2011-01-14 Joseph Myers <joseph@codesourcery.com>
879 * config/microblaze/microblaze.h (ASM_SPEC): Remove
882 2011-01-14 Joseph Myers <joseph@codesourcery.com>
884 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
885 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
887 2011-01-14 Joseph Myers <joseph@codesourcery.com>
889 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
892 2011-01-14 Joseph Myers <joseph@codesourcery.com>
894 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
896 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
897 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
899 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
902 2011-01-14 Joseph Myers <joseph@codesourcery.com>
904 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
905 (CC1_SPEC): Don't handle -profile.
907 2011-01-14 Joseph Myers <joseph@codesourcery.com>
909 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
910 * config/mips/mips.h (CC1_SPEC): Likewise.
912 2011-01-14 Joseph Myers <joseph@codesourcery.com>
914 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
915 * config/mips/mips.h (CC1_SPEC): Likewise.
917 2011-01-14 Joseph Myers <joseph@codesourcery.com>
919 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
920 * config/m32r/linux.h (LINK_SPEC): Likewise.
921 * config/mips/linux.h (LINK_SPEC): Likewise.
922 * config/mips/linux64.h (LINK_SPEC): Likewise.
923 * config/sparc/linux.h (LINK_SPEC): Likewise.
924 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
925 LINK_SPEC): Likewise.
926 * config/xtensa/linux.h (LINK_SPEC): Likewise.
928 2011-01-14 Joseph Myers <joseph@codesourcery.com>
930 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
932 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
934 2011-01-14 Joseph Myers <joseph@codesourcery.com>
936 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
937 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
939 2011-01-14 Joseph Myers <joseph@codesourcery.com>
941 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
943 2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
945 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
946 supports -Bstatic/-Bdynamic.
947 * configure: Regenerate.
949 2011-01-14 Jan Hubicka <jh@suse.cz>
950 Jack Howarth <howarth@bromo.med.uc.edu>
953 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
954 when checking debug_info_level. Test write_symbols instead of
955 debug_hooks->var_location when setting flag_var_tracking_uninit.
957 2011-01-14 Richard Guenther <rguenther@suse.de>
959 PR tree-optimization/47179
960 * target.def (ref_may_alias_errno): New target hook.
961 * targhooks.h (default_ref_may_alias_errno): Declare.
962 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
963 (default_ref_may_alias_errno): New function.
964 * target.h (struct ao_ref_s): Declare.
965 * tree-ssa-alias.c: Include target.h.
966 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
967 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
968 (targhooks.o): Likewise.
969 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
970 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
972 2011-01-14 Richard Guenther <rguenther@suse.de>
974 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
976 2011-01-14 Richard Guenther <rguenther@suse.de>
978 PR tree-optimization/47280
979 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
981 (tree_ssa_forward_propagate_single_use_vars): Deal with
982 CFG changes from associate_plusminus.
984 2011-01-14 Richard Guenther <rguenther@suse.de>
988 2011-01-11 Richard Guenther <rguenther@suse.de>
990 PR tree-optimization/46076
991 * tree-ssa.c (useless_type_conversion_p): Conversions from
992 unprototyped to empty argument list function types are useless.
994 2011-01-14 Richard Guenther <rguenther@suse.de>
996 PR tree-optimization/47286
997 * tree-ssa-structalias.c (new_var_info): Register variables are global.
999 2011-01-14 Martin Jambor <mjambor@suse.cz>
1002 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1004 2011-01-13 Anatoly Sokolov <aesok@post.ru>
1006 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
1007 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1008 * config/xtensa/xtensa.c (xtensa_libcall_value,
1009 xtensa_function_value_regno_p): New functions.
1010 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1012 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
1015 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1017 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
1018 New function prototype.
1019 * config/i386/winnt.c (i386_pe_assemble_visibility):
1020 Warn only if attribute was specified by user.
1022 2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
1025 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1027 (floatunsdidf2_fcfidu): Ditto.
1029 2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1031 * config/s390/s390.c (print_operand_address): Replace 'error' with
1032 'output_operand_lossage'.
1033 (print_operand): Likewise.
1035 2011-01-13 Jeff Law <law@redhat.com>
1037 PR rtl-optimization/39077
1038 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
1039 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
1040 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
1041 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
1042 * gcse.c (prune_insertions_deletions): New function.
1043 (compute_pre_data): Use it.
1045 2011-01-13 Dodji Seketeli <dodji@redhat.com>
1048 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1050 (prune_unused_types_mark): Use it.
1052 2011-01-13 Andrey Belevantsev <abel@ispras.ru>
1054 PR rtl-optimization/45352
1055 * sel-sched.c: Update copyright years.
1056 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1057 in the advancing loop when we have issued issue_rate insns.
1059 2011-01-12 Richard Henderson <rth@redhat.com>
1061 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1062 (TARGET_MD_ASM_CLOBBERS): New.
1064 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1065 (TARGET_DELEGITIMIZE_ADDRESS): New.
1067 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1068 (clzsi2, *bsch): New patterns.
1070 * config/mn10300/mn10300.md (INT): New mode iterator.
1071 (*mov<INT>_clr): New pattern, and peep2 to generate it.
1073 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1074 flag_split_wide_types.
1076 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
1077 (mn10300_trampoline_init): Rewrite without a template, an immediate
1078 load and a direct branch.
1079 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
1081 2011-01-12 Anatoly Sokolov <aesok@post.ru>
1083 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1084 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
1085 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
1086 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1088 2011-01-12 Kai Tietz <kai.tietz@onevision.com>
1091 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1094 2011-01-12 Jan Hubicka <jh@suse.cz>
1097 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
1098 (PLUGIN_COND_CLOSE): New macro.
1099 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
1101 2011-01-12 Richard Guenther <rguenther@suse.de>
1104 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1105 register variables in a MEM_REF.
1107 2011-01-12 Joseph Myers <joseph@codesourcery.com>
1109 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
1110 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
1111 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
1112 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
1113 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
1114 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
1115 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
1116 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
1117 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
1118 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
1119 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
1120 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
1121 * config/gnu-user.h: New. Copied from linux.h.
1122 (LINUX_TARGET_STARTFILE_SPEC): Rename to
1123 GNU_USER_TARGET_STARTFILE_SPEC.
1124 (LINUX_TARGET_ENDFILE_SPEC): Rename to
1125 GNU_USER_TARGET_ENDFILE_SPEC.
1126 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
1127 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
1128 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
1129 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
1130 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
1131 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
1132 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
1133 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
1134 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
1135 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
1136 * config/arm/linux-eabi.h (CC1_SPEC): Use
1137 GNU_USER_TARGET_CC1_SPEC.
1138 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
1139 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
1140 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
1141 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
1142 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
1143 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
1144 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
1145 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
1147 2011-01-12 Richard Guenther <rguenther@suse.de>
1150 * doc/invoke.texi (ffast-math): Document it is turned on
1153 2011-01-12 Jan Hubicka <jh@suse.cz>
1155 PR tree-optimization/47233
1156 * opts.c (common_handle_option): Disable ipa-reference with profile
1159 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1161 * c-parser.c (c_parser_objc_at_property_declaration): Improved
1164 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1166 * c-parser.c (c_lex_one_token): Updated and reindented some
1167 comments. No changes in code.
1169 2011-01-11 Ian Lance Taylor <iant@google.com>
1171 * godump.c (go_output_var): Don't output the variable if there is
1172 already a type with the same name.
1174 2011-01-11 Ian Lance Taylor <iant@google.com>
1176 * godump.c (go_format_type): Don't generate float80.
1178 2011-01-11 Richard Henderson <rth@redhat.com>
1180 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
1181 declaration. Rewrite for both speed and size.
1182 (mn10300_address_cost_1): Remove.
1183 (mn10300_register_move_cost): New.
1184 (mn10300_memory_move_cost): New.
1185 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
1186 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
1187 extensions, shifts, BSWAP, CLZ.
1188 (mn10300_wide_const_load_uses_clr): Remove.
1189 (TARGET_REGISTER_MOVE_COST): New.
1190 (TARGET_MEMORY_MOVE_COST): New.
1191 * config/mn10300/mn10300-protos.h: Update.
1192 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
1194 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
1195 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
1196 * config/mn10300/mn10300-protos.h: Update.
1197 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
1198 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
1199 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
1200 (*test_int_bitfield, *test_byte_bitfield): Remove.
1201 (*bit_test, *subreg_bit_test): Remove.
1202 * config/mn10300/predicates.md (const_8bit_operand): Remove.
1204 * config/mn10300/constraints.md ("c"): Rename from "A".
1205 ("A", "D"): New constraint letters.
1206 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
1207 (fmssf4, fnmasf4, fnmssf4): Likewise.
1209 * config/mn10300/mn10300.md (isa): New attribute.
1210 (enabled): New attribute.
1212 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
1213 (abssf2, negsf2): Define only for hardware fp.
1214 (sqrtsf2): Reformat.
1215 (addsf3, subsf3, mulsf3): Merge expander and insn.
1217 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1218 (DEBUGGER_AUTO_OFFSET): Remove.
1219 (DEBUGGER_ARG_OFFSET): Remove.
1221 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
1222 Emit register stores with the same offsets as the hardware.
1223 (mn10300_store_multiple_operation): Don't check that the register
1224 save offsets are monotonic.
1225 * config/mn10300/mn10300-protos.h: Update.
1227 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1229 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1230 in terms of the value on the stack, not the MDR register.
1232 2011-01-11 Jan Hubicka <jh@suse.cz>
1236 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
1237 (symbol_alias_set_destroy, symbol_alias_set_contains,
1238 propagate_aliases_backward): Declare.
1239 * lto-streamer-out.c (struct sets): New sturcture.
1240 (trivally_defined_alias): New function.
1241 (output_alias_pair_p): Rewrite.
1242 (output_unreferenced_globals): Fix output of alias pairs.
1243 (produce_symtab): Likewise.
1244 * ipa.c (function_and_variable_visibility): Set weak alias destination
1246 * varasm.c (symbol_alias_set_t): Remove.
1247 (symbol_alias_set_destroy): Export.
1248 (propagate_aliases_forward, propagate_aliases_backward): New functions
1250 (compute_visible_aliases): ... this one; remove.
1251 (trivially_visible_alias): New
1252 (trivially_defined_alias): New.
1253 (remove_unreachable_alias_pairs): Rewrite.
1254 (finish_aliases_1): Reorganize code checking if alias is defined.
1255 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
1258 2011-01-11 Richard Guenther <rguenther@suse.de>
1260 PR tree-optimization/46076
1261 * tree-ssa.c (useless_type_conversion_p): Conversions from
1262 unprototyped to empty argument list function types are useless.
1264 2011-01-11 Richard Guenther <rguenther@suse.de>
1267 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
1268 volatile MEMs as MEM_READONLY_P.
1270 2011-01-11 Richard Guenther <rguenther@suse.de>
1272 PR tree-optimization/47239
1273 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
1275 2011-01-11 Jeff Law <law@redhat.com>
1277 PR tree-optimization/47086
1278 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
1279 IVs from statements that might throw.
1281 2011-01-10 Jan Hubicka <jh@suse.cz>
1284 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
1286 2011-01-10 Jan Hubicka <jh@suse.cz>
1289 * profile.c (read_profile_edge_counts): Ignore profile inconistency
1290 when correcting profile.
1292 2011-01-10 Jan Hubicka <jh@suse.cz>
1295 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
1297 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
1298 Restore DECL_FINI_PRIORITY.
1300 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1302 * doc/gimple.texi: Fix quoting of multi-word return values in
1303 @deftypefn statements. Ensure presence of return value. Wrap
1304 overlong @deftypefn lines.
1305 (is_gimple_operand, is_gimple_min_invariant_address): Remove
1306 descriptions of removed functions.
1307 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
1308 of multi-word return value in @deftypefn statement.
1310 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1312 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
1313 (Conditional Expressions, Logical Operators)
1314 (Statement and operand traversals): Do not indent smallexample
1315 code. Fix duplicate function argument in example.
1317 2011-01-10 Jeff Law <law@redhat.com>
1319 PR tree-optimization/47141
1320 * ipa-split.c (split_function): Handle case where we are
1321 returning a value and the return block has a virtual operand phi.
1323 2011-01-10 Jan Hubicka <jh@suse.cz>
1325 PR tree-optimization/47234
1326 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
1327 (pass_feedback_split_functions): Declare.
1328 * passes.c (init_optimization_passes): Add ipa-split as subpass of
1330 * ipa-split.c (gate_split_functions): Update comments; disable
1331 split-functions for profile_arc_flag and branch_probabilities.
1332 (gate_feedback_split_functions): New function.
1333 (execute_feedback_split_functions): New function.
1334 (pass_feedback_split_functions): New global var.
1336 2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
1339 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
1340 calling gimple_call_set_cannot_inline.
1342 2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
1344 * config/darwin-sections.def: Remove unused section.
1346 2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
1349 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
1351 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
1354 * c-parser.c (c_parser_declaration_or_fndef): Improved
1357 2011-01-09 Kai Tietz <kai.tietz@onevision.com>
1359 * config/i386/winnt.c (i386_pe_start_function): Make sure
1360 to switch back to function's section.
1362 2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
1366 * plugin.c: Move include of dlfcn.h from here...
1367 * system.h: ... to here.
1369 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1371 * doc/cpp.texi (C++ Named Operators): Fix markup for header
1373 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
1374 two extra empty pages in PDF output.
1376 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
1379 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
1380 for error recovery purposes behave as if it was not specified so
1381 that the default type is usd.
1383 2011-01-07 Jan Hubicka <jh@suse.cz>
1385 PR tree-optmization/46469
1386 * ipa.c (function_and_variable_visibility): Clear needed flags on
1387 nodes with external decls; handle weakrefs merging correctly.
1389 2011-01-07 Joseph Myers <joseph@codesourcery.com>
1391 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
1394 2011-01-07 Jan Hubicka <jh@suse.cz>
1396 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
1397 and no longer claim that gold is required for linker plugin.
1398 * configure: Regenerate.
1399 * gcc.c (PLUGIN_COND): New macro.
1400 (LINK_COMMAND_SPEC): Use it.
1401 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
1402 * config.in (HAVE_LTO_PLUGIN): New.
1403 * configure.ac (--with-lto-plugin): New parameter; autodetect
1406 2011-01-07 Jan Hubicka <jh@suse.cz>
1408 PR tree-optimization/46367
1409 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
1410 when we can update original.
1411 (cgraph_mark_inline_edge): Sanity check.
1412 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
1414 2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1416 * config/spu/spu.h (ASM_COMMENT_START): Define.
1418 2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
1422 (SWITCH_KEEP_FOR_GCC): Likewise.
1423 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
1424 (do_spec_1): Handle "%>".
1426 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
1428 2011-01-07 Jakub Jelinek <jakub@redhat.com>
1431 * config/i386/i386.c (ix86_delegitimize_address): If
1432 simplify_gen_subreg fails, return orig_x.
1435 * value-prof.c (gimple_stringop_fixed_value): Handle
1436 lhs of the call properly.
1438 2011-01-07 Jan Hubicka <jh@suse.cz>
1441 * lto-opt.c (lto_reissue_options): Set flag_shlib.
1443 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
1445 * target.def (function_switched_text_sections): New hook.
1446 * doc/tm.texi: Regenerated.
1447 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
1448 * final.c (default_function_switched_text_sections): New.
1449 (final_scan_insn): Call function_switched_text_sections when a
1450 mid-function section change occurs.
1451 * output.h (default_function_switched_text_sections): Declare.
1452 * config/darwin-protos.h (darwin_function_switched_text_sections):
1454 * config/darwin.c (darwin_function_switched_text_sections): New.
1455 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
1457 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
1459 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
1460 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
1461 the secondary code fragment when outputting for DWARF == 2.
1463 2011-01-07 Anatoly Sokolov <aesok@post.ru>
1465 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1466 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
1468 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
1469 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1471 2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
1474 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
1475 when it is not empty.
1477 2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
1480 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1481 (case ${target}): Add btver1.
1482 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1483 -march=native recognize btver1 processors.
1484 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1485 btver1 def_and_undef
1486 * config/i386/i386.c (struct processor_costs btver1_cost): New
1488 (m_BTVER1): New definition.
1489 (m_AMD_MULTIPLE): Includes m_BTVER1.
1490 (initial_ix86_tune_features): Add btver1 tune.
1491 (processor_target_table): Add btver1 entry.
1492 (static const char *const cpu_names): Add btver1 entry.
1493 (software_prefetching_beneficial_p): Add btver1.
1494 (ix86_option_override_internal): Add btver1 instruction sets.
1495 (ix86_issue_rate): Add btver1.
1496 (ix86_adjust_cost): Add btver1.
1497 * config/i386/i386.h (TARGET_BTVER1): New definition.
1498 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
1499 (enum processor_type): Add PROCESSOR_BTVER1.
1500 * config/i386/i386.md (define_attr "cpu"): Add btver1.
1502 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1505 * config/i386/i386.c (legitimize_tls_address)
1506 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
1507 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
1508 (tls_initial_exec_64_sun): New pattern.
1510 2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
1512 * doc/invoke.texi (Overall Options): Improve wording and markup
1513 of the description of -wrapper.
1515 2011-01-06 Joseph Myers <joseph@codesourcery.com>
1517 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
1518 rdynamic, threads): New Driver options.
1520 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1523 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
1524 if coming from .tdata.
1525 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1527 2011-01-06 Jan Hubicka <jh@suse.cz>
1530 * collect2.c (main): Do not enable LTOmode when plugin is active.
1532 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1535 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
1536 --version output if supported.
1537 * configure: Regenerate.
1539 2011-01-06 Joseph Myers <joseph@codesourcery.com>
1541 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
1544 2011-01-06 Jakub Jelinek <jakub@redhat.com>
1547 * c-convert.c (convert): When converting a complex expression
1548 other than COMPLEX_EXPR to a different complex type, ensure
1549 c_save_expr is called instead of save_expr, unless in_late_binary_op.
1550 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
1551 when converting COMPLEX_TYPE.
1553 2011-01-06 Ira Rosen <irar@il.ibm.com>
1555 PR tree-optimization/47139
1556 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
1557 only the last reduction value is used outside the loop. Update
1560 2011-01-05 Joseph Myers <joseph@codesourcery.com>
1562 * config/rtems.opt: New.
1563 * config.gcc (*-*-rtems*): Use rtems.opt.
1565 2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
1567 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
1568 processors do not support 3DNow instructions.
1570 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1572 * config/spu/spu.c (spu_option_override): Set parameter
1573 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
1575 2011-01-05 Jan Hubicka <jh@suse.cz>
1577 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
1578 at the command line.
1580 2011-01-05 Martin Jambor <mjambor@suse.cz>
1583 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
1584 deltas on streamed outgoing edges.
1585 (output_node_opt_summary): Output info for outgoing edges only when
1586 the node is in new parameter set.
1587 (output_cgraph_opt_summary): New parameter set, passed to the two
1588 aforementioned functions. Update its forward declaration and its
1591 2011-01-05 Tom Tromey <tromey@redhat.com>
1593 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
1594 operator to c_finish_omp_atomic.
1595 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
1596 (build_unary_op): Update.
1597 (build_modify_expr): Update.
1598 (build_asm_expr): Update.
1600 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1602 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
1603 newly inserted insns.
1605 (spu_emit_branch_hint): Likewise.
1606 (insert_hbrp_for_ilb_runout): Likewise.
1607 (spu_machine_dependent_reorg): Call df_finish_pass after
1608 schedule_insns returns.
1610 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1612 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
1614 2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
1616 PR tree-optimization/47005
1617 * tree-sra.c (struct access): Add 'non_addressable' bit.
1618 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
1619 (decide_one_param_reduction): Return 0 if the parameter is passed by
1620 reference and one of the accesses in the group is non_addressable.
1622 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1624 PR tree-optimization/47056
1625 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
1626 (mark_load): Likewise. Handle FUNCTION_DECL specially.
1627 (mark_store): Likewise. Pass STMT to ipa_record_reference.
1629 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1631 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
1632 initializer. Skip view conversions from aggregate types.
1634 2011-01-04 Kai Tietz <kai.tietz@onevision.com>
1637 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
1639 2011-01-04 Philipp Thomas <pth@suse.de>
1641 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
1644 2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1646 * function.c (thread_prologue_and_epilogue_insns): Do not crash
1647 on empty epilogue sequences.
1649 2011-01-04 Joseph Myers <joseph@codesourcery.com>
1651 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
1652 non-static): New Driver options.
1654 2011-01-04 Jie Zhang <jie@codesourcery.com>
1657 * gcc.c (default_compilers[]): Set combinable field to 0
1658 for all assembly languages.
1660 2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
1662 * config/mips/loongson3a.md: New file.
1663 * config/mips/mips.md: Include loongson3a.md.
1664 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
1667 2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
1670 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
1671 instead of convert_memory_address_addr_space on the base expression.
1673 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1675 * config/spu/spu.c (spu_option_override): Update error text
1676 for bad -march= / -mtune= values.
1678 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1680 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
1681 if branch-hint optimization will be performed.
1683 2011-01-03 Jakub Jelinek <jakub@redhat.com>
1685 PR tree-optimization/47148
1686 * ipa-split.c (split_function): Convert arguments to
1687 DECL_ARG_TYPE if possible.
1689 PR tree-optimization/47155
1690 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
1693 PR rtl-optimization/47157
1694 * combine.c (try_combine): If undobuf.other_insn becomes
1695 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
1696 and set *new_direct_jump_p too.
1698 2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
1700 PR tree-optimization/47021
1701 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
1703 2011-01-03 Jakub Jelinek <jakub@redhat.com>
1705 * gcc.c (process_command): Update copyright notice dates.
1706 * gcov.c (print_version): Likewise.
1707 * gcov-dump.c (print_version): Likewise.
1708 * mips-tfile.c (main): Likewise.
1709 * mips-tdump.c (main): Likewise.
1711 2011-01-03 Martin Jambor <mjambor@suse.cz>
1713 PR tree-optimization/46801
1714 * tree-sra.c (type_internals_preclude_sra_p): Check whether
1715 aggregate fields start at byte boundary instead of the bit-field flag.
1717 2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
1720 * gcc.c (main): Revert revision 168407.
1722 2011-01-03 Martin Jambor <mjambor@suse.cz>
1724 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
1726 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1728 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
1729 vector optab to expand vector/scalar shift, update gimple to vector.
1731 2011-01-03 Martin Jambor <mjambor@suse.cz>
1733 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
1736 2011-01-03 Martin Jambor <mjambor@suse.cz>
1738 PR tree-optimization/46984
1739 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
1741 (cgraph_create_indirect_edge): Fixed line length.
1742 (cgraph_indirect_call_info): Declare.
1743 (cgraph_make_edge_direct) Update declaration.
1744 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
1745 (cgraph_create_indirect_edge): Use it.
1746 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
1748 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
1749 the new thunk_delta representation.
1750 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
1752 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
1753 (ipa_read_indirect_edge_info): Likewise.
1754 * lto-cgraph.c (output_edge_opt_summary): New function.
1755 (output_node_opt_summary): Call it on all outgoing edges.
1756 (input_edge_opt_summary): New function.
1757 (input_node_opt_summary): Call it on all outgoing edges.
1759 2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
1762 * gcc.c (main): Don't check have_o when settting combine_inputs.
1764 2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
1766 * regrename.c: Add general comment describing the pass.
1767 (struct du_head): Remove 'length' field.
1768 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
1769 (regrename_optimize): Do not sort chains. Rework comments, add others.
1770 Force renaming to the preferred class (if any) in the first pass and do
1771 not consider registers that belong to it in the second pass.
1772 (create_new_chain): Do not set 'length' field.
1773 (scan_rtx_reg): Likewise.
1775 2011-01-02 Jakub Jelinek <jakub@redhat.com>
1777 PR tree-optimization/47140
1778 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
1779 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
1782 PR rtl-optimization/47028
1783 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
1784 parm_birth_insn instead of at the beginning of first bb.
1786 2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
1788 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
1789 Remove the word "see" before "@pxref".
1790 * doc/rtl.texi: Remove the word "see" before "@pxref".
1792 2011-01-01 Jan Hubicka <jh@suse.cz>
1794 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
1797 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
1800 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
1803 Copyright (C) 2011 Free Software Foundation, Inc.
1805 Copying and distribution of this file, with or without modification,
1806 are permitted in any medium without royalty provided the copyright
1807 notice and this notice are preserved.