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