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