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