OSDN Git Service

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