OSDN Git Service

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