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