OSDN Git Service

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