OSDN Git Service

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