* config/xtensa/elf.opt: New.
[official-gcc.git] / gcc / ChangeLog
blobbf6ea45302a31a1cb9019bf8dc20e08503522118
1 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3         * config/xtensa/elf.opt: New.
4         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
6 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
8         * config/vax/elf.opt: New.
9         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
11 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
13         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
15 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
17         * config/gnu-user.opt: New.
18         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
19         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
20         *-*-uclinux*): Use gnu-user.opt.
22 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
24         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
25         * config/i386/gnu.h (CPP_SPEC): Likewise.
27 2011-02-08  Ian Lance Taylor  <iant@google.com>
29         * common.opt (fcx-limited-range): Add SetByCombined flag.
30         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
31         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
32         (fassociative-math, freciprocal-math): Likewise.
33         (funsafe-math-optimizations): Likewise.
34         * opth-gen.awk: Handle SetByCombined.
35         * optc-gen.awk: Likewise.
36         * opts.c (set_fast_math_flags): Don't override flag if set by
37         frontend.
38         (set_unsafe_math_optimizations_flags): Likewise.
39         * doc/options.texi (Option properties): Document SetByCombined.
41 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
43         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
44         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
45         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
46         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
47         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
49 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
51         PR tree-optimization/46834
52         PR tree-optimization/46994
53         PR tree-optimization/46995
54         * graphite-sese-to-poly.c (used_outside_reduction): New.
55         (detect_commutative_reduction): Call used_outside_reduction.
56         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
57         translate_scalar_reduction_to_array only when at least one
58         loop-phi/close-phi tuple has been detected.
60 2011-02-08  Richard Guenther  <rguenther@suse.de>
62         PR middle-end/47639
63         * tree-vect-generic.c (expand_vector_operations_1): Update
64         stmts here ...
65         (expand_vector_operations): ... not here.  Cleanup EH info
66         and the CFG if required.
68 2011-02-08  Richard Guenther  <rguenther@suse.de>
70         PR tree-optimization/47641
71         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
72         require type compatibility.
74 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
76         * gimple-low.c (lower_function_body): Don't remove the location of
77         the return statement here.
78         (lower_gimple_return): Do it here instead but only if the return
79         statement is actually used twice.
81 2011-02-08  Richard Guenther  <rguenther@suse.de>
83         PR tree-optimization/47632
84         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
85         unused up_to_stmt parameter, return whether cfg-cleanup is
86         necessary, remove EH info properly.
87         (forward_propagate_into_gimple_cond): Adjust caller.
88         (forward_propagate_into_cond): Likewise.
89         (forward_propagate_comparison): Likewise.
90         (tree_ssa_forward_propagate_single_use_vars): Make
91         forward_propagate_comparison case similar to the two others.
93 2011-02-08  Nick Clifton  <nickc@redhat.com>
95         * config/mn10300/mn10300.opt (mliw): New command line option.
96         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
97         (liw_bundling): New automaton.
98         (liw): New attribute.
99         (liw_op): New attribute.
100         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
101         (movsi_internal): Add LIW attributes.
102         (andsi3): Likewise.
103         (iorsi3): Likewise.
104         (xorsi3): Likewise.
105         (addsi3): Separate register and immediate alternatives.
106         Add LIW attributes.
107         (subsi3): Likewise.
108         (cmpsi): Likewise.
109         (aslsi3): Likewise.
110         (lshrsi3): Likewise.
111         (ashrsi3): Likewise.
112         (liw): New pattern.
113         * config/mn10300/mn10300.c (liw_op_names): New
114         (mn10300_print_operand): Handle 'W' operand descriptor.
115         (extract_bundle): New function.
116         (check_liw_constraints): New function.
117         (liw_candidate): New function.
118         (mn10300_bundle_liw): New function.
119         (mn10300_reorg): New function.
120         (TARGET_MACHINE_DEPENDENT_REORG): Define.
121         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
122         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
123         __LIW__ or __NO_LIW__.
124         * doc/invoke.texi: Describe the -mliw command line option.
126 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
128         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
129         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
130         pthread_mutex_unlock): Remove.
131         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
132         * config/pa/t-pa64: Likewise.
133         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
134         shared libc if not linking against libpthread.
135         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
137 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
139         PR target/47558
140         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
141         on 10.6 and later to ensure that we always use the unwinder from
142         the system.  Only add -no_compact_unwind when tarteting darwin
143         10.6 or later.
145 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
147         PR target/46997
148         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
149         (vec_interleave_lowv2sf): Ditto.
150         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
151         (vec_extract_oddv2sf): Ditto.
153 2011-02-07  Mike Stump  <mikestump@comcast.net>
155         PR target/42333
156         Add __ieee_divdc3 entry point.
157         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
158         entry point.
159         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
160         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
161         * config/darwin.c (darwin_rename_builtins): Add.
162         * config/darwin-protos.h (darwin_rename_builtins): Add.
164 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
166         PR target/47636
167         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
168         for the condition.
170 2011-02-07  Mike Stump  <mikestump@comcast.net>
172         * config/darwin.opt (mmacosx-version-min): Update default OS
173         version.
175 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
177         PR target/47534
178         * config/avr/libgcc.S (exit): Move .endfunc
180 2011-02-07  Richard Guenther  <rguenther@suse.de>
182         PR tree-optimization/47615
183         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
184         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
185         (run_scc_vn): Initialize it.
186         (visit_reference_op_load): Use it.
187         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
189 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
191         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
192         DImode trapping arithmetic libfuncs.
194 2011-02-07  Richard Guenther  <rguenther@suse.de>
196         PR tree-optimization/47621
197         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
198         two duplicates ...
199         (execute_update_addresses_taken): ... here.  Make it more
200         conservative in what we accept.
202 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
204         * config/sparc/freebsd.h (ASM_SPEC): Define.
205         * config/sparc/vxworks.h (ASM_SPEC): Define.
207 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
209         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
211 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
213         * doc/invoke.texi: Remove reference to compiler internals from
214         user documentation.
216         * reg-notes.def: Remove REG_VALUE_PROFILE.
217         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
219 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
221         PR middle-end/47610
222         * varasm.c (default_section_type_flags): If decl is NULL,
223         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
225 2011-02-05  Jie Zhang  <jie@codesourcery.com>
227         PR debug/42631
228         * web.c (entry_register): Don't clobber the number of the
229         first uninitialized reference in used[].
231 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
233         PR tree-optimization/46194
234         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
235         (build_classic_dist_vector_1): Do not represent classic distance
236         vectors when the access functions are variating in different loops.
238 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
240         * config/mips/iris6.opt: New.
241         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
243 2011-02-04  Richard Henderson  <rth@redhat.com>
244             Steve Ellcey  <sje@cup.hp.com>
246         PR target/46997
247         * config/ia64/predicates.md (mux1_brcst_element): New.
248         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
249         * config/ia64/ia64.c (ia64_unpack_assemble): New.
250         (ia64_unpack_sign): New.
251         (ia64_expand_unpack): Rewrite using new routines.
252         (ia64_expand_widen_sum): Ditto.
253         (ia64_expand_dot_prod_v8qi): Ditto.
254         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
255         routines, add endian check.
256         (pmpy2_even): Rename from pmpy2_r, add endian check.
257         (pmpy2_odd): Rename from pmpy2_l, add endian check.
258         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
259         (vec_widen_smult_hi_v4hi): Ditto.
260         (vec_widen_umult_lo_v4hi): Ditto.
261         (vec_widen_umult_hi_v4hi): Ditto.
262         (mulv2si3): Change endian checks.
263         (sdot_prodv4hi): Rewrite with new calls.
264         (udot_prodv4hi): New.
265         (vec_pack_ssat_v4hi): Add endian check.
266         (vec_pack_usat_v4hi): Ditto.
267         (vec_pack_ssat_v2si): Ditto.
268         (max1_even): Rename from max1_r, add endian check.
269         (max1_odd): Rename from max1_l, add endian check.
270         (*mux1_rev): Format change.
271         (*mux1_mix): Ditto.
272         (*mux1_shuf): Ditto.
273         (*mux1_alt): Ditto.
274         (*mux1_brcst_v8qi): Use new predicate.
275         (vec_extract_evenv8qi): Remove endian check.
276         (vec_extract_oddv8qi): Ditto.
277         (vec_interleave_lowv4hi): Format change.
278         (vec_interleave_highv4hi): Ditto.
279         (mix2_even): Rename from mix2_r, add endian check.
280         (mix2_odd): Rename from mux2_l, add endian check.
281         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
282         (vec_extract_evenodd_helper): Format change.
283         (vec_extract_evenv4hi): Remove endian check.
284         (vec_extract_oddv4hi): Remove endian check.
285         (vec_interleave_lowv2si): Format change.
286         (vec_interleave_highv2si): Format change.
287         (vec_initv2si): Remove endian check.
288         (vecinit_v2si): Add endian check.
289         (reduc_splus_v2sf): Add endian check.
290         (reduc_smax_v2sf): Ditto.
291         (reduc_smin_v2sf): Ditto.
292         (vec_initv2sf): Remove endian check.
293         (fpack): Add endian check.
294         (fswap): Add endian check.
295         (vec_interleave_highv2sf): Add endian check.
296         (vec_interleave_lowv2sf): Add endian check.
297         (fmix_lr): Add endian check.
298         (vec_setv2sf): Format change.
299         (*vec_extractv2sf_0_be): Use shift to extract operand.
300         (*vec_extractv2sf_1_be): New.
301         (vec_pack_trunc_v4hi): Add endian check.
302         (vec_pack_trunc_v2si): Format change.
304 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
306         PR inline-asm/23200
307         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
308         do bb, locus and block comparison and disallow loads if it is not set.
309         (stmt_is_replaceable_p): New function.
310         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
311         callers.
312         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
313         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
314         SSA_NAME_DEF_STMT.
315         * tree-flow.h (stmt_is_replaceable_p): New prototype.
317 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
319         * config/rs6000/xilinx.opt: New.
320         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
322 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
324         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
326 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
328         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
329         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
330         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
331         secondary_reload_info, xtensa_secondary_reload): Remove.
332         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
333         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
334         (xtensa_preferred_reload_class): Make static. Change return and
335         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
336         Use CONST_DOUBLE_P predicate.
337         (xtensa_preferred_output_reload_class): New function.
338         (xtensa_secondary_reload): Make static.
340 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
342         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
343         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
344         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
346 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
348         PR middle-end/31490
349         * output.h (SECTION_RELRO): Define.
350         (SECTION_MACH_DEP): Adjust.
351         (get_variable_section): New prototype.
352         * varpool.c (varpool_finalize_named_section_flags): New function.
353         (varpool_assemble_pending_decls): Call it.
354         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
355         * cgraphunit.c (cgraph_output_in_order): Call
356         varpool_finalize_named_section_flags.
357         * varasm.c (get_section): Allow section flags conflicts between
358         relro and read-only sections if the section hasn't been declared yet.
359         Set SECTION_OVERRIDE after diagnosing section type conflict.
360         (get_variable_section): No longer static.
361         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
362         readonly sections that need relocations.
363         (decl_readonly_section_1): New function.
364         (decl_readonly_section): Use it.
366         Revert:
367         2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
368                     Steve Ellcey  <sje@cup.hp.com>
370         PR middle-end/31490
371         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
372         if section attribute used.
374 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
376         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
377         * config/darwin.c (SECTION_NO_ANCHOR): Define.
378         (darwin_init_sections): Remove assertion.
380 2011-02-03  Nick Clifton  <nickc@redhat.com>
382         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
383         lt and ge.
384         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
385         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
386         instead of "n" and "pz".
387         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
388         CC_FLAG_S.
390 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
392         PR target/47312
393         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
394         fma, expand FMA_EXPR as fma{,f,l} call.
396         PR lto/47274
397         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
398         copy them into a unsigned char variable and pass address of it to
399         lto_output_data_stream.
401         PR target/47564
402         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
403         around backend_init_target and lang_dependent_init_target calls.
404         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
405         (verify_cgraph_node): Don't call set_cfun here.  Use
406         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
407         Set error_found for incorrectly represented calls to thunks.
409 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
411         PR debug/43092
412         PR rtl-optimization/43494
413         * rtl.h (for_each_inc_dec_fn): New type.
414         (for_each_inc_dec): Declare.
415         * rtlanal.c (struct for_each_inc_dec_ops): New type.
416         (for_each_inc_dec_find_inc_dec): New fn.
417         (for_each_inc_dec_find_mem): New fn.
418         (for_each_inc_dec): New fn.
419         * dse.c (struct insn_size): Remove.
420         (replace_inc_dec, replace_inc_dec_mem): Remove.
421         (emit_inc_dec_insn_before): New fn.
422         (check_for_inc_dec): Use it, along with for_each_inc_dec.
423         (canon_address): Pass mem modes to cselib_lookup.
424         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
425         (cselib_lookup_from_insn): Likewise.
426         (cselib_subst_to_values): Likewise.
427         * cselib.c (find_slot_memmode): New var.
428         (cselib_find_slot): New fn.  Use it instead of
429         htab_find_slot_with_hash everywhere.
430         (entry_and_rtx_equal_p): Use find_slot_memmode.
431         (autoinc_split): New fn.
432         (rtx_equal_for_cselib_p): Rename and implement in terms of...
433         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
434         Deal with autoinc.  Special-case recursion into MEMs.
435         (cselib_hash_rtx): Likewise.
436         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
437         address and MEM modes.
438         (cselib_subst_to_values): Add memmode, pass it on.
439         Deal with autoinc.
440         (cselib_lookup): Add memmode argument, pass it on.
441         (cselib_lookup_from_insn): Add memmode.
442         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
443         (struct cselib_record_autoinc_data): New.
444         (cselib_record_autoinc_cb): New fn.
445         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
446         mode to cselib_lookup.  Reset autoinced REGs here instead of...
447         (cselib_process_insn): ... here.
448         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
449         to cselib_lookup.
450         (add_uses): Likewise, also to cselib_subst_to_values.
451         (add_stores): Likewise.
452         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
453         cselib_subst_to_values.
454         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
455         * gcse.c (do_local_cprop): Adjusted.
456         * postreload.c (reload_cse_simplify_set): Adjusted.
457         (reload_cse_simplify_operands): Adjusted.
458         * sel-sched-dump (debug_mem_addr_value): Pass mode.
460 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
462         PR tree-optimization/45122
463         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
464         unsafe assumptions when there's more than one loop exit.
466 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
468         PR target/47272
469         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
470         Document using vector double with the load/store builtins, and
471         that the load/store builtins always use Altivec instructions.
473         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
474         to use altivec memory instructions, even on VSX.
475         (vector_altivec_store_<mode>): Ditto.
477         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
478         function.
480         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
481         V2DF, V2DI support to load/store overloaded builtins.
483         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
484         altivec load/store builtins for V2DF/V2DI types.
486         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
487         set avoid indexed addresses on power6 if -maltivec.
488         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
489         vector_altivec_load/vector_altivec_store builtins.
490         (altivec_expand_st_builtin): Ditto.
491         (altivec_expand_builtin): Add VSX memory builtins.
492         (rs6000_init_builtins): Add V2DI types to internal types.
493         (altivec_init_builtins): Add support for V2DF/V2DI altivec
494         load/store builtins.
495         (rs6000_address_for_altivec): Insure memory address is appropriate
496         for Altivec.
498         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
499         vec_vsx_ld and vec_vsx_st.
500         (vsx_store_<mode>): Ditto.
502         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
503         variables to hold long long types for VSX vector memory builtins.
504         (RS6000_BTI_unsigned_long_long): Ditto.
505         (long_long_integer_type_internal_node): Ditti.
506         (long_long_unsigned_type_internal_node): Ditti.
508         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
509         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
510         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
512         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
513         short cuts.
514         (vec_vsx_st): Ditto.
516 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
518         * config/pa/pa-hpux10.opt: New.
519         * config/hpux11.opt (pthread): New Driver option.
520         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
521         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
523 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
525         * config/ia64/vms.opt: New.
526         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
528 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
530         PR target/47580
531         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
532         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
533         generator functions.
534         (vsx_floatuns<VSi><mode>2): Ditto.
535         (vsx_fix_trunc<mode><VSi>2): Ditto.
536         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
538 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
540         * config/i386/djgpp.opt (posix): New Driver option.
542 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
544         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
545         Move to the unsupported targets list.
547 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
549         PR rtl-optimization/47525
550         * df-scan.c: Update copyright years.
551         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
552         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
554 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
556         * config/i386/sysv4.h (TARGET_VERSION): Remove.
557         (SUBTARGET_RETURN_IN_MEMORY): Remove.
558         (ASM_OUTPUT_ASCII): Remove.
559         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
561 2011-02-02  Jeff Law  <law@redhat.com>
563         PR middle-end/47543
564         * reload.c (find_reloads_address): Handle reg+d address where both
565         components are invalid by reloading the entire address.
567 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
568             Richard Guenther  <rguenther@suse.de>
570         PR tree-optimization/40979
571         PR bootstrap/47044
572         * passes.c (init_optimization_passes): After LIM call copy_prop
573         and DCE to clean up.
574         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
576 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
578         PR tree-optimization/47576
579         PR tree-optimization/47555
580         * doc/invoke.texi (scev-max-expr-complexity): Documented.
581         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
582         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
583         * tree-scalar-evolution.c (follow_ssa_edge): Use
584         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
586 2011-02-02  Richard Guenther  <rguenther@suse.de>
588         PR tree-optimization/47566
589         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
591 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
593         PR debug/47106
594         PR debug/47402
595         * tree-inline.c (declare_return_variable): Remove unused caller
596         variable.
598         PR debug/47106
599         PR debug/47402
600         * tree-flow-inline.h (clear_is_used, is_used_p): New.
601         * cfgexpand.c (account_used_vars_for_block): Use them.
602         * tree-nrv.c (tree_nrv): Likewise.
603         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
604         (dump_scope_block): Likewise.
605         (remove_unused_locals): Likewise.
607         PR debug/47106
608         PR debug/47402
609         * tree-inline.c (declare_return_variable): Add result decl to
610         local decls only once.
611         * gimple-low.c (record_vars_into): Mark newly-created variables
612         as referenced.
614 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
616         PR debug/47498
617         PR debug/47501
618         PR debug/45136
619         PR debug/45130
620         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
621         debug insns.
622         (no_real_insns_p, schedule_block, set_priorities): Drop special
623         treatment of boundary debug insns.
624         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
625         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
626         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
627         (BOUNDARY_DEBUG_INSN_P): Likewise.
628         (SCHEDULE_DEBUG_INSN_P): Likewise.
629         * sched-rgn.c (init_ready_list): Drop special treatment of
630         boundary debug insns.
631         * final.c (rest_of_clean_state): Clear notes' BB.
633 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
635         * config/openbsd.opt (assert=): New Driver option.
637 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
639         * config/i386/nto.opt: New.
640         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
642 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
644         * config/i386/netware.opt: New.
645         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
647 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
649         * config/interix.opt (posix): New Driver option.
651 2011-02-01  DJ Delorie  <dj@redhat.com>
653         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
655         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
656         class for A0/A1.
658 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
660         PR tree-optimization/47561
661         * toplev.c (process_options): Print the Graphite flags.  Add
662         flag_loop_flatten to the list of options requiring Graphite.
664 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
666         * config/i386/cygming.opt (posix): New Driver option.
668 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
670         * config/arm/vxworks.opt: New.
671         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
673 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
675         * config/alpha/elf.opt: New.
676         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
677         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
679 2011-02-01  Richard Guenther  <rguenther@suse.de>
681         PR tree-optimization/47559
682         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
683         store-motion on references that can throw.
685 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
687         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
688         * tree-pass.h (TDF_CSELIB): New macro.
689         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
690         cselib_lookup): Check for it rather than for TDF_DETAILS.
692 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
694         PR driver/47547
695         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
696         is HOST_BIT_BUCKET.
698         * opts.c (finish_options): Don't add x_aux_base_name if it is
699         HOST_BIT_BUCKET.
701 2011-02-01  Richard Guenther  <rguenther@suse.de>
703         PR tree-optimization/47555
704         Revert
705         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
707         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
709 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
711         PR gcc/46692
712         * config/lm32/t-lm32: Add multilib for all CPU options.
714 2011-02-01  Richard Guenther  <rguenther@suse.de>
716         PR tree-optimization/47541
717         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
718         sure to have a field at offset zero.
720 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
722         * config/arc/arc.opt (EB, EL): New Driver options.
724 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
726         * config/alpha/osf5.opt: New.
727         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
729 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
731         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
733 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
735         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
736         -floop-interchange.
737         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
738         is an alias of -floop-interchange and that it requires the
739         Graphite infrastructure.
740         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
741         flag_loop_interchange based on the value of flag_tree_loop_linear.
743 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
744             Richard Guenther  <rguenther@suse.de>
746         PR tree-optimization/47538
747         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
748         type instead of r1type, except for comparisons.  For right
749         shifts and comparisons punt if there are mismatches in
750         sizetype vs. non-sizetype types.
752 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
754         * doc/sourcebuild.texi (Effective-Target Keywords): Document
755         avx_runtime.
757 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
759         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
760         version number.
761         * configure: Regenerate.
763 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
765         * configure.ac (gcc_cv_ld_static_option): Define.
766         (gcc_cv_ld_dynamic_option): Define.
767         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
768         instead.
769         (HAVE_LD_STATIC_DYNAMIC): Update message.
770         (LD_STATIC_OPTION): Define.
771         (LD_DYNAMIC_OPTION): Define.
772         * configure: Regenerate.
773         * config.in: Regenerate.
774         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
775         HAVE_LD_STATIC_DYNAMIC]: Use them.
777 2011-01-31  Nick Clifton  <nickc@redhat.com>
779         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
780         registers inside interrupt handlers if the handler is not a leaf
781         function.
783 2011-01-31  Nick Clifton  <nickc@redhat.com>
785         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
786         reg_renumber returning an INVALID_REGNUM.
788 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
790         PR libgcj/44341
791         * doc/install.texi: Document host options discarded when cross
792         configuring target libraries.
794 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
796         Reverted:
797         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
798         PR debug/45136
799         PR debug/45130
800         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
801         debug insns.
802         (no_real_insns_p, schedule_block, set_priorities): Drop special
803         treatment of boundary debug insns.
804         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
805         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
806         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
807         (BOUNDARY_DEBUG_INSN_P): Likewise.
808         (SCHEDULE_DEBUG_INSN_P): Likewise.
809         * sched-rgn.c (init_ready_list): Drop special treatment of
810         boundary debug insns.
811         * final.c (rest_of_clean-state): Clear notes' BB.
813 2011-01-31  Alan Modra  <amodra@gmail.com>
815         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
816         toc relative expressions as we do in print_operand_address.
818 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
820         * doc/extend.texi: Follow spelling conventions.
821         * doc/invoke.texi: Fix a typo.
823 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
825         * config/hpux11.opt: New.
826         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
827         ia64*-*-hpux*): Use hpux11.opt.
829 2011-01-30  Jonathan Yong <jon_y@users.sourceforge.net>
831         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
832         to tmake_file.
834 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
836         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
837         support sites.
839 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
841         * doc/install.texi (Binaries): Remove outdated reference for
842         Motorola 68HC11/68HC12 downloads.
844 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
846         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
847         Drepper's paper.
849 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
851         PR bootstrap/47147
852         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
853         used by NetBSD.
855 2011-01-28  Ahmad Sharif  <asharif@google.com>
857         * value-prof.c (check_counter): Corrected error message.
859 2011-01-29  Jie Zhang  <jie@codesourcery.com>
861         * config/arm/arm.c (arm_legitimize_reload_address): New.
862         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
863         arm_legitimize_reload_address.
864         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
866 2011-01-28  Ian Lance Taylor  <iant@google.com>
868         * godump.c (go_define): Ignore macros whose definitions include
869         two adjacent operands.
871 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
873         PR target/42894
874         * varasm.c (force_const_mem): Store copy of x in desc->constant
875         instead of x itself.
876         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
877         itself into REG_EQUAL note.
879 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
881         * config/freebsd.opt (posix, rdynamic): New Driver options.
883 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
885         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
886         -Bstatic/-Bdynamic.
887         * configure: Regenerate.
889 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
891         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
892         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
894 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
896         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
897         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
898         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
899         (s390_preferred_reload_class): Make static. Change return and
900         'rclass' argument type to reg_class_t.
902 2011-01-27  Jan Hubicka  <jh@suse.cz>
904         PR middle-end/46949
905         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
906         (process_function_and_variable_attributes): Check defined weakrefs.
908 2011-01-27  Martin Jambor  <mjambor@suse.cz>
910         PR tree-optimization/47228
911         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
912         build_ref_for_offset.
914 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
916         * config/spu/spu-elf.h (ASM_SPEC): Remove.
918 2011-01-26  Mikael Pettersson <mikpe@it.uu.se>
920         PR rtl-optimization/46856
921         * postreload.c (reload_combine_recognize_const_pattern): Do not
922         separate cc0 setter and user on cc0 targets.
924 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
926         PR c/43082
927         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
928         passed a VOID_TYPE expression, immediately emit an error and
929         return error_mark_node.
931 2011-01-26  Jeff Law  <law@redhat.com>
933         PR rtl-optimization/47464
934         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
935         rather than may_trap_p as needed.
937 2011-01-26  DJ Delorie  <dj@redhat.com>
939         PR rtl-optimization/46878
940         * combine.c (insn_a_feeds_b): Check for the implicit cc0
941         setter/user dependency as well.
943 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
945         PR rtl-optimization/44469
946         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
947         after removing trivially dead basic blocks.
949 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
951         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
952         * config/frv/frv.h (LINK_SPEC): Likewise.
953         * config/i386/netware.h (LINK_SPEC): Likewise.
954         * config/m68k/linux.h (ASM_SPEC): Likewise.
955         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
956         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
957         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
958         * config/sparc/linux.h (ASM_SPEC): Likewise.
959         * config/sparc/linux64.h (ASM_SPEC): Likewise.
960         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
962 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
964         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
965         * config/frv/frv.h (ASM_SPEC): Likewise.
966         * config/m68k/linux.h (ASM_SPEC): Likewise.
967         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
968         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
969         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
970         * config/sparc/linux.h (ASM_SPEC): Likewise.
971         * config/sparc/linux64.h (ASM_SPEC): Likewise.
972         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
974 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
976         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
977         * config/frv/frv.h (LINK_SPEC): Likewise.
978         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
980 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
982         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
983         * config/frv/frv.h (ASM_SPEC): Likewise.
984         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
985         * config/m68k/linux.h (ASM_SPEC): Likewise.
986         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
987         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
988         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
989         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
990         * config/sparc/linux.h (ASM_SPEC): Likewise.
991         * config/sparc/linux64.h (ASM_SPEC): Likewise.
992         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
993         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
995 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
997         PR target/46997
998         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
999         (*mux2): Ditto.
1000         (vec_extract_evenodd_help): Ditto.
1001         (vec_extract_evenv4hi): Ditto.
1002         (vec_extract_oddv4hi): Ditto.
1003         (vec_interleave_lowv2si): Ditto.
1004         (vec_interleave_highv2si): Ditto.
1005         (vec_extract_evenv2si): Ditto.
1006         (vec_extract_oddv2si: Ditto.
1007         (vec_pack_trunc_v2si): Ditto.
1009 2011-01-22  Jan Hubicka  <jh@suse.cz>
1011         PR target/47237
1012         * cgraph.h (cgraph_local_info): New field can_change_signature.
1013         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
1014         signature can change.
1015         (ipcp_estimate_growth): Call sequence simplify only if calle signature
1016         can change.
1017         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
1018         (cgraph_function_versioning): We can not change signature of functions
1019         that don't allow that.
1020         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
1021         (lto_input_node): Likewise.
1022         * ipa-inline.c (compute_inline_parameters): Compute
1023         local.can_change_signature.
1024         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
1025         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
1026         functions that can not change signature.
1027         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
1028         init_cumulative_args): Do not use local calling conventions
1029         for functions that can not change signature.
1031 2011-01-22  Jan Hubicka  <jh@suse.cz>
1033         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
1035 2011-01-26  Richard Guenther  <rguenther@suse.de>
1037         PR tree-optimization/47190
1038         * cgraphunit.c (process_common_attributes): New function.
1039         (process_function_and_variable_attributes): Use it.
1041 2011-01-26  Richard Guenther  <rguenther@suse.de>
1043         PR lto/47423
1044         * cgraphbuild.c (record_eh_tables): Record reference to personality
1045         function.
1047 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
1049         PR debug/45454
1050         * sel-sched.c (moveup_expr): Don't let debug insns prevent
1051         non-debug insns from moving up.
1053 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1055         PR target/40125
1056         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
1057         t-dlldir{,-x} fragment for build and add it to tmake_file.
1058         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1059         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
1060         * config/i386/t-dlldir: New file.
1061         (SHLIB_DLLDIR): Define.
1062         * config/i386/t-dlldir-x: New file.
1063         (SHLIB_DLLDIR): Define.
1064         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
1065         (SHLIB_INSTALL): Use it.
1067 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
1069         PR target/47246
1070         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
1071         lower bound of the allowed Thumb-2 coprocessor load/store
1072         index range to -256. Add explaining comment.
1074 2011-01-25  Ian Lance Taylor  <iant@google.com>
1076         * godump.c (go_define): Improve lexing of macro expansion to only
1077         accept expressions which match Go spec.
1079 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1081         PR c++/43601
1082         * tree.c (handle_dll_attribute): Handle it.
1083         * doc/extend.texi (@item dllexport): Mention it.
1084         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
1086 2011-01-25  Ian Lance Taylor  <iant@google.com>
1088         PR tree-optimization/26854
1089         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
1090         (decl_jump_unsafe): Move higher in file, with no other change.
1091         (bind): Set has_jump_unsafe_decl if appropriate.
1092         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
1093         (check_earlier_gotos): Likewise.
1094         (c_check_switch_jump_warnings): Likewise.
1096 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1098         * doc/invoke.texi (Warning Options): Add missing hyphen.
1099         (-fprofile-dir): Minor grammatical fixes.
1100         (-fbranch-probabilities): Likewise.
1102 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
1104         PR debug/45136
1105         PR debug/45130
1106         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1107         debug insns.
1108         (no_real_insns_p, schedule_block, set_priorities): Drop special
1109         treatment of boundary debug insns.
1110         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1111         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1112         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1113         (BOUNDARY_DEBUG_INSN_P): Likewise.
1114         (SCHEDULE_DEBUG_INSN_P): Likewise.
1115         * sched-rgn.c (init_ready_list): Drop special treatment of
1116         boundary debug insns.
1117         * final.c (rest_of_clean-state): Clear notes' BB.
1119 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1121         * Makefile.in (LAMBDA_H): Removed.
1122         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
1123         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
1124         lambda-trans.o, and tree-loop-linear.o.
1125         (lto-symtab.o): Remove dependence on LAMBDA_H.
1126         (tree-loop-linear.o): Remove rule.
1127         (lambda-mat.o): Same.
1128         (lambda-trans.o): Same.
1129         (lambda-code.o): Same.
1130         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
1131         (tree-vect-slp.o): Same.
1132         * hwint.h (gcd): Moved here.
1133         (least_common_multiple): Same.
1134         * lambda-code.c: Removed.
1135         * lambda-mat.c: Removed.
1136         * lambda-trans.c: Removed.
1137         * lambda.h: Removed.
1138         * tree-loop-linear.c: Removed.
1139         * lto-symtab.c: Do not include lambda.h.
1140         * omega.c (gcd): Removed.
1141         * passes.c (init_optimization_passes): Remove pass_linear_transform.
1142         * tree-data-ref.c (print_lambda_vector): Moved here.
1143         (lambda_vector_copy): Same.
1144         (lambda_matrix_copy): Same.
1145         (lambda_matrix_id): Same.
1146         (lambda_vector_first_nz): Same.
1147         (lambda_matrix_row_add): Same.
1148         (lambda_matrix_row_exchange): Same.
1149         (lambda_vector_mult_const): Same.
1150         (lambda_vector_negate): Same.
1151         (lambda_matrix_row_negate): Same.
1152         (lambda_vector_equal): Same.
1153         (lambda_matrix_right_hermite): Same.
1154         * tree-data-ref.h: Do not include lambda.h.
1155         (lambda_vector): Moved here.
1156         (lambda_matrix): Same.
1157         (dependence_level): Same.
1158         (lambda_transform_legal_p): Removed declaration.
1159         (lambda_collect_parameters): Same.
1160         (lambda_compute_access_matrices): Same.
1161         (lambda_vector_gcd): Same.
1162         (lambda_vector_new): Same.
1163         (lambda_vector_clear): Same.
1164         (lambda_vector_lexico_pos): Same.
1165         (lambda_vector_zerop): Same.
1166         (lambda_matrix_new): Same.
1167         * tree-flow.h (least_common_multiple): Removed declaration.
1168         * tree-parloops.c (lambda_trans_matrix): Moved here.
1169         (LTM_MATRIX): Same.
1170         (LTM_ROWSIZE): Same.
1171         (LTM_COLSIZE): Same.
1172         (LTM_DENOMINATOR): Same.
1173         (lambda_trans_matrix_new): Same.
1174         (lambda_matrix_vector_mult): Same.
1175         (lambda_transform_legal_p): Same.
1176         * tree-pass.h (pass_linear_transform): Removed declaration.
1177         * tree-ssa-loop.c (tree_linear_transform): Removed.
1178         (gate_tree_linear_transform): Removed.
1179         (pass_linear_transform): Removed.
1180         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
1181         flag_loop_interchange.
1183 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
1185         PR tree-optimization/47265
1186         PR tree-optimization/47443
1187         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
1188         if name still has some uses.
1190 2011-01-25  Martin Jambor  <mjambor@suse.cz>
1192         PR tree-optimization/47382
1193         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
1194         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
1196 2011-01-25  Joel Sherrill <joel.sherrill@oarcorp.com>
1198         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
1199         sjlj_except_unwind_info.
1201 2011-01-25  Richard Guenther  <rguenther@suse.de>
1203         PR tree-optimization/47426
1204         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
1205         visible functions results escape.
1207 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
1209         PR target/45701
1210         * config/arm/arm.c (any_sibcall_uses_r3): New function.
1211         (arm_get_frame_offsets): Use it.
1213 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1214             Jakub Jelinek  <jakub@redhat.com>
1216         PR tree-optimization/47271
1217         * tree-if-conv.c (bb_postdominates_preds): New.
1218         (if_convertible_bb_p): Call bb_postdominates_preds.
1219         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
1220         (predicate_scalar_phi): Call bb_postdominates_preds.
1222 2011-01-25  Nick Clifton  <nickc@redhat.com>
1224         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
1225         * config/rx/rx.c (rx_function_value): Likewise.
1226         (rx_promote_function_mode): Likewise.
1227         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
1228         in order to make it legitimate.
1229         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
1230         make sure that the first operand is the same as the result register.
1231         (addsi3_unspec): Delete.
1232         (subdi3): Do not accept immediate operands.
1233         (subdi3_internal): Likewise.
1235 2011-01-25  Jeff Law  <law@redhat.com>
1237         PR rtl-optimization/37273
1238         * ira-costs.c (scan_one_insn): Detect constants living in memory and
1239         handle them like argument loads from stack slots.  Do not double
1240         count memory for memory constants and argument loads from stack slots.
1242 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
1244         PR tree-optimization/47427
1245         PR tree-optimization/47428
1246         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1247         coalesce if the new root var would be TREE_READONLY.
1249 2011-01-25  Richard Guenther  <rguenther@suse.de>
1251         PR middle-end/47414
1252         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
1253         correct type for TBAA.
1255 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1257         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
1258         (close_phi_written_to_memory): Call for_each_index with
1259         dr_indices_valid_in_loop.
1261 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1263         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
1264         when it is initialized.
1266 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1268         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
1269         call to graphite_find_data_references_in_stmt.
1270         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
1271         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
1272         call to graphite_find_data_references_in_stmt.
1273         (analyze_drs_in_stmts): Same.
1274         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
1275         in which the scalar analysis of indices is performed.
1276         (create_data_ref): Same.  Update call to dr_analyze_indices.
1277         (find_data_references_in_stmt): Update call to create_data_ref.
1278         (graphite_find_data_references_in_stmt): Same.
1279         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
1280         declaration.
1281         (create_data_ref): Same.
1282         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
1283         call to create_data_ref.
1285 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1287         * graphite-sese-to-poly.c (build_poly_scop): Move
1288         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
1290 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1292         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
1293         VAR_DECL, PARM_DECL, and RESULT_DECL.
1295 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1297         * graphite-dependences.c (reduction_dr_1): Allow several reductions
1298         in a reduction PBB.
1299         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
1300         that have already been marked as PBB_IS_REDUCTION.
1302 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1304         * graphite-scop-detection.c (same_close_phi_node): New.
1305         (remove_duplicate_close_phi): New.
1306         (make_close_phi_nodes_unique): New.
1307         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
1309 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1311         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
1312         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
1313         of both data references to be the same.
1315 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1317         * graphite-dependences.c (build_lexicographical_constraint): Remove
1318         the gdim parameter.
1319         (build_lexicographical_constraint): Adjust call to
1320         ppl_powerset_is_empty.
1321         (dependence_polyhedron): Same.
1322         (graphite_legal_transform_dr): Same.
1323         (graphite_carried_dependence_level_k): Same.
1324         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
1325         parameter.
1326         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
1328 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1330         * graphite-sese-to-poly.c
1331         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
1332         (close_phi_written_to_memory): New.
1333         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
1334         and unshare_expr.
1336 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1338         * doc/install.texi: Update the expected version number of PPL to 0.11.
1339         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
1340         #if PPL_VERSION_MINOR < 11.
1342 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1344         * graphite-dependences.c: Include graphite-cloog-util.h.
1345         (new_poly_ddr): Inlined into dependence_polyhedron.
1346         (free_poly_ddr): Moved close by new_poly_ddr.
1347         (dependence_polyhedron_1): Renamed dependence_polyhedron.
1348         Early return NULL when ppl_powerset_is_empty returns true.
1349         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
1350         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
1351         (graphite_legal_transform_dr): Call new_poly_ddr.
1352         (graphite_carried_dependence_level_k): Same.
1353         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
1354         (dot_transformed_deps_stmt_1): Removed.
1355         (dot_deps_stmt_1): Call dot_deps_stmt_2.
1356         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
1357         (dot_deps_1): Call dot_deps_2.
1358         * Makefile.in (graphite-dependences.o): Add missing dependence on
1359         graphite-cloog-util.h.
1361 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1363         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
1364         (build_lexicographical_constraint): Same.
1365         (dependence_polyhedron_1): Same.
1366         (graphite_legal_transform_dr): Same.
1367         (graphite_carried_dependence_level_k): Same.
1368         * graphite-ppl.c (ppl_powerset_is_empty): New.
1369         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
1370         * tree-data-ref.c (dump_data_reference): Print the basic block index.
1372 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1374         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
1375         the "a followed by b" relation and document it.
1377 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1379         * graphite-dependences.c (build_lexicographical_constraint): Stop the
1380         iteration when the bag of constraints is empty.
1382 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1384         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
1386 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1388         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
1389         nest and two loop depths as parameters.
1390         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
1391         lst_perfect_nestify.
1393 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1395         * graphite-dependences.c (print_pddr): Call
1396         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
1398 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
1400         * graphite-ppl.c (debug_gmp_value): New.
1401         * graphite-ppl.h (debug_gmp_value): Declared.
1403 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
1405         * doc/install.texi: Document availability of cloog-0.16.
1407 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
1409         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
1410         invalid postdominance info.
1412 2011-01-24  Jan Hubicka  <jh@suse.cz>
1414         PR c/21659
1415         * doc/extend.texi (weak pragma): Drop claim that it must
1416         appear before definition.
1417         * varasm.c (merge_weak, declare_weak): Only sanity check
1418         that DECL is not output at a time it is declared weak.
1420 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
1422         * machmode.def: Fixed comments.
1424 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
1426         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
1428 2011-01-24  Paul Koning  <ni1d@arrl.net>
1430         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1431         WORDS_BIG_ENDIAN.
1433 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
1435         PR target/46519
1436         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
1437         (block_info): Add scanned and prev.
1438         (move_or_delete_vzeroupper_2): Return if the basic block
1439         has been scanned and the upper 128bit state is unchanged
1440         from the last scan.
1441         (move_or_delete_vzeroupper_1): Return true if the exit
1442         state is changed.
1443         (move_or_delete_vzeroupper): Visit basic blocks using the
1444         work-list based algorithm based on vt_find_locations in
1445         var-tracking.c.
1447         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
1449 2011-01-24  Nick Clifton  <nickc@redhat.com>
1451         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
1452         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
1453         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
1454         then define __v850e1__.
1455         * doc/invoke.texi: Document -mv850es.
1457 2011-01-24  Richard Henderson  <rth@redhat.com>
1459         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
1460         compound unordered comparisons.
1461         * config/rx/rx.c (rx_split_fp_compare): Remove.
1462         * config/rx/rx-protos.h: Update.
1463         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
1464         (cbranchsf4): Don't call rx_split_fp_compare.
1465         (*cbranchsf4): Use rx_split_cbranch.
1466         (*cmpsf): Don't accept "i" constraint.
1467         (*conditional_branch): Only valid after reload.
1468         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
1470 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1472         PR target/47385
1473         * config/rs6000/altivec.md (vector constant splitters): Add
1474         support for creating vector single precision constants if -mvsx is
1475         used and we would create the constant using Altivec primitives.
1477 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
1478             Richard Sandiford  <rdsandiford@googlemail.com>
1480         PR rtl-optimization/47166
1481         * reload1.c (emit_reload_insns): Disable the spill_reg_store
1482         mechanism for PRE_MODIFY and POST_MODIFY.
1483         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
1484         reloadreg.
1486 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
1488         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
1490 2011-01-22  Jan Hubicka  <jh@suse.cz>
1492         PR lto/47333
1493         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
1495 2011-01-22  Jan Hubicka  <jh@suse.cz>
1497         PR tree-optimization/43884
1498         PR lto/44334
1499         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
1500         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
1502 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
1504         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
1505         * config/s390/s390.c (s390_register_move_cost,
1506         s390_memory_move_cost): New.
1507         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
1509 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1511         PR middle-end/47401
1512         * except.c (sjlj_assign_call_site_values): Move setting the
1513         crtl->uses_eh_lsda flag to ...
1514         (sjlj_mark_call_sites): ... here.
1515         (sjlj_emit_function_enter): Support NULL dispatch label.
1516         (sjlj_build_landing_pads): In a function with no landing pads
1517         that still has must-not-throw regions, generate code to register
1518         a personality function with empty LSDA.
1520 2011-01-21  Richard Henderson  <rth@redhat.com>
1522         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
1524         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
1526         * compare-elim.c: New file.
1527         * Makefile.in (OBJS-common): Add it.
1528         (compare-elim.o): New.
1529         * common.opt (fcompare-elim): New.
1530         * opts.c (default_options_table): Add OPT_fcompare_elim.
1531         * tree-pass.h (pass_compare_elim_after_reload): New.
1532         * passes.c (init_optimization_passes): Add it.
1533         * recog.h: Protect against re-inclusion.
1534         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
1535         * doc/invoke.texi (-fcompare-elim): Document it.
1536         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
1537         * doc/tm.texi: Rebuild.
1539 2011-01-22  Nick Clifton  <nickc@redhat.com>
1541         * config/rx/rx.md (cstoresf4): Pass comparison operator to
1542         rx_split_fp_compare.
1544 2011-01-22  Nick Clifton  <nickc@redhat.com>
1546         * config/rx/rx.md (UNSPEC_CONST): New.
1547         (deallocate_and_return): Wrap the amount popped off the stack in
1548         an UNSPEC_CONST in order to stop it being rejected by
1549         -mmax-constant-size.
1550         (pop_and_return): Add a "(return)" rtx.
1551         (call): Drop the immediate operand.
1552         (call_internal): Likewise.
1553         (call_value): Likewise.
1554         (call_value_internal): Likewise.
1555         (sibcall_internal): Likewise.
1556         (sibcall_value_internal): Likewise.
1557         (sibcall): Likewise.  Generate an explicit call using
1558         sibcall_internal.
1559         (sibcall_value): Likewise.
1560         (mov<>): FAIL if a constant operand is not legitimate.
1561         (addsi3_unpsec): New pattern.
1563         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
1564         (ok_for_max_constant): New function.
1565         (gen_safe_add): New function.
1566         (rx_expand_prologue): Use gen_safe_add.
1567         (rx_expand_epilogue): Likewise.
1568         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
1569         UNSPEC CONSTs.
1571 2011-01-21  Jeff Law  <law@redhat.com>
1573         PR tree-optimization/47053
1574         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
1575         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
1576         statements are deleted.
1577         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
1578         is nonempty, then purge dead edges and cleanup the CFG.
1580 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
1582         PR debug/47402
1583         Temporarily revert:
1584         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
1585         PR debug/47106
1586         * tree-dfa.c (create_var_ann): Mark variable as used.
1588 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
1590         PR middle-end/45566
1591         * except.c (convert_to_eh_region_ranges): Emit queued no-region
1592         notes from other section in hot/cold partitioning even if
1593         last_action is -3.  Increment call_site_base.
1595         PR rtl-optimization/47366
1596         * fwprop.c (forward_propagate_into): Return bool.  If
1597         any changes are made, -fnon-call-exceptions is used and
1598         REG_EH_REGION note is present, call purge_dead_edges
1599         and return true if it purged anything.
1600         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
1601         any EH edges were purged.
1603 2011-01-21  Jeff Law  <law@redhat.com>
1605         PR rtl-optimization/41619
1606         * caller-save.c (setup_save_areas): Break out code to determine
1607         which hard regs are live across calls by examining the reload chains
1608         so that it is always used.
1609         Eliminate code which checked REG_N_CALLS_CROSSED.
1611 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
1613         PR tree-optimization/47355
1614         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
1615         NOP has non-debug uses beyond PHIs in new_bb.
1617 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
1619         PR debug/47106
1620         * cfgexpand.c (account_used_vars_for_block): Only account vars
1621         that are annotated as used.
1622         (estimated_stack_frame_size): Don't set TREE_USED.
1623         * tree-dfa.c (create_var_ann): Mark variable as used.
1625 2011-01-21  Richard Guenther  <rguenther@suse.de>
1627         PR middle-end/47395
1628         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
1630 2011-01-21  Richard Guenther  <rguenther@suse.de>
1632         PR tree-optimization/47365
1633         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
1634         (vn_reference_lookup_pieces): Adjust.
1635         (vn_reference_lookup): Likewise.
1636         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
1637         (vn_reference_lookup_3): Only look through kills if in
1638         VN_WALKREWRITE mode.
1639         (vn_reference_lookup_pieces): Adjust.
1640         (vn_reference_lookup): Likewise.
1641         (visit_reference_op_load): Likewise.
1642         (visit_reference_op_store): Likewise.
1643         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
1644         (compute_avail): Likewise.
1645         (eliminate): Likewise.
1647 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
1649         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
1650         DECL_IGNORED_P non-reg vars if they are used.
1652         PR tree-optimization/47391
1653         * varpool.c (const_value_known_p): Return false if
1654         decl is volatile.
1656 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
1658         PR bootstrap/47215
1659         * config/i386/i386.c (ix86_local_alignment): Handle
1660         case for va_list_type_node is nil.
1661         (ix86_canonical_va_list_type): Likewise.
1663 2011-01-21  Alan Modra  <amodra@gmail.com>
1665         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
1666         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
1668 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1670         * config/arm/arm.md (define_attr type): Rename f_load
1671         and f_store to f_fpa_load and f_fpa_store. Update.
1672         (write_conflict): Deal with rename fallout.
1673         (*push_fp_multi): Likewise.
1674         * config/arm/fpa.md (f_load): Use f_fpa_load.
1675         (f_store): Use f_fpa_store.
1676         (*movsf_fpa): Likewise.
1677         (*movdf_fpa): Likewise.
1678         (*movxf_fpa): Likewise.
1679         (*thumb2_movsf_fpa): Likewise.
1680         (*thumb2_movdf_fpa): Likewise.
1681         (*thumb2_movxf_fpa): Likewise.
1682         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
1683         f_loadd and f_stored.
1684         (*thumb2_movdi_vfp): Likewise.
1685         (*thumb2_movsf_vfp): Fix attribute to f_loads.
1686         (*thumb2_movsi_vfp): Likewise.
1687         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
1688         Use f_loads instead of f_load.
1689         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
1691 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
1693         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1694         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
1695         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1696         (xtensa_mode_dependent_address_p): New function.
1697         (constantpool_address_p): Make static. Change return type to bool.
1698         Change argument type to const_rtx. Use CONST_INT_P predicate.
1700 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
1702         PR debug/46583
1703         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
1705 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
1707         PR debug/47283
1708         * cfgexpand.c (expand_debug_expr): Instead of generating
1709         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
1710         etc. handling.
1712 2011-01-20  Richard Guenther  <rguenther@suse.de>
1714         PR middle-end/47370
1715         * tree-inline.c (remap_gimple_op_r): Recurse manually for
1716         the pointer operand of MEM_REFs.
1718 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
1720         PR tree-optimization/46130
1721         * ipa-split.c (consider_split): If return_bb contains non-virtual
1722         PHIs other than for retval or if split_function would not adjust it,
1723         refuse to split.
1725 2011-01-20  Richard Guenther  <rguenther@suse.de>
1727         PR tree-optimization/47167
1728         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1729         Revert previous change, only avoid enumeral type changes.
1731 2011-01-19  Mike Stump  <mikestump@comcast.net>
1733         * doc/tm.texi.in (BRANCH_COST): Englishify.
1734         * doc/tm.texi (BRANCH_COST): Likewise.
1736 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
1738         PR c++/47291
1739         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
1740         (gen_scheduled_generic_parms_dies): New functions.
1741         (gen_struct_or_union_type_die): Schedule template parameters DIEs
1742         generation for the end of CU compilation.
1743         (dwarf2out_finish): Generate template parameters DIEs here.
1745 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1747         PR debug/46240
1748         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
1749         debug bind stmt on merge edges.
1751 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1753         PR debug/47079
1754         PR debug/46724
1755         * function.c (instantiate_expr): Instantiate incoming rtl of
1756         implicit arguments, and recurse on VALUE_EXPRs.
1757         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
1758         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
1760 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1762         * c-parser.c (c_parser_for_statement): Initialize
1763         collection_expression.
1765 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1767         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
1769 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1771         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
1772         (LINK_SHLIB_SPEC): Don't use %(link_path).
1773         (SUBTARGET_EXTRA_SPECS): Remove link_path.
1775 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1777         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
1778         (NO_SHARED_LIB_SUPPORT): Remove.
1779         (LINK_SHLIB_SPEC): Remove one conditional definition.
1781 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1783         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
1784         %{call_shared}.
1785         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
1786         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
1787         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
1788         %{call_shared} and conditionals on these options not being passed.
1789         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
1790         %{call_shared}.
1792 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
1794         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
1795         simplify.
1797         * ipa-split.c: Spelling fixes.
1799 2011-01-19  Richard Henderson  <rth@redhat.com>
1801         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
1802         (*mulsi3): Likewise.
1804         * longlong.h [__mn10300__] (count_leading_zeros): New.
1805         [__mn10300__] (umul_ppmm, smul_ppmm): New.
1806         [__mn10300__] (add_ssaaaa, subddmmss): New.
1807         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
1808         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
1810 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1812         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
1814 2011-01-19  Richard Henderson  <rth@redhat.com>
1816         * config/mn10300/mn10300.md (addsi3_flags): New.
1817         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
1818         (subsi3_flags, subc_internal, subdi3): New.
1819         (subdi3_internal, *subdi3_degenerate): New.
1820         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
1822         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
1823         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
1824         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
1825         * config/mn10300/mn10300-protos.h: Update.
1826         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
1827         (return_ret): Likewise.  Rename from return_internal_regs.
1828         (return_internal): Remove.
1830         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
1831         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
1832         (mn10300_legitimate_constant_p): Likewise.
1833         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
1834         (mn10300_frame_size): New.
1835         (mn10300_expand_prologue): Use it.
1836         (mn10300_expand_epilogue): Likewise.
1837         (mn10300_initial_offset): Likewise.
1838         * config/mn10300/mn10300-protos.h: Update.
1839         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
1840         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
1841         (prologue, epilogue, return_internal): Tidy output code.
1842         (mn10300_store_multiple_operation, return): Likewise.
1843         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
1844         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
1845         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
1846         (load_pic, am33_load_pic): New.
1847         (mn10300_load_pic0, mn10300_load_pic1): New.
1849         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
1850         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
1851         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
1852         (cc_flags_for_mode, cc_flags_for_code): New.
1853         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
1854         overflow flag is not valid.  Validate that the flags we need
1855         for the comparison are valid.
1856         (mn10300_output_cmp): Remove.
1857         (mn10300_output_add): New.
1858         (mn10300_select_cc_mode): Use cc_flags_for_code.
1859         (mn10300_split_cbranch): New.
1860         (mn10300_match_ccmode): New.
1861         (mn10300_split_and_operand_count): New.
1862         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
1863         to the function.
1864         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
1865         (addsi3): ... here.  Use mn10300_output_add.
1866         (*addsi3_flags): New.
1867         (*am33_subsi3, *mn10300_subsi3): Merge...
1868         (subsi3): ... here.  Use attribute isa.
1869         (*subsi3_flags): New.
1870         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
1871         when possible.
1872         (*am33_andsi3, *mn10300_andsi3): Merge...
1873         (andsi3): ... here.
1874         (*andsi3_flags): New.
1875         (andsi3 splitters): New.
1876         (*am33_iorsi3, *mn10300_iorsi3): Merge...
1877         (iorsi3): ... here.
1878         (*iorsi3_flags): New.
1879         (*am33_xorsi3, *mn10300_xorsi3): Merge...
1880         (xorsi3): ... here.
1881         (*xorsi3_flags): New.
1882         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
1883         (one_cmplsi2): ... here.
1884         (*one_cmplsi2_flags): New.
1885         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
1886         instead of "dax" in constraints.  Use mn10300_split_cbranch.
1887         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
1888         use matching constraints to eliminate a self-comparison.
1889         (*integer_conditional_branch): Rename from integer_conditional_branch.
1890         Use int_mode_flags to match CC_REG.
1891         (*cbranchsi4_btst, *btstsi): New.
1892         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
1893         mn10300_split_cbranch.
1894         (*am33_cmpsf): Rename from am33_cmpsf.
1895         (*float_conditional_branch): Rename from float_conditional_branch.
1896         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
1897         (zero_extendqisi2): ... here.
1898         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
1899         (zero_extendhisi2): ... here.
1900         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
1901         (extendqisi2): ... here.
1902         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
1903         (extendhisi2): ... here.
1904         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
1905         (ashlsi3): ... here.
1906         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
1907         (lshrsi3): ... here.
1908         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
1909         (ashrsi3): ... here.
1910         (consecutive add peephole): Remove.
1911         * config/mn10300/predicates.md (label_ref_operand): New.
1912         (int_mode_flags): New.
1913         (CCZN_comparison_operator): New.
1915         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
1916         (throughput_42_latency_43): New reservation.
1917         (mulsidi3, umulsidi3): New expanders.
1918         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
1919         the MDR register to allocation; separately allocate the low and
1920         high parts of the DImode result.
1921         (umulsidi3_internal): Similarly.
1922         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
1923         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
1924         (udivsi3, umodsi3): Remove.
1925         (udivmodsi4, divmodsi4): New expanders.
1926         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
1927         (*divmodsi4): Simiarly.
1928         (ext_internal): New.
1930         * config/mn10300/constraints.md ("z"): New constraint.
1931         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
1932         (FIXED_REGISTERS): Don't fix MDR.
1933         (CALL_USED_REGSITERS): Reformat nicely.
1934         (REG_ALLOC_ORDER): Add MDR.
1935         (enum regclass): Add MDR_REGS.
1936         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
1937         (IRA_COVER_CLASSES): Add MDR_REGS.
1938         (REGNO_REG_CLASS): Handle MDR_REG.
1939         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
1940         (mn10300_register_move_cost): Likewise.
1941         * config/mn10300/mn10300.md (MDR_REG): New.
1942         (*movsi_internal): Handle moves to/from MDR_REGS.
1944         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
1945         POST_MODIFY.
1946         (mn10300_secondary_reload): Tidy combination reload classes.
1947         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
1948         addresses for AM33.  Allow symbolic offsets for reg+imm.
1949         (mn10300_regno_in_class_p): New.
1950         (mn10300_legitimize_reload_address): New.
1951         * config/mn10300/mn10300.h (enum reg_class): Remove
1952         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
1953         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
1954         SP_OR_GENERAL_REGS.
1955         (REG_CLASS_NAMES): Update to match.
1956         (REG_CLASS_CONTENTS): Likewise.
1957         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
1958         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
1959         (REGNO_IN_RANGE_P): Remove.
1960         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
1961         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
1962         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
1963         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
1964         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
1965         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
1966         (REGNO_GENERAL_P): New.
1967         (HAVE_POST_MODIFY_DISP): New.
1968         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
1969         (LEGITIMIZE_RELOAD_ADDRESS): New.
1970         * config/mn10300/mn10300-protos.h: Update.
1972         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
1973         DATA_REGS for AM33 stack-pointer destination.
1974         (mn10300_preferred_output_reload_class): Likewise.
1975         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
1976         into a form appropriate for ...
1977         (TARGET_SECONDARY_RELOAD): New.
1978         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
1979         * config/mn10300/mn10300-protos.h: Update.
1980         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
1981         reload_insi; use the "A" constraint for the scratch; handle AM33
1982         moves of sp to non-address registers.
1984         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
1985         (*movqi_internal): ... here.
1986         (*am33_movhi, *mn10300_movhi): Merge into...
1987         (*movhi_internal): ... here.
1988         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
1989         as the source/destination of moves from/to SP.
1990         (movsf): Only allow for AM33-2.
1991         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
1992         any integer constant constraint.  Only allow for AM33-2.  Tidy
1993         all of the alternative outputs.
1994         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
1995         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
1996         for MN103.
1997         (udivsi3, umodsi3): New patterns for MN103 only.
1999 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
2001         * doc/tm.texi.in: Spell out that a lack of register class unions
2002         can lead to ICEs.
2003         * doc/tm.texi: Regenerate.
2005 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2007         PR rtl-optimization/47337
2008         * dce.c (check_argument_store): New function.
2009         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
2011         PR tree-optimization/47290
2012         * tree-eh.c (infinite_empty_loop_p): New function.
2013         (cleanup_empty_eh): Use it.
2015 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
2017         PR target/46997
2018         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
2019         (a64_expand_widen_sum): Ditto.
2020         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
2021         (vec_extract_evenodd_help): Ditto.
2022         (vec_extract_evenv4hi): Ditto.
2023         (vec_extract_oddv4hi): Ditto.
2024         (vec_extract_evenv2si): Ditto.
2025         (vec_extract_oddv2si): Ditto.
2026         (vec_extract_evenv2sf): Ditto.
2027         (vec_extract_oddv2sf): Ditto.
2028         (vec_pack_trunc_v4hi: Ditto.
2029         (vec_pack_trunc_v2si): Ditto.
2030         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
2031         (vec_interleave_highv8qi): Ditto.
2032         (mix1_r): Ditto.
2033         (vec_extract_oddv8qi): Ditto.
2034         (vec_interleave_lowv4hi): Ditto.
2035         (vec_interleave_highv4hi): Ditto.
2036         (vec_interleave_lowv2si): Ditto.
2037         (vec_interleave_highv2si): Ditto.
2039 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2041         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
2042         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
2043         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
2044         (pa_c_mode_for_suffix): New.
2045         (TARGET_EXPAND_BUILTIN): Define.
2046         (TARGET_C_MODE_FOR_SUFFIX): Define.
2047         (pa_builtins): Define.
2048         (pa_init_builtins): Register __float128 type and init new support
2049         builtins.
2050         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
2051         * config/pa/quadlib.c (_U_Qfcopysign): New.
2053 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2055         PR middle-end/46894
2056         * explow.c (allocate_dynamic_stack_space): Do not assume more than
2057         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
2058         are defined.
2060 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2062         PR tree-optimization/47179
2063         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
2064         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
2066 2011-01-18  Richard Guenther  <rguenther@suse.de>
2068         PR rtl-optimization/47216
2069         * emit-rtl.c: Include tree-flow.h.
2070         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
2071         of replicating it with different semantics.
2072         * Makefile.in (emit-rtl.o): Adjust.
2074 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2076         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
2077         (cortex_a9_dp): Handle neon types correctly.
2079 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
2081         PR rtl-optimization/47299
2082         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
2083         subtarget.  Use normal multiplication if both operands are constants.
2084         * expmed.c (expand_widening_mult): Don't try to optimize constant
2085         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
2086         before using it.
2088 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2090         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
2091         spacing after 'e.g.', typos, comma, hyphenation.
2093 2011-01-17  Richard Henderson  <rth@redhat.com>
2095         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
2096         (rx_restricted_mem_operand): New.
2097         (rx_shift_operand): Use register_operand.
2098         (rx_source_operand, rx_compare_operand): Likewise.
2099         * config/rx/rx.md (addsi3_flags): New expander.
2100         (adddi3): Rewrite as expander.
2101         (adc_internal, *adc_flags, adddi3_internal): New patterns.
2102         (subsi3_flags): New expander.
2103         (subdi3): Rewrite as expander.
2104         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
2106         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
2107         (rx_init_builtins): Remove sat builtin.
2108         (rx_expand_builtin): Likewise.
2109         * config/rx/rx.md (ssaddsi3): New.
2110         (*sat): Rename from sat.  Represent the CC_REG input.
2112         * config/rx/predicates.md (rshift_operator): New.
2113         * config/rx/rx.c (rx_expand_insv): Remove.
2114         * config/rx/rx-protos.h: Update.
2115         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
2116         operand to the canonical position.
2117         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
2118         (*bitclr, *bitclr_in_memory): Similarly.
2119         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
2120         (insv): Retain the zero_extract in the expansion.
2122         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
2123         (bswaphi2, bitinvert, revw): Likewise.
2125         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
2126         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
2127         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
2128         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
2129         (bitset, bitset_in_memory): Likewise.
2130         (bitinvert, bitinvert_in_memory): Likewise.
2131         (bitclr, bitclr_in_memory): Likewise.
2132         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
2133         (rx_strend, rx_cmpstrn): Likewise.
2134         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
2135         (bitop peep2 patterns): Remove.
2137         * config/rx/rx.c (rx_match_ccmode): New.
2138         * config/rx/rx-protos.h: Update.
2139         * config/rx/rx.md (abssi2): Clobber, don't set flags.
2140         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
2141         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
2142         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
2143         (fix_truncsfsi2, floatsisf2): Likewise.
2144         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
2145         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
2146         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
2147         (*subsi3_flags, *xorsi3_flags): New.
2149         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
2151         * config/rx/rx.c (rx_print_operand): Remove workaround for
2152         unsplit comparison operations.
2154         * config/rx/rx.md (movsicc): Split after reload.
2155         (*movsicc): Merge *movsieq and *movsine via match_operator.
2156         (*stcc): New pattern.
2158         * config/rx/rx.c (rx_float_compare_mode): Remove.
2159         * config/rx/rx.h (rx_float_compare_mode): Remove.
2160         * config/rx/rx.md (cstoresi4): Split after reload.
2161         (*sccc): New pattern.
2163         * config/rx/predicates.md (label_ref_operand): New.
2164         (rx_z_comparison_operator): New.
2165         (rx_zs_comparison_operator): New.
2166         (rx_fp_comparison_operator): New.
2167         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
2168         Validate that the flags are set properly for the comparison.
2169         (rx_gen_cond_branch_template): Remove.
2170         (rx_cc_modes_compatible): Remove.
2171         (mode_from_flags): New.
2172         (flags_from_code): Rename from flags_needed_for_conditional.
2173         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
2174         (rx_select_cc_mode): Likewise.
2175         (rx_split_fp_compare): New.
2176         (rx_split_cbranch): New.
2177         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
2178         (*cbranchsi4): Use match_operator and rx_split_cbranch.
2179         (*cbranchsf4): Similarly.
2180         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
2181         match_operator and rx_split_cbranch.
2182         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
2183         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
2184         (*cmpsi): Rename from cmpsi.
2185         (*tstsi): Rename from tstsi.
2186         (*cmpsf): Rename from cmpsf; use CC_Fmode.
2187         (*conditional_branch): Rename from conditional_branch.
2188         (*reveresed_conditional_branch): Remove.
2189         (b<code>): Remove expander.
2190         * config/rx/rx-protos.h: Update.
2192         * config/rx/rx.c (rx_compare_redundant): Remove.
2193         * config/rx/rx.md (cmpsi): Don't use it.
2194         * config/rx/rx-protos.h: Update.
2196         * config/rx/rx-modes.def (CC_F): New mode.
2197         * config/rx/rx.c (rx_select_cc_mode): New.
2198         * config/rx/rx.h (SELECT_CC_MODE): Use it.
2199         * config/rx/rx-protos.h: Update.
2201 2011-01-17  Richard Henderson  <rth@redhat.com>
2203         * except.c (dump_eh_tree): Fix stray ; after for statement.
2205 2011-01-17  Richard Guenther  <rguenther@suse.de>
2207         PR tree-optimization/47313
2208         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
2209         handling before copying the body.  Properly deal with
2210         by-reference result in SSA form.
2212 2011-01-17  Ian Lance Taylor  <iant@google.com>
2214         PR target/47219
2215         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
2216         (struct_value_alias_set): Don't define.
2217         (sparc_option_override): Don't set sparc_sr_alias_set and
2218         struct_value_alias_set.
2219         (save_or_restore_regs): Use gen_frame_mem rather than calling
2220         set_mem_alias_set.
2221         (sparc_struct_value_rtx): Likewise.
2223 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2225         PR target/47318
2226         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
2227         __m128i.
2228         (_mm_maskstore_pd): Likewise.
2229         (_mm_maskload_ps): Likewise.
2230         (_mm_maskstore_ps): Likewise.
2231         (_mm256_maskload_pd): Change mask to __m256i.
2232         (_mm256_maskstore_pd): Likewise.
2233         (_mm256_maskload_ps): Likewise.
2234         (_mm256_maskstore_ps): Likewise.
2236         * config/i386/i386-builtin-types.def: Updated.
2237         (ix86_expand_special_args_builtin): Likewise.
2239         * config/i386/i386.c (bdesc_special_args): Update
2240         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
2241         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
2242         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
2243         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
2245         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
2246         Use <avxpermvecmode> on mask register.
2247         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
2249 2011-01-17  Olivier Hainque  <hainque@adacore.com>
2250             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
2251             Eric Botcazou  <ebotcazou@adacore.com>
2253         PR target/46655
2254         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
2255         if <= USHRT_MAX in 32-bit mode.
2257 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2259         * doc/install.texi (Configuration, Specific): Wrap long
2260         lines in examples.  Allow line wrapping in long options
2261         and URLs where beneficial for PDF output.
2263 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
2265         * config/mips/mips.c (mips_classify_symbol): Don't return
2266         SYMBOL_PC_RELATIVE for nonlocal labels.
2268 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
2270         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
2272 2011-01-15  Jan Hubicka  <jh@suse.cz>
2274         PR tree-optimization/47276
2275         * ipa.c (function_and_variable_visibility): Do not try to mark alias
2276         declarations as needed.
2278 2011-01-15  Martin Jambor  <mjambor@suse.cz>
2280         * common.opt (fdevirtualize): New flag.
2281         * doc/invoke.texi (Option Summary): Document it.
2282         * opts.c (default_options_table): Add devirtualize flag.
2283         * ipa-prop.c (detect_type_change): Return immediately if
2284         devirtualize flag is not set.
2285         (detect_type_change_ssa): Likewise.
2286         (compute_known_type_jump_func): Likewise.
2287         (ipa_analyze_virtual_call_uses): Likewise.
2289 2011-01-14  Martin Jambor  <mjambor@suse.cz>
2291         PR tree-optimization/45934
2292         PR tree-optimization/46302
2293         * ipa-prop.c (type_change_info): New type.
2294         (stmt_may_be_vtbl_ptr_store): New function.
2295         (check_stmt_for_type_change): Likewise.
2296         (detect_type_change): Likewise.
2297         (detect_type_change_ssa): Likewise.
2298         (compute_complex_assign_jump_func): Check for dynamic type change.
2299         (compute_complex_ancestor_jump_func): Likewise.
2300         (compute_known_type_jump_func): Likewise.
2301         (compute_scalar_jump_functions): Likewise.
2302         (ipa_analyze_virtual_call_uses): Likewise.
2303         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
2305 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2307         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
2308         * config/i386/i386.opt (msse5): New Alias.
2310 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2312         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2313         * config/sparc/linux64.h (CC1_SPEC): Likewise.
2314         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
2315         * config/sparc/sparc.h (CC1_SPEC): Likewise.
2317 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2319         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
2320         -mcpu options.
2321         * config/sparc/linux64.h (CC1_SPEC): Likewise.
2322         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
2323         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
2324         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
2325         Likewise.
2326         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
2328 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2330         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
2332 2011-01-14  Mike Stump  <mikestump@comcast.net>
2334         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
2335         * config/fr30/fr30.md: Likweise
2336         (movsi_push): Likewise.
2337         (movsi_pop): Likewise.
2338         (enter_func): Likewise.
2339         * config/moxie/moxie.md (movsi_push): Likewise.
2340         (movsi_pop): Likewise.
2342 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2344         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
2345         %{no_archive} %{exact_version}.
2346         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
2347         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
2348         %{no_archive} %{exact_version}.
2349         * config/mips/openbsd.h (LINK_SPEC): Likewise.
2350         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
2351         * config/mips/vxworks.h: Likewise.
2353 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2355         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
2357 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2359         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
2360         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
2362 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2364         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
2365         -nodefaultlib.
2367 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2369         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
2370         for mcpu not cpu.
2371         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
2372         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
2373         not cpu.
2374         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
2375         Don't handle -shlib.
2377 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2379         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
2380         (CC1_SPEC): Don't handle -profile.
2382 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2384         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
2385         * config/mips/mips.h (CC1_SPEC): Likewise.
2387 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2389         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
2390         * config/mips/mips.h (CC1_SPEC): Likewise.
2392 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2394         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
2395         * config/m32r/linux.h (LINK_SPEC): Likewise.
2396         * config/mips/linux.h (LINK_SPEC): Likewise.
2397         * config/mips/linux64.h (LINK_SPEC): Likewise.
2398         * config/sparc/linux.h (LINK_SPEC): Likewise.
2399         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
2400         LINK_SPEC): Likewise.
2401         * config/xtensa/linux.h (LINK_SPEC): Likewise.
2403 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2405         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
2406         %{version:-v}.
2407         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
2409 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2411         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
2412         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
2414 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
2416         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
2418 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2420         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
2421         supports -Bstatic/-Bdynamic.
2422         * configure: Regenerate.
2424 2011-01-14  Jan Hubicka  <jh@suse.cz>
2425         Jack Howarth <howarth@bromo.med.uc.edu>
2427         PR target/46037
2428         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
2429         when checking debug_info_level. Test write_symbols instead of
2430         debug_hooks->var_location when setting flag_var_tracking_uninit.
2432 2011-01-14  Richard Guenther  <rguenther@suse.de>
2434         PR tree-optimization/47179
2435         * target.def (ref_may_alias_errno): New target hook.
2436         * targhooks.h (default_ref_may_alias_errno): Declare.
2437         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
2438         (default_ref_may_alias_errno): New function.
2439         * target.h (struct ao_ref_s): Declare.
2440         * tree-ssa-alias.c: Include target.h.
2441         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
2442         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
2443         (targhooks.o): Likewise.
2444         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
2445         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
2447 2011-01-14  Richard Guenther  <rguenther@suse.de>
2449         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
2451 2011-01-14  Richard Guenther  <rguenther@suse.de>
2453         PR tree-optimization/47280
2454         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
2455         return CFG changes.
2456         (tree_ssa_forward_propagate_single_use_vars): Deal with
2457         CFG changes from associate_plusminus.
2459 2011-01-14  Richard Guenther  <rguenther@suse.de>
2461         PR middle-end/47281
2462         Revert
2463         2011-01-11  Richard Guenther  <rguenther@suse.de>
2465         PR tree-optimization/46076
2466         * tree-ssa.c (useless_type_conversion_p): Conversions from
2467         unprototyped to empty argument list function types are useless.
2469 2011-01-14  Richard Guenther  <rguenther@suse.de>
2471         PR tree-optimization/47286
2472         * tree-ssa-structalias.c (new_var_info): Register variables are global.
2474 2011-01-14  Martin Jambor  <mjambor@suse.cz>
2476         PR middle-end/46823
2477         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
2479 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
2481         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
2482         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2483         * config/xtensa/xtensa.c (xtensa_libcall_value,
2484         xtensa_function_value_regno_p): New functions.
2485         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
2487 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
2489         PR c++/47213
2490         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
2491         PE specific hook.
2492         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
2493         New function prototype.
2494         * config/i386/winnt.c (i386_pe_assemble_visibility):
2495         Warn only if attribute was specified by user.
2497 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
2499         PR target/47251
2500         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
2501         floating point.
2502         (floatunsdidf2_fcfidu): Ditto.
2504 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2506         * config/s390/s390.c (print_operand_address): Replace 'error' with
2507         'output_operand_lossage'.
2508         (print_operand): Likewise.
2510 2011-01-13  Jeff Law  <law@redhat.com>
2512         PR rtl-optimization/39077
2513         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
2514         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
2515         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
2516         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
2517         * gcse.c (prune_insertions_deletions): New function.
2518         (compute_pre_data): Use it.
2520 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
2522         PR debug/PR46973
2523         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
2524         static function.
2525         (prune_unused_types_mark): Use it.
2527 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
2529         PR rtl-optimization/45352
2530         * sel-sched.c: Update copyright years.
2531         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
2532         in the advancing loop when we have issued issue_rate insns.
2534 2011-01-12  Richard Henderson  <rth@redhat.com>
2536         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
2537         (TARGET_MD_ASM_CLOBBERS): New.
2539         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
2540         (TARGET_DELEGITIMIZE_ADDRESS): New.
2542         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
2543         (clzsi2, *bsch): New patterns.
2545         * config/mn10300/mn10300.md (INT): New mode iterator.
2546         (*mov<INT>_clr): New pattern, and peep2 to generate it.
2548         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
2549         flag_split_wide_types.
2551         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
2552         (mn10300_trampoline_init): Rewrite without a template, an immediate
2553         load and a direct branch.
2554         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
2556 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
2558         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2559         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
2560         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
2561         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2563 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
2565         PR debug/47209
2566         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
2567         of type.
2569 2011-01-12  Jan Hubicka  <jh@suse.cz>
2571         PR driver/47244
2572         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
2573         (PLUGIN_COND_CLOSE): New macro.
2574         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
2576 2011-01-12  Richard Guenther  <rguenther@suse.de>
2578         PR lto/47259
2579         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
2580         register variables in a MEM_REF.
2582 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
2584         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
2585         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
2586         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
2587         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
2588         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
2589         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
2590         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
2591         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
2592         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
2593         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
2594         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
2595         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
2596         * config/gnu-user.h: New.  Copied from linux.h.
2597         (LINUX_TARGET_STARTFILE_SPEC): Rename to
2598         GNU_USER_TARGET_STARTFILE_SPEC.
2599         (LINUX_TARGET_ENDFILE_SPEC): Rename to
2600         GNU_USER_TARGET_ENDFILE_SPEC.
2601         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
2602         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
2603         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
2604         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
2605         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
2606         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
2607         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
2608         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
2609         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
2610         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
2611         * config/arm/linux-eabi.h (CC1_SPEC): Use
2612         GNU_USER_TARGET_CC1_SPEC.
2613         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
2614         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
2615         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
2616         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
2617         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
2618         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
2619         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
2620         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
2622 2011-01-12  Richard Guenther  <rguenther@suse.de>
2624         PR other/46946
2625         * doc/invoke.texi (ffast-math): Document it is turned on
2626         with -Ofast.
2628 2011-01-12  Jan Hubicka  <jh@suse.cz>
2630         PR tree-optimization/47233
2631         * opts.c (common_handle_option): Disable ipa-reference with profile
2632         feedback.
2634 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2636         * c-parser.c (c_parser_objc_at_property_declaration): Improved
2637         error message.
2639 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2641         * c-parser.c (c_lex_one_token): Updated and reindented some
2642         comments.  No changes in code.
2644 2011-01-11  Ian Lance Taylor  <iant@google.com>
2646         * godump.c (go_output_var): Don't output the variable if there is
2647         already a type with the same name.
2649 2011-01-11  Ian Lance Taylor  <iant@google.com>
2651         * godump.c (go_format_type): Don't generate float80.
2653 2011-01-11  Richard Henderson  <rth@redhat.com>
2655         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
2656         declaration.  Rewrite for both speed and size.
2657         (mn10300_address_cost_1): Remove.
2658         (mn10300_register_move_cost): New.
2659         (mn10300_memory_move_cost): New.
2660         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
2661         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
2662         extensions, shifts, BSWAP, CLZ.
2663         (mn10300_wide_const_load_uses_clr): Remove.
2664         (TARGET_REGISTER_MOVE_COST): New.
2665         (TARGET_MEMORY_MOVE_COST): New.
2666         * config/mn10300/mn10300-protos.h: Update.
2667         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
2669         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
2670         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
2671         * config/mn10300/mn10300-protos.h: Update.
2672         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
2673         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
2674         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
2675         (*test_int_bitfield, *test_byte_bitfield): Remove.
2676         (*bit_test, *subreg_bit_test): Remove.
2677         * config/mn10300/predicates.md (const_8bit_operand): Remove.
2679         * config/mn10300/constraints.md ("c"): Rename from "A".
2680         ("A", "D"): New constraint letters.
2681         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
2682         (fmssf4, fnmasf4, fnmssf4): Likewise.
2684         * config/mn10300/mn10300.md (isa): New attribute.
2685         (enabled): New attribute.
2687         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
2688         (abssf2, negsf2): Define only for hardware fp.
2689         (sqrtsf2): Reformat.
2690         (addsf3, subsf3, mulsf3): Merge expander and insn.
2692         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
2693         (DEBUGGER_AUTO_OFFSET): Remove.
2694         (DEBUGGER_ARG_OFFSET): Remove.
2696         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
2697         Emit register stores with the same offsets as the hardware.
2698         (mn10300_store_multiple_operation): Don't check that the register
2699         save offsets are monotonic.
2700         * config/mn10300/mn10300-protos.h: Update.
2702         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
2704         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
2705         in terms of the value on the stack, not the MDR register.
2707 2011-01-11  Jan Hubicka  <jh@suse.cz>
2709         PR lto/45721
2710         PR lto/45375
2711         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
2712         (symbol_alias_set_destroy, symbol_alias_set_contains,
2713         propagate_aliases_backward): Declare.
2714         * lto-streamer-out.c (struct sets): New sturcture.
2715         (trivally_defined_alias): New function.
2716         (output_alias_pair_p): Rewrite.
2717         (output_unreferenced_globals): Fix output of alias pairs.
2718         (produce_symtab): Likewise.
2719         * ipa.c (function_and_variable_visibility): Set weak alias destination
2720         as needed in lto.
2721         * varasm.c (symbol_alias_set_t): Remove.
2722         (symbol_alias_set_destroy): Export.
2723         (propagate_aliases_forward, propagate_aliases_backward): New functions
2724         based on ...
2725         (compute_visible_aliases): ... this one; remove.
2726         (trivially_visible_alias): New
2727         (trivially_defined_alias): New.
2728         (remove_unreachable_alias_pairs): Rewrite.
2729         (finish_aliases_1): Reorganize code checking if alias is defined.
2730         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
2731         in LTO mode.
2733 2011-01-11  Richard Guenther  <rguenther@suse.de>
2735         PR tree-optimization/46076
2736         * tree-ssa.c (useless_type_conversion_p): Conversions from
2737         unprototyped to empty argument list function types are useless.
2739 2011-01-11  Richard Guenther  <rguenther@suse.de>
2741         PR middle-end/45235
2742         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
2743         volatile MEMs as MEM_READONLY_P.
2745 2011-01-11  Richard Guenther  <rguenther@suse.de>
2747         PR tree-optimization/47239
2748         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
2750 2011-01-11  Jeff Law  <law@redhat.com>
2752         PR tree-optimization/47086
2753         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
2754         IVs from statements that might throw.
2756 2011-01-10  Jan Hubicka  <jh@suse.cz>
2758         PR lto/45375
2759         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
2761 2011-01-10  Jan Hubicka  <jh@suse.cz>
2763         PR lto/45375
2764         * profile.c (read_profile_edge_counts): Ignore profile inconistency
2765         when correcting profile.
2767 2011-01-10  Jan Hubicka  <jh@suse.cz>
2769         PR lto/46083
2770         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
2771         DECL_FINI_PRIORITY.
2772         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
2773         Restore DECL_FINI_PRIORITY.
2775 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2777         * doc/gimple.texi: Fix quoting of multi-word return values in
2778         @deftypefn statements.  Ensure presence of return value.  Wrap
2779         overlong @deftypefn lines.
2780         (is_gimple_operand, is_gimple_min_invariant_address): Remove
2781         descriptions of removed functions.
2782         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
2783         of multi-word return value in @deftypefn statement.
2785 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2787         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
2788         (Conditional Expressions, Logical Operators)
2789         (Statement and operand traversals): Do not indent smallexample
2790         code.  Fix duplicate function argument in example.
2792 2011-01-10  Jeff Law  <law@redhat.com>
2794         PR tree-optimization/47141
2795         * ipa-split.c (split_function): Handle case where we are
2796         returning a value and the return block has a virtual operand phi.
2798 2011-01-10  Jan Hubicka  <jh@suse.cz>
2800         PR tree-optimization/47234
2801         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
2802         (pass_feedback_split_functions): Declare.
2803         * passes.c (init_optimization_passes): Add ipa-split as subpass of
2804         tree-profile.
2805         * ipa-split.c (gate_split_functions): Update comments; disable
2806         split-functions for profile_arc_flag and branch_probabilities.
2807         (gate_feedback_split_functions): New function.
2808         (execute_feedback_split_functions): New function.
2809         (pass_feedback_split_functions): New global var.
2811 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
2813         PR lto/46760
2814         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
2815         calling gimple_call_set_cannot_inline.
2817 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
2819         * config/darwin-sections.def: Remove unused section.
2821 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
2823         PR c++/47218
2824         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
2826 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
2828         PR objc/47232
2829         * c-parser.c (c_parser_declaration_or_fndef): Improved
2830         error message.
2832 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
2834         * config/i386/winnt.c (i386_pe_start_function): Make sure
2835         to switch back to function's section.
2837 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
2839         PR gcc/46902
2840         PR testsuite/46912
2841         * plugin.c: Move include of dlfcn.h from here...
2842         * system.h: ... to here.
2844 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2846         * doc/cpp.texi (C++ Named Operators): Fix markup for header
2847         file name.
2848         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
2849         two extra empty pages in PDF output.
2851 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2853         PR objc/47078
2854         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
2855         for error recovery purposes behave as if it was not specified so
2856         that the default type is usd.
2858 2011-01-07  Jan Hubicka  <jh@suse.cz>
2860         PR tree-optmization/46469
2861         * ipa.c (function_and_variable_visibility): Clear needed flags on
2862         nodes with external decls; handle weakrefs merging correctly.
2864 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
2866         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
2867         not false.
2869 2011-01-07  Jan Hubicka  <jh@suse.cz>
2871         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
2872         and no longer claim that gold is required for linker plugin.
2873         * configure: Regenerate.
2874         * gcc.c (PLUGIN_COND): New macro.
2875         (LINK_COMMAND_SPEC): Use it.
2876         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
2877         * config.in (HAVE_LTO_PLUGIN): New.
2878         * configure.ac (--with-lto-plugin): New parameter; autodetect
2879         HAVE_LTO_PLUGIN.
2881 2011-01-07  Jan Hubicka  <jh@suse.cz>
2883         PR tree-optimization/46367
2884         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
2885         when we can update original.
2886         (cgraph_mark_inline_edge): Sanity check.
2887         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
2889 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2891         * config/spu/spu.h (ASM_COMMENT_START): Define.
2893 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2895         PR driver/42445
2896         * gcc.c (%>S): New.
2897         (SWITCH_KEEP_FOR_GCC): Likewise.
2898         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
2899         (do_spec_1): Handle "%>".
2901         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
2903 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
2905         PR target/47201
2906         * config/i386/i386.c (ix86_delegitimize_address): If
2907         simplify_gen_subreg fails, return orig_x.
2909         PR bootstrap/47187
2910         * value-prof.c (gimple_stringop_fixed_value): Handle
2911         lhs of the call properly.
2913 2011-01-07  Jan Hubicka  <jh@suse.cz>
2915         PR lto/45375
2916         * lto-opt.c (lto_reissue_options): Set flag_shlib.
2918 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
2920         * target.def (function_switched_text_sections): New hook.
2921         * doc/tm.texi: Regenerated.
2922         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2923         * final.c (default_function_switched_text_sections): New.
2924         (final_scan_insn): Call function_switched_text_sections when a
2925         mid-function section change occurs.
2926         * output.h (default_function_switched_text_sections): Declare.
2927         * config/darwin-protos.h (darwin_function_switched_text_sections):
2928         Likewise.
2929         * config/darwin.c (darwin_function_switched_text_sections): New.
2930         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2932 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
2934         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
2935         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
2936         the secondary code fragment when outputting for DWARF == 2.
2938 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
2940         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2941         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
2942         Remove.
2943         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
2944         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2946 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
2948         PR debug/46704
2949         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
2950         when it is not empty.
2952 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
2954         Bobcat Enablement
2955         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
2956         (case ${target}): Add btver1.
2957         * config/i386/driver-i386.c (host_detect_local_cpu): Let
2958         -march=native recognize btver1 processors.
2959         * config/i386/i386-c.c (ix86_target_macros_internal): Add
2960         btver1 def_and_undef
2961         * config/i386/i386.c (struct processor_costs btver1_cost): New
2962         btver1 cost table.
2963         (m_BTVER1): New definition.
2964         (m_AMD_MULTIPLE): Includes m_BTVER1.
2965         (initial_ix86_tune_features): Add btver1 tune.
2966         (processor_target_table): Add btver1 entry.
2967         (static const char *const cpu_names): Add btver1 entry.
2968         (software_prefetching_beneficial_p): Add btver1.
2969         (ix86_option_override_internal): Add btver1 instruction sets.
2970         (ix86_issue_rate): Add btver1.
2971         (ix86_adjust_cost): Add btver1.
2972         * config/i386/i386.h (TARGET_BTVER1): New definition.
2973         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
2974         (enum processor_type): Add PROCESSOR_BTVER1.
2975         * config/i386/i386.md (define_attr "cpu"): Add btver1.
2977 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2979         PR target/43309
2980         * config/i386/i386.c (legitimize_tls_address)
2981         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
2982         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
2983         (tls_initial_exec_64_sun): New pattern.
2985 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
2987         * doc/invoke.texi (Overall Options): Improve wording and markup
2988         of the description of -wrapper.
2990 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
2992         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
2993         rdynamic, threads): New Driver options.
2995 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2997         PR target/38118
2998         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
2999         if coming from .tdata.
3000         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3002 2011-01-06  Jan Hubicka  <jh@suse.cz>
3004         PR lto/47188
3005         * collect2.c (main): Do not enable LTOmode when plugin is active.
3007 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3009         PR other/45915
3010         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
3011         --version output if supported.
3012         * configure: Regenerate.
3014 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
3016         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
3017         Driver options.
3019 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
3021         PR c/47150
3022         * c-convert.c (convert): When converting a complex expression
3023         other than COMPLEX_EXPR to a different complex type, ensure
3024         c_save_expr is called instead of save_expr, unless in_late_binary_op.
3025         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
3026         when converting COMPLEX_TYPE.
3028 2011-01-06  Ira Rosen  <irar@il.ibm.com>
3030         PR tree-optimization/47139
3031         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
3032         only the last reduction value is used outside the loop.  Update
3033         documentation.
3035 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
3037         * config/rtems.opt: New.
3038         * config.gcc (*-*-rtems*): Use rtems.opt.
3040 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
3042         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
3043         processors do not support 3DNow instructions.
3045 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3047         * config/spu/spu.c (spu_option_override): Set parameter
3048         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
3050 2011-01-05  Jan Hubicka  <jh@suse.cz>
3052         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
3053         at the command line.
3055 2011-01-05  Martin Jambor  <mjambor@suse.cz>
3057         PR lto/47162
3058         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
3059         deltas on streamed outgoing edges.
3060         (output_node_opt_summary): Output info for outgoing edges only when
3061         the node is in new parameter set.
3062         (output_cgraph_opt_summary): New parameter set, passed to the two
3063         aforementioned functions.  Update its forward declaration and its
3064         callee too.
3066 2011-01-05  Tom Tromey  <tromey@redhat.com>
3068         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
3069         operator to c_finish_omp_atomic.
3070         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
3071         (build_unary_op): Update.
3072         (build_modify_expr): Update.
3073         (build_asm_expr): Update.
3075 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3077         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
3078         newly inserted insns.
3079         (pad_bb): Likewise.
3080         (spu_emit_branch_hint): Likewise.
3081         (insert_hbrp_for_ilb_runout): Likewise.
3082         (spu_machine_dependent_reorg): Call df_finish_pass after
3083         schedule_insns returns.
3085 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3087         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
3089 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
3091         PR tree-optimization/47005
3092         * tree-sra.c (struct access): Add 'non_addressable' bit.
3093         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
3094         (decide_one_param_reduction): Return 0 if the parameter is passed by
3095         reference and one of the accesses in the group is non_addressable.
3097 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3099         PR tree-optimization/47056
3100         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
3101         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
3102         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
3104 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3106         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
3107         initializer.  Skip view conversions from aggregate types.
3109 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
3111         PR bootstrap/47055
3112         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
3114 2011-01-04  Philipp Thomas <pth@suse.de>
3116         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
3117         obvious typo.
3119 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3121         * function.c (thread_prologue_and_epilogue_insns): Do not crash
3122         on empty epilogue sequences.
3124 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
3126         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
3127         non-static): New Driver options.
3129 2011-01-04  Jie Zhang  <jie@codesourcery.com>
3131         PR driver/47137
3132         * gcc.c (default_compilers[]): Set combinable field to 0
3133         for all assembly languages.
3135 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
3137         * config/mips/loongson3a.md: New file.
3138         * config/mips/mips.md: Include loongson3a.md.
3139         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
3140         TUNE_LOONGSON_3A.
3142 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
3144         PR middle-end/47017
3145         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
3146         instead of convert_memory_address_addr_space on the base expression.
3148 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3150         * config/spu/spu.c (spu_option_override): Update error text
3151         for bad -march= / -mtune= values.
3153 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3155         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
3156         if branch-hint optimization will be performed.
3158 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
3160         PR tree-optimization/47148
3161         * ipa-split.c (split_function): Convert arguments to
3162         DECL_ARG_TYPE if possible.
3164         PR tree-optimization/47155
3165         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
3166         when computing uns.
3168         PR rtl-optimization/47157
3169         * combine.c (try_combine): If undobuf.other_insn becomes
3170         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
3171         and set *new_direct_jump_p too.
3173 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
3175         PR tree-optimization/47021
3176         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
3178 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
3180         * gcc.c (process_command): Update copyright notice dates.
3181         * gcov.c (print_version): Likewise.
3182         * gcov-dump.c (print_version): Likewise.
3183         * mips-tfile.c (main): Likewise.
3184         * mips-tdump.c (main): Likewise.
3186 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3188         PR tree-optimization/46801
3189         * tree-sra.c (type_internals_preclude_sra_p): Check whether
3190         aggregate fields start at byte boundary instead of the bit-field flag.
3192 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
3194         PR driver/47137
3195         * gcc.c (main): Revert revision 168407.
3197 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3199         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
3201 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3203         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
3204         vector optab to expand vector/scalar shift, update gimple to vector.
3206 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3208         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
3209         a thunk.
3211 2011-01-03  Martin Jambor  <mjambor@suse.cz>
3213         PR tree-optimization/46984
3214         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
3215         HOST_WIDE_INT.
3216         (cgraph_create_indirect_edge): Fixed line length.
3217         (cgraph_indirect_call_info): Declare.
3218         (cgraph_make_edge_direct) Update declaration.
3219         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
3220         (cgraph_create_indirect_edge): Use it.
3221         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
3222         callees.
3223         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
3224         the new thunk_delta representation.
3225         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
3226         HOST_WIDE_INT.
3227         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
3228         (ipa_read_indirect_edge_info): Likewise.
3229         * lto-cgraph.c (output_edge_opt_summary): New function.
3230         (output_node_opt_summary): Call it on all outgoing edges.
3231         (input_edge_opt_summary): New function.
3232         (input_node_opt_summary): Call it on all outgoing edges.
3234 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
3236         PR driver/47137
3237         * gcc.c (main): Don't check have_o when settting combine_inputs.
3239 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
3241         * regrename.c: Add general comment describing the pass.
3242         (struct du_head): Remove 'length' field.
3243         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
3244         (regrename_optimize): Do not sort chains.  Rework comments, add others.
3245         Force renaming to the preferred class (if any) in the first pass and do
3246         not consider registers that belong to it in the second pass.
3247         (create_new_chain): Do not set 'length' field.
3248         (scan_rtx_reg): Likewise.
3250 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
3252         PR tree-optimization/47140
3253         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
3254         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
3255         to bit_value_binop.
3257         PR rtl-optimization/47028
3258         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
3259         parm_birth_insn instead of at the beginning of first bb.
3261 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
3263         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
3264         Remove the word "see" before "@pxref".
3265         * doc/rtl.texi: Remove the word "see" before "@pxref".
3267 2011-01-01  Jan Hubicka  <jh@suse.cz>
3269         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
3270         memory.
3272 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
3274         PR target/38662
3275         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
3278 Copyright (C) 2011 Free Software Foundation, Inc.
3280 Copying and distribution of this file, with or without modification,
3281 are permitted in any medium without royalty provided the copyright
3282 notice and this notice are preserved.