OSDN Git Service

068811485c46ea504f37f180639bd66ab9cd4aa5
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2
3         * config.gcc: Obsolete *-*-solaris2.8*.
4         * doc/install.texi (Specific, *-*-solaris2*): Document it.
5
6 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7
8         PR bootstrap/48135
9         * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
10         reference.  Solaris 8 perl works.
11
12 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13
14         PR bootstrap/48135
15         * doc/install.texi (Prerequisites): Move jar etc. up.
16         Explain support library version requirements.
17
18 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
19
20         PR bootstrap/48135
21         * doc/install.texi (Prerequisites): Move Perl to build
22         requirements.  Always necessary on Solaris 2 with Sun ld.
23
24 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
25
26         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
27         binutils 2.21.
28         (Specific, i?86-*-solaris2.[89]): Likewise.
29         (Specific, i?86-*-solaris2.10): Likewise.
30         (Specific, mips-sgi-irix6): Likewise.
31         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
32         Update for binutils 2.21.
33
34 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
35
36         * configure.ac (gcc_cv_lto_plugin): Fix typo.
37         Allow -fuse-linker-plugin for non-default plugin linker.
38         * configure: Regenerate.
39
40 2011-03-21  Nicola Pero  <nicola.pero@meta-innovation.com>
41
42         PR bootstrap/48167
43         * gengtype.c (files_rules): Added rule for cp/parser.h.
44
45 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
46
47         PR target/48213
48         * config/s390/s390.c (s390_delegitimize_address): Don't call
49         lowpart_subreg if orig_x has BLKmode.
50
51 2011-03-21  Kai Tietz  <ktietz@redhat.com>
52
53         PR target/12171
54         * doc/plugins.texi: Adjust documentation
55         for plugin register_callback.
56         * tree.h (attribute_spec): Add new member
57         affects_type_identity.
58         - Zitierten Text anzeigen -
59         * attribs.c (empty_attribute_table): Adjust
60         attribute_spec initializers.
61         * config/alpha/alpha.c: Likewise.
62         * config/arc/arc.c: Likewise.
63         * config/arm/arm.c: Likewise.
64         * config/avr/avr.c: Likewise.
65         * config/bfin/bfin.c: Likewise.
66         * config/crx/crx.c: Likewise.
67         * config/darwin.h: Likewise.
68         * config/h8300/h8300.c: Likewise.
69         * config/i386/cygming.h: Likewise.
70         * config/i386/i386.c: Likewise.
71         * config/ia64/ia64.c: Likewise.
72         * config/m32c/m32c.c: Likewise.
73         * config/m32r/m32r.c: Likewise.
74         * config/m68hc11/m68hc11.c: Likewise.
75         * config/m68k/m68k.c: Likewise.
76         * config/mcore/mcore.c: Likewise.
77         * config/mep/mep.c: Likewise.
78         * config/microblaze/microblaze.c: Likewise.
79         * config/mips/mips.c: Likewise.
80         * config/rs6000/rs6000.c: Likewise.
81         * config/rx/rx.c: Likewise.
82         * config/sh/sh.c: Likewise.
83         * config/sol2.h: Likewise.
84         * config/sparc/sparc.c: Likewise.
85         * config/spu/spu.c: Likewise.
86         * config/stormy16/stormy16.c: Likewise.
87         * config/v850/v850.c: Likewise.
88
89 2011-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
90
91         * simplify-rtx.c (simplify_binary_operation_1): Handle
92         (xor (and A B) C) case when B and C are both constants.
93
94 2011-03-21  Mingjie Xing  <mingjie.xing@gmail.com>
95
96         * tree-dfa.c (add_referenced_var): Fix typo in comment.
97
98 2011-03-20  Eric Botcazou  <ebotcazou@adacore.com>
99
100         PR bootstrap/48168
101         * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
102
103 2011-03-20  Jakub Jelinek  <jakub@redhat.com>
104
105         PR rtl-optimization/48156
106         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
107         assume df and df_lr are not NULL.
108
109 2011-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
110
111         PR debug/48023
112         * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
113         between a call and its CALL_ARG_LOCATION note.
114
115 2011-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
116
117         PR debug/48178
118         * config/sh/sh.c (find_barrier): Don't emit a constant pool
119         between a call and its corresponding CALL_ARG_LOCATION note.
120
121 2011-03-19  Anatoly Sokolov  <aesok@post.ru>
122
123         * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
124         instead of loop. Use HARD_REGISTER_NUM_P predicate.
125         * haifa-sched.c (setup_ref_regs): Ditto.
126         * caller-save.c (add_used_regs_1): Ditto.
127         * dse.c (look_for_hardregs): Ditto.
128         * df-problems.c (df_simulate_one_insn_forwards): Ditto.
129         * sched-rgn.c (check_live_1): Ditto.
130
131 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
132
133         * c-decl.c (diagnose_mismatched_decls): Give an error for
134         redefining a typedef with variably modified type.
135
136 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
137
138         * c-decl.c (grokfield): Don't allow typedefs for structures or
139         unions with no tag by default.
140         * doc/extend.texi (Unnamed Fields): Update.
141
142 2011-03-18  Uros Bizjak  <ubizjak@gmail.com>
143
144         * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
145         Rewrite using indirect functions.
146         (lwp_slwpcb): Ditto.
147         * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
148         (avx_vinsertf128<mode>): Ditto.
149
150 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
151
152         * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
153         unspecs.
154
155 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
156
157         * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
158         splitting between a call and its corresponding CALL_ARG_LOCATION
159         note.
160
161 2011-03-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
162
163         PR rtl-optimization/48170
164         * gcse.c (hoist_code): Remove bogus asserts.
165
166 2011-03-18  Georg-Johann Lay  <avr@gjlay.de>
167
168         * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
169         computation for prologue/epilogue.
170
171 2011-03-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
172
173         * Makefile.in (check-consistency): Remove.
174
175 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
176
177         PR debug/48176
178         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
179         arange_table_in_use is 0, but either text_section_used or
180         cold_text_section_used is true.  Don't call it if
181         !info_section_emitted.
182
183 2011-03-18  Anatoly Sokolov  <aesok@post.ru>
184
185         * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
186         FUNCTION_VALUE_REGNO_P): Remove.
187         * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
188         Remove.
189         * config/avr/avr.c (avr_ret_register): Make static inline.
190         (avr_function_value_regno_p): New function.
191         (avr_libcall_value): Make static. Add 'func' argument.
192         (avr_function_value): Make static. Rename 'func' argument to
193         'fn_decl_or_type', forward it to avr_libcall_value. Call
194         avr_ret_register function instead of RET_REGISTER macro.
195         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
196
197 2011-03-18  Jason Merrill  <jason@redhat.com>
198
199         PR c++/23372
200         * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
201
202 2011-03-18  Richard Guenther  <rguenther@suse.de>
203
204         * doc/install.texi (--enable-gold): Remove.
205         (--with-plugin-ld): Document.
206         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
207
208 2011-03-18  Andrew Pinski  <pinskia@gmail.com>
209
210         PR middle-end/47790
211         * expr.c (optimize_bitfield_assignment_op): Revamp to work
212         again after expansion changes.
213
214 2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>
215
216         * combine.c (try_combine): Do simplification only call of
217         subst() on i2 even when i1 is present. Update comments.
218
219 2011-03-18  Kaz Kojima  <kkojima@gcc.gnu.org>
220
221         * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
222         and UNSPEC_PCREL_SYMOFF.
223
224 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
225
226         * config/s390/s390.md: Use define_c_enum for the unspec constant
227         definitions.
228
229 2011-03-18  Richard Henderson  <rth@redhat.com>
230             Jakub Jelinek  <jakub@redhat.com>
231
232         PR bootstrap/48161
233         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
234         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
235
236 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
237
238         PR middle-end/47725
239         * combine.c (cant_combine_insn_p): Don't check zero/sign
240         extended hard registers.
241
242 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
243
244         PR middle-end/47725
245         * combine.c (cant_combine_insn_p): Check zero/sign extended
246         hard registers.
247
248 2011-03-17  Anatoly Sokolov  <aesok@post.ru>
249
250         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
251         * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
252         * config/v850/v850.c (v850_output_addr_const_extra): Make static.
253         Change return type to bool.
254         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
255
256 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
257
258         PR debug/48163
259         * var-tracking.c (prepare_call_arguments): If CALL target
260         is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
261         pc instead of looking it up using cselib_lookup and use
262         Pmode for it if x has VOIDmode.
263         * dwarf2out.c (gen_subprogram_die): If also both first and
264         second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
265
266         PR debug/48163
267         * function.c (assign_parms): For data.passed_pointer parms
268         use MEM of data.entry_parm instead of data.entry_parm itself
269         as DECL_INCOMING_RTL.
270         * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
271         also when passed and declared mode is the same, DECL_RTL
272         is a MEM with pseudo as address and DECL_INCOMING_RTL is
273         a MEM too.
274
275 2011-03-16  Jeff Law  <law@redhat.com>
276
277         PR rtl-optimization/37273
278         * ira-costs.c (scan_one_insn): Detect constants living in memory and
279         handle them like argument loads from stack slots.  Do not double
280         count memory for memory constants and argument loads from stack slots.
281
282 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
283
284         PR debug/48160
285         * var-tracking.c (prepare_call_arguments): Check SUBREG.
286
287 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
288
289         PR target/48171
290         * config/i386/i386.opt: Add Save to -mavx and -mfma.
291
292 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
293
294         PR bootstrap/48153
295         * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
296         if dwarf_strict.
297         (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
298         Clear call_arg_locations and call_arg_loc_last always.
299
300         PR middle-end/48152
301         * var-tracking.c (prepare_call_arguments): If argument needs to be
302         passed by reference, adjust argtype and mode.
303
304 2011-03-17  Richard Guenther  <rguenther@suse.de>
305
306         PR middle-end/48134
307         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
308         a value make sure to fold the statement.
309
310 2011-03-17  Chung-Lin Tang  <cltang@codesourcery.com>
311
312         PR target/43872
313         * config/arm/arm.c (arm_get_frame_offsets): Adjust early
314         return condition with !cfun->calls_alloca.
315
316 2011-03-17  Richard Guenther  <rguenther@suse.de>
317
318         PR bootstrap/48148
319         * lto-cgraph.c (input_overwrite_node): Clear the abstract
320         origin for decls in other ltrans units.
321         (input_varpool_node): Likewise.
322
323 2011-03-17  Richard Guenther  <rguenther@suse.de>
324
325         PR middle-end/48165
326         * tree-object-size.c (compute_object_offset): Properly return
327         the offset operand of MEM_REFs as sizetype.
328
329 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
330
331         PR rtl-optimization/48141
332         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
333         * dse.c: Include params.h.
334         (active_local_stores_len): New variable.
335         (add_wild_read, dse_step1): Clear it when setting active_local_stores
336         to NULL.
337         (record_store, check_mem_read_rtx): Decrease it when removing
338         from the chain.
339         (scan_insn): Likewise.  Increase it when adding to chain, if it
340         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
341         set active_local_stores to NULL before the addition.
342         * Makefile.in (dse.o): Depend on $(PARAMS_H).
343
344         PR rtl-optimization/48141
345         * dse.c (record_store): If no positions are needed in an insn
346         that cannot be deleted, at least unchain it from active_local_stores.
347
348 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
349
350         PR debug/47510
351         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
352         (lookup_type_die_strip_naming_typedef): ... here.
353         (get_context_die): Use it.
354         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
355         the anonymous struct named by the naming typedef.
356
357 2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>
358
359         PR target/48154
360         * config/i386/i386.c (ix86_builtin_vectorized_function): Check
361         TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
362
363 2011-03-16  Jeff Law  <law@redhat.com>
364
365         * tree-vrp.c (identify_jump_threads): Slightly simplify type
366         check for operands of conditional.  Allow type to be a pointer.
367
368 2011-03-16  Richard Guenther  <rguenther@suse.de>
369
370         PR tree-optimization/48149
371         * fold-const.c (fold_binary_loc): Fold
372         COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
373
374 2011-03-16  Richard Guenther  <rguenther@suse.de>
375
376         PR tree-optimization/26134
377         * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
378         complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
379         (non_rewritable_mem_ref_base): Handle complex type component
380         accesses, constrain offsets for vector and complex extracts
381         more properly.
382
383 2011-03-16  Richard Guenther  <rguenther@suse.de>
384
385         PR tree-optimization/48146
386         * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
387         operands avoiding the need for renaming.
388
389 2011-03-16  Richard Guenther  <rguenther@suse.de>
390
391         * gimple-fold.c (maybe_fold_reference): Open-code relevant
392         constant folding.  Move MEM_REF canonicalization first.
393         Rely on fold_const_aggregate_ref for initializer folding.
394         * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
395
396 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
397
398         PR middle-end/48136
399         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
400         arg0/arg1 or their arguments are always fold converted to matching
401         types.
402
403         * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
404         to nargs.
405
406 2011-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
407
408         PR lto/46944
409         * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
410         Handle in-tree gold.
411         (ld_vers): Extract binutils version for gold.
412         (gcc_cv_ld_hidden): Handle gold here.
413         (gcc_cv_lto_plugin): Determine level of linker plugin support.
414         * configure: Regenerate.
415         * config.in: Regenerate.
416         * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
417         -fuse-linker-plugin otherwise.
418         (LINK_PLUGIN_SPEC): Define.  Extract from LINK_COMMAND_SPEC.
419         (LINK_COMMAND_SPEC): Use it.
420         (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
421
422 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
423
424         * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
425         * calls.c: Remove debug.h include.
426         (emit_call_1): Don't call virtual_call_token debug hook.
427         * dwarf2out.c (debug_dcall_section, debug_vcall_section,
428         dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
429         vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
430         size_of_dcall_table, output_dcall_table, size_of_vcall_table,
431         output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
432         vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
433         dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
434         dwarf2out_virtual_call): Remove.
435         (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
436         copy_call_info and virtual_call hooks.
437         (dwarf2out_init): Don't initialize vcall_insn_table,
438         debug_dcall_section and debug_vcall_section.
439         (prune_unused_types): Don't mark nodes from dcall_table.
440         (dwarf2out_finish): Don't output dcall or vcall tables.
441         * final.c (final_scan_insn): Don't call direct_call or
442         virtual_call debug hooks.
443         * debug.h (struct gcc_debug_hooks): Remove direct_call,
444         virtual_call_token, copy_call_info and virtual_call hooks.
445         (debug_nothing_uid): Remove prototype.
446         * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
447         copy_call_info and virtual_call hooks.
448         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
449         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
450         * debug.c (do_nothing_debug_hooks): Likewise.
451         (debug_nothing_uid): Remove.
452         * doc/invoke.texi (-fenable-icf-debug): Remove.
453         * common.opt (-fenable-icf-debug): Likewise.
454
455         * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
456         * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
457         call's MEM.  Handle functions returning aggregate through a hidden
458         first pointer.  For virtual calls add clobbered pc to call arguments
459         chain.
460         * dwarf2out.c (gen_subprogram_die): Emit
461         DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
462         can't be emitted.
463
464         PR debug/45882
465         * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
466         * rtl.h (ENTRY_VALUE_EXP): Define.
467         * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
468         * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
469         * print-rtl.c (print_rtx): Likewise.
470         * gengtype.c (adjust_field_rtx_def): Likewise.
471         * var-tracking.c (vt_add_function_parameter): Adjust
472         gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
473         * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
474         * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
475         partition is a default definition of a PARM_DECL, use ENTRY_VALUE
476         of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
477
478         * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
479         Call var_location debug hook even on CALL_INSNs.
480         (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
481         * rtl.def (ENTRY_VALUE): New.
482         * dwarf2out.c: Include cfglayout.h.
483         (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
484         output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
485         (struct call_arg_loc_node): New type.
486         (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
487         tail_call_site_count): New variables.
488         (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
489         DW_TAG_GNU_call_site_parameter.
490         (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
491         DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
492         DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
493         DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
494         and DW_AT_GNU_all_source_call_sites.
495         (mem_loc_descriptor): Handle ENTRY_VALUE.
496         (add_src_coords_attributes): Don't add enything if
497         DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
498         (dwarf2out_abstract_function): Save and clear call_arg_location,
499         call_site_count and tail_call_site_count around dwarf2out_decl call.
500         (gen_call_site_die): New function.
501         (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
502         (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
503         (dwarf2out_function_decl): Clear call_arg_locations,
504         call_arg_loc_last, set call_site_count and tail_call_site_count
505         to -1 and free block_map.
506         (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
507         CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
508         followed by any real instructions.
509         (dwarf2out_begin_function): Set call_site_count and
510         tail_call_site_count to 0.
511         (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
512         is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
513         attempt to force a DIE for it and worst case remove the attribute.
514         (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
515         check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
516         the decl itself.
517         * var-tracking.c: Include tm_p.h.
518         (vt_stack_adjustments): For calls call note_register_arguments.
519         (argument_reg_set): New variable.
520         (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
521         ensure the VALUE is resolved.
522         (call_arguments): New variable.
523         (prepare_call_arguments): New function.
524         (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
525         (struct expand_loc_callback_data): Add ignore_cur_loc field.
526         (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
527         always use the best expression.
528         (vt_expand_loc): Add ignore_cur_loc argument.
529         (vt_expand_loc_dummy): Clear ignore_cur_loc field.
530         (emit_note_insn_var_location): Adjust vt_expand_loc callers.
531         (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
532         note for all calls.
533         (vt_add_function_parameter): Use cselib_lookup_from_insn.
534         If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
535         argument.  Don't call cselib_preserve_only_values and
536         cselib_reset_table.
537         (note_register_arguments): New function.
538         (vt_initialize): Compute argument_reg_set.  Call
539         vt_add_function_parameters before processing basic blocks instead of
540         afterwards.  For calls call prepare_call_arguments before calling
541         cselib_process_insn.
542         * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
543         * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
544         (var-tracking.o): Depend on $(TM_P_H).
545         * cfglayout.h (insn_scope): New prototype.
546         * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
547         * cfglayout.c (insn_scope): No longer static.
548         * insn-notes.def (CALL_ARG_LOCATION): New.
549         * calls.c (expand_call, emit_library_call_value_1): Put USEs for
550         MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
551         * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
552         nothing for DECL_EXTERNAL BLOCK_VARS.
553
554 2011-03-16  Alan Modra  <amodra@gmail.com>
555
556         PR target/45844
557         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
558         create invalid offset address for vsx splat insn.
559         * config/rs6000/predicates.md (splat_input_operand): New.
560         * config/rs6000/vsx.md (vsx_splat_*): Use it.
561
562 2011-03-15  Xinliang David Li  <davidxl@google.com>
563
564         PR c/47837
565         * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
566         (normalize_preds): New function.
567         (is_use_properly_guarded): Normalize def predicates.
568
569 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
570
571         PR target/46778
572         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
573         in the output template.
574
575 2011-03-15  Richard Guenther  <rguenther@suse.de>
576
577         PR middle-end/47650
578         * tree-pretty-print.c (dump_function_declaration): Properly
579         dump unprototyped and varargs function types.
580
581 2011-03-15  Richard Guenther  <rguenther@suse.de>
582
583         PR tree-optimization/13954
584         * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
585         and friends.
586
587 2011-03-15  Richard Guenther  <rguenther@suse.de>
588
589         PR tree-optimization/48037
590         * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
591         selects into BIT_FIELD_REFs.
592         (non_rewritable_mem_ref_base): Check if a MEM_REF is a
593         vector select.
594
595 2011-03-15  Jakub Jelinek  <jakub@redhat.com>
596
597         PR tree-optimization/48129
598         * builtins.c (fold_builtin_snprintf): Convert to type of
599         built_in_decls[BUILT_IN_SNPRINTF] retval instead of
600         implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
601
602 2011-03-15  Richard Guenther  <rguenther@suse.de>
603
604         PR tree-optimization/41490
605         * tree-ssa-dce.c (propagate_necessity): Handle returns without
606         value but with VUSE.
607         * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
608         return statements.
609         * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
610         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
611         * tree-tailcall.c (find_tail_calls): Ignore returns.
612
613 2011-03-15  Richard Guenther  <rguenther@suse.de>
614
615         PR middle-end/48031
616         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
617         or variable-indexed array accesses when in gimple form.
618
619 2011-03-15  Richard Guenther  <rguenther@suse.de>
620
621         * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
622
623 2011-03-15  Alan Modra  <amodra@gmail.com>
624
625         PR target/48032
626         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
627         presume symbol_refs without a symbol_ref_decl are suitably
628         aligned, nor other trees we may see here.  Handle anchor symbols.
629         (legitimate_constant_pool_address_p): Comment.  Add mode param.
630         Check cmodel=medium addresses.  Adjust all calls.
631         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
632         creating cmodel=medium optimized access to locals.
633         * config/rs6000/constraints.md (R): Pass QImode to
634         legitimate_constant_pool_address_p.
635         * config/rs6000/predicates.md (input_operand): Pass mode to
636         legitimate_constant_pool_address_p.
637         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
638         Update prototype.
639
640 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
641
642         PR target/48053
643         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
644         64-bit constants being loaded into registers other than GPRs such
645         as loading 0 into a VSX register.
646
647 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
648
649         * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
650
651 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
652
653         PR middle-end/47917
654         * builtins.c (fold_builtin_snprintf): New function.
655         (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
656         (fold_builtin_4): Likewise.
657
658         PR middle-end/38878
659         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
660         STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
661         and C - X == X also strip nops from +/-/p+ operand.
662         When optimizing -X == C, fold C to arg0's type.
663
664         PR debug/47946
665         * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
666         emit it as add_AT_int instead of add_AT_unsigned.
667
668 2011-03-14  Tom Tromey  <tromey@redhat.com>
669
670         * unwind-dw2.c: Include sys/sdt.h if it exists.
671         (_Unwind_DebugHook): Use STAP_PROBE2.
672         * config.in, configure: Rebuild.
673         * configure.ac: Check for sys/sdt.h.
674
675 2011-03-14  Uros Bizjak  <ubizjak@gmail.com>
676
677         * config/i386/i386.md (ROUND_FLOOR): New constant.
678         (ROUND_CEIL): Ditto.
679         (ROUND_TRUNC): Ditto.
680         (ROUND_MXCSR): Ditto.
681         (ROUND_NO_EXC): Ditto.
682         (rint<mode>2): Use new defines instead of numerical constants.
683         (floor<mode>2): Ditto.
684         (ceil<mode>2): Ditto.
685         (btrunc<mode>2): Ditto.
686         * config/i386/i386-builtin-types.def: Define ROUND function type
687         aliases.
688         * config/i386/i386.c (enum ix86_builtins): Add
689         IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
690         (struct builtin_description): Add
691         __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
692         (ix86_expand_sse_round): New static function.
693         (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
694         function types.
695         (ix86_builtin_vectorized_function): Handle
696         BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
697
698 2011-03-14  Tom Tromey  <tromey@redhat.com>
699
700         * c-parser.c (c_parser_asm_string_literal): Clear
701         warn_overlength_strings.
702
703 2011-03-14  Tom Tromey  <tromey@redhat.com>
704
705         * c-parser.c (disable_extension_diagnostics): Save
706         warn_overlength_strings.
707         (restore_extension_diagnostics): Restore warn_overlength_strings.
708
709 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
710
711         * BASE-VER: Change to 4.7.0.
712
713 2011-03-14  Richard Guenther  <rguenther@suse.de>
714
715         PR middle-end/48098
716         * tree.c (build_vector_from_val): Adjust assert to requirements
717         and reality.
718
719 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
720
721         PR bootstrap/48102
722         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
723
724 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
725
726         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
727         terms of target_flags_explicit. Adjust copyright year.
728
729         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
730         * config/rs6000/t-freebsd: New file. Add override for
731         LIB2FUNCS_EXTRA.
732
733 2011-03-13  Chris Demetriou  <cgd@google.com>
734
735         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
736         (-fno-diagnostics-show-option): this, to reflect current default.
737         (-Werror=): Update text about -fno-diagnostics-show-option.
738
739 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
740
741         PR target/48053
742         * config/rs6000/predicates.md (easy_vector_constant_add_self,
743         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
744         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
745         mode is not V2DImode or V2DFmode.
746         (vspltis_constant): Do not handle V2DImode and V2DFmode.
747         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
748         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
749         registers to 0.
750         (movdi_internal64): Likewise.
751
752 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
753
754         PR tree-optimization/47127
755         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
756         parameter.
757         (set_cloog_options): Same.
758         (scop_to_clast): Same.
759         (print_clast_stmt): Do not call cloog_state_malloc and
760         cloog_state_free.
761         (print_generated_program): Same.
762         (gloog): Same.
763         * graphite-clast-to-gimple.h (cloog_state): Declared.
764         (scop_to_clast): Adjust declaration.
765         * graphite.c (cloog_state): Defined here.
766         (graphite_initialize): Call cloog_state_malloc.
767         (graphite_finalize): Call cloog_state_free.
768
769 2011-03-11  Jason Merrill  <jason@redhat.com>
770
771         * attribs.c (lookup_attribute_spec): Take const_tree.
772         * tree.h: Adjust.
773
774 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
775
776         * config/sparc/sparc.c (sparc_option_override): Use
777         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
778
779 2011-03-11  Richard Guenther  <rguenther@suse.de>
780
781         PR tree-optimization/48067
782         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
783         multiplication result will be only used once on the target
784         stmt.
785
786 2011-03-11  Richard Guenther  <rguenther@suse.de>
787
788         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
789
790 2011-03-11  Richard Guenther  <rguenther@suse.de>
791
792         PR lto/48073
793         * tree.c (find_decls_types_r): Do not walk types only reachable
794         from IDENTIFIER_NODEs.
795
796 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
797
798         PR middle-end/48044
799         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
800         all vnode->force_output nodes as needed.
801
802 2011-03-11  Jason Merrill  <jason@redhat.com>
803
804         PR c++/48069
805         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
806         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
807
808 2011-03-11  Martin Jambor  <mjambor@suse.cz>
809
810         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
811         cgraph_node.
812
813 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
814
815         PR tree-optimization/48063
816         * ipa-inline.c (cgraph_decide_inlining): Don't try to
817         inline functions called once if !tree_can_inline_p (node->callers).
818
819 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
820
821         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
822         extra_objs.
823         * config/score/score3.c: Delete.
824         * config/score/score3.h: Delete.
825         * config/score/mul-div.S: Delete.
826         * config/score/sfp-machine.h: Add new file.
827         * config/score/constraints.md: Add new file.
828         * config/score/t-score-softfp: Add new file.
829         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
830         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
831         (score7_extra_constraint): Delete.
832         (score7_option_override): Remove unused code.
833         * config/score/score.c: Remove score3 and score5 define and code.
834         * config/score/score.h: Remove score3 and score5 define and code.
835         * config/score/score.md: Remove score3 template and unusual insn.
836         * config/score/score.opt: Remove score3 and score5 options.
837
838 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
839
840         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
841         when _HPUX_SOURCE is defined.
842         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
843
844 2011-03-10  Jason Merrill  <jason@redhat.com>
845
846         PR c++/48029
847         * stor-layout.c (layout_type): Don't set structural equality
848         on arrays of incomplete type.
849         * tree.c (type_hash_eq): Handle comparing them properly.
850
851 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
852
853         PR debug/48043
854         * config/s390/s390.c (s390_delegitimize_address): Make sure the
855         result mode matches original rtl mode.
856
857 2011-03-10  Nick Clifton  <nickc@redhat.com>
858
859         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
860         (andsi3, andsi3_flags): Fix timings for three operand alternative.
861
862 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
863
864         PR rtl-optimization/47866
865         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
866         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
867         if target wasn't scalar.
868         * function.c (assign_stack_temp_for_type): Assert that neither
869         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
870         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
871         macro.
872         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
873
874 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
875
876         * config/s390/s390-protos.h (s390_label_align): New prototype.
877         * config/s390/s390.c (s390_label_align): New function.
878         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
879
880 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
881
882         PR target/47755
883         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
884         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
885         (output_vec_const_move): Ditto.
886
887 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
888
889         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
890         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
891         * config/mips/mips.c (mips_preferred_reload_class): Make static.
892         Change 'rclass' argument and result type to reg_class_t.
893         (TARGET_PREFERRED_RELOAD_CLASS): Define.
894
895 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
896
897        * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
898        * config/avr/avr.c (TARGET_REGISTER_MOVE_COST,
899        TARGET_MEMORY_MOVE_COST): Define.
900        (avr_register_move_cost, avr_memory_move_cost): New Functions.
901
902 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
903
904         PR debug/47881
905         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
906         removed anything.
907
908         PR tree-optimization/48022
909         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
910         for EQ/NE_EXPR.
911
912 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
913
914         PR debug/47991
915         * var-tracking.c (find_use_val): Return NULL for
916         cui->sets && cui->store_p BLKmode MEMs.
917
918 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
919
920         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
921         Remove.
922         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
923         xstormy16_print_operand_address): Remove.
924         * config/stormy16/stormy16.c (xstormy16_print_operand,
925         xstormy16_print_operand_address): Make static.
926         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
927
928 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
929
930         PR target/47862
931         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
932         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
933         before definition.
934
935 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
936
937         PR bootstrap/48000
938         * cfgloopmanip.c (fix_bb_placements): Return immediately
939         if FROM is BASE_LOOP's header.
940
941 2011-03-07  Paul W√∂gerer  <paul_woegerer@mentor.com>
942
943         * gimplify.c (gimplify_function_tree): Fix building calls
944         to __builtin_return_address.
945
946 2011-03-07  Alan Modra  <amodra@gmail.com>
947
948         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
949         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
950         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
951         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
952         return_mode args.
953         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
954         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
955         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
956         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
957         * config/rs6000/rs6000.c
958         (rs6000_elf_end_indicate_exec_stack): Rename to..
959         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
960         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
961         (rs6000_file_start): ..here.
962         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
963         file scope variables.
964         (call_ABI_of_interest): New function.
965         (init_cumulative_args): Set above vars when function return value
966         is a float, vector, or small struct.
967         (rs6000_function_arg_advance_1): Likewise for function args.
968         (rs6000_va_start): Set rs6000_passes_float if variable arg function
969         references float args.
970
971 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
972
973         * doc/cfg.texi: Remove "See" before @ref.
974         * doc/invoke.texi: Likewise.
975
976 2011-03-05  Jason Merrill  <jason@redhat.com>
977
978         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
979
980 2011-03-05  Anthony Green  <green@moxielogic.com>
981
982         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
983
984 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
985
986         PR rtl-optimization/47899
987         * cfgloopmanip.c (fix_bb_placements): Fix first argument
988         to flow_loop_nested_p when moving the loop upward.
989
990 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
991
992         PR target/47719
993         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
994
995 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
996
997         PR tree-optimization/47967
998         * ipa-cp.c (build_const_val): Return NULL instead of creating
999         VIEW_CONVERT_EXPR for mismatching sizes.
1000         (ipcp_create_replace_map): Return NULL if build_const_val failed.
1001         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
1002         give up on versioning.
1003
1004 2011-03-05  Alan Modra  <amodra@gmail.com>
1005
1006         PR target/47986
1007         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1008         full cmodel medium/large lo_sum + high addresses.
1009
1010 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1011
1012         * config/s390/s390.c (s390_decompose_address): Reject non-literal
1013         pool references in UNSPEC_LTREL_OFFSET.
1014
1015 2011-03-04  Jan Hubicka  <jh@suse.cz>
1016
1017         PR lto/47497
1018         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
1019         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
1020         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
1021         Add node pointers.
1022         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
1023         cgraph_add_thunk): Add node pointers.
1024         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
1025         associated to right node.
1026         (input_node): Update use of cgraph_same_body_alias
1027         and cgraph_add_thunk.
1028
1029 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1030
1031         * config/i386/i386.opt (mprefer-avx128): New flag.
1032         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
1033         modes when the flag -mprefer-avx128 is on.
1034
1035 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
1036
1037         * dwarf2out.c (compare_loc_operands): Fix address handling.
1038
1039 2011-03-04  Alan Modra  <amodra@gmail.com>
1040
1041         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
1042
1043 2011-03-04  Richard Guenther  <rguenther@suse.de>
1044
1045         PR middle-end/47968
1046         * expmed.c (extract_bit_field_1): Prefer vector modes that
1047         vec_extract patterns can handle.
1048
1049 2011-03-04  Richard Guenther  <rguenther@suse.de>
1050
1051         PR middle-end/47975
1052         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
1053
1054 2011-03-04  Richard Henderson  <rth@redhat.com>
1055
1056         * explow.c (emit_stack_save): Remove 'after' parameter.
1057         (emit_stack_restore): Likewise.
1058         * expr.h: Update to match.
1059         * builtins.c, calls.c, stmt.c: Likewise.
1060         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
1061         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
1062         * function.c (expand_function_end): Insert the emit_stack_save
1063         sequence before parm_birth_insn instead of after.
1064
1065 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
1066
1067         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
1068         (ssse3_pmaddubsw128): Ditto.
1069         (ssse3_pmaddubsw): Ditto.
1070
1071 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
1072
1073         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
1074
1075 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
1076
1077         PR c/47963
1078         * gimplify.c (omp_add_variable): Only call omp_notice_variable
1079         on TYPE_SIZE_UNIT if it is a DECL.
1080
1081         PR debug/47283
1082         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
1083         first operand is not is_gimple_mem_ref_addr, try to fold it.
1084         If the operand still isn't is_gimple_mem_ref_addr, clear
1085         MEM_EXPR on op0.
1086
1087 2011-03-03  Richard Guenther  <rguenther@suse.de>
1088
1089         PR middle-end/47283
1090         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
1091         match comment.
1092         (refs_may_alias_p_1): For release branches return true if
1093         we are confused by our input.
1094
1095 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1096
1097         * config/s390/s390.c (s390_function_value): Rename to ...
1098         (s390_function_and_libcall_value): ... this.
1099         (s390_function_value): New function.
1100         (s390_libcall_value): New function.
1101         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
1102         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
1103         target macro definitions.
1104         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
1105
1106 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
1107
1108         * config/i386/freebsd64.h (CC1_SPEC): Define.
1109         * config/i386/linux64.h (CC1_SPEC): Define.
1110         * config/i386/x86-64.h (CC1_SPEC): Don't define.
1111
1112 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
1113
1114         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1115         Remove.
1116         * config/stormy16/stormy16.c: Include reload.h.
1117         (xstormy16_memory_move_cost): New function.
1118         (TARGET_MEMORY_MOVE_COST): Define.
1119
1120 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
1121
1122         PR rtl-optimization/47925
1123         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
1124         with side effects.  Remove the more-specific check for volatile asms.
1125
1126 2011-03-02  Alan Modra  <amodra@gmail.com>
1127
1128         PR target/47935
1129         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
1130         toc relative addresses for valid offsets.
1131
1132 2011-03-01  Richard Guenther  <rguenther@suse.de>
1133
1134         PR tree-optimization/47890
1135         * tree-vect-loop.c (get_initial_def_for_induction): Set
1136         related stmt properly.
1137
1138 2011-03-01  Richard Guenther  <rguenther@suse.de>
1139
1140         PR lto/47924
1141         * lto-streamer.c (lto_record_common_node): Also register
1142         the canonical type.
1143
1144 2011-03-01  Richard Guenther  <rguenther@suse.de>
1145
1146         PR lto/46911
1147         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1148         Do not stream DECL_ABSTRACT_ORIGIN.
1149         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1150         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1151         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1152         Do not stream DECL_ABSTRACT_ORIGIN.
1153         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1154         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1155
1156 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
1157
1158         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
1159         FUNCTION_VALUE_REGNO_P): Remove.
1160         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
1161         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
1162         Add 'outgoing' argument.
1163         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
1164         function.
1165         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1166         TARGET_FUNCTION_VALUE_REGNO_P): Define.
1167
1168 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
1169
1170         PR debug/28047
1171         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
1172         (lookup_filename): Likewise.
1173         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
1174
1175 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
1176             Jakub Jelinek  <jakub@redhat.com>
1177
1178         PR middle-end/47893
1179         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
1180         (assign_stack_local_1): Change last argument type to int.
1181         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
1182         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
1183         don't record padding space into frame_space_list nor use those areas.
1184         (assign_stack_local): Adjust caller.
1185         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
1186         of assign_stack_local, pass 0 as last argument.
1187         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
1188         callers.
1189
1190 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
1191
1192         PR debug/47283
1193         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
1194         Use target address_mode and pointer_mode hooks instead of hardcoded
1195         Pmode and ptr_mode.  Handle some simple cases of extending if
1196         POINTERS_EXTEND_UNSIGNED < 0.
1197         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
1198         Call convert_debug_memory_address.
1199         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
1200         convert_debug_memory_address.
1201
1202         PR middle-end/46790
1203         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
1204         * configure: Regenerated.
1205         * config.in: Regenerated.
1206         * varasm.c (default_function_section): Return NULL
1207         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1208
1209 2011-02-28  Martin Jambor  <mjambor@suse.cz>
1210
1211         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
1212         the description to match the printed values.
1213
1214 2011-02-28  Richard Guenther  <rguenther@suse.de>
1215
1216         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
1217         of the copied scope tree.
1218
1219 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1220
1221         * doc/extend.texi (Function Attributes): Avoid deeply (and
1222         wrongly) nested tables.
1223
1224 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
1225
1226         PR middle-end/47903
1227         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
1228         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
1229         r isn't op0 nor op1.
1230
1231 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1232
1233         * config/avr/avr.md: Remove magic comment for emacs.
1234
1235 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1236
1237         PR target/45261
1238         * config/avr/avr.c (avr_option_override): Use error on bad options.
1239         (avr_help): New function.
1240         (TARGET_HELP): Define.
1241
1242 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
1243
1244         PR target/42240
1245         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
1246         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
1247
1248 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
1249
1250         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
1251         (ARM Options): Ditto.
1252         (i386 and x86-64 Options): Ditto.
1253         (RX Options): Ditto.
1254         (SPARC Options): Ditto.
1255
1256 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
1257
1258         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
1259         FreeBSD 6 and later.  Generally use cpu generic.
1260
1261 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1262
1263         * doc/cpp.texi: Update copyright years.
1264
1265 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1266
1267         PR target/46898
1268         * config/lm32/lm32.md (ashrsi3): Added needed variable.
1269
1270 2011-02-25  Jon Beniston  <jon@beniston.com>
1271
1272         PR target/46898
1273         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
1274         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1275         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
1276         (lm32_block_move_inline): Add type cast to remove warning.
1277         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
1278         (gen_int_relational): Move declarations to start of function.
1279
1280 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1281
1282         PR tree-optimization/45470
1283         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
1284         can throw internally only.
1285         * tree-vect-stmts.c (vectorizable_call): Likewise.
1286
1287 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
1288
1289         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
1290         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1291         * config/stormy16/stormy16-protos.h
1292         (xstormy16_preferred_reload_class): Remove.
1293         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
1294         static. Change 'rclass' argument and return type to reg_class_t.
1295         (TARGET_PREFERRED_RELOAD_CLASS,
1296         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1297
1298 2011-02-24  Richard Guenther  <rguenther@suse.de>
1299
1300         * lto-streamer-in.c (input_bb): Do not find referenced vars
1301         in debug statements.
1302
1303 2011-02-23  Jason Merrill  <jason@redhat.com>
1304
1305         * common.opt (fabi-version): Document v5 and v6.
1306
1307 2011-02-23  Richard Guenther  <rguenther@suse.de>
1308
1309         PR tree-optimization/47849
1310         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
1311
1312 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1313
1314         * opts-common.c (decode_cmdline_option): Print empty string
1315         argument as "" in decoded->orig_option_with_args_text.
1316         * gcc.c (execute): Print empty string argument as ""
1317         in the verbose output.
1318         (do_spec_1): Keep empty string argument.
1319
1320 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
1321
1322         * config.gcc: Declare score-* and crx-* obsolete.
1323
1324 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1325
1326         PR rtl-optimization/47763
1327         * web.c (web_main): Ignore naked clobber when replacing register.
1328
1329 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
1330
1331         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1332         Remove.
1333
1334 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1335
1336         PR doc/47848
1337         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
1338
1339 2011-02-22  Mike Stump  <mikestump@comcast.net>
1340
1341         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
1342         assembler.
1343         * configure: Regenerate.
1344
1345 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
1346
1347         PR rtl-optimization/46002
1348         * ira-color.c (update_copy_costs): Change class intersection
1349         test to reg_class_contents[] test of 'hard_regno'.
1350
1351 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
1352
1353         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
1354         than Driver option.
1355         * config/hpux11.opt (mt): Likewise.
1356         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
1357         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
1358         * config/vax/elf.opt (mno-asm-pic): Likewise.
1359         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
1360
1361 2011-02-21  Mike Stump  <mikestump@comcast.net>
1362
1363         PR target/47822
1364         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
1365         tree so we can get save the type.
1366         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
1367         for CFString instead of trying to use past the end of the builtins.
1368         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
1369         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
1370         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
1371         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
1372         Rename to darwin_builtin_cfstring.
1373         (darwin_init_cfstring_builtins): Return the built type.
1374
1375 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
1376
1377         PR target/47840
1378         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
1379         (_mm256_insert_epi64): Use _mm_insert_epi64.
1380
1381 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
1382
1383         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1384         * config/stormy16/stormy16-protos.h
1385         (xstormy16_mode_dependent_address_p): Remove.
1386         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
1387         Make static. Change return type to bool. Change argument type to
1388         const_rtx. Remove dead code.
1389         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1390
1391 2011-02-21  Richard Guenther  <rguenther@suse.de>
1392
1393         PR lto/47820
1394         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1395         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1396         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
1397         TUs context.
1398         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1399         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1400
1401 2011-02-20  Richard Guenther  <rguenther@suse.de>
1402
1403         PR lto/47822
1404         * tree.c (free_lang_data_in_decl): Clean builtins from
1405         the TU decl BLOCK_VARS.
1406
1407 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
1408
1409         PR debug/47620
1410         PR debug/47630
1411         * haifa-sched.c (fix_tick_ready): Skip tick computation
1412         for debug insns.
1413
1414 2011-02-19  Richard Guenther  <rguenther@suse.de>
1415
1416         PR lto/47647
1417         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1418         Remove lazy BLOCK_VARS streaming.
1419         (lto_input_ts_block_tree_pointers): Likewise.
1420         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1421
1422 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1423
1424         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
1425
1426 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1427
1428         * config/i386/biarch32.h, config/i386/mach.h,
1429         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
1430
1431 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1432
1433         PR target/47800
1434         * config/i386/i386.md (peephole2 for shift and plus): Use
1435         operands[1] original mode in the first insn.
1436
1437 2011-02-18  Mike Stump  <mikestump@comcast.net>
1438
1439         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
1440
1441 2011-02-18  Jan Hubicka  <jh@suse.cz>
1442
1443         PR middle-end/47788
1444         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
1445         to zero when the function is not inlinable at all.
1446
1447 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1448
1449         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
1450         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1451         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
1452         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
1453         * config/pa/t-pa64: Likewise.
1454         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1455
1456 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1457
1458         PR driver/47787
1459         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
1460
1461 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1462
1463         PR target/47792
1464         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
1465
1466 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
1467
1468         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1469         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
1470         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
1471         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1472         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
1473         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
1474         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
1475         m32r_load_postinc_p, m32r_store_preinc_predec_p,
1476         m32r_legitimate_address_p): New functions.
1477         * config/m32r/constraints.md (constraint "S"): Don't use
1478         STORE_PREINC_PREDEC_P.
1479         (constraint "U"): Don't use LOAD_POSTINC_P.
1480
1481 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
1482
1483         PR rtl-optimization/46178
1484         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
1485         compute ira_hard_regno_cover_class[].
1486
1487 2011-02-18  Richard Guenther  <rguenther@suse.de>
1488
1489         PR lto/47798
1490         * lto-streamer.h (lto_global_var_decls): Declare.
1491         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
1492         statics for global var processing.
1493
1494 2011-02-18  Richard Guenther  <rguenther@suse.de>
1495
1496         PR tree-optimization/47737
1497         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
1498         edge dominance check.
1499
1500 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1501
1502         PR debug/47780
1503         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
1504         avoid invalid rtx sharing.
1505
1506 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
1507
1508         * doc/cpp.texi (Obsolete Features): Add background on the
1509         origin of assertions.
1510
1511 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1512
1513         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
1514         objc_abi == 2.
1515         * config/darwin.c (output_objc_section_asm_op): Added support for
1516         ABI v1 and v2.
1517         (is_objc_metadata): New.
1518         (darwin_objc2_section): New.
1519         (darwin_objc1_section): New.
1520         (machopic_select_section): Added support for ABI v1 and v2.
1521         (darwin_emit_objc_zeroed): New.
1522         (darwin_output_aligned_bss): Detect objc metadata and treat it
1523         appropriately.
1524         (darwin_asm_output_aligned_decl_common): Same.
1525         (darwin_asm_output_aligned_decl_local): Same.
1526         * config/darwin-sections.def: Updated for ABI v1 and v2.
1527         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
1528         compiling Objective-C code for the NeXT runtime, default to using
1529         ABI version 0 for 32-bit, and version 2 for 64-bit.
1530
1531 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1532
1533         * common.opt (optimize_fast): New Variable.
1534         * opts.c (default_options_optimization): Use opts->x_optimize_fast
1535         instead of local variable ofast.
1536
1537 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1538
1539         * doc/invoke.texi (fobjc-abi-version): Documented.
1540         (fobjc-nilcheck): Documented.
1541         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
1542         version.
1543
1544 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1545
1546         PR driver/47390
1547         * common.opt (export-dynamic): New Driver option.
1548         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
1549
1550 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1551
1552         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
1553
1554 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
1555             Jan Hubicka  <jh@suse.cz>
1556
1557         PR debug/47106
1558         PR debug/47402
1559         * cfgexpand.c (account_used_vars_for_block): Remove.
1560         (estimated_stack_frame_size): Use referenced vars.
1561         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
1562         that were referenced in the original function.  Test src_fn
1563         rather than cfun.  Drop redundant get_var_ann.
1564         (setup_one_parameter): Drop redundant get_var_ann.
1565         (declare_return_variable): Likewise.
1566         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
1567         (copy_arguments_for_versioning): Drop redundant get_var_ann.
1568         * ipa-inline.c (compute_inline_parameters): Do not compute
1569         disregard_inline_limits here.
1570         (compute_inlinable_for_current, pass_inlinable): New.
1571         (pass_inline_parameters): Require PROP_referenced_vars.
1572         * cgraphunit.c (cgraph_process_new_functions): Don't run
1573         compute_inline_parameters explicitly unless function is in SSA form.
1574         (cgraph_analyze_function): Set .disregard_inline_limits.
1575         * tree-sra.c (convert_callers): Compute inliner parameters
1576         only for functions already in SSA form.
1577
1578 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1579
1580         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
1581         -mlittle-endian-data.
1582
1583 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1584
1585         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
1586         -mno-fpu, not -fpu and -no-fpu.
1587         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
1588         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
1589
1590 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
1591
1592         PR target/43653
1593         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
1594         input reload with PLUS RTX.
1595
1596 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1597
1598         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
1599         of InverseVar(MDMX).
1600
1601 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1602
1603         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
1604         --m4-340.
1605
1606 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1607
1608         * config/mn10300/mn10300.opt (mno-crt0): New.
1609
1610 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1611
1612         * config/m68k/uclinux.opt (static-libc): New Driver option.
1613
1614 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1615
1616         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
1617
1618 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1619
1620         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
1621         %{muser-extend-enabled}.
1622
1623 2011-02-16  Richard Guenther  <rguenther@suse.de>
1624
1625         PR tree-optimization/47738
1626         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
1627         the TODO from tree_predictive_commoning.
1628
1629 2011-02-15  Jeff Law  <law@redhat.com>
1630
1631         Revert
1632         2011-01-25  Jeff Law  <law@redhat.com>
1633
1634         PR rtl-optimization/37273
1635         * ira-costs.c (scan_one_insn): Detect constants living in memory and
1636         handle them like argument loads from stack slots.  Do not double
1637         count memory for memory constants and argument loads from stack slots.
1638
1639 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1640
1641         PR middle-end/47725
1642         * combine.c (cant_combine_insn_p): Revert the last change.
1643
1644 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
1645
1646         PR target/47755
1647         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
1648         mode for vector constants.  Remove code that checks for TImode.
1649
1650 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1651
1652         PR debug/47106
1653         PR debug/47402
1654         * cgraph.h (compute_inline_parameters): Return void.
1655         * ipa-inline.c (compute_inline_parameters): Adjust.
1656
1657 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1658
1659         PR debug/47106
1660         PR debug/47402
1661         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
1662         rather than decl.
1663         * cfgexpand.c (estimated_stack_frame_size): Likewise.
1664         * ipa-inline.c (compute_inline_parameters): Adjust.
1665
1666 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1667
1668         PR debug/47106
1669         PR debug/47402
1670         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
1671         Adjust all users.  Pass FN to...
1672         * tree-flow-inline.h (first_referenced_var): ... this.  Add
1673         fn argument.
1674         * ipa-struct-reorg.c: Adjust.
1675         * tree-dfa.c: Adjust.
1676         * tree-into-ssa.c: Adjust.
1677         * tree-sra.c: Adjust.
1678         * tree-ssa-alias.c: Adjust.
1679         * tree-ssa-live.c: Adjust.
1680         * tree-ssa.c: Adjust.
1681         * tree-ssanames.c: Adjust.
1682         * tree-tailcall.c: Adjust.
1683
1684 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1685
1686         PR debug/47106
1687         PR debug/47402
1688         * tree-flow.h (referenced_var_lookup): Add fn parameter.
1689         Adjust all callers.
1690         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
1691         * tree-flow-inline.h: Adjust.
1692         * gimple-pretty-print.c: Adjust.
1693         * tree-into-ssa.c: Adjust.
1694         * tree-ssa.c: Adjust.
1695         * cfgexpand.c: Adjust.
1696
1697 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1698
1699         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
1700         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1701         (EXTRA_CONSTRAINT): Delete.
1702         * config/iq2000/constraints.md: New file.
1703         * config/iq2000/iq2000.md: Include it.
1704         (define_insn ""): Delete.
1705         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
1706         unsupported constraint letters from patterns.
1707         (call_value, call_value_internal1): Likewise.
1708         (call_value_multiple_internal1): Likewise.
1709
1710 2011-02-15  Nick Clifton  <nickc@redhat.com>
1711
1712         * config/mn10300/mn10300.c: Include tm-constrs.h.
1713         (struct liw_data): New data structure describing an LIW candidate
1714         instruction.
1715         (extract_bundle): Use struct liw_data.  Allow small integer
1716         operands for some instructions.
1717         (check_liw_constraints): Use struct liw_data.  Remove swapped
1718         parameter.  Add comments describing the checks.  Fix bug when
1719         assigning the source of liw1 to the source of liw2.
1720         (liw_candidate): Delete.  Code moved into extract_bundle.
1721         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
1722         before swapping.
1723         * config/mn10300/predicates.md (liw_operand): New predicate.
1724         Allows registers and small integer constants.
1725         * config/mn10300/constraints.md (O): New constraint.  Accetps
1726         integers in the range -8 to +7 inclusive.
1727         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
1728         for moving a small integer into a register.  Give this alternative
1729         LIW attributes.
1730         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
1731         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
1732         using the J,K,L and M constraints,
1733         (liw): Remove SI mode on second operands to allow for HI and QI
1734         mode values.
1735         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
1736         instruction.
1737
1738 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1739
1740         PR middle-end/47725
1741         * combine.c (cant_combine_insn_p): Check zero/sign extended
1742         hard registers.
1743
1744 2011-02-15  Richard Guenther  <rguenther@suse.de>
1745
1746         PR tree-optimization/47743
1747         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
1748         for a non-type-compatible VN lookup bail out.
1749
1750 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1751
1752         * config/fr30/constraints.md: New file.
1753         * config/fr30/fr30.md: Include it.
1754         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
1755         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1756         (EXTRA_CONSTRAINT): Delete.
1757
1758 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1759
1760         * config/frv/constraints.md: New file.
1761         * config/frv/predicates.md: Include it.
1762         * config/frv/frv.c (reg_class_from_letter): Delete.
1763         (frv_option_override): Don't initialize it.
1764         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
1765         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
1766         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
1767         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1768         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
1769         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1770         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
1771         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
1772         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
1773         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
1774         (REG_CLASS_FROM_CONSTRAINT): Delete.
1775
1776 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
1777
1778         PR middle-end/47581
1779         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
1780         if frame size is 0 in a leaf function.
1781
1782 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1783
1784         PR pch/14940
1785         * config/alpha/host-osf.c: New file.
1786         * config/alpha/x-osf: New file.
1787         * config.host (alpha*-dec-osf*): Use it.
1788
1789 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1790
1791         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1792         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
1793         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
1794         (rx_mode_dependent_address_p): ...this. Make static. Change argument
1795         type to const_rtx.
1796         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1797
1798 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1799
1800         * config/stormy16/constraints.md: New file.
1801         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
1802         Use satisfies_constraint_Q and satisfies_constraint_R.
1803         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
1804         Delete.
1805         (xstormy16_legitiamte_address_p): Declare.
1806         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
1807         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1808         (EXTRA_CONSTRAINT): Delete.
1809         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
1810         Un-staticize.
1811         (xstormy16_extra_constraint_p): Delete.
1812
1813 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1814
1815         PR tree-optimization/46494
1816         * loop-unroll.c (split_edge_and_insert): Adjust comment.
1817         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
1818         (pass_rtl_loop_done): Add TODO_verify_flow.
1819         * fwprop.c (pass_rtl_fwprop): Likewise.
1820         * modulo-sched.c (pass_sms): Likewise.
1821         * tree-ssa-dom.c (pass_dominator): Likewise.
1822         * tree-ssa-loop-ch.c (pass_ch): Likewise.
1823         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
1824         (pass_tree_loop_done): Likewise.
1825         * tree-ssa-pre.c (execute_pre): Likewise.
1826         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
1827         * tree-ssa-sink.c (pass_sink_code): Likewise.
1828         * tree-vrp.c (pass_vrp): Likewise.
1829
1830 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1831
1832         * config/v850/constraints.md: New file.
1833         * config/v850/v850.md: Include it.
1834         * config/v850/predicates.md (reg_or_0_operand): Use
1835         satisfies_constraint_G.
1836         (special_symbolref_operand): Use satisfies_constraint_K.
1837         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
1838         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1839         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
1840         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1841         (EXTRA_CONSTRAINT): Delete.
1842         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
1843         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
1844         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
1845
1846 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1847
1848         PR target/47696
1849         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
1850         description.
1851
1852 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1853
1854         * config/mcore/constraints.md: New file.
1855         * config/mcore/mcore.md: Include it.
1856         * config/mcore/mcore.c (reg_class_from_letter): Delete.
1857         * config/mcore/mcore.h (reg_class_from_letter): Delete.
1858         (REG_CLASS_FROM_LETTER): Delete.
1859         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
1860         insn_const_int_ok_for_constraint.
1861         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1862         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
1863         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1864         (EXTRA_CONSTRAINT): Delete.
1865
1866 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1867
1868         PR ada/41929
1869         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
1870         (IS_SIGHANDLER): Define.
1871         (sparc64_is_sighandler): New function, split off from
1872         sparc64_fallback_frame_state.
1873         (sparc_is_sighandler): New function, split off from
1874         sparc_fallback_frame_state.
1875         (sparc64_fallback_frame_state): Merge with ...
1876         (sparc_fallback_frame_state): ... this into ...
1877         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
1878         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
1879         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
1880         stack instead of hardcoded offsets.
1881
1882 2011-02-14  Andriy Gapon  <avg@freebsd.org>
1883
1884         PR target/45808
1885         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
1886
1887 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1888
1889         * configure: Regenerate.
1890
1891 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
1892
1893         PR driver/45731
1894         * gcc.c (asm_options): Correct spec matching --target-help.
1895
1896 2011-02-12  Martin Jambor  <mjambor@suse.cz>
1897
1898         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
1899         to gimple call error.
1900
1901 2011-02-12  Mike Stump  <mikestump@comcast.net>
1902
1903         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
1904         comments in backslash regions.
1905
1906 2011-02-12  Mike Stump  <mikestump@comcast.net>
1907             Jakub Jelinek  <jakub@redhat.com>
1908             Iain Sandoe  <iains@gcc.gnu.org>
1909
1910         PR target/47324
1911         * dwarf2out.c (output_cfa_loc): When required, apply the
1912         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
1913         (output_loc_sequence): Likewise.
1914         (output_loc_operands_raw): Likewise.
1915         (output_loc_sequence_raw): Likewise.
1916         (output_cfa_loc): Likewise.
1917         (output_loc_list): Suppress register number adjustment when
1918         calling output_loc_sequence()
1919         (output_die): Likewise.
1920
1921 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
1922
1923         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1924         Remove macros.
1925         * config/xtensa/xtensa.c (xtensa_register_move_cost,
1926         xtensa_memory_move_cost): New functions.
1927         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
1928
1929 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
1930
1931         PR lto/47225
1932         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
1933         in the current directory.
1934         * configure: Rebuilt.
1935
1936 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1937
1938         * config/darwin.c (darwin_override_options): Add a hunk missed
1939         from the commit of r168571.  Trim comment line lengths and
1940         correct indents of the preceding block.
1941
1942 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1943
1944         * gcc.c (driver_handle_option): Concatenate the argument to -F with
1945         the switch.
1946
1947 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1948
1949         * common.opt (nostartfiles): New Driver option.
1950
1951 2011-02-11  Xinliang David Li  <davidxl@google.com>
1952
1953         PR tree-optimization/47707
1954         * tree-chrec.c (convert_affine_scev): Keep type precision.
1955
1956 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
1957
1958         PR tree-optimization/47420
1959         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
1960
1961 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
1962
1963         PR rtl-optimization/47614
1964         * rtl.h (check_for_inc_dec): Declare.
1965         * dse.c (check_for_inc_dec): Externalize...
1966         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
1967         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
1968
1969 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1970
1971         PR driver/47678
1972         * gcc.c (main): Do not compile inputs if there were errors in
1973         option handling.
1974         * opts-common.c (read_cmdline_option): Check for wrong language
1975         after other error checks.
1976
1977 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
1978
1979         * cgraph.c: Fix comment typos.
1980         * cgraph.h: Likewise.
1981         * cgraphunit.c: Likewise.
1982         * ipa-cp.c: Likewise.
1983         * ipa-inline.c: Likewise.
1984         * ipa-prop.c: Likewise.
1985         * ipa-pure-const.c: Likewise.
1986         * ipa-ref.c: Likewise.
1987         * ipa-reference.c: Likewise.
1988
1989 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
1990
1991         PR debug/47684
1992         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
1993
1994 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1995
1996         PR testsuite/47400
1997         * doc/sourcebuild.texi (Require Support): Document
1998         dg-require-ascii-locale.
1999
2000 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
2001
2002         * doc/lto.texi (Write summary): Fix missing parentheses.
2003
2004 2011-02-10  DJ Delorie  <dj@redhat.com>
2005
2006         * config/m32c/m32c.c (m32c_option_override): Disable
2007         -fcombine-stack-adjustments until flag value tracking and compare
2008         optimization can be rewritten.
2009
2010 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
2011
2012         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
2013         PROCESSOR_POWER7.
2014         (PROCESSOR_DEFAULT64): Likewise.
2015
2016 2011-02-10  Richard Henderson  <rth@redhat.com>
2017
2018         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
2019         change from 2011-02-03.
2020         * config/rx/rx.c (flags_from_code): Likewise.
2021         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
2022         is valid, n/pz otherwise.
2023         (rx_select_cc_mode): Return CCmode if Y is not zero.
2024
2025 2011-02-10  Richard Guenther  <rguenther@suse.de>
2026
2027         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
2028
2029 2011-02-10  Richard Guenther  <rguenther@suse.de>
2030
2031         PR tree-optimization/47677
2032         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
2033
2034 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
2035
2036         PR target/47665
2037         * combine.c (make_compound_operation): Only change shifts into
2038         multiplication for SCALAR_INT_MODE_P.
2039
2040 2011-02-10  Jie Zhang  <jie@codesourcery.com>
2041
2042         PR testsuite/47622
2043         Revert
2044         2011-02-05  Jie Zhang  <jie@codesourcery.com>
2045         PR debug/42631
2046         * web.c (entry_register): Don't clobber the number of the
2047         first uninitialized reference in used[].
2048
2049 2011-02-09  Richard Guenther  <rguenther@suse.de>
2050
2051         PR tree-optimization/47664
2052         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
2053         all edges again.
2054
2055 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
2056
2057         PR target/46481
2058         PR target/47032
2059         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
2060         PROCESSOR_POWER7.
2061         (PROCESSOR_DEFAULT64): Same.
2062         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
2063
2064 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2065
2066         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
2067
2068 2011-02-09  Martin Jambor  <mjambor@suse.cz>
2069
2070         PR middle-end/45505
2071         * tree-sra.c (struct access): New flags grp_scalar_read and
2072         grp_scalar_write.  Changed description of assignment read and write
2073         flags.
2074         (dump_access): Dump new flags, reorder all of them.
2075         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
2076         to detect multiple scalar reads.
2077         (analyze_access_subtree): Use the new scalar read write flags instead
2078         of the old flags.  Adjusted comments.
2079
2080 2011-02-08  DJ Delorie  <dj@redhat.com>
2081
2082         PR target/47548
2083         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
2084         patterns.
2085
2086 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2087
2088         * config/m68k/uclinux.opt: New.
2089         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
2090
2091 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2092
2093         * config/cris/elf.opt (sim): New Driver option.
2094
2095 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2096
2097         * config/xtensa/elf.opt: New.
2098         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
2099
2100 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2101
2102         * config/vax/elf.opt: New.
2103         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
2104
2105 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2106
2107         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
2108
2109 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2110
2111         * config/gnu-user.opt: New.
2112         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
2113         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
2114         *-*-uclinux*): Use gnu-user.opt.
2115
2116 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
2117
2118         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
2119         * config/i386/gnu.h (CPP_SPEC): Likewise.
2120
2121 2011-02-08  Ian Lance Taylor  <iant@google.com>
2122
2123         * common.opt (fcx-limited-range): Add SetByCombined flag.
2124         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
2125         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
2126         (fassociative-math, freciprocal-math): Likewise.
2127         (funsafe-math-optimizations): Likewise.
2128         * opth-gen.awk: Handle SetByCombined.
2129         * optc-gen.awk: Likewise.
2130         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
2131         (set_unsafe_math_optimizations_flags): Likewise.
2132         * doc/options.texi (Option properties): Document SetByCombined.
2133
2134 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2135
2136         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
2137         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
2138         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
2139         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
2140         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
2141
2142 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
2143
2144         PR tree-optimization/46834
2145         PR tree-optimization/46994
2146         PR tree-optimization/46995
2147         * graphite-sese-to-poly.c (used_outside_reduction): New.
2148         (detect_commutative_reduction): Call used_outside_reduction.
2149         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
2150         translate_scalar_reduction_to_array only when at least one
2151         loop-phi/close-phi tuple has been detected.
2152
2153 2011-02-08  Richard Guenther  <rguenther@suse.de>
2154
2155         PR middle-end/47639
2156         * tree-vect-generic.c (expand_vector_operations_1): Update
2157         stmts here ...
2158         (expand_vector_operations): ... not here.  Cleanup EH info
2159         and the CFG if required.
2160
2161 2011-02-08  Richard Guenther  <rguenther@suse.de>
2162
2163         PR tree-optimization/47641
2164         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
2165         require type compatibility.
2166
2167 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2168
2169         * gimple-low.c (lower_function_body): Don't remove the location of
2170         the return statement here.
2171         (lower_gimple_return): Do it here instead but only if the return
2172         statement is actually used twice.
2173
2174 2011-02-08  Richard Guenther  <rguenther@suse.de>
2175
2176         PR tree-optimization/47632
2177         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
2178         unused up_to_stmt parameter, return whether cfg-cleanup is
2179         necessary, remove EH info properly.
2180         (forward_propagate_into_gimple_cond): Adjust caller.
2181         (forward_propagate_into_cond): Likewise.
2182         (forward_propagate_comparison): Likewise.
2183         (tree_ssa_forward_propagate_single_use_vars): Make
2184         forward_propagate_comparison case similar to the two others.
2185
2186 2011-02-08  Nick Clifton  <nickc@redhat.com>
2187
2188         * config/mn10300/mn10300.opt (mliw): New command line option.
2189         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
2190         (liw_bundling): New automaton.
2191         (liw): New attribute.
2192         (liw_op): New attribute.
2193         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
2194         (movsi_internal): Add LIW attributes.
2195         (andsi3): Likewise.
2196         (iorsi3): Likewise.
2197         (xorsi3): Likewise.
2198         (addsi3): Separate register and immediate alternatives.
2199         Add LIW attributes.
2200         (subsi3): Likewise.
2201         (cmpsi): Likewise.
2202         (aslsi3): Likewise.
2203         (lshrsi3): Likewise.
2204         (ashrsi3): Likewise.
2205         (liw): New pattern.
2206         * config/mn10300/mn10300.c (liw_op_names): New
2207         (mn10300_print_operand): Handle 'W' operand descriptor.
2208         (extract_bundle): New function.
2209         (check_liw_constraints): New function.
2210         (liw_candidate): New function.
2211         (mn10300_bundle_liw): New function.
2212         (mn10300_reorg): New function.
2213         (TARGET_MACHINE_DEPENDENT_REORG): Define.
2214         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
2215         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
2216         __LIW__ or __NO_LIW__.
2217         * doc/invoke.texi: Describe the -mliw command line option.
2218
2219 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2220
2221         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
2222         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2223         pthread_mutex_unlock): Remove.
2224         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
2225         * config/pa/t-pa64: Likewise.
2226         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
2227         shared libc if not linking against libpthread.
2228         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2229
2230 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
2231
2232         PR target/47558
2233         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
2234         on 10.6 and later to ensure that we always use the unwinder from
2235         the system.  Only add -no_compact_unwind when tarteting darwin
2236         10.6 or later.
2237
2238 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
2239
2240         PR target/46997
2241         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
2242         (vec_interleave_lowv2sf): Ditto.
2243         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
2244         (vec_extract_oddv2sf): Ditto.
2245
2246 2011-02-07  Mike Stump  <mikestump@comcast.net>
2247
2248         PR target/42333
2249         Add __ieee_divdc3 entry point.
2250         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
2251         entry point.
2252         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
2253         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
2254         * config/darwin.c (darwin_rename_builtins): Add.
2255         * config/darwin-protos.h (darwin_rename_builtins): Add.
2256
2257 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
2258
2259         PR target/47636
2260         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
2261         for the condition.
2262
2263 2011-02-07  Mike Stump  <mikestump@comcast.net>
2264
2265         * config/darwin.opt (mmacosx-version-min): Update default OS version.
2266
2267 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
2268
2269         PR target/47534
2270         * config/avr/libgcc.S (exit): Move .endfunc
2271
2272 2011-02-07  Richard Guenther  <rguenther@suse.de>
2273
2274         PR tree-optimization/47615
2275         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
2276         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
2277         (run_scc_vn): Initialize it.
2278         (visit_reference_op_load): Use it.
2279         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
2280
2281 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2282
2283         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
2284         DImode trapping arithmetic libfuncs.
2285
2286 2011-02-07  Richard Guenther  <rguenther@suse.de>
2287
2288         PR tree-optimization/47621
2289         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
2290         two duplicates ...
2291         (execute_update_addresses_taken): ... here.  Make it more
2292         conservative in what we accept.
2293
2294 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2295
2296         * config/sparc/freebsd.h (ASM_SPEC): Define.
2297         * config/sparc/vxworks.h (ASM_SPEC): Define.
2298
2299 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2300
2301         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2302
2303 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
2304
2305         * doc/invoke.texi: Remove reference to compiler internals from
2306         user documentation.
2307
2308         * reg-notes.def: Remove REG_VALUE_PROFILE.
2309         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
2310
2311 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
2312
2313         PR middle-end/47610
2314         * varasm.c (default_section_type_flags): If decl is NULL,
2315         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
2316
2317 2011-02-05  Jie Zhang  <jie@codesourcery.com>
2318
2319         PR debug/42631
2320         * web.c (entry_register): Don't clobber the number of the
2321         first uninitialized reference in used[].
2322
2323 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
2324
2325         PR tree-optimization/46194
2326         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
2327         (build_classic_dist_vector_1): Do not represent classic distance
2328         vectors when the access functions are variating in different loops.
2329
2330 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2331
2332         * config/mips/iris6.opt: New.
2333         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
2334
2335 2011-02-04  Richard Henderson  <rth@redhat.com>
2336             Steve Ellcey  <sje@cup.hp.com>
2337
2338         PR target/46997
2339         * config/ia64/predicates.md (mux1_brcst_element): New.
2340         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
2341         * config/ia64/ia64.c (ia64_unpack_assemble): New.
2342         (ia64_unpack_sign): New.
2343         (ia64_expand_unpack): Rewrite using new routines.
2344         (ia64_expand_widen_sum): Ditto.
2345         (ia64_expand_dot_prod_v8qi): Ditto.
2346         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
2347         routines, add endian check.
2348         (pmpy2_even): Rename from pmpy2_r, add endian check.
2349         (pmpy2_odd): Rename from pmpy2_l, add endian check.
2350         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
2351         (vec_widen_smult_hi_v4hi): Ditto.
2352         (vec_widen_umult_lo_v4hi): Ditto.
2353         (vec_widen_umult_hi_v4hi): Ditto.
2354         (mulv2si3): Change endian checks.
2355         (sdot_prodv4hi): Rewrite with new calls.
2356         (udot_prodv4hi): New.
2357         (vec_pack_ssat_v4hi): Add endian check.
2358         (vec_pack_usat_v4hi): Ditto.
2359         (vec_pack_ssat_v2si): Ditto.
2360         (max1_even): Rename from max1_r, add endian check.
2361         (max1_odd): Rename from max1_l, add endian check.
2362         (*mux1_rev): Format change.
2363         (*mux1_mix): Ditto.
2364         (*mux1_shuf): Ditto.
2365         (*mux1_alt): Ditto.
2366         (*mux1_brcst_v8qi): Use new predicate.
2367         (vec_extract_evenv8qi): Remove endian check.
2368         (vec_extract_oddv8qi): Ditto.
2369         (vec_interleave_lowv4hi): Format change.
2370         (vec_interleave_highv4hi): Ditto.
2371         (mix2_even): Rename from mix2_r, add endian check.
2372         (mix2_odd): Rename from mux2_l, add endian check.
2373         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
2374         (vec_extract_evenodd_helper): Format change.
2375         (vec_extract_evenv4hi): Remove endian check.
2376         (vec_extract_oddv4hi): Remove endian check.
2377         (vec_interleave_lowv2si): Format change.
2378         (vec_interleave_highv2si): Format change.
2379         (vec_initv2si): Remove endian check.
2380         (vecinit_v2si): Add endian check.
2381         (reduc_splus_v2sf): Add endian check.
2382         (reduc_smax_v2sf): Ditto.
2383         (reduc_smin_v2sf): Ditto.
2384         (vec_initv2sf): Remove endian check.
2385         (fpack): Add endian check.
2386         (fswap): Add endian check.
2387         (vec_interleave_highv2sf): Add endian check.
2388         (vec_interleave_lowv2sf): Add endian check.
2389         (fmix_lr): Add endian check.
2390         (vec_setv2sf): Format change.
2391         (*vec_extractv2sf_0_be): Use shift to extract operand.
2392         (*vec_extractv2sf_1_be): New.
2393         (vec_pack_trunc_v4hi): Add endian check.
2394         (vec_pack_trunc_v2si): Format change.
2395
2396 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
2397
2398         PR inline-asm/23200
2399         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
2400         do bb, locus and block comparison and disallow loads if it is not set.
2401         (stmt_is_replaceable_p): New function.
2402         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
2403         callers.
2404         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
2405         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
2406         SSA_NAME_DEF_STMT.
2407         * tree-flow.h (stmt_is_replaceable_p): New prototype.
2408
2409 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2410
2411         * config/rs6000/xilinx.opt: New.
2412         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
2413
2414 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2415
2416         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
2417
2418 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
2419
2420         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
2421         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2422         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
2423         secondary_reload_info, xtensa_secondary_reload): Remove.
2424         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
2425         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2426         (xtensa_preferred_reload_class): Make static. Change return and
2427         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
2428         Use CONST_DOUBLE_P predicate.
2429         (xtensa_preferred_output_reload_class): New function.
2430         (xtensa_secondary_reload): Make static.
2431
2432 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
2433
2434         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
2435         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
2436         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
2437
2438 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2439
2440         PR middle-end/31490
2441         * output.h (SECTION_RELRO): Define.
2442         (SECTION_MACH_DEP): Adjust.
2443         (get_variable_section): New prototype.
2444         * varpool.c (varpool_finalize_named_section_flags): New function.
2445         (varpool_assemble_pending_decls): Call it.
2446         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
2447         * cgraphunit.c (cgraph_output_in_order): Call
2448         varpool_finalize_named_section_flags.
2449         * varasm.c (get_section): Allow section flags conflicts between
2450         relro and read-only sections if the section hasn't been declared yet.
2451         Set SECTION_OVERRIDE after diagnosing section type conflict.
2452         (get_variable_section): No longer static.
2453         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
2454         readonly sections that need relocations.
2455         (decl_readonly_section_1): New function.
2456         (decl_readonly_section): Use it.
2457
2458         Revert:
2459         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
2460                     Steve Ellcey  <sje@cup.hp.com>
2461
2462         PR middle-end/31490
2463         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2464         if section attribute used.
2465
2466 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2467
2468         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
2469         * config/darwin.c (SECTION_NO_ANCHOR): Define.
2470         (darwin_init_sections): Remove assertion.
2471
2472 2011-02-03  Nick Clifton  <nickc@redhat.com>
2473
2474         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
2475         lt and ge.
2476         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
2477         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
2478         instead of "n" and "pz".
2479         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
2480         CC_FLAG_S.
2481
2482 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2483
2484         PR target/47312
2485         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
2486         fma, expand FMA_EXPR as fma{,f,l} call.
2487
2488         PR lto/47274
2489         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
2490         copy them into a unsigned char variable and pass address of it to
2491         lto_output_data_stream.
2492
2493         PR target/47564
2494         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
2495         around backend_init_target and lang_dependent_init_target calls.
2496         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
2497         (verify_cgraph_node): Don't call set_cfun here.  Use
2498         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
2499         Set error_found for incorrectly represented calls to thunks.
2500
2501 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2502
2503         PR debug/43092
2504         PR rtl-optimization/43494
2505         * rtl.h (for_each_inc_dec_fn): New type.
2506         (for_each_inc_dec): Declare.
2507         * rtlanal.c (struct for_each_inc_dec_ops): New type.
2508         (for_each_inc_dec_find_inc_dec): New fn.
2509         (for_each_inc_dec_find_mem): New fn.
2510         (for_each_inc_dec): New fn.
2511         * dse.c (struct insn_size): Remove.
2512         (replace_inc_dec, replace_inc_dec_mem): Remove.
2513         (emit_inc_dec_insn_before): New fn.
2514         (check_for_inc_dec): Use it, along with for_each_inc_dec.
2515         (canon_address): Pass mem modes to cselib_lookup.
2516         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
2517         (cselib_lookup_from_insn): Likewise.
2518         (cselib_subst_to_values): Likewise.
2519         * cselib.c (find_slot_memmode): New var.
2520         (cselib_find_slot): New fn.  Use it instead of
2521         htab_find_slot_with_hash everywhere.
2522         (entry_and_rtx_equal_p): Use find_slot_memmode.
2523         (autoinc_split): New fn.
2524         (rtx_equal_for_cselib_p): Rename and implement in terms of...
2525         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
2526         Deal with autoinc.  Special-case recursion into MEMs.
2527         (cselib_hash_rtx): Likewise.
2528         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
2529         address and MEM modes.
2530         (cselib_subst_to_values): Add memmode, pass it on.
2531         Deal with autoinc.
2532         (cselib_lookup): Add memmode argument, pass it on.
2533         (cselib_lookup_from_insn): Add memmode.
2534         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
2535         (struct cselib_record_autoinc_data): New.
2536         (cselib_record_autoinc_cb): New fn.
2537         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
2538         mode to cselib_lookup.  Reset autoinced REGs here instead of...
2539         (cselib_process_insn): ... here.
2540         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
2541         to cselib_lookup.
2542         (add_uses): Likewise, also to cselib_subst_to_values.
2543         (add_stores): Likewise.
2544         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
2545         cselib_subst_to_values.
2546         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
2547         * gcse.c (do_local_cprop): Adjusted.
2548         * postreload.c (reload_cse_simplify_set): Adjusted.
2549         (reload_cse_simplify_operands): Adjusted.
2550         * sel-sched-dump (debug_mem_addr_value): Pass mode.
2551
2552 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2553
2554         PR tree-optimization/45122
2555         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
2556         unsafe assumptions when there's more than one loop exit.
2557
2558 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2559
2560         PR target/47272
2561         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2562         Document using vector double with the load/store builtins, and
2563         that the load/store builtins always use Altivec instructions.
2564
2565         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
2566         to use altivec memory instructions, even on VSX.
2567         (vector_altivec_store_<mode>): Ditto.
2568
2569         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
2570         function.
2571
2572         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2573         V2DF, V2DI support to load/store overloaded builtins.
2574
2575         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
2576         altivec load/store builtins for V2DF/V2DI types.
2577
2578         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2579         set avoid indexed addresses on power6 if -maltivec.
2580         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
2581         vector_altivec_load/vector_altivec_store builtins.
2582         (altivec_expand_st_builtin): Ditto.
2583         (altivec_expand_builtin): Add VSX memory builtins.
2584         (rs6000_init_builtins): Add V2DI types to internal types.
2585         (altivec_init_builtins): Add support for V2DF/V2DI altivec
2586         load/store builtins.
2587         (rs6000_address_for_altivec): Insure memory address is appropriate
2588         for Altivec.
2589
2590         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
2591         vec_vsx_ld and vec_vsx_st.
2592         (vsx_store_<mode>): Ditto.
2593
2594         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
2595         variables to hold long long types for VSX vector memory builtins.
2596         (RS6000_BTI_unsigned_long_long): Ditto.
2597         (long_long_integer_type_internal_node): Ditti.
2598         (long_long_unsigned_type_internal_node): Ditti.
2599
2600         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
2601         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
2602         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
2603
2604         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
2605         short cuts.
2606         (vec_vsx_st): Ditto.
2607
2608 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2609
2610         * config/pa/pa-hpux10.opt: New.
2611         * config/hpux11.opt (pthread): New Driver option.
2612         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
2613         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
2614
2615 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2616
2617         * config/ia64/vms.opt: New.
2618         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
2619
2620 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2621
2622         PR target/47580
2623         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
2624         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
2625         generator functions.
2626         (vsx_floatuns<VSi><mode>2): Ditto.
2627         (vsx_fix_trunc<mode><VSi>2): Ditto.
2628         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
2629
2630 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2631
2632         * config/i386/djgpp.opt (posix): New Driver option.
2633
2634 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
2635
2636         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
2637         Move to the unsupported targets list.
2638
2639 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
2640
2641         PR rtl-optimization/47525
2642         * df-scan.c: Update copyright years.
2643         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
2644         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
2645
2646 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2647
2648         * config/i386/sysv4.h (TARGET_VERSION): Remove.
2649         (SUBTARGET_RETURN_IN_MEMORY): Remove.
2650         (ASM_OUTPUT_ASCII): Remove.
2651         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
2652
2653 2011-02-02  Jeff Law  <law@redhat.com>
2654
2655         PR middle-end/47543
2656         * reload.c (find_reloads_address): Handle reg+d address where both
2657         components are invalid by reloading the entire address.
2658
2659 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2660             Richard Guenther  <rguenther@suse.de>
2661
2662         PR tree-optimization/40979
2663         PR bootstrap/47044
2664         * passes.c (init_optimization_passes): After LIM call copy_prop
2665         and DCE to clean up.
2666         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
2667
2668 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2669
2670         PR tree-optimization/47576
2671         PR tree-optimization/47555
2672         * doc/invoke.texi (scev-max-expr-complexity): Documented.
2673         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2674         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
2675         * tree-scalar-evolution.c (follow_ssa_edge): Use
2676         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2677
2678 2011-02-02  Richard Guenther  <rguenther@suse.de>
2679
2680         PR tree-optimization/47566
2681         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
2682
2683 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2684
2685         PR debug/47106
2686         PR debug/47402
2687         * tree-inline.c (declare_return_variable): Remove unused caller
2688         variable.
2689
2690         PR debug/47106
2691         PR debug/47402
2692         * tree-flow-inline.h (clear_is_used, is_used_p): New.
2693         * cfgexpand.c (account_used_vars_for_block): Use them.
2694         * tree-nrv.c (tree_nrv): Likewise.
2695         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
2696         (dump_scope_block): Likewise.
2697         (remove_unused_locals): Likewise.
2698
2699         PR debug/47106
2700         PR debug/47402
2701         * tree-inline.c (declare_return_variable): Add result decl to
2702         local decls only once.
2703         * gimple-low.c (record_vars_into): Mark newly-created variables
2704         as referenced.
2705
2706 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2707
2708         PR debug/47498
2709         PR debug/47501
2710         PR debug/45136
2711         PR debug/45130
2712         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2713         debug insns.
2714         (no_real_insns_p, schedule_block, set_priorities): Drop special
2715         treatment of boundary debug insns.
2716         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2717         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
2718         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2719         (BOUNDARY_DEBUG_INSN_P): Likewise.
2720         (SCHEDULE_DEBUG_INSN_P): Likewise.
2721         * sched-rgn.c (init_ready_list): Drop special treatment of
2722         boundary debug insns.
2723         * final.c (rest_of_clean_state): Clear notes' BB.
2724
2725 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2726
2727         * config/openbsd.opt (assert=): New Driver option.
2728
2729 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2730
2731         * config/i386/nto.opt: New.
2732         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
2733
2734 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2735
2736         * config/i386/netware.opt: New.
2737         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
2738
2739 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2740
2741         * config/interix.opt (posix): New Driver option.
2742
2743 2011-02-01  DJ Delorie  <dj@redhat.com>
2744
2745         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
2746
2747         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
2748         class for A0/A1.
2749
2750 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
2751
2752         PR tree-optimization/47561
2753         * toplev.c (process_options): Print the Graphite flags.  Add
2754         flag_loop_flatten to the list of options requiring Graphite.
2755
2756 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2757
2758         * config/i386/cygming.opt (posix): New Driver option.
2759
2760 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2761
2762         * config/arm/vxworks.opt: New.
2763         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
2764
2765 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2766
2767         * config/alpha/elf.opt: New.
2768         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
2769         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
2770
2771 2011-02-01  Richard Guenther  <rguenther@suse.de>
2772
2773         PR tree-optimization/47559
2774         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
2775         store-motion on references that can throw.
2776
2777 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
2778
2779         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
2780         * tree-pass.h (TDF_CSELIB): New macro.
2781         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
2782         cselib_lookup): Check for it rather than for TDF_DETAILS.
2783
2784 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2785
2786         PR driver/47547
2787         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
2788         is HOST_BIT_BUCKET.
2789
2790         * opts.c (finish_options): Don't add x_aux_base_name if it is
2791         HOST_BIT_BUCKET.
2792
2793 2011-02-01  Richard Guenther  <rguenther@suse.de>
2794
2795         PR tree-optimization/47555
2796         Revert
2797         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
2798
2799         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2800
2801 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
2802
2803         PR gcc/46692
2804         * config/lm32/t-lm32: Add multilib for all CPU options.
2805
2806 2011-02-01  Richard Guenther  <rguenther@suse.de>
2807
2808         PR tree-optimization/47541
2809         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
2810         sure to have a field at offset zero.
2811
2812 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2813
2814         * config/arc/arc.opt (EB, EL): New Driver options.
2815
2816 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2817
2818         * config/alpha/osf5.opt: New.
2819         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
2820
2821 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2822
2823         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
2824
2825 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
2826
2827         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
2828         -floop-interchange.
2829         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
2830         is an alias of -floop-interchange and that it requires the
2831         Graphite infrastructure.
2832         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
2833         flag_loop_interchange based on the value of flag_tree_loop_linear.
2834
2835 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
2836             Richard Guenther  <rguenther@suse.de>
2837
2838         PR tree-optimization/47538
2839         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
2840         type instead of r1type, except for comparisons.  For right
2841         shifts and comparisons punt if there are mismatches in
2842         sizetype vs. non-sizetype types.
2843
2844 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2845
2846         * doc/sourcebuild.texi (Effective-Target Keywords): Document
2847         avx_runtime.
2848
2849 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2850
2851         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
2852         version number.
2853         * configure: Regenerate.
2854
2855 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2856
2857         * configure.ac (gcc_cv_ld_static_option): Define.
2858         (gcc_cv_ld_dynamic_option): Define.
2859         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
2860         instead.
2861         (HAVE_LD_STATIC_DYNAMIC): Update message.
2862         (LD_STATIC_OPTION): Define.
2863         (LD_DYNAMIC_OPTION): Define.
2864         * configure: Regenerate.
2865         * config.in: Regenerate.
2866         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
2867         HAVE_LD_STATIC_DYNAMIC]: Use them.
2868
2869 2011-01-31  Nick Clifton  <nickc@redhat.com>
2870
2871         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
2872         registers inside interrupt handlers if the handler is not a leaf
2873         function.
2874
2875 2011-01-31  Nick Clifton  <nickc@redhat.com>
2876
2877         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
2878         reg_renumber returning an INVALID_REGNUM.
2879
2880 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2881
2882         PR libgcj/44341
2883         * doc/install.texi: Document host options discarded when cross
2884         configuring target libraries.
2885
2886 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2887
2888         Reverted:
2889         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2890         PR debug/45136
2891         PR debug/45130
2892         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2893         debug insns.
2894         (no_real_insns_p, schedule_block, set_priorities): Drop special
2895         treatment of boundary debug insns.
2896         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2897         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2898         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2899         (BOUNDARY_DEBUG_INSN_P): Likewise.
2900         (SCHEDULE_DEBUG_INSN_P): Likewise.
2901         * sched-rgn.c (init_ready_list): Drop special treatment of
2902         boundary debug insns.
2903         * final.c (rest_of_clean-state): Clear notes' BB.
2904
2905 2011-01-31  Alan Modra  <amodra@gmail.com>
2906
2907         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
2908         toc relative expressions as we do in print_operand_address.
2909
2910 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
2911
2912         * doc/extend.texi: Follow spelling conventions.
2913         * doc/invoke.texi: Fix a typo.
2914
2915 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
2916
2917         * config/hpux11.opt: New.
2918         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
2919         ia64*-*-hpux*): Use hpux11.opt.
2920
2921 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
2922
2923         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
2924         to tmake_file.
2925
2926 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2927
2928         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
2929         support sites.
2930
2931 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2932
2933         * doc/install.texi (Binaries): Remove outdated reference for
2934         Motorola 68HC11/68HC12 downloads.
2935
2936 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2937
2938         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
2939         Drepper's paper.
2940
2941 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2942
2943         PR bootstrap/47147
2944         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
2945         used by NetBSD.
2946
2947 2011-01-28  Ahmad Sharif  <asharif@google.com>
2948
2949         * value-prof.c (check_counter): Corrected error message.
2950
2951 2011-01-29  Jie Zhang  <jie@codesourcery.com>
2952
2953         * config/arm/arm.c (arm_legitimize_reload_address): New.
2954         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
2955         arm_legitimize_reload_address.
2956         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
2957
2958 2011-01-28  Ian Lance Taylor  <iant@google.com>
2959
2960         * godump.c (go_define): Ignore macros whose definitions include
2961         two adjacent operands.
2962
2963 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
2964
2965         PR target/42894
2966         * varasm.c (force_const_mem): Store copy of x in desc->constant
2967         instead of x itself.
2968         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
2969         itself into REG_EQUAL note.
2970
2971 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
2972
2973         * config/freebsd.opt (posix, rdynamic): New Driver options.
2974
2975 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2976
2977         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
2978         -Bstatic/-Bdynamic.
2979         * configure: Regenerate.
2980
2981 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
2982
2983         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
2984         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
2985
2986 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
2987
2988         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
2989         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
2990         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2991         (s390_preferred_reload_class): Make static. Change return and
2992         'rclass' argument type to reg_class_t.
2993
2994 2011-01-27  Jan Hubicka  <jh@suse.cz>
2995
2996         PR middle-end/46949
2997         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
2998         (process_function_and_variable_attributes): Check defined weakrefs.
2999
3000 2011-01-27  Martin Jambor  <mjambor@suse.cz>
3001
3002         PR tree-optimization/47228
3003         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
3004         build_ref_for_offset.
3005
3006 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3007
3008         * config/spu/spu-elf.h (ASM_SPEC): Remove.
3009
3010 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
3011
3012         PR rtl-optimization/46856
3013         * postreload.c (reload_combine_recognize_const_pattern): Do not
3014         separate cc0 setter and user on cc0 targets.
3015
3016 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
3017
3018         PR c/43082
3019         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
3020         passed a VOID_TYPE expression, immediately emit an error and
3021         return error_mark_node.
3022
3023 2011-01-26  Jeff Law  <law@redhat.com>
3024
3025         PR rtl-optimization/47464
3026         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
3027         rather than may_trap_p as needed.
3028
3029 2011-01-26  DJ Delorie  <dj@redhat.com>
3030
3031         PR rtl-optimization/46878
3032         * combine.c (insn_a_feeds_b): Check for the implicit cc0
3033         setter/user dependency as well.
3034
3035 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3036
3037         PR rtl-optimization/44469
3038         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
3039         after removing trivially dead basic blocks.
3040
3041 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3042
3043         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
3044         * config/frv/frv.h (LINK_SPEC): Likewise.
3045         * config/i386/netware.h (LINK_SPEC): Likewise.
3046         * config/m68k/linux.h (ASM_SPEC): Likewise.
3047         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
3048         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3049         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3050         * config/sparc/linux.h (ASM_SPEC): Likewise.
3051         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3052         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3053
3054 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3055
3056         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
3057         * config/frv/frv.h (ASM_SPEC): Likewise.
3058         * config/m68k/linux.h (ASM_SPEC): Likewise.
3059         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3060         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
3061         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3062         * config/sparc/linux.h (ASM_SPEC): Likewise.
3063         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3064         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3065
3066 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3067
3068         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
3069         * config/frv/frv.h (LINK_SPEC): Likewise.
3070         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3071
3072 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3073
3074         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
3075         * config/frv/frv.h (ASM_SPEC): Likewise.
3076         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
3077         * config/m68k/linux.h (ASM_SPEC): Likewise.
3078         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3079         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
3080         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3081         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
3082         * config/sparc/linux.h (ASM_SPEC): Likewise.
3083         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3084         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3085         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
3086
3087 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
3088
3089         PR target/46997
3090         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
3091         (*mux2): Ditto.
3092         (vec_extract_evenodd_help): Ditto.
3093         (vec_extract_evenv4hi): Ditto.
3094         (vec_extract_oddv4hi): Ditto.
3095         (vec_interleave_lowv2si): Ditto.
3096         (vec_interleave_highv2si): Ditto.
3097         (vec_extract_evenv2si): Ditto.
3098         (vec_extract_oddv2si: Ditto.
3099         (vec_pack_trunc_v2si): Ditto.
3100
3101 2011-01-22  Jan Hubicka  <jh@suse.cz>
3102
3103         PR target/47237
3104         * cgraph.h (cgraph_local_info): New field can_change_signature.
3105         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
3106         signature can change.
3107         (ipcp_estimate_growth): Call sequence simplify only if calle signature
3108         can change.
3109         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
3110         (cgraph_function_versioning): We can not change signature of functions
3111         that don't allow that.
3112         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
3113         (lto_input_node): Likewise.
3114         * ipa-inline.c (compute_inline_parameters): Compute
3115         local.can_change_signature.
3116         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
3117         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
3118         functions that can not change signature.
3119         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
3120         init_cumulative_args): Do not use local calling conventions
3121         for functions that can not change signature.
3122
3123 2011-01-22  Jan Hubicka  <jh@suse.cz>
3124
3125         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
3126
3127 2011-01-26  Richard Guenther  <rguenther@suse.de>
3128
3129         PR tree-optimization/47190
3130         * cgraphunit.c (process_common_attributes): New function.
3131         (process_function_and_variable_attributes): Use it.
3132
3133 2011-01-26  Richard Guenther  <rguenther@suse.de>
3134
3135         PR lto/47423
3136         * cgraphbuild.c (record_eh_tables): Record reference to personality
3137         function.
3138
3139 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
3140
3141         PR debug/45454
3142         * sel-sched.c (moveup_expr): Don't let debug insns prevent
3143         non-debug insns from moving up.
3144
3145 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3146
3147         PR target/40125
3148         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
3149         t-dlldir{,-x} fragment for build and add it to tmake_file.
3150         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
3151         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
3152         * config/i386/t-dlldir: New file.
3153         (SHLIB_DLLDIR): Define.
3154         * config/i386/t-dlldir-x: New file.
3155         (SHLIB_DLLDIR): Define.
3156         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
3157         (SHLIB_INSTALL): Use it.
3158
3159 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
3160
3161         PR target/47246
3162         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
3163         lower bound of the allowed Thumb-2 coprocessor load/store
3164         index range to -256. Add explaining comment.
3165
3166 2011-01-25  Ian Lance Taylor  <iant@google.com>
3167
3168         * godump.c (go_define): Improve lexing of macro expansion to only
3169         accept expressions which match Go spec.
3170
3171 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3172
3173         PR c++/43601
3174         * tree.c (handle_dll_attribute): Handle it.
3175         * doc/extend.texi (@item dllexport): Mention it.
3176         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
3177
3178 2011-01-25  Ian Lance Taylor  <iant@google.com>
3179
3180         PR tree-optimization/26854
3181         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
3182         (decl_jump_unsafe): Move higher in file, with no other change.
3183         (bind): Set has_jump_unsafe_decl if appropriate.
3184         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
3185         (check_earlier_gotos): Likewise.
3186         (c_check_switch_jump_warnings): Likewise.
3187
3188 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
3189
3190         * doc/invoke.texi (Warning Options): Add missing hyphen.
3191         (-fprofile-dir): Minor grammatical fixes.
3192         (-fbranch-probabilities): Likewise.
3193
3194 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
3195
3196         PR debug/45136
3197         PR debug/45130
3198         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3199         debug insns.
3200         (no_real_insns_p, schedule_block, set_priorities): Drop special
3201         treatment of boundary debug insns.
3202         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
3203         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3204         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3205         (BOUNDARY_DEBUG_INSN_P): Likewise.
3206         (SCHEDULE_DEBUG_INSN_P): Likewise.
3207         * sched-rgn.c (init_ready_list): Drop special treatment of
3208         boundary debug insns.
3209         * final.c (rest_of_clean-state): Clear notes' BB.
3210
3211 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3212
3213         * Makefile.in (LAMBDA_H): Removed.
3214         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
3215         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
3216         lambda-trans.o, and tree-loop-linear.o.
3217         (lto-symtab.o): Remove dependence on LAMBDA_H.
3218         (tree-loop-linear.o): Remove rule.
3219         (lambda-mat.o): Same.
3220         (lambda-trans.o): Same.
3221         (lambda-code.o): Same.
3222         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
3223         (tree-vect-slp.o): Same.
3224         * hwint.h (gcd): Moved here.
3225         (least_common_multiple): Same.
3226         * lambda-code.c: Removed.
3227         * lambda-mat.c: Removed.
3228         * lambda-trans.c: Removed.
3229         * lambda.h: Removed.
3230         * tree-loop-linear.c: Removed.
3231         * lto-symtab.c: Do not include lambda.h.
3232         * omega.c (gcd): Removed.
3233         * passes.c (init_optimization_passes): Remove pass_linear_transform.
3234         * tree-data-ref.c (print_lambda_vector): Moved here.
3235         (lambda_vector_copy): Same.
3236         (lambda_matrix_copy): Same.
3237         (lambda_matrix_id): Same.
3238         (lambda_vector_first_nz): Same.
3239         (lambda_matrix_row_add): Same.
3240         (lambda_matrix_row_exchange): Same.
3241         (lambda_vector_mult_const): Same.
3242         (lambda_vector_negate): Same.
3243         (lambda_matrix_row_negate): Same.
3244         (lambda_vector_equal): Same.
3245         (lambda_matrix_right_hermite): Same.
3246         * tree-data-ref.h: Do not include lambda.h.
3247         (lambda_vector): Moved here.
3248         (lambda_matrix): Same.
3249         (dependence_level): Same.
3250         (lambda_transform_legal_p): Removed declaration.
3251         (lambda_collect_parameters): Same.
3252         (lambda_compute_access_matrices): Same.
3253         (lambda_vector_gcd): Same.
3254         (lambda_vector_new): Same.
3255         (lambda_vector_clear): Same.
3256         (lambda_vector_lexico_pos): Same.
3257         (lambda_vector_zerop): Same.
3258         (lambda_matrix_new): Same.
3259         * tree-flow.h (least_common_multiple): Removed declaration.
3260         * tree-parloops.c (lambda_trans_matrix): Moved here.
3261         (LTM_MATRIX): Same.
3262         (LTM_ROWSIZE): Same.
3263         (LTM_COLSIZE): Same.
3264         (LTM_DENOMINATOR): Same.
3265         (lambda_trans_matrix_new): Same.
3266         (lambda_matrix_vector_mult): Same.
3267         (lambda_transform_legal_p): Same.
3268         * tree-pass.h (pass_linear_transform): Removed declaration.
3269         * tree-ssa-loop.c (tree_linear_transform): Removed.
3270         (gate_tree_linear_transform): Removed.
3271         (pass_linear_transform): Removed.
3272         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
3273         flag_loop_interchange.
3274
3275 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3276
3277         PR tree-optimization/47265
3278         PR tree-optimization/47443
3279         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
3280         if name still has some uses.
3281
3282 2011-01-25  Martin Jambor  <mjambor@suse.cz>
3283
3284         PR tree-optimization/47382
3285         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
3286         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
3287
3288 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
3289
3290         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
3291         sjlj_except_unwind_info.
3292
3293 2011-01-25  Richard Guenther  <rguenther@suse.de>
3294
3295         PR tree-optimization/47426
3296         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
3297         visible functions results escape.
3298
3299 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3300
3301         PR target/45701
3302         * config/arm/arm.c (any_sibcall_uses_r3): New function.
3303         (arm_get_frame_offsets): Use it.
3304
3305 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3306             Jakub Jelinek  <jakub@redhat.com>
3307
3308         PR tree-optimization/47271
3309         * tree-if-conv.c (bb_postdominates_preds): New.
3310         (if_convertible_bb_p): Call bb_postdominates_preds.
3311         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
3312         (predicate_scalar_phi): Call bb_postdominates_preds.
3313
3314 2011-01-25  Nick Clifton  <nickc@redhat.com>
3315
3316         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
3317         * config/rx/rx.c (rx_function_value): Likewise.
3318         (rx_promote_function_mode): Likewise.
3319         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
3320         in order to make it legitimate.
3321         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
3322         make sure that the first operand is the same as the result register.
3323         (addsi3_unspec): Delete.
3324         (subdi3): Do not accept immediate operands.
3325         (subdi3_internal): Likewise.
3326
3327 2011-01-25  Jeff Law  <law@redhat.com>
3328
3329         PR rtl-optimization/37273
3330         * ira-costs.c (scan_one_insn): Detect constants living in memory and
3331         handle them like argument loads from stack slots.  Do not double
3332         count memory for memory constants and argument loads from stack slots.
3333
3334 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3335
3336         PR tree-optimization/47427
3337         PR tree-optimization/47428
3338         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3339         coalesce if the new root var would be TREE_READONLY.
3340
3341 2011-01-25  Richard Guenther  <rguenther@suse.de>
3342
3343         PR middle-end/47414
3344         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
3345         correct type for TBAA.
3346
3347 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3348
3349         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
3350         (close_phi_written_to_memory): Call for_each_index with
3351         dr_indices_valid_in_loop.
3352
3353 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3354
3355         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
3356         when it is initialized.
3357
3358 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3359
3360         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
3361         call to graphite_find_data_references_in_stmt.
3362         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
3363         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
3364         call to graphite_find_data_references_in_stmt.
3365         (analyze_drs_in_stmts): Same.
3366         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
3367         in which the scalar analysis of indices is performed.
3368         (create_data_ref): Same.  Update call to dr_analyze_indices.
3369         (find_data_references_in_stmt): Update call to create_data_ref.
3370         (graphite_find_data_references_in_stmt): Same.
3371         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
3372         declaration.
3373         (create_data_ref): Same.
3374         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
3375         call to create_data_ref.
3376
3377 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3378
3379         * graphite-sese-to-poly.c (build_poly_scop): Move
3380         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
3381
3382 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3383
3384         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
3385         VAR_DECL, PARM_DECL, and RESULT_DECL.
3386
3387 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3388
3389         * graphite-dependences.c (reduction_dr_1): Allow several reductions
3390         in a reduction PBB.
3391         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
3392         that have already been marked as PBB_IS_REDUCTION.
3393
3394 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3395
3396         * graphite-scop-detection.c (same_close_phi_node): New.
3397         (remove_duplicate_close_phi): New.
3398         (make_close_phi_nodes_unique): New.
3399         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
3400
3401 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3402
3403         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
3404         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
3405         of both data references to be the same.
3406
3407 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3408
3409         * graphite-dependences.c (build_lexicographical_constraint): Remove
3410         the gdim parameter.
3411         (build_lexicographical_constraint): Adjust call to
3412         ppl_powerset_is_empty.
3413         (dependence_polyhedron): Same.
3414         (graphite_legal_transform_dr): Same.
3415         (graphite_carried_dependence_level_k): Same.
3416         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
3417         parameter.
3418         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
3419
3420 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3421
3422         * graphite-sese-to-poly.c
3423         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
3424         (close_phi_written_to_memory): New.
3425         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
3426         and unshare_expr.
3427
3428 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3429
3430         * doc/install.texi: Update the expected version number of PPL to 0.11.
3431         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
3432         #if PPL_VERSION_MINOR < 11.
3433
3434 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3435
3436         * graphite-dependences.c: Include graphite-cloog-util.h.
3437         (new_poly_ddr): Inlined into dependence_polyhedron.
3438         (free_poly_ddr): Moved close by new_poly_ddr.
3439         (dependence_polyhedron_1): Renamed dependence_polyhedron.
3440         Early return NULL when ppl_powerset_is_empty returns true.
3441         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
3442         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
3443         (graphite_legal_transform_dr): Call new_poly_ddr.
3444         (graphite_carried_dependence_level_k): Same.
3445         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
3446         (dot_transformed_deps_stmt_1): Removed.
3447         (dot_deps_stmt_1): Call dot_deps_stmt_2.
3448         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
3449         (dot_deps_1): Call dot_deps_2.
3450         * Makefile.in (graphite-dependences.o): Add missing dependence on
3451         graphite-cloog-util.h.
3452
3453 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3454
3455         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
3456         (build_lexicographical_constraint): Same.
3457         (dependence_polyhedron_1): Same.
3458         (graphite_legal_transform_dr): Same.
3459         (graphite_carried_dependence_level_k): Same.
3460         * graphite-ppl.c (ppl_powerset_is_empty): New.
3461         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
3462         * tree-data-ref.c (dump_data_reference): Print the basic block index.
3463
3464 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3465
3466         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
3467         the "a followed by b" relation and document it.
3468
3469 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3470
3471         * graphite-dependences.c (build_lexicographical_constraint): Stop the
3472         iteration when the bag of constraints is empty.
3473
3474 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3475
3476         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
3477
3478 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3479
3480         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
3481         nest and two loop depths as parameters.
3482         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
3483         lst_perfect_nestify.
3484
3485 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3486
3487         * graphite-dependences.c (print_pddr): Call
3488         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
3489
3490 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3491
3492         * graphite-ppl.c (debug_gmp_value): New.
3493         * graphite-ppl.h (debug_gmp_value): Declared.
3494
3495 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
3496
3497         * doc/install.texi: Document availability of cloog-0.16.
3498
3499 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
3500
3501         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
3502         invalid postdominance info.
3503
3504 2011-01-24  Jan Hubicka  <jh@suse.cz>
3505
3506         PR c/21659
3507         * doc/extend.texi (weak pragma): Drop claim that it must
3508         appear before definition.
3509         * varasm.c (merge_weak, declare_weak): Only sanity check
3510         that DECL is not output at a time it is declared weak.
3511
3512 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
3513
3514         * machmode.def: Fixed comments.
3515
3516 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
3517
3518         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
3519
3520 2011-01-24  Paul Koning  <ni1d@arrl.net>
3521
3522         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
3523         WORDS_BIG_ENDIAN.
3524
3525 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
3526
3527         PR target/46519
3528         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
3529         (block_info): Add scanned and prev.
3530         (move_or_delete_vzeroupper_2): Return if the basic block
3531         has been scanned and the upper 128bit state is unchanged
3532         from the last scan.
3533         (move_or_delete_vzeroupper_1): Return true if the exit
3534         state is changed.
3535         (move_or_delete_vzeroupper): Visit basic blocks using the
3536         work-list based algorithm based on vt_find_locations in
3537         var-tracking.c.
3538
3539         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
3540
3541 2011-01-24  Nick Clifton  <nickc@redhat.com>
3542
3543         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
3544         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
3545         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
3546         then define __v850e1__.
3547         * doc/invoke.texi: Document -mv850es.
3548
3549 2011-01-24  Richard Henderson  <rth@redhat.com>
3550
3551         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
3552         compound unordered comparisons.
3553         * config/rx/rx.c (rx_split_fp_compare): Remove.
3554         * config/rx/rx-protos.h: Update.
3555         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
3556         (cbranchsf4): Don't call rx_split_fp_compare.
3557         (*cbranchsf4): Use rx_split_cbranch.
3558         (*cmpsf): Don't accept "i" constraint.
3559         (*conditional_branch): Only valid after reload.
3560         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
3561
3562 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3563
3564         PR target/47385
3565         * config/rs6000/altivec.md (vector constant splitters): Add
3566         support for creating vector single precision constants if -mvsx is
3567         used and we would create the constant using Altivec primitives.
3568
3569 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
3570             Richard Sandiford  <rdsandiford@googlemail.com>
3571
3572         PR rtl-optimization/47166
3573         * reload1.c (emit_reload_insns): Disable the spill_reg_store
3574         mechanism for PRE_MODIFY and POST_MODIFY.
3575         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
3576         reloadreg.
3577
3578 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
3579
3580         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
3581
3582 2011-01-22  Jan Hubicka  <jh@suse.cz>
3583
3584         PR lto/47333
3585         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
3586
3587 2011-01-22  Jan Hubicka  <jh@suse.cz>
3588
3589         PR tree-optimization/43884
3590         PR lto/44334
3591         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
3592         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
3593
3594 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
3595
3596         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3597         * config/s390/s390.c (s390_register_move_cost,
3598         s390_memory_move_cost): New.
3599         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
3600
3601 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3602
3603         PR middle-end/47401
3604         * except.c (sjlj_assign_call_site_values): Move setting the
3605         crtl->uses_eh_lsda flag to ...
3606         (sjlj_mark_call_sites): ... here.
3607         (sjlj_emit_function_enter): Support NULL dispatch label.
3608         (sjlj_build_landing_pads): In a function with no landing pads
3609         that still has must-not-throw regions, generate code to register
3610         a personality function with empty LSDA.
3611
3612 2011-01-21  Richard Henderson  <rth@redhat.com>
3613
3614         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
3615
3616         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
3617
3618         * compare-elim.c: New file.
3619         * Makefile.in (OBJS-common): Add it.
3620         (compare-elim.o): New.
3621         * common.opt (fcompare-elim): New.
3622         * opts.c (default_options_table): Add OPT_fcompare_elim.
3623         * tree-pass.h (pass_compare_elim_after_reload): New.
3624         * passes.c (init_optimization_passes): Add it.
3625         * recog.h: Protect against re-inclusion.
3626         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
3627         * doc/invoke.texi (-fcompare-elim): Document it.
3628         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
3629         * doc/tm.texi: Rebuild.
3630
3631 2011-01-22  Nick Clifton  <nickc@redhat.com>
3632
3633         * config/rx/rx.md (cstoresf4): Pass comparison operator to
3634         rx_split_fp_compare.
3635
3636 2011-01-22  Nick Clifton  <nickc@redhat.com>
3637
3638         * config/rx/rx.md (UNSPEC_CONST): New.
3639         (deallocate_and_return): Wrap the amount popped off the stack in
3640         an UNSPEC_CONST in order to stop it being rejected by
3641         -mmax-constant-size.
3642         (pop_and_return): Add a "(return)" rtx.
3643         (call): Drop the immediate operand.
3644         (call_internal): Likewise.
3645         (call_value): Likewise.
3646         (call_value_internal): Likewise.
3647         (sibcall_internal): Likewise.
3648         (sibcall_value_internal): Likewise.
3649         (sibcall): Likewise.  Generate an explicit call using
3650         sibcall_internal.
3651         (sibcall_value): Likewise.
3652         (mov<>): FAIL if a constant operand is not legitimate.
3653         (addsi3_unpsec): New pattern.
3654
3655         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
3656         (ok_for_max_constant): New function.
3657         (gen_safe_add): New function.
3658         (rx_expand_prologue): Use gen_safe_add.
3659         (rx_expand_epilogue): Likewise.
3660         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
3661         UNSPEC CONSTs.
3662
3663 2011-01-21  Jeff Law  <law@redhat.com>
3664
3665         PR tree-optimization/47053
3666         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
3667         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
3668         statements are deleted.
3669         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
3670         is nonempty, then purge dead edges and cleanup the CFG.
3671
3672 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3673
3674         PR debug/47402
3675         Temporarily revert:
3676         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3677         PR debug/47106
3678         * tree-dfa.c (create_var_ann): Mark variable as used.
3679
3680 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3681
3682         PR middle-end/45566
3683         * except.c (convert_to_eh_region_ranges): Emit queued no-region
3684         notes from other section in hot/cold partitioning even if
3685         last_action is -3.  Increment call_site_base.
3686
3687         PR rtl-optimization/47366
3688         * fwprop.c (forward_propagate_into): Return bool.  If
3689         any changes are made, -fnon-call-exceptions is used and
3690         REG_EH_REGION note is present, call purge_dead_edges
3691         and return true if it purged anything.
3692         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
3693         any EH edges were purged.
3694
3695 2011-01-21  Jeff Law  <law@redhat.com>
3696
3697         PR rtl-optimization/41619
3698         * caller-save.c (setup_save_areas): Break out code to determine
3699         which hard regs are live across calls by examining the reload chains
3700         so that it is always used.
3701         Eliminate code which checked REG_N_CALLS_CROSSED.
3702
3703 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3704
3705         PR tree-optimization/47355
3706         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
3707         NOP has non-debug uses beyond PHIs in new_bb.
3708
3709 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3710
3711         PR debug/47106
3712         * cfgexpand.c (account_used_vars_for_block): Only account vars
3713         that are annotated as used.
3714         (estimated_stack_frame_size): Don't set TREE_USED.
3715         * tree-dfa.c (create_var_ann): Mark variable as used.
3716
3717 2011-01-21  Richard Guenther  <rguenther@suse.de>
3718
3719         PR middle-end/47395
3720         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
3721
3722 2011-01-21  Richard Guenther  <rguenther@suse.de>
3723
3724         PR tree-optimization/47365
3725         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
3726         (vn_reference_lookup_pieces): Adjust.
3727         (vn_reference_lookup): Likewise.
3728         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
3729         (vn_reference_lookup_3): Only look through kills if in
3730         VN_WALKREWRITE mode.
3731         (vn_reference_lookup_pieces): Adjust.
3732         (vn_reference_lookup): Likewise.
3733         (visit_reference_op_load): Likewise.
3734         (visit_reference_op_store): Likewise.
3735         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
3736         (compute_avail): Likewise.
3737         (eliminate): Likewise.
3738
3739 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3740
3741         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
3742         DECL_IGNORED_P non-reg vars if they are used.
3743
3744         PR tree-optimization/47391
3745         * varpool.c (const_value_known_p): Return false if
3746         decl is volatile.
3747
3748 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
3749
3750         PR bootstrap/47215
3751         * config/i386/i386.c (ix86_local_alignment): Handle
3752         case for va_list_type_node is nil.
3753         (ix86_canonical_va_list_type): Likewise.
3754
3755 2011-01-21  Alan Modra  <amodra@gmail.com>
3756
3757         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
3758         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
3759
3760 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3761
3762         * config/arm/arm.md (define_attr type): Rename f_load
3763         and f_store to f_fpa_load and f_fpa_store. Update.
3764         (write_conflict): Deal with rename fallout.
3765         (*push_fp_multi): Likewise.
3766         * config/arm/fpa.md (f_load): Use f_fpa_load.
3767         (f_store): Use f_fpa_store.
3768         (*movsf_fpa): Likewise.
3769         (*movdf_fpa): Likewise.
3770         (*movxf_fpa): Likewise.
3771         (*thumb2_movsf_fpa): Likewise.
3772         (*thumb2_movdf_fpa): Likewise.
3773         (*thumb2_movxf_fpa): Likewise.
3774         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
3775         f_loadd and f_stored.
3776         (*thumb2_movdi_vfp): Likewise.
3777         (*thumb2_movsf_vfp): Fix attribute to f_loads.
3778         (*thumb2_movsi_vfp): Likewise.
3779         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
3780         Use f_loads instead of f_load.
3781         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
3782
3783 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
3784
3785         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3786         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
3787         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3788         (xtensa_mode_dependent_address_p): New function.
3789         (constantpool_address_p): Make static. Change return type to bool.
3790         Change argument type to const_rtx. Use CONST_INT_P predicate.
3791
3792 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
3793
3794         PR debug/46583
3795         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
3796
3797 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3798
3799         PR debug/47283
3800         * cfgexpand.c (expand_debug_expr): Instead of generating
3801         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
3802         etc. handling.
3803
3804 2011-01-20  Richard Guenther  <rguenther@suse.de>
3805
3806         PR middle-end/47370
3807         * tree-inline.c (remap_gimple_op_r): Recurse manually for
3808         the pointer operand of MEM_REFs.
3809
3810 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3811
3812         PR tree-optimization/46130
3813         * ipa-split.c (consider_split): If return_bb contains non-virtual
3814         PHIs other than for retval or if split_function would not adjust it,
3815         refuse to split.
3816
3817 2011-01-20  Richard Guenther  <rguenther@suse.de>
3818
3819         PR tree-optimization/47167
3820         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3821         Revert previous change, only avoid enumeral type changes.
3822
3823 2011-01-19  Mike Stump  <mikestump@comcast.net>
3824
3825         * doc/tm.texi.in (BRANCH_COST): Englishify.
3826         * doc/tm.texi (BRANCH_COST): Likewise.
3827
3828 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
3829
3830         PR c++/47291
3831         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
3832         (gen_scheduled_generic_parms_dies): New functions.
3833         (gen_struct_or_union_type_die): Schedule template parameters DIEs
3834         generation for the end of CU compilation.
3835         (dwarf2out_finish): Generate template parameters DIEs here.
3836
3837 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3838
3839         PR debug/46240
3840         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
3841         debug bind stmt on merge edges.
3842
3843 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3844
3845         PR debug/47079
3846         PR debug/46724
3847         * function.c (instantiate_expr): Instantiate incoming rtl of
3848         implicit arguments, and recurse on VALUE_EXPRs.
3849         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
3850         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
3851
3852 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3853
3854         * c-parser.c (c_parser_for_statement): Initialize
3855         collection_expression.
3856
3857 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3858
3859         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
3860
3861 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3862
3863         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
3864         (LINK_SHLIB_SPEC): Don't use %(link_path).
3865         (SUBTARGET_EXTRA_SPECS): Remove link_path.
3866
3867 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3868
3869         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
3870         (NO_SHARED_LIB_SUPPORT): Remove.
3871         (LINK_SHLIB_SPEC): Remove one conditional definition.
3872
3873 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3874
3875         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
3876         %{call_shared}.
3877         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
3878         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
3879         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
3880         %{call_shared} and conditionals on these options not being passed.
3881         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
3882         %{call_shared}.
3883
3884 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
3885
3886         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
3887         simplify.
3888
3889         * ipa-split.c: Spelling fixes.
3890
3891 2011-01-19  Richard Henderson  <rth@redhat.com>
3892
3893         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
3894         (*mulsi3): Likewise.
3895
3896         * longlong.h [__mn10300__] (count_leading_zeros): New.
3897         [__mn10300__] (umul_ppmm, smul_ppmm): New.
3898         [__mn10300__] (add_ssaaaa, subddmmss): New.
3899         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
3900         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
3901
3902 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3903
3904         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
3905
3906 2011-01-19  Richard Henderson  <rth@redhat.com>
3907
3908         * config/mn10300/mn10300.md (addsi3_flags): New.
3909         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
3910         (subsi3_flags, subc_internal, subdi3): New.
3911         (subdi3_internal, *subdi3_degenerate): New.
3912         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
3913
3914         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
3915         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
3916         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
3917         * config/mn10300/mn10300-protos.h: Update.
3918         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
3919         (return_ret): Likewise.  Rename from return_internal_regs.
3920         (return_internal): Remove.
3921
3922         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
3923         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
3924         (mn10300_legitimate_constant_p): Likewise.
3925         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
3926         (mn10300_frame_size): New.
3927         (mn10300_expand_prologue): Use it.
3928         (mn10300_expand_epilogue): Likewise.
3929         (mn10300_initial_offset): Likewise.
3930         * config/mn10300/mn10300-protos.h: Update.
3931         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
3932         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
3933         (prologue, epilogue, return_internal): Tidy output code.
3934         (mn10300_store_multiple_operation, return): Likewise.
3935         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
3936         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
3937         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
3938         (load_pic, am33_load_pic): New.
3939         (mn10300_load_pic0, mn10300_load_pic1): New.
3940
3941         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
3942         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
3943         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
3944         (cc_flags_for_mode, cc_flags_for_code): New.
3945         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
3946         overflow flag is not valid.  Validate that the flags we need
3947         for the comparison are valid.
3948         (mn10300_output_cmp): Remove.
3949         (mn10300_output_add): New.
3950         (mn10300_select_cc_mode): Use cc_flags_for_code.
3951         (mn10300_split_cbranch): New.
3952         (mn10300_match_ccmode): New.
3953         (mn10300_split_and_operand_count): New.
3954         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
3955         to the function.
3956         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
3957         (addsi3): ... here.  Use mn10300_output_add.
3958         (*addsi3_flags): New.
3959         (*am33_subsi3, *mn10300_subsi3): Merge...
3960         (subsi3): ... here.  Use attribute isa.
3961         (*subsi3_flags): New.
3962         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
3963         when possible.
3964         (*am33_andsi3, *mn10300_andsi3): Merge...
3965         (andsi3): ... here.
3966         (*andsi3_flags): New.
3967         (andsi3 splitters): New.
3968         (*am33_iorsi3, *mn10300_iorsi3): Merge...
3969         (iorsi3): ... here.
3970         (*iorsi3_flags): New.
3971         (*am33_xorsi3, *mn10300_xorsi3): Merge...
3972         (xorsi3): ... here.
3973         (*xorsi3_flags): New.
3974         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
3975         (one_cmplsi2): ... here.
3976         (*one_cmplsi2_flags): New.
3977         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
3978         instead of "dax" in constraints.  Use mn10300_split_cbranch.
3979         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
3980         use matching constraints to eliminate a self-comparison.
3981         (*integer_conditional_branch): Rename from integer_conditional_branch.
3982         Use int_mode_flags to match CC_REG.
3983         (*cbranchsi4_btst, *btstsi): New.
3984         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
3985         mn10300_split_cbranch.
3986         (*am33_cmpsf): Rename from am33_cmpsf.
3987         (*float_conditional_branch): Rename from float_conditional_branch.
3988         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
3989         (zero_extendqisi2): ... here.
3990         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
3991         (zero_extendhisi2): ... here.
3992         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
3993         (extendqisi2): ... here.
3994         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
3995         (extendhisi2): ... here.
3996         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
3997         (ashlsi3): ... here.
3998         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
3999         (lshrsi3): ... here.
4000         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
4001         (ashrsi3): ... here.
4002         (consecutive add peephole): Remove.
4003         * config/mn10300/predicates.md (label_ref_operand): New.
4004         (int_mode_flags): New.
4005         (CCZN_comparison_operator): New.
4006
4007         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
4008         (throughput_42_latency_43): New reservation.
4009         (mulsidi3, umulsidi3): New expanders.
4010         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
4011         the MDR register to allocation; separately allocate the low and
4012         high parts of the DImode result.
4013         (umulsidi3_internal): Similarly.
4014         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
4015         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
4016         (udivsi3, umodsi3): Remove.
4017         (udivmodsi4, divmodsi4): New expanders.
4018         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
4019         (*divmodsi4): Simiarly.
4020         (ext_internal): New.
4021
4022         * config/mn10300/constraints.md ("z"): New constraint.
4023         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
4024         (FIXED_REGISTERS): Don't fix MDR.
4025         (CALL_USED_REGSITERS): Reformat nicely.
4026         (REG_ALLOC_ORDER): Add MDR.
4027         (enum regclass): Add MDR_REGS.
4028         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
4029         (IRA_COVER_CLASSES): Add MDR_REGS.
4030         (REGNO_REG_CLASS): Handle MDR_REG.
4031         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
4032         (mn10300_register_move_cost): Likewise.
4033         * config/mn10300/mn10300.md (MDR_REG): New.
4034         (*movsi_internal): Handle moves to/from MDR_REGS.
4035
4036         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
4037         POST_MODIFY.
4038         (mn10300_secondary_reload): Tidy combination reload classes.
4039         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
4040         addresses for AM33.  Allow symbolic offsets for reg+imm.
4041         (mn10300_regno_in_class_p): New.
4042         (mn10300_legitimize_reload_address): New.
4043         * config/mn10300/mn10300.h (enum reg_class): Remove
4044         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
4045         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
4046         SP_OR_GENERAL_REGS.
4047         (REG_CLASS_NAMES): Update to match.
4048         (REG_CLASS_CONTENTS): Likewise.
4049         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
4050         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
4051         (REGNO_IN_RANGE_P): Remove.
4052         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
4053         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
4054         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
4055         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
4056         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
4057         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
4058         (REGNO_GENERAL_P): New.
4059         (HAVE_POST_MODIFY_DISP): New.
4060         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
4061         (LEGITIMIZE_RELOAD_ADDRESS): New.
4062         * config/mn10300/mn10300-protos.h: Update.
4063
4064         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
4065         DATA_REGS for AM33 stack-pointer destination.
4066         (mn10300_preferred_output_reload_class): Likewise.
4067         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
4068         into a form appropriate for ...
4069         (TARGET_SECONDARY_RELOAD): New.
4070         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
4071         * config/mn10300/mn10300-protos.h: Update.
4072         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
4073         reload_insi; use the "A" constraint for the scratch; handle AM33
4074         moves of sp to non-address registers.
4075
4076         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
4077         (*movqi_internal): ... here.
4078         (*am33_movhi, *mn10300_movhi): Merge into...
4079         (*movhi_internal): ... here.
4080         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
4081         as the source/destination of moves from/to SP.
4082         (movsf): Only allow for AM33-2.
4083         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
4084         any integer constant constraint.  Only allow for AM33-2.  Tidy
4085         all of the alternative outputs.
4086         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
4087         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
4088         for MN103.
4089         (udivsi3, umodsi3): New patterns for MN103 only.
4090
4091 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
4092
4093         * doc/tm.texi.in: Spell out that a lack of register class unions
4094         can lead to ICEs.
4095         * doc/tm.texi: Regenerate.
4096
4097 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
4098
4099         PR rtl-optimization/47337
4100         * dce.c (check_argument_store): New function.
4101         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
4102
4103         PR tree-optimization/47290
4104         * tree-eh.c (infinite_empty_loop_p): New function.
4105         (cleanup_empty_eh): Use it.
4106
4107 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
4108
4109         PR target/46997
4110         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
4111         (a64_expand_widen_sum): Ditto.
4112 &