OSDN Git Service

PR rtl-optimization/47166
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
2             Richard Sandiford  <rdsandiford@googlemail.com>
3
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
8         reloadreg.
9
10 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
11
12         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED
13         markers.
14
15 2011-01-22  Jan Hubicka  <jh@suse.cz>
16
17         PR lto/47333
18         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
19
20 2011-01-22  Jan Hubicka  <jh@suse.cz>
21
22         PR tree-optimization/43884
23         PR lto/44334
24         * predict.c (maybe_hot_frequency_p): Use entry block frequency as an base.
25         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
26
27 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
28
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.
33
34 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
35
36         PR middle-end/47401
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.
44
45 2011-01-21  Richard Henderson  <rth@redhat.com>
46
47         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
48
49         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
50
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.
63
64 2011-01-22  Nick Clifton  <nickc@redhat.com>
65
66         * config/rx/rx.md (cstoresf4): Pass comparison operator to
67         rx_split_fp_compare.
68
69 2011-01-22  Nick Clifton  <nickc@redhat.com>
70
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
74         -mmax-constant-size.
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
83         sibcall_internal.
84         (sibcall_value): Likewise.
85         (mov<>): FAIL if a constant operand is not legitimate.
86         (addsi3_unpsec): New pattern.
87
88         * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
89         CONSTs.
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
95         UNSPEC CONSTs.
96
97 2011-01-21  Jeff Law  <law@redhat.com>
98
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.
105
106 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
107
108         PR debug/47402
109         Temporarily revert:
110         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
111         PR debug/47106
112         * tree-dfa.c (create_var_ann): Mark variable as used.
113
114 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
115
116         PR middle-end/45566
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.
120
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.
128
129 2011-01-21  Jeff Law  <law@redhat.com>
130
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.
136
137 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
138
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.
142
143 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
144
145         PR debug/47106
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.
150
151 2011-01-21  Richard Guenther  <rguenther@suse.de>
152
153         PR middle-end/47395
154         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
155
156 2011-01-21  Richard Guenther  <rguenther@suse.de>
157
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
164         VN_WALKREWRITE mode.
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.
172
173 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
174
175         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
176         DECL_IGNORED_P non-reg vars if they are used.
177
178         PR tree-optimization/47391
179         * varpool.c (const_value_known_p): Return false if
180         decl is volatile.
181
182 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
183
184         PR bootstrap/47215
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.
188
189 2011-01-21  Alan Modra  <amodra@gmail.com>
190
191         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
192         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
193
194 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
195
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.
216
217 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
218
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.
225
226 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
227
228         PR debug/46583
229         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
230
231 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
232
233         PR debug/47283
234         * cfgexpand.c (expand_debug_expr): Instead of generating
235         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
236         etc. handling.
237
238 2011-01-20  Richard Guenther  <rguenther@suse.de>
239
240         PR middle-end/47370
241         * tree-inline.c (remap_gimple_op_r): Recurse manually for
242         the pointer operand of MEM_REFs.
243
244 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
245
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,
249         refuse to split.
250
251 2011-01-20  Richard Guenther  <rguenther@suse.de>
252
253         PR tree-optimization/47167
254         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
255         Revert previous change, only avoid enumeral type changes.
256
257 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
258
259         PR c++/47291
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.
265
266 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
267
268         PR debug/46240
269         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
270         debug bind stmt on merge edges.
271
272 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
273
274         PR debug/47079
275         PR debug/46724
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.
280
281 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
282
283         * c-parser.c (c_parser_for_statement): Initialize
284         collection_expression.
285
286 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
287
288         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
289
290 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
291
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.
295
296 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
297
298         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
299         (NO_SHARED_LIB_SUPPORT): Remove.
300         (LINK_SHLIB_SPEC): Remove one conditional definition.
301
302 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
303
304         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
305         %{call_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}
311         %{call_shared}.
312
313 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
314
315         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
316         simplify.
317
318         * ipa-split.c: Spelling fixes.
319
320 2011-01-19  Richard Henderson  <rth@redhat.com>
321
322         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
323         (*mulsi3): Likewise.
324
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.
330
331 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
332
333         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
334
335 2011-01-19  Richard Henderson  <rth@redhat.com>
336
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.
342
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.
350
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.
369
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
384         to the function.
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
392         when possible.
393         (*am33_andsi3, *mn10300_andsi3): Merge...
394         (andsi3): ... here.
395         (*andsi3_flags): New.
396         (andsi3 splitters): New.
397         (*am33_iorsi3, *mn10300_iorsi3): Merge...
398         (iorsi3): ... here.
399         (*iorsi3_flags): New.
400         (*am33_xorsi3, *mn10300_xorsi3): Merge...
401         (xorsi3): ... here.
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...
426         (ashlsi3): ... here.
427         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
428         (lshrsi3): ... here.
429         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
430         (ashrsi3): ... here.
431         (consecutive add peephole): Remove.
432         * config/mn10300/predicates.md (label_ref_operand): New.
433         (int_mode_flags): New.
434         (CCZN_comparison_operator): New.
435
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.
449         (ext_internal): New.
450
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.
464
465         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
466         POST_MODIFY.
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
475         SP_OR_GENERAL_REGS.
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.
492
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.
504
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
517         for MN103.
518         (udivsi3, umodsi3): New patterns for MN103 only.
519
520 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
521
522         * doc/tm.texi.in: Spell out that a lack of register class unions
523         can lead to ICEs.
524         * doc/tm.texi: Regenerate.
525
526 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
527
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.
531
532         PR tree-optimization/47290
533         * tree-eh.c (infinite_empty_loop_p): New function.
534         (cleanup_empty_eh): Use it.
535
536 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
537
538         PR target/46997
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.
553         (mix1_r): 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.
559
560 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
561
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
570         builtins.
571         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
572         * config/pa/quadlib.c (_U_Qfcopysign): New.
573
574 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
575
576         PR middle-end/46894
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
579         are defined.
580
581 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
582
583         PR tree-optimization/47179
584         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
585         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
586
587 2011-01-18  Richard Guenther  <rguenther@suse.de>
588
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.
594
595 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
596
597         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
598         include.
599         (cortex_a9_dp): Handle neon types correctly.
600
601 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
602
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
606         constants.
607         * expmed.c (expand_widening_mult): Don't try to optimize constant
608         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
609         before using it.
610
611 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
612
613         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
614         spacing after 'e.g.', typos, comma, hyphenation.
615
616 2011-01-17  Richard Henderson  <rth@redhat.com>
617
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.
628
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.
634
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.
644
645         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
646         (bswaphi2, bitinvert, revw): Likewise.
647
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.
659
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.
671
672         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
673
674         * config/rx/rx.c (rx_print_operand): Remove workaround for
675         unsplit comparison operations.
676
677         * config/rx/rx.md (movsicc): Split after reload.
678         (*movsicc): Merge *movsieq and *movsine via match_operator.
679         (*stcc): New pattern.
680
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.
685
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.
714
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.
718
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.
723
724 2011-01-17  Richard Henderson  <rth@redhat.com>
725
726         * except.c (dump_eh_tree): Fix stray ; after for statement.
727
728 2011-01-17  Richard Guenther  <rguenther@suse.de>
729
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.
734
735 2011-01-17  Ian Lance Taylor  <iant@google.com>
736
737         PR target/47219
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
743         set_mem_alias_set.
744         (sparc_struct_value_rtx): Likewise.
745
746 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
747
748         PR target/47318
749         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
750         __m128i.
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.
758
759         * config/i386/i386-builtin-types.def: Updated.
760         (ix86_expand_special_args_builtin): Likewise.
761
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.
767
768         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
769         Use <avxpermvecmode> on mask register.
770         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
771
772 2011-01-17  Olivier Hainque  <hainque@adacore.com>
773             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
774             Eric Botcazou  <ebotcazou@adacore.com>
775
776         PR target/46655
777         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
778         if <= USHRT_MAX in 32-bit mode.
779
780 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
781
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.
785
786 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
787
788         * config/mips/mips.c (mips_classify_symbol): Don't return
789         SYMBOL_PC_RELATIVE for nonlocal labels.
790
791 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
792
793         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
794
795 2011-01-15  Jan Hubicka  <jh@suse.cz>
796
797         PR tree-optimization/47276
798         * ipa.c (function_and_variable_visibility): Do not try to mark alias
799         declarations as needed.
800
801 2011-01-15  Martin Jambor  <mjambor@suse.cz>
802
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.
811
812 2011-01-14  Martin Jambor  <mjambor@suse.cz>
813
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.
827
828 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
829
830         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
831         * config/i386/i386.opt (msse5): New Alias.
832
833 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
834
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.
839
840 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
841
842         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
843         -mcpu options.
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):
848         Likewise.
849         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
850
851 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
852
853         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
854         -fvec-eabi.
855
856 2011-01-14  Mike Stump  <mikestump@comcast.net>
857
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.
865
866 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
867
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.
876
877 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
878
879         * config/microblaze/microblaze.h (ASM_SPEC): Remove
880         %{microblaze1}.
881
882 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
883
884         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
885         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
886
887 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
888
889         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
890         -nodefaultlib.
891
892 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
893
894         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
895         for mcpu not cpu.
896         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
897         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
898         not cpu.
899         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
900         Don't handle -shlib.
901
902 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
903
904         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
905         (CC1_SPEC): Don't handle -profile.
906
907 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
908
909         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
910         * config/mips/mips.h (CC1_SPEC): Likewise.
911
912 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
913
914         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
915         * config/mips/mips.h (CC1_SPEC): Likewise.
916
917 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
918
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.
927
928 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
929
930         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
931         %{version:-v}.
932         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
933
934 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
935
936         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
937         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
938
939 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
940
941         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
942
943 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
944
945         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
946         supports -Bstatic/-Bdynamic.
947         * configure: Regenerate.
948
949 2011-01-14  Jan Hubicka  <jh@suse.cz>
950         Jack Howarth <howarth@bromo.med.uc.edu>
951
952         PR target/46037
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.
956
957 2011-01-14  Richard Guenther  <rguenther@suse.de>
958
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.
971
972 2011-01-14  Richard Guenther  <rguenther@suse.de>
973
974         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
975
976 2011-01-14  Richard Guenther  <rguenther@suse.de>
977
978         PR tree-optimization/47280
979         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
980         return CFG changes.
981         (tree_ssa_forward_propagate_single_use_vars): Deal with
982         CFG changes from associate_plusminus.
983
984 2011-01-14  Richard Guenther  <rguenther@suse.de>
985
986         PR middle-end/47281
987         Revert
988         2011-01-11  Richard Guenther  <rguenther@suse.de>
989
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.
993
994 2011-01-14  Richard Guenther  <rguenther@suse.de>
995
996         PR tree-optimization/47286
997         * tree-ssa-structalias.c (new_var_info): Register variables are global.
998
999 2011-01-14  Martin Jambor  <mjambor@suse.cz>
1000
1001         PR middle-end/46823
1002         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1003
1004 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
1005
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.
1011
1012 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
1013
1014         PR c++/47213
1015         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1016         PE specific hook.
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.
1021
1022 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
1023
1024         PR target/47251
1025         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1026         floating point.
1027         (floatunsdidf2_fcfidu): Ditto.
1028
1029 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1030
1031         * config/s390/s390.c (print_operand_address): Replace 'error' with
1032         'output_operand_lossage'.
1033         (print_operand): Likewise.
1034
1035 2011-01-13  Jeff Law  <law@redhat.com>
1036
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.
1044
1045 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
1046
1047         PR debug/PR46973
1048         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1049         static function.
1050         (prune_unused_types_mark): Use it.
1051
1052 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
1053
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. 
1058
1059 2011-01-12  Richard Henderson  <rth@redhat.com>
1060
1061         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1062         (TARGET_MD_ASM_CLOBBERS): New.
1063
1064         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1065         (TARGET_DELEGITIMIZE_ADDRESS): New.
1066
1067         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1068         (clzsi2, *bsch): New patterns.
1069
1070         * config/mn10300/mn10300.md (INT): New mode iterator.
1071         (*mov<INT>_clr): New pattern, and peep2 to generate it.
1072
1073         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1074         flag_split_wide_types.
1075
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.
1080
1081 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
1082
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.
1087
1088 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
1089
1090         PR debug/47209
1091         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1092         of type.
1093
1094 2011-01-12  Jan Hubicka  <jh@suse.cz>
1095
1096         PR driver/47244
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.
1100
1101 2011-01-12  Richard Guenther  <rguenther@suse.de>
1102
1103         PR lto/47259
1104         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1105         register variables in a MEM_REF.
1106
1107 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
1108
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.
1146
1147 2011-01-12  Richard Guenther  <rguenther@suse.de>
1148
1149         PR other/46946
1150         * doc/invoke.texi (ffast-math): Document it is turned on
1151         with -Ofast.
1152
1153 2011-01-12  Jan Hubicka  <jh@suse.cz>
1154
1155         PR tree-optimization/47233
1156         * opts.c (common_handle_option): Disable ipa-reference with profile
1157         feedback.
1158
1159 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>      
1160
1161         * c-parser.c (c_parser_objc_at_property_declaration): Improved
1162         error message.
1163
1164 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1165
1166         * c-parser.c (c_lex_one_token): Updated and reindented some
1167         comments.  No changes in code.
1168
1169 2011-01-11  Ian Lance Taylor  <iant@google.com>
1170
1171         * godump.c (go_output_var): Don't output the variable if there is
1172         already a type with the same name.
1173
1174 2011-01-11  Ian Lance Taylor  <iant@google.com>
1175
1176         * godump.c (go_format_type): Don't generate float80.
1177
1178 2011-01-11  Richard Henderson  <rth@redhat.com>
1179
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.
1193
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.
1203
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.
1208
1209         * config/mn10300/mn10300.md (isa): New attribute.
1210         (enabled): New attribute.
1211
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.
1216
1217         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1218         (DEBUGGER_AUTO_OFFSET): Remove.
1219         (DEBUGGER_ARG_OFFSET): Remove.
1220
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.
1226
1227         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1228
1229         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1230         in terms of the value on the stack, not the MDR register.
1231
1232 2011-01-11  Jan Hubicka  <jh@suse.cz>
1233
1234         PR lto/45721
1235         PR lto/45375
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
1245         as needed in lto.
1246         * varasm.c (symbol_alias_set_t): Remove.
1247         (symbol_alias_set_destroy): Export.
1248         (propagate_aliases_forward, propagate_aliases_backward): New functions
1249         based on ...
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
1256         in LTO mode.
1257
1258 2011-01-11  Richard Guenther  <rguenther@suse.de>
1259
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.
1263
1264 2011-01-11  Richard Guenther  <rguenther@suse.de>
1265
1266         PR middle-end/45235
1267         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
1268         volatile MEMs as MEM_READONLY_P.
1269
1270 2011-01-11  Richard Guenther  <rguenther@suse.de>
1271
1272         PR tree-optimization/47239
1273         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
1274
1275 2011-01-11  Jeff Law  <law@redhat.com>
1276
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.
1280
1281 2011-01-10  Jan Hubicka  <jh@suse.cz>
1282
1283         PR lto/45375
1284         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
1285
1286 2011-01-10  Jan Hubicka  <jh@suse.cz>
1287
1288         PR lto/45375
1289         * profile.c (read_profile_edge_counts): Ignore profile inconistency
1290         when correcting profile.
1291
1292 2011-01-10  Jan Hubicka  <jh@suse.cz>
1293
1294         PR lto/46083
1295         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
1296         DECL_FINI_PRIORITY.
1297         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
1298         Restore DECL_FINI_PRIORITY.
1299
1300 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1301
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.
1309
1310 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1311
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.
1316
1317 2011-01-10  Jeff Law  <law@redhat.com>
1318
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.
1322
1323 2011-01-10  Jan Hubicka  <jh@suse.cz>
1324
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
1329         tree-profile.
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.
1335
1336 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1337
1338         PR lto/46760
1339         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
1340         calling gimple_call_set_cannot_inline.
1341
1342 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
1343
1344         * config/darwin-sections.def: Remove unused section.
1345
1346 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
1347
1348         PR c++/47218
1349         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
1350
1351 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
1352
1353         PR objc/47232
1354         * c-parser.c (c_parser_declaration_or_fndef): Improved
1355         error message.
1356
1357 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
1358
1359         * config/i386/winnt.c (i386_pe_start_function): Make sure
1360         to switch back to function's section.
1361
1362 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
1363
1364         PR gcc/46902
1365         PR testsuite/46912
1366         * plugin.c: Move include of dlfcn.h from here...
1367         * system.h: ... to here.
1368
1369 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1370
1371         * doc/cpp.texi (C++ Named Operators): Fix markup for header
1372         file name.
1373         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
1374         two extra empty pages in PDF output.
1375
1376 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
1377
1378         PR objc/47078
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.
1382
1383 2011-01-07  Jan Hubicka  <jh@suse.cz>
1384
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.
1388
1389 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
1390
1391         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
1392         not false.
1393
1394 2011-01-07  Jan Hubicka  <jh@suse.cz>
1395
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
1404         HAVE_LTO_PLUGIN.
1405
1406 2011-01-07  Jan Hubicka  <jh@suse.cz>
1407
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.
1413
1414 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1415
1416         * config/spu/spu.h (ASM_COMMENT_START): Define.
1417
1418 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
1419
1420         PR driver/42445
1421         * gcc.c (%>S): New.
1422         (SWITCH_KEEP_FOR_GCC): Likewise.
1423         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
1424         (do_spec_1): Handle "%>".
1425
1426         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
1427
1428 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
1429
1430         PR target/47201
1431         * config/i386/i386.c (ix86_delegitimize_address): If
1432         simplify_gen_subreg fails, return orig_x.
1433
1434         PR bootstrap/47187
1435         * value-prof.c (gimple_stringop_fixed_value): Handle
1436         lhs of the call properly.
1437
1438 2011-01-07  Jan Hubicka  <jh@suse.cz>
1439
1440         PR lto/45375
1441         * lto-opt.c (lto_reissue_options): Set flag_shlib.
1442
1443 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
1444
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):
1453         Likewise.
1454         * config/darwin.c (darwin_function_switched_text_sections): New.
1455         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
1456
1457 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
1458
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.
1462
1463 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
1464
1465         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1466         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
1467         Remove.
1468         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
1469         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1470
1471 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1472
1473         PR debug/46704
1474         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
1475         when it is not empty.
1476
1477 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
1478
1479         Bobcat Enablement
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
1487         btver1 cost table.
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.
1501
1502 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1503
1504         PR target/43309
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.
1509
1510 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
1511
1512         * doc/invoke.texi (Overall Options): Improve wording and markup
1513         of the description of -wrapper.
1514
1515 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
1516
1517         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
1518         rdynamic, threads): New Driver options.
1519
1520 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1521
1522         PR target/38118
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.
1526
1527 2011-01-06  Jan Hubicka  <jh@suse.cz>
1528
1529         PR lto/47188
1530         * collect2.c (main): Do not enable LTOmode when plugin is active.
1531
1532 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1533
1534         PR other/45915
1535         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
1536         --version output if supported.
1537         * configure: Regenerate.
1538
1539 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
1540
1541         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
1542         Driver options.
1543
1544 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
1545
1546         PR c/47150
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.
1552
1553 2011-01-06  Ira Rosen  <irar@il.ibm.com>
1554
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
1558         documentation.
1559
1560 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
1561
1562         * config/rtems.opt: New.
1563         * config.gcc (*-*-rtems*): Use rtems.opt.
1564
1565 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
1566
1567         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
1568         processors do not support 3DNow instructions.
1569
1570 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1571
1572         * config/spu/spu.c (spu_option_override): Set parameter
1573         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
1574
1575 2011-01-05  Jan Hubicka  <jh@suse.cz>
1576
1577         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
1578         at the command line.
1579
1580 2011-01-05  Martin Jambor  <mjambor@suse.cz>
1581
1582         PR lto/47162
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
1589         callee too.
1590
1591 2011-01-05  Tom Tromey  <tromey@redhat.com>
1592
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.
1599
1600 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1601
1602         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
1603         newly inserted insns.
1604         (pad_bb): Likewise.
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.
1609
1610 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1611
1612         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
1613
1614 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
1615
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.
1621
1622 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1623
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.
1628
1629 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1630
1631         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
1632         initializer.  Skip view conversions from aggregate types.
1633
1634 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
1635
1636         PR bootstrap/47055
1637         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
1638
1639 2011-01-04  Philipp Thomas <pth@suse.de>
1640
1641         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
1642         obvious typo.
1643
1644 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1645
1646         * function.c (thread_prologue_and_epilogue_insns): Do not crash
1647         on empty epilogue sequences.
1648
1649 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
1650
1651         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
1652         non-static): New Driver options.
1653
1654 2011-01-04  Jie Zhang  <jie@codesourcery.com>
1655
1656         PR driver/47137
1657         * gcc.c (default_compilers[]): Set combinable field to 0
1658         for all assembly languages.
1659
1660 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
1661
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
1665         TUNE_LOONGSON_3A.
1666
1667 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
1668
1669         PR middle-end/47017
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.
1672
1673 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1674
1675         * config/spu/spu.c (spu_option_override): Update error text
1676         for bad -march= / -mtune= values.
1677
1678 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1679
1680         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
1681         if branch-hint optimization will be performed.
1682
1683 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1684
1685         PR tree-optimization/47148
1686         * ipa-split.c (split_function): Convert arguments to
1687         DECL_ARG_TYPE if possible.
1688
1689         PR tree-optimization/47155
1690         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
1691         when computing uns.
1692
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.
1697
1698 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
1699
1700         PR tree-optimization/47021
1701         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
1702
1703 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
1704
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.
1710
1711 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1712
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.
1716
1717 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
1718
1719         PR driver/47137
1720         * gcc.c (main): Revert revision 168407.
1721
1722 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1723
1724         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
1725
1726 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1727
1728         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
1729         vector optab to expand vector/scalar shift, update gimple to vector.
1730
1731 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1732
1733         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
1734         a thunk.
1735
1736 2011-01-03  Martin Jambor  <mjambor@suse.cz>
1737
1738         PR tree-optimization/46984
1739         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
1740         HOST_WIDE_INT.
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
1747         callees.
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
1751         HOST_WIDE_INT.
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.
1758
1759 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
1760
1761         PR driver/47137
1762         * gcc.c (main): Don't check have_o when settting combine_inputs.
1763
1764 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
1765
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.
1774
1775 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
1776
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
1780         to bit_value_binop.
1781
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.
1785
1786 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
1787
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".
1791
1792 2011-01-01  Jan Hubicka  <jh@suse.cz>
1793
1794         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
1795         memory.
1796
1797 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
1798
1799         PR target/38662
1800         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
1801
1802 \f
1803 Copyright (C) 2011 Free Software Foundation, Inc.
1804
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.