OSDN Git Service

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