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