OSDN Git Service

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