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