OSDN Git Service

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