OSDN Git Service

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