OSDN Git Service

2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2
3         * recog.c (canonicalize_change_group): Use validate_unshare_change.
4
5 2011-03-22  Richard Guenther  <rguenther@suse.de>
6
7         * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
8         a valid RHS.  Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
9         * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
10         and REALIGN_LOAD_EXPR.
11         (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
12         DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
13         * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
14         DOT_PROD_EXPR case ...
15         (expand_expr_real_2): ... here.
16         * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
17         and REALIGN_LOAD_EXPR.
18         * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
19         * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
20         (vect_create_epilog_for_reduction): Likewise.
21         (vectorizable_reduction): Likewise.
22         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
23         * tree-vect-stmts.c (vectorizable_load): Likewise.
24
25 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
26
27         * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
28
29 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
30
31         * config/s390/s390.c (s390_delegitimize_address): Fix offset
32         handling for PLTOFF/GOTOFF.
33
34 2011-03-22  Nick Clifton  <nickc@redhat.com>
35
36         * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
37         trailing backslash from the end of the macro definition.
38
39 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
40
41         * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
42         and PLT unspecs.
43
44 2011-03-21  Richard Sandiford  <richard.sandiford@linaro.org>
45
46         * expr.h (prepare_operand): Move to...
47         * optabs.h (prepare_operand): ...here and change the insn code
48         parameter from "int" to "enum insn_code".
49         (insn_operand_matches): Declare.
50         * expr.c (init_expr_target): Use insn_operand_matches.
51         (compress_float_constant): Likewise.
52         * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
53         * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
54         (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
55         (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn): Likewise.
56         (gen_cond_trap): Likewise.
57         (prepare_operand): Likewise.  Change icode to an insn_code.
58         (insn_operand_matches): New function.
59         * reload.c (find_reloads_address_1): Use insn_operand_matches.
60         * reload1.c (gen_reload): Likewise.
61         * targhooks.c (default_secondary_reload): Likewise.
62
63 2011-03-21  Uros Bizjak  <ubizjak@gmail.com>
64
65         * config/alpha/alpha.md (unspec): New define_c_enum.
66         (unspecv): Ditto.
67
68 2011-03-21  Uros Bizjak  <ubizjak@gmail.com>
69
70         PR debug/48214
71         * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
72         between a call and its CALL_ARG_LOCATION note.
73
74 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
75
76         * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
77
78 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
79
80         PR c/42544
81         PR c/48197
82         * c-common.c (shorten_compare): If primopN is first sign-extended
83         to opN and then zero-extended to result type, set primopN to opN.
84
85 2011-03-21  Daniel Jacobowitz  <dan@codesourcery.com>
86
87         * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
88         for barrier handlers.
89
90 2011-03-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
91
92         * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
93         UNSPEC constants to be in the unspec enumeration, and redefine
94         all UNSPECV constants to be in the unspecv enumeration, so that
95         dumps print which unspec/unspec_volatile this is.
96         * config/rs6000/vector.md (UNSPEC_*): Ditto.
97         * config/rs6000/paired.md (UNSPEC_*): Ditto.
98         * config/rs6000/vsx.md (UNSPEC_*): Ditto.
99         * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
100         * config/rs6000/dfp.md (UNSPEC_*): Ditto.
101
102         * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
103         UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
104         UNSPECV_LWSYNC, since these are used as unspec_volatile.
105         * config/rs6000/sync.md (isync, lwsync): Ditto.
106
107 2011-03-21  Richard Guenther  <rguenther@suse.de>
108
109         * params.def (lto-min-partition): Fix typo.
110
111 2011-03-21  Richard Guenther  <rguenther@suse.de>
112
113         PR c/47939
114         * c-decl.c (grokdeclarator): Drop to the main variant only
115         for array types.  Drop flag_gen_aux_info check.
116
117 2011-03-21  Richard Guenther  <rguenther@suse.de>
118
119         PR translation/47911
120         * params.def (lto-partitions): Fix typo.
121         (lto-min-partition): Fix wording.
122
123 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
124
125         * config/rs6000/t-freebsd: Remove duplication from file.
126
127 2011-03-21  Richard Guenther  <rguenther@suse.de>
128
129         PR middle-end/47661
130         * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
131
132 2011-03-21  Richard Guenther  <rguenther@suse.de>
133
134         PR lto/48210
135         * params.def (lto-partitions): Require at least 1 partition.
136
137 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
138
139         * gthr-solaris.h: Remove.
140         * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
141         * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
142         (LIB_SPEC): Likewise.
143         * config/sol2.opt (threads): Remove.
144         * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
145         (sparc*-*-solaris2*): Likewise.
146         * configure.ac (enable_threads): Enable solaris support.
147         * configure: Regenerate.
148         * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
149         * doc/install.texi (Configuration, --enable-threads=lib): Remove
150         solaris.
151
152 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
153
154         * config.gcc: Obsolete *-*-solaris2.8*.
155         * doc/install.texi (Specific, *-*-solaris2*): Document it.
156
157 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
158
159         PR bootstrap/48135
160         * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
161         reference.  Solaris 8 perl works.
162
163 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
164
165         PR bootstrap/48135
166         * doc/install.texi (Prerequisites): Move jar etc. up.
167         Explain support library version requirements.
168
169 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
170
171         PR bootstrap/48135
172         * doc/install.texi (Prerequisites): Move Perl to build
173         requirements.  Always necessary on Solaris 2 with Sun ld.
174
175 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
176
177         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
178         binutils 2.21.
179         (Specific, i?86-*-solaris2.[89]): Likewise.
180         (Specific, i?86-*-solaris2.10): Likewise.
181         (Specific, mips-sgi-irix6): Likewise.
182         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
183         Update for binutils 2.21.
184
185 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
186
187         * configure.ac (gcc_cv_lto_plugin): Fix typo.
188         Allow -fuse-linker-plugin for non-default plugin linker.
189         * configure: Regenerate.
190
191 2011-03-21  Nicola Pero  <nicola.pero@meta-innovation.com>
192
193         PR bootstrap/48167
194         * gengtype.c (files_rules): Added rule for cp/parser.h.
195
196 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
197
198         PR target/48213
199         * config/s390/s390.c (s390_delegitimize_address): Don't call
200         lowpart_subreg if orig_x has BLKmode.
201
202 2011-03-21  Kai Tietz  <ktietz@redhat.com>
203
204         PR target/12171
205         * doc/plugins.texi: Adjust documentation for plugin register_callback.
206         * tree.h (attribute_spec): Add new member affects_type_identity.
207         * attribs.c (empty_attribute_table): Adjust attribute_spec
208         initializers.
209         * config/alpha/alpha.c: Likewise.
210         * config/arc/arc.c: Likewise.
211         * config/arm/arm.c: Likewise.
212         * config/avr/avr.c: Likewise.
213         * config/bfin/bfin.c: Likewise.
214         * config/crx/crx.c: Likewise.
215         * config/darwin.h: Likewise.
216         * config/h8300/h8300.c: Likewise.
217         * config/i386/cygming.h: Likewise.
218         * config/i386/i386.c: Likewise.
219         * config/ia64/ia64.c: Likewise.
220         * config/m32c/m32c.c: Likewise.
221         * config/m32r/m32r.c: Likewise.
222         * config/m68hc11/m68hc11.c: Likewise.
223         * config/m68k/m68k.c: Likewise.
224         * config/mcore/mcore.c: Likewise.
225         * config/mep/mep.c: Likewise.
226         * config/microblaze/microblaze.c: Likewise.
227         * config/mips/mips.c: Likewise.
228         * config/rs6000/rs6000.c: Likewise.
229         * config/rx/rx.c: Likewise.
230         * config/sh/sh.c: Likewise.
231         * config/sol2.h: Likewise.
232         * config/sparc/sparc.c: Likewise.
233         * config/spu/spu.c: Likewise.
234         * config/stormy16/stormy16.c: Likewise.
235         * config/v850/v850.c: Likewise.
236
237 2011-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
238
239         * simplify-rtx.c (simplify_binary_operation_1): Handle
240         (xor (and A B) C) case when B and C are both constants.
241
242 2011-03-21  Mingjie Xing  <mingjie.xing@gmail.com>
243
244         * tree-dfa.c (add_referenced_var): Fix typo in comment.
245
246 2011-03-20  Eric Botcazou  <ebotcazou@adacore.com>
247
248         PR bootstrap/48168
249         * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
250
251 2011-03-20  Jakub Jelinek  <jakub@redhat.com>
252
253         PR rtl-optimization/48156
254         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
255         assume df and df_lr are not NULL.
256
257 2011-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
258
259         PR debug/48023
260         * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
261         between a call and its CALL_ARG_LOCATION note.
262
263 2011-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
264
265         PR debug/48178
266         * config/sh/sh.c (find_barrier): Don't emit a constant pool
267         between a call and its corresponding CALL_ARG_LOCATION note.
268
269 2011-03-19  Anatoly Sokolov  <aesok@post.ru>
270
271         * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
272         instead of loop. Use HARD_REGISTER_NUM_P predicate.
273         * haifa-sched.c (setup_ref_regs): Ditto.
274         * caller-save.c (add_used_regs_1): Ditto.
275         * dse.c (look_for_hardregs): Ditto.
276         * df-problems.c (df_simulate_one_insn_forwards): Ditto.
277         * sched-rgn.c (check_live_1): Ditto.
278
279 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
280
281         * c-decl.c (diagnose_mismatched_decls): Give an error for
282         redefining a typedef with variably modified type.
283
284 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
285
286         * c-decl.c (grokfield): Don't allow typedefs for structures or
287         unions with no tag by default.
288         * doc/extend.texi (Unnamed Fields): Update.
289
290 2011-03-18  Uros Bizjak  <ubizjak@gmail.com>
291
292         * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
293         Rewrite using indirect functions.
294         (lwp_slwpcb): Ditto.
295         * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
296         (avx_vinsertf128<mode>): Ditto.
297
298 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
299
300         * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
301         unspecs.
302
303 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
304
305         * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
306         splitting between a call and its corresponding CALL_ARG_LOCATION note.
307
308 2011-03-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
309
310         PR rtl-optimization/48170
311         * gcse.c (hoist_code): Remove bogus asserts.
312
313 2011-03-18  Georg-Johann Lay  <avr@gjlay.de>
314
315         * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
316         computation for prologue/epilogue.
317
318 2011-03-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
319
320         * Makefile.in (check-consistency): Remove.
321
322 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
323
324         PR debug/48176
325         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
326         arange_table_in_use is 0, but either text_section_used or
327         cold_text_section_used is true.  Don't call it if
328         !info_section_emitted.
329
330 2011-03-18  Anatoly Sokolov  <aesok@post.ru>
331
332         * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
333         FUNCTION_VALUE_REGNO_P): Remove.
334         * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
335         Remove.
336         * config/avr/avr.c (avr_ret_register): Make static inline.
337         (avr_function_value_regno_p): New function.
338         (avr_libcall_value): Make static. Add 'func' argument.
339         (avr_function_value): Make static. Rename 'func' argument to
340         'fn_decl_or_type', forward it to avr_libcall_value. Call
341         avr_ret_register function instead of RET_REGISTER macro.
342         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
343
344 2011-03-18  Jason Merrill  <jason@redhat.com>
345
346         PR c++/23372
347         * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
348
349 2011-03-18  Richard Guenther  <rguenther@suse.de>
350
351         * doc/install.texi (--enable-gold): Remove.
352         (--with-plugin-ld): Document.
353         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
354
355 2011-03-18  Andrew Pinski  <pinskia@gmail.com>
356
357         PR middle-end/47790
358         * expr.c (optimize_bitfield_assignment_op): Revamp to work
359         again after expansion changes.
360
361 2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>
362
363         * combine.c (try_combine): Do simplification only call of
364         subst() on i2 even when i1 is present. Update comments.
365
366 2011-03-18  Kaz Kojima  <kkojima@gcc.gnu.org>
367
368         * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
369         and UNSPEC_PCREL_SYMOFF.
370
371 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
372
373         * config/s390/s390.md: Use define_c_enum for the unspec constant
374         definitions.
375
376 2011-03-18  Richard Henderson  <rth@redhat.com>
377             Jakub Jelinek  <jakub@redhat.com>
378
379         PR bootstrap/48161
380         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
381         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
382
383 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
384
385         PR middle-end/47725
386         * combine.c (cant_combine_insn_p): Don't check zero/sign
387         extended hard registers.
388
389 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
390
391         PR middle-end/47725
392         * combine.c (cant_combine_insn_p): Check zero/sign extended
393         hard registers.
394
395 2011-03-17  Anatoly Sokolov  <aesok@post.ru>
396
397         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
398         * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
399         * config/v850/v850.c (v850_output_addr_const_extra): Make static.
400         Change return type to bool.
401         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
402
403 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
404
405         PR debug/48163
406         * var-tracking.c (prepare_call_arguments): If CALL target
407         is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
408         pc instead of looking it up using cselib_lookup and use
409         Pmode for it if x has VOIDmode.
410         * dwarf2out.c (gen_subprogram_die): If also both first and
411         second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
412
413         PR debug/48163
414         * function.c (assign_parms): For data.passed_pointer parms
415         use MEM of data.entry_parm instead of data.entry_parm itself
416         as DECL_INCOMING_RTL.
417         * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
418         also when passed and declared mode is the same, DECL_RTL
419         is a MEM with pseudo as address and DECL_INCOMING_RTL is
420         a MEM too.
421
422 2011-03-16  Jeff Law  <law@redhat.com>
423
424         PR rtl-optimization/37273
425         * ira-costs.c (scan_one_insn): Detect constants living in memory and
426         handle them like argument loads from stack slots.  Do not double
427         count memory for memory constants and argument loads from stack slots.
428
429 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
430
431         PR debug/48160
432         * var-tracking.c (prepare_call_arguments): Check SUBREG.
433
434 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
435
436         PR target/48171
437         * config/i386/i386.opt: Add Save to -mavx and -mfma.
438
439 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
440
441         PR bootstrap/48153
442         * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
443         if dwarf_strict.
444         (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
445         Clear call_arg_locations and call_arg_loc_last always.
446
447         PR middle-end/48152
448         * var-tracking.c (prepare_call_arguments): If argument needs to be
449         passed by reference, adjust argtype and mode.
450
451 2011-03-17  Richard Guenther  <rguenther@suse.de>
452
453         PR middle-end/48134
454         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
455         a value make sure to fold the statement.
456
457 2011-03-17  Chung-Lin Tang  <cltang@codesourcery.com>
458
459         PR target/43872
460         * config/arm/arm.c (arm_get_frame_offsets): Adjust early
461         return condition with !cfun->calls_alloca.
462
463 2011-03-17  Richard Guenther  <rguenther@suse.de>
464
465         PR bootstrap/48148
466         * lto-cgraph.c (input_overwrite_node): Clear the abstract
467         origin for decls in other ltrans units.
468         (input_varpool_node): Likewise.
469
470 2011-03-17  Richard Guenther  <rguenther@suse.de>
471
472         PR middle-end/48165
473         * tree-object-size.c (compute_object_offset): Properly return
474         the offset operand of MEM_REFs as sizetype.
475
476 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
477
478         PR rtl-optimization/48141
479         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
480         * dse.c: Include params.h.
481         (active_local_stores_len): New variable.
482         (add_wild_read, dse_step1): Clear it when setting active_local_stores
483         to NULL.
484         (record_store, check_mem_read_rtx): Decrease it when removing
485         from the chain.
486         (scan_insn): Likewise.  Increase it when adding to chain, if it
487         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
488         set active_local_stores to NULL before the addition.
489         * Makefile.in (dse.o): Depend on $(PARAMS_H).
490
491         PR rtl-optimization/48141
492         * dse.c (record_store): If no positions are needed in an insn
493         that cannot be deleted, at least unchain it from active_local_stores.
494
495 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
496
497         PR debug/47510
498         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
499         (lookup_type_die_strip_naming_typedef): ... here.
500         (get_context_die): Use it.
501         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
502         the anonymous struct named by the naming typedef.
503
504 2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>
505
506         PR target/48154
507         * config/i386/i386.c (ix86_builtin_vectorized_function): Check
508         TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
509
510 2011-03-16  Jeff Law  <law@redhat.com>
511
512         * tree-vrp.c (identify_jump_threads): Slightly simplify type
513         check for operands of conditional.  Allow type to be a pointer.
514
515 2011-03-16  Richard Guenther  <rguenther@suse.de>
516
517         PR tree-optimization/48149
518         * fold-const.c (fold_binary_loc): Fold
519         COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
520
521 2011-03-16  Richard Guenther  <rguenther@suse.de>
522
523         PR tree-optimization/26134
524         * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
525         complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
526         (non_rewritable_mem_ref_base): Handle complex type component
527         accesses, constrain offsets for vector and complex extracts
528         more properly.
529
530 2011-03-16  Richard Guenther  <rguenther@suse.de>
531
532         PR tree-optimization/48146
533         * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
534         operands avoiding the need for renaming.
535
536 2011-03-16  Richard Guenther  <rguenther@suse.de>
537
538         * gimple-fold.c (maybe_fold_reference): Open-code relevant
539         constant folding.  Move MEM_REF canonicalization first.
540         Rely on fold_const_aggregate_ref for initializer folding.
541         * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
542
543 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
544
545         PR middle-end/48136
546         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
547         arg0/arg1 or their arguments are always fold converted to matching
548         types.
549
550         * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
551         to nargs.
552
553 2011-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
554
555         PR lto/46944
556         * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
557         Handle in-tree gold.
558         (ld_vers): Extract binutils version for gold.
559         (gcc_cv_ld_hidden): Handle gold here.
560         (gcc_cv_lto_plugin): Determine level of linker plugin support.
561         * configure: Regenerate.
562         * config.in: Regenerate.
563         * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
564         -fuse-linker-plugin otherwise.
565         (LINK_PLUGIN_SPEC): Define.  Extract from LINK_COMMAND_SPEC.
566         (LINK_COMMAND_SPEC): Use it.
567         (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
568
569 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
570
571         * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
572         * calls.c: Remove debug.h include.
573         (emit_call_1): Don't call virtual_call_token debug hook.
574         * dwarf2out.c (debug_dcall_section, debug_vcall_section,
575         dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
576         vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
577         size_of_dcall_table, output_dcall_table, size_of_vcall_table,
578         output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
579         vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
580         dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
581         dwarf2out_virtual_call): Remove.
582         (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
583         copy_call_info and virtual_call hooks.
584         (dwarf2out_init): Don't initialize vcall_insn_table,
585         debug_dcall_section and debug_vcall_section.
586         (prune_unused_types): Don't mark nodes from dcall_table.
587         (dwarf2out_finish): Don't output dcall or vcall tables.
588         * final.c (final_scan_insn): Don't call direct_call or
589         virtual_call debug hooks.
590         * debug.h (struct gcc_debug_hooks): Remove direct_call,
591         virtual_call_token, copy_call_info and virtual_call hooks.
592         (debug_nothing_uid): Remove prototype.
593         * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
594         copy_call_info and virtual_call hooks.
595         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
596         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
597         * debug.c (do_nothing_debug_hooks): Likewise.
598         (debug_nothing_uid): Remove.
599         * doc/invoke.texi (-fenable-icf-debug): Remove.
600         * common.opt (-fenable-icf-debug): Likewise.
601
602         * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
603         * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
604         call's MEM.  Handle functions returning aggregate through a hidden
605         first pointer.  For virtual calls add clobbered pc to call arguments
606         chain.
607         * dwarf2out.c (gen_subprogram_die): Emit
608         DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
609         can't be emitted.
610
611         PR debug/45882
612         * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
613         * rtl.h (ENTRY_VALUE_EXP): Define.
614         * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
615         * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
616         * print-rtl.c (print_rtx): Likewise.
617         * gengtype.c (adjust_field_rtx_def): Likewise.
618         * var-tracking.c (vt_add_function_parameter): Adjust
619         gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
620         * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
621         * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
622         partition is a default definition of a PARM_DECL, use ENTRY_VALUE
623         of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
624
625         * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
626         Call var_location debug hook even on CALL_INSNs.
627         (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
628         * rtl.def (ENTRY_VALUE): New.
629         * dwarf2out.c: Include cfglayout.h.
630         (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
631         output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
632         (struct call_arg_loc_node): New type.
633         (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
634         tail_call_site_count): New variables.
635         (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
636         DW_TAG_GNU_call_site_parameter.
637         (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
638         DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
639         DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
640         DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
641         and DW_AT_GNU_all_source_call_sites.
642         (mem_loc_descriptor): Handle ENTRY_VALUE.
643         (add_src_coords_attributes): Don't add enything if
644         DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
645         (dwarf2out_abstract_function): Save and clear call_arg_location,
646         call_site_count and tail_call_site_count around dwarf2out_decl call.
647         (gen_call_site_die): New function.
648         (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
649         (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
650         (dwarf2out_function_decl): Clear call_arg_locations,
651         call_arg_loc_last, set call_site_count and tail_call_site_count
652         to -1 and free block_map.
653         (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
654         CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
655         followed by any real instructions.
656         (dwarf2out_begin_function): Set call_site_count and
657         tail_call_site_count to 0.
658         (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
659         is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
660         attempt to force a DIE for it and worst case remove the attribute.
661         (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
662         check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
663         the decl itself.
664         * var-tracking.c: Include tm_p.h.
665         (vt_stack_adjustments): For calls call note_register_arguments.
666         (argument_reg_set): New variable.
667         (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
668         ensure the VALUE is resolved.
669         (call_arguments): New variable.
670         (prepare_call_arguments): New function.
671         (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
672         (struct expand_loc_callback_data): Add ignore_cur_loc field.
673         (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
674         always use the best expression.
675         (vt_expand_loc): Add ignore_cur_loc argument.
676         (vt_expand_loc_dummy): Clear ignore_cur_loc field.
677         (emit_note_insn_var_location): Adjust vt_expand_loc callers.
678         (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
679         note for all calls.
680         (vt_add_function_parameter): Use cselib_lookup_from_insn.
681         If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
682         argument.  Don't call cselib_preserve_only_values and
683         cselib_reset_table.
684         (note_register_arguments): New function.
685         (vt_initialize): Compute argument_reg_set.  Call
686         vt_add_function_parameters before processing basic blocks instead of
687         afterwards.  For calls call prepare_call_arguments before calling
688         cselib_process_insn.
689         * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
690         * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
691         (var-tracking.o): Depend on $(TM_P_H).
692         * cfglayout.h (insn_scope): New prototype.
693         * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
694         * cfglayout.c (insn_scope): No longer static.
695         * insn-notes.def (CALL_ARG_LOCATION): New.
696         * calls.c (expand_call, emit_library_call_value_1): Put USEs for
697         MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
698         * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
699         nothing for DECL_EXTERNAL BLOCK_VARS.
700
701 2011-03-16  Alan Modra  <amodra@gmail.com>
702
703         PR target/45844
704         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
705         create invalid offset address for vsx splat insn.
706         * config/rs6000/predicates.md (splat_input_operand): New.
707         * config/rs6000/vsx.md (vsx_splat_*): Use it.
708
709 2011-03-15  Xinliang David Li  <davidxl@google.com>
710
711         PR c/47837
712         * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
713         (normalize_preds): New function.
714         (is_use_properly_guarded): Normalize def predicates.
715
716 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
717
718         PR target/46788
719         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
720         in the output template.
721
722 2011-03-15  Richard Guenther  <rguenther@suse.de>
723
724         PR middle-end/47650
725         * tree-pretty-print.c (dump_function_declaration): Properly
726         dump unprototyped and varargs function types.
727
728 2011-03-15  Richard Guenther  <rguenther@suse.de>
729
730         PR tree-optimization/13954
731         * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
732         and friends.
733
734 2011-03-15  Richard Guenther  <rguenther@suse.de>
735
736         PR tree-optimization/48037
737         * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
738         selects into BIT_FIELD_REFs.
739         (non_rewritable_mem_ref_base): Check if a MEM_REF is a
740         vector select.
741
742 2011-03-15  Jakub Jelinek  <jakub@redhat.com>
743
744         PR tree-optimization/48129
745         * builtins.c (fold_builtin_snprintf): Convert to type of
746         built_in_decls[BUILT_IN_SNPRINTF] retval instead of
747         implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
748
749 2011-03-15  Richard Guenther  <rguenther@suse.de>
750
751         PR tree-optimization/41490
752         * tree-ssa-dce.c (propagate_necessity): Handle returns without
753         value but with VUSE.
754         * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
755         return statements.
756         * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
757         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
758         * tree-tailcall.c (find_tail_calls): Ignore returns.
759
760 2011-03-15  Richard Guenther  <rguenther@suse.de>
761
762         PR middle-end/48031
763         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
764         or variable-indexed array accesses when in gimple form.
765
766 2011-03-15  Richard Guenther  <rguenther@suse.de>
767
768         * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
769
770 2011-03-15  Alan Modra  <amodra@gmail.com>
771
772         PR target/48032
773         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
774         presume symbol_refs without a symbol_ref_decl are suitably
775         aligned, nor other trees we may see here.  Handle anchor symbols.
776         (legitimate_constant_pool_address_p): Comment.  Add mode param.
777         Check cmodel=medium addresses.  Adjust all calls.
778         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
779         creating cmodel=medium optimized access to locals.
780         * config/rs6000/constraints.md (R): Pass QImode to
781         legitimate_constant_pool_address_p.
782         * config/rs6000/predicates.md (input_operand): Pass mode to
783         legitimate_constant_pool_address_p.
784         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
785         Update prototype.
786
787 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
788
789         PR target/48053
790         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
791         64-bit constants being loaded into registers other than GPRs such
792         as loading 0 into a VSX register.
793
794 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
795
796         * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
797
798 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
799
800         PR middle-end/47917
801         * builtins.c (fold_builtin_snprintf): New function.
802         (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
803         (fold_builtin_4): Likewise.
804
805         PR middle-end/38878
806         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
807         STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
808         and C - X == X also strip nops from +/-/p+ operand.
809         When optimizing -X == C, fold C to arg0's type.
810
811         PR debug/47946
812         * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
813         emit it as add_AT_int instead of add_AT_unsigned.
814
815 2011-03-14  Tom Tromey  <tromey@redhat.com>
816
817         * unwind-dw2.c: Include sys/sdt.h if it exists.
818         (_Unwind_DebugHook): Use STAP_PROBE2.
819         * config.in, configure: Rebuild.
820         * configure.ac: Check for sys/sdt.h.
821
822 2011-03-14  Uros Bizjak  <ubizjak@gmail.com>
823
824         * config/i386/i386.md (ROUND_FLOOR): New constant.
825         (ROUND_CEIL): Ditto.
826         (ROUND_TRUNC): Ditto.
827         (ROUND_MXCSR): Ditto.
828         (ROUND_NO_EXC): Ditto.
829         (rint<mode>2): Use new defines instead of numerical constants.
830         (floor<mode>2): Ditto.
831         (ceil<mode>2): Ditto.
832         (btrunc<mode>2): Ditto.
833         * config/i386/i386-builtin-types.def: Define ROUND function type
834         aliases.
835         * config/i386/i386.c (enum ix86_builtins): Add
836         IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
837         (struct builtin_description): Add
838         __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
839         (ix86_expand_sse_round): New static function.
840         (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
841         function types.
842         (ix86_builtin_vectorized_function): Handle
843         BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
844
845 2011-03-14  Tom Tromey  <tromey@redhat.com>
846
847         * c-parser.c (c_parser_asm_string_literal): Clear
848         warn_overlength_strings.
849
850 2011-03-14  Tom Tromey  <tromey@redhat.com>
851
852         * c-parser.c (disable_extension_diagnostics): Save
853         warn_overlength_strings.
854         (restore_extension_diagnostics): Restore warn_overlength_strings.
855
856 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
857
858         * BASE-VER: Change to 4.7.0.
859
860 2011-03-14  Richard Guenther  <rguenther@suse.de>
861
862         PR middle-end/48098
863         * tree.c (build_vector_from_val): Adjust assert to requirements
864         and reality.
865
866 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
867
868         PR bootstrap/48102
869         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
870
871 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
872
873         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
874         terms of target_flags_explicit. Adjust copyright year.
875
876         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
877         * config/rs6000/t-freebsd: New file. Add override for
878         LIB2FUNCS_EXTRA.
879
880 2011-03-13  Chris Demetriou  <cgd@google.com>
881
882         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
883         (-fno-diagnostics-show-option): this, to reflect current default.
884         (-Werror=): Update text about -fno-diagnostics-show-option.
885
886 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
887
888         PR target/48053
889         * config/rs6000/predicates.md (easy_vector_constant_add_self,
890         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
891         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
892         mode is not V2DImode or V2DFmode.
893         (vspltis_constant): Do not handle V2DImode and V2DFmode.
894         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
895         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
896         registers to 0.
897         (movdi_internal64): Likewise.
898
899 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
900
901         PR tree-optimization/47127
902         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
903         parameter.
904         (set_cloog_options): Same.
905         (scop_to_clast): Same.
906         (print_clast_stmt): Do not call cloog_state_malloc and
907         cloog_state_free.
908         (print_generated_program): Same.
909         (gloog): Same.
910         * graphite-clast-to-gimple.h (cloog_state): Declared.
911         (scop_to_clast): Adjust declaration.
912         * graphite.c (cloog_state): Defined here.
913         (graphite_initialize): Call cloog_state_malloc.
914         (graphite_finalize): Call cloog_state_free.
915
916 2011-03-11  Jason Merrill  <jason@redhat.com>
917
918         * attribs.c (lookup_attribute_spec): Take const_tree.
919         * tree.h: Adjust.
920
921 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
922
923         * config/sparc/sparc.c (sparc_option_override): Use
924         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
925
926 2011-03-11  Richard Guenther  <rguenther@suse.de>
927
928         PR tree-optimization/48067
929         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
930         multiplication result will be only used once on the target
931         stmt.
932
933 2011-03-11  Richard Guenther  <rguenther@suse.de>
934
935         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
936
937 2011-03-11  Richard Guenther  <rguenther@suse.de>
938
939         PR lto/48073
940         * tree.c (find_decls_types_r): Do not walk types only reachable
941         from IDENTIFIER_NODEs.
942
943 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
944
945         PR middle-end/48044
946         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
947         all vnode->force_output nodes as needed.
948
949 2011-03-11  Jason Merrill  <jason@redhat.com>
950
951         PR c++/48069
952         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
953         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
954
955 2011-03-11  Martin Jambor  <mjambor@suse.cz>
956
957         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
958         cgraph_node.
959
960 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
961
962         PR tree-optimization/48063
963         * ipa-inline.c (cgraph_decide_inlining): Don't try to
964         inline functions called once if !tree_can_inline_p (node->callers).
965
966 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
967
968         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
969         extra_objs.
970         * config/score/score3.c: Delete.
971         * config/score/score3.h: Delete.
972         * config/score/mul-div.S: Delete.
973         * config/score/sfp-machine.h: Add new file.
974         * config/score/constraints.md: Add new file.
975         * config/score/t-score-softfp: Add new file.
976         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
977         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
978         (score7_extra_constraint): Delete.
979         (score7_option_override): Remove unused code.
980         * config/score/score.c: Remove score3 and score5 define and code.
981         * config/score/score.h: Remove score3 and score5 define and code.
982         * config/score/score.md: Remove score3 template and unusual insn.
983         * config/score/score.opt: Remove score3 and score5 options.
984
985 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
986
987         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
988         when _HPUX_SOURCE is defined.
989         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
990
991 2011-03-10  Jason Merrill  <jason@redhat.com>
992
993         PR c++/48029
994         * stor-layout.c (layout_type): Don't set structural equality
995         on arrays of incomplete type.
996         * tree.c (type_hash_eq): Handle comparing them properly.
997
998 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
999
1000         PR debug/48043
1001         * config/s390/s390.c (s390_delegitimize_address): Make sure the
1002         result mode matches original rtl mode.
1003
1004 2011-03-10  Nick Clifton  <nickc@redhat.com>
1005
1006         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
1007         (andsi3, andsi3_flags): Fix timings for three operand alternative.
1008
1009 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
1010
1011         PR rtl-optimization/47866
1012         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
1013         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
1014         if target wasn't scalar.
1015         * function.c (assign_stack_temp_for_type): Assert that neither
1016         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
1017         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
1018         macro.
1019         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
1020
1021 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1022
1023         * config/s390/s390-protos.h (s390_label_align): New prototype.
1024         * config/s390/s390.c (s390_label_align): New function.
1025         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
1026
1027 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1028
1029         PR target/47755
1030         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
1031         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
1032         (output_vec_const_move): Ditto.
1033
1034 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
1035
1036         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
1037         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
1038         * config/mips/mips.c (mips_preferred_reload_class): Make static.
1039         Change 'rclass' argument and result type to reg_class_t.
1040         (TARGET_PREFERRED_RELOAD_CLASS): Define.
1041
1042 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
1043
1044         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
1045         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
1046         (TARGET_MEMORY_MOVE_COST): Define.
1047         (avr_register_move_cost, avr_memory_move_cost): New Functions.
1048
1049 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
1050
1051         PR debug/47881
1052         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
1053         removed anything.
1054
1055         PR tree-optimization/48022
1056         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
1057         for EQ/NE_EXPR.
1058
1059 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
1060
1061         PR debug/47991
1062         * var-tracking.c (find_use_val): Return NULL for
1063         cui->sets && cui->store_p BLKmode MEMs.
1064
1065 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
1066
1067         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
1068         Remove.
1069         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
1070         xstormy16_print_operand_address): Remove.
1071         * config/stormy16/stormy16.c (xstormy16_print_operand,
1072         xstormy16_print_operand_address): Make static.
1073         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1074
1075 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
1076
1077         PR target/47862
1078         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
1079         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
1080         before definition.
1081
1082 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
1083
1084         PR bootstrap/48000
1085         * cfgloopmanip.c (fix_bb_placements): Return immediately
1086         if FROM is BASE_LOOP's header.
1087
1088 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
1089
1090         * gimplify.c (gimplify_function_tree): Fix building calls
1091         to __builtin_return_address.
1092
1093 2011-03-07  Alan Modra  <amodra@gmail.com>
1094
1095         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
1096         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
1097         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
1098         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
1099         return_mode args.
1100         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
1101         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
1102         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
1103         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
1104         * config/rs6000/rs6000.c
1105         (rs6000_elf_end_indicate_exec_stack): Rename to..
1106         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
1107         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
1108         (rs6000_file_start): ..here.
1109         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
1110         file scope variables.
1111         (call_ABI_of_interest): New function.
1112         (init_cumulative_args): Set above vars when function return value
1113         is a float, vector, or small struct.
1114         (rs6000_function_arg_advance_1): Likewise for function args.
1115         (rs6000_va_start): Set rs6000_passes_float if variable arg function
1116         references float args.
1117
1118 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
1119
1120         * doc/cfg.texi: Remove "See" before @ref.
1121         * doc/invoke.texi: Likewise.
1122
1123 2011-03-05  Jason Merrill  <jason@redhat.com>
1124
1125         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
1126
1127 2011-03-05  Anthony Green  <green@moxielogic.com>
1128
1129         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
1130
1131 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
1132
1133         PR rtl-optimization/47899
1134         * cfgloopmanip.c (fix_bb_placements): Fix first argument
1135         to flow_loop_nested_p when moving the loop upward.
1136
1137 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
1138
1139         PR target/47719
1140         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
1141
1142 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
1143
1144         PR tree-optimization/47967
1145         * ipa-cp.c (build_const_val): Return NULL instead of creating
1146         VIEW_CONVERT_EXPR for mismatching sizes.
1147         (ipcp_create_replace_map): Return NULL if build_const_val failed.
1148         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
1149         give up on versioning.
1150
1151 2011-03-05  Alan Modra  <amodra@gmail.com>
1152
1153         PR target/47986
1154         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1155         full cmodel medium/large lo_sum + high addresses.
1156
1157 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1158
1159         * config/s390/s390.c (s390_decompose_address): Reject non-literal
1160         pool references in UNSPEC_LTREL_OFFSET.
1161
1162 2011-03-04  Jan Hubicka  <jh@suse.cz>
1163
1164         PR lto/47497
1165         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
1166         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
1167         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
1168         Add node pointers.
1169         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
1170         cgraph_add_thunk): Add node pointers.
1171         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
1172         associated to right node.
1173         (input_node): Update use of cgraph_same_body_alias
1174         and cgraph_add_thunk.
1175
1176 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1177
1178         * config/i386/i386.opt (mprefer-avx128): New flag.
1179         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
1180         modes when the flag -mprefer-avx128 is on.
1181
1182 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
1183
1184         * dwarf2out.c (compare_loc_operands): Fix address handling.
1185
1186 2011-03-04  Alan Modra  <amodra@gmail.com>
1187
1188         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
1189
1190 2011-03-04  Richard Guenther  <rguenther@suse.de>
1191
1192         PR middle-end/47968
1193         * expmed.c (extract_bit_field_1): Prefer vector modes that
1194         vec_extract patterns can handle.
1195
1196 2011-03-04  Richard Guenther  <rguenther@suse.de>
1197
1198         PR middle-end/47975
1199         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
1200
1201 2011-03-04  Richard Henderson  <rth@redhat.com>
1202
1203         * explow.c (emit_stack_save): Remove 'after' parameter.
1204         (emit_stack_restore): Likewise.
1205         * expr.h: Update to match.
1206         * builtins.c, calls.c, stmt.c: Likewise.
1207         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
1208         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
1209         * function.c (expand_function_end): Insert the emit_stack_save
1210         sequence before parm_birth_insn instead of after.
1211
1212 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
1213
1214         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
1215         (ssse3_pmaddubsw128): Ditto.
1216         (ssse3_pmaddubsw): Ditto.
1217
1218 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
1219
1220         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
1221
1222 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
1223
1224         PR c/47963
1225         * gimplify.c (omp_add_variable): Only call omp_notice_variable
1226         on TYPE_SIZE_UNIT if it is a DECL.
1227
1228         PR debug/47283
1229         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
1230         first operand is not is_gimple_mem_ref_addr, try to fold it.
1231         If the operand still isn't is_gimple_mem_ref_addr, clear
1232         MEM_EXPR on op0.
1233
1234 2011-03-03  Richard Guenther  <rguenther@suse.de>
1235
1236         PR middle-end/47283
1237         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
1238         match comment.
1239         (refs_may_alias_p_1): For release branches return true if
1240         we are confused by our input.
1241
1242 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1243
1244         * config/s390/s390.c (s390_function_value): Rename to ...
1245         (s390_function_and_libcall_value): ... this.
1246         (s390_function_value): New function.
1247         (s390_libcall_value): New function.
1248         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
1249         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
1250         target macro definitions.
1251         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
1252
1253 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
1254
1255         * config/i386/freebsd64.h (CC1_SPEC): Define.
1256         * config/i386/linux64.h (CC1_SPEC): Define.
1257         * config/i386/x86-64.h (CC1_SPEC): Don't define.
1258
1259 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
1260
1261         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1262         Remove.
1263         * config/stormy16/stormy16.c: Include reload.h.
1264         (xstormy16_memory_move_cost): New function.
1265         (TARGET_MEMORY_MOVE_COST): Define.
1266
1267 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
1268
1269         PR rtl-optimization/47925
1270         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
1271         with side effects.  Remove the more-specific check for volatile asms.
1272
1273 2011-03-02  Alan Modra  <amodra@gmail.com>
1274
1275         PR target/47935
1276         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
1277         toc relative addresses for valid offsets.
1278
1279 2011-03-01  Richard Guenther  <rguenther@suse.de>
1280
1281         PR tree-optimization/47890
1282         * tree-vect-loop.c (get_initial_def_for_induction): Set
1283         related stmt properly.
1284
1285 2011-03-01  Richard Guenther  <rguenther@suse.de>
1286
1287         PR lto/47924
1288         * lto-streamer.c (lto_record_common_node): Also register
1289         the canonical type.
1290
1291 2011-03-01  Richard Guenther  <rguenther@suse.de>
1292
1293         PR lto/46911
1294         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1295         Do not stream DECL_ABSTRACT_ORIGIN.
1296         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1297         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1298         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1299         Do not stream DECL_ABSTRACT_ORIGIN.
1300         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
1301         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
1302
1303 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
1304
1305         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
1306         FUNCTION_VALUE_REGNO_P): Remove.
1307         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
1308         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
1309         Add 'outgoing' argument.
1310         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
1311         function.
1312         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1313         TARGET_FUNCTION_VALUE_REGNO_P): Define.
1314
1315 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
1316
1317         PR debug/28047
1318         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
1319         (lookup_filename): Likewise.
1320         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
1321
1322 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
1323             Jakub Jelinek  <jakub@redhat.com>
1324
1325         PR middle-end/47893
1326         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
1327         (assign_stack_local_1): Change last argument type to int.
1328         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
1329         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
1330         don't record padding space into frame_space_list nor use those areas.
1331         (assign_stack_local): Adjust caller.
1332         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
1333         of assign_stack_local, pass 0 as last argument.
1334         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
1335         callers.
1336
1337 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
1338
1339         PR debug/47283
1340         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
1341         Use target address_mode and pointer_mode hooks instead of hardcoded
1342         Pmode and ptr_mode.  Handle some simple cases of extending if
1343         POINTERS_EXTEND_UNSIGNED < 0.
1344         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
1345         Call convert_debug_memory_address.
1346         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
1347         convert_debug_memory_address.
1348
1349         PR middle-end/46790
1350         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
1351         * configure: Regenerated.
1352         * config.in: Regenerated.
1353         * varasm.c (default_function_section): Return NULL
1354         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1355
1356 2011-02-28  Martin Jambor  <mjambor@suse.cz>
1357
1358         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
1359         the description to match the printed values.
1360
1361 2011-02-28  Richard Guenther  <rguenther@suse.de>
1362
1363         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
1364         of the copied scope tree.
1365
1366 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1367
1368         * doc/extend.texi (Function Attributes): Avoid deeply (and
1369         wrongly) nested tables.
1370
1371 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
1372
1373         PR middle-end/47903
1374         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
1375         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
1376         r isn't op0 nor op1.
1377
1378 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1379
1380         * config/avr/avr.md: Remove magic comment for emacs.
1381
1382 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1383
1384         PR target/45261
1385         * config/avr/avr.c (avr_option_override): Use error on bad options.
1386         (avr_help): New function.
1387         (TARGET_HELP): Define.
1388
1389 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
1390
1391         PR target/42240
1392         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
1393         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
1394
1395 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
1396
1397         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
1398         (ARM Options): Ditto.
1399         (i386 and x86-64 Options): Ditto.
1400         (RX Options): Ditto.
1401         (SPARC Options): Ditto.
1402
1403 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
1404
1405         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
1406         FreeBSD 6 and later.  Generally use cpu generic.
1407
1408 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1409
1410         * doc/cpp.texi: Update copyright years.
1411
1412 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1413
1414         PR target/46898
1415         * config/lm32/lm32.md (ashrsi3): Added needed variable.
1416
1417 2011-02-25  Jon Beniston  <jon@beniston.com>
1418
1419         PR target/46898
1420         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
1421         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1422         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
1423         (lm32_block_move_inline): Add type cast to remove warning.
1424         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
1425         (gen_int_relational): Move declarations to start of function.
1426
1427 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1428
1429         PR tree-optimization/45470
1430         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
1431         can throw internally only.
1432         * tree-vect-stmts.c (vectorizable_call): Likewise.
1433
1434 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
1435
1436         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
1437         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1438         * config/stormy16/stormy16-protos.h
1439         (xstormy16_preferred_reload_class): Remove.
1440         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
1441         static. Change 'rclass' argument and return type to reg_class_t.
1442         (TARGET_PREFERRED_RELOAD_CLASS,
1443         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1444
1445 2011-02-24  Richard Guenther  <rguenther@suse.de>
1446
1447         * lto-streamer-in.c (input_bb): Do not find referenced vars
1448         in debug statements.
1449
1450 2011-02-23  Jason Merrill  <jason@redhat.com>
1451
1452         * common.opt (fabi-version): Document v5 and v6.
1453
1454 2011-02-23  Richard Guenther  <rguenther@suse.de>
1455
1456         PR tree-optimization/47849
1457         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
1458
1459 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1460
1461         * opts-common.c (decode_cmdline_option): Print empty string
1462         argument as "" in decoded->orig_option_with_args_text.
1463         * gcc.c (execute): Print empty string argument as ""
1464         in the verbose output.
1465         (do_spec_1): Keep empty string argument.
1466
1467 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
1468
1469         * config.gcc: Declare score-* and crx-* obsolete.
1470
1471 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1472
1473         PR rtl-optimization/47763
1474         * web.c (web_main): Ignore naked clobber when replacing register.
1475
1476 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
1477
1478         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1479         Remove.
1480
1481 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1482
1483         PR doc/47848
1484         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
1485
1486 2011-02-22  Mike Stump  <mikestump@comcast.net>
1487
1488         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
1489         assembler.
1490         * configure: Regenerate.
1491
1492 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
1493
1494         PR rtl-optimization/46002
1495         * ira-color.c (update_copy_costs): Change class intersection
1496         test to reg_class_contents[] test of 'hard_regno'.
1497
1498 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
1499
1500         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
1501         than Driver option.
1502         * config/hpux11.opt (mt): Likewise.
1503         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
1504         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
1505         * config/vax/elf.opt (mno-asm-pic): Likewise.
1506         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
1507
1508 2011-02-21  Mike Stump  <mikestump@comcast.net>
1509
1510         PR target/47822
1511         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
1512         tree so we can get save the type.
1513         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
1514         for CFString instead of trying to use past the end of the builtins.
1515         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
1516         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
1517         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
1518         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
1519         Rename to darwin_builtin_cfstring.
1520         (darwin_init_cfstring_builtins): Return the built type.
1521
1522 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
1523
1524         PR target/47840
1525         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
1526         (_mm256_insert_epi64): Use _mm_insert_epi64.
1527
1528 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
1529
1530         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1531         * config/stormy16/stormy16-protos.h
1532         (xstormy16_mode_dependent_address_p): Remove.
1533         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
1534         Make static. Change return type to bool. Change argument type to
1535         const_rtx. Remove dead code.
1536         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1537
1538 2011-02-21  Richard Guenther  <rguenther@suse.de>
1539
1540         PR lto/47820
1541         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1542         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1543         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
1544         TUs context.
1545         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1546         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1547
1548 2011-02-20  Richard Guenther  <rguenther@suse.de>
1549
1550         PR lto/47822
1551         * tree.c (free_lang_data_in_decl): Clean builtins from
1552         the TU decl BLOCK_VARS.
1553
1554 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
1555
1556         PR debug/47620
1557         PR debug/47630
1558         * haifa-sched.c (fix_tick_ready): Skip tick computation
1559         for debug insns.
1560
1561 2011-02-19  Richard Guenther  <rguenther@suse.de>
1562
1563         PR lto/47647
1564         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1565         Remove lazy BLOCK_VARS streaming.
1566         (lto_input_ts_block_tree_pointers): Likewise.
1567         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1568
1569 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1570
1571         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
1572
1573 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1574
1575         * config/i386/biarch32.h, config/i386/mach.h,
1576         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
1577
1578 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1579
1580         PR target/47800
1581         * config/i386/i386.md (peephole2 for shift and plus): Use
1582         operands[1] original mode in the first insn.
1583
1584 2011-02-18  Mike Stump  <mikestump@comcast.net>
1585
1586         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
1587
1588 2011-02-18  Jan Hubicka  <jh@suse.cz>
1589
1590         PR middle-end/47788
1591         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
1592         to zero when the function is not inlinable at all.
1593
1594 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1595
1596         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
1597         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1598         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
1599         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
1600         * config/pa/t-pa64: Likewise.
1601         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1602
1603 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1604
1605         PR driver/47787
1606         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
1607
1608 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1609
1610         PR target/47792
1611         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
1612
1613 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
1614
1615         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1616         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
1617         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
1618         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1619         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
1620         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
1621         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
1622         m32r_load_postinc_p, m32r_store_preinc_predec_p,
1623         m32r_legitimate_address_p): New functions.
1624         * config/m32r/constraints.md (constraint "S"): Don't use
1625         STORE_PREINC_PREDEC_P.
1626         (constraint "U"): Don't use LOAD_POSTINC_P.
1627
1628 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
1629
1630         PR rtl-optimization/46178
1631         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
1632         compute ira_hard_regno_cover_class[].
1633
1634 2011-02-18  Richard Guenther  <rguenther@suse.de>
1635
1636         PR lto/47798
1637         * lto-streamer.h (lto_global_var_decls): Declare.
1638         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
1639         statics for global var processing.
1640
1641 2011-02-18  Richard Guenther  <rguenther@suse.de>
1642
1643         PR tree-optimization/47737
1644         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
1645         edge dominance check.
1646
1647 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1648
1649         PR debug/47780
1650         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
1651         avoid invalid rtx sharing.
1652
1653 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
1654
1655         * doc/cpp.texi (Obsolete Features): Add background on the
1656         origin of assertions.
1657
1658 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1659
1660         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
1661         objc_abi == 2.
1662         * config/darwin.c (output_objc_section_asm_op): Added support for
1663         ABI v1 and v2.
1664         (is_objc_metadata): New.
1665         (darwin_objc2_section): New.
1666         (darwin_objc1_section): New.
1667         (machopic_select_section): Added support for ABI v1 and v2.
1668         (darwin_emit_objc_zeroed): New.
1669         (darwin_output_aligned_bss): Detect objc metadata and treat it
1670         appropriately.
1671         (darwin_asm_output_aligned_decl_common): Same.
1672         (darwin_asm_output_aligned_decl_local): Same.
1673         * config/darwin-sections.def: Updated for ABI v1 and v2.
1674         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
1675         compiling Objective-C code for the NeXT runtime, default to using
1676         ABI version 0 for 32-bit, and version 2 for 64-bit.
1677
1678 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1679
1680         * common.opt (optimize_fast): New Variable.
1681         * opts.c (default_options_optimization): Use opts->x_optimize_fast
1682         instead of local variable ofast.
1683
1684 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1685
1686         * doc/invoke.texi (fobjc-abi-version): Documented.
1687         (fobjc-nilcheck): Documented.
1688         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
1689         version.
1690
1691 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1692
1693         PR driver/47390
1694         * common.opt (export-dynamic): New Driver option.
1695         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
1696
1697 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1698
1699         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
1700
1701 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
1702             Jan Hubicka  <jh@suse.cz>
1703
1704         PR debug/47106
1705         PR debug/47402
1706         * cfgexpand.c (account_used_vars_for_block): Remove.
1707         (estimated_stack_frame_size): Use referenced vars.
1708         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
1709         that were referenced in the original function.  Test src_fn
1710         rather than cfun.  Drop redundant get_var_ann.
1711         (setup_one_parameter): Drop redundant get_var_ann.
1712         (declare_return_variable): Likewise.
1713         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
1714         (copy_arguments_for_versioning): Drop redundant get_var_ann.
1715         * ipa-inline.c (compute_inline_parameters): Do not compute
1716         disregard_inline_limits here.
1717         (compute_inlinable_for_current, pass_inlinable): New.
1718         (pass_inline_parameters): Require PROP_referenced_vars.
1719         * cgraphunit.c (cgraph_process_new_functions): Don't run
1720         compute_inline_parameters explicitly unless function is in SSA form.
1721         (cgraph_analyze_function): Set .disregard_inline_limits.
1722         * tree-sra.c (convert_callers): Compute inliner parameters
1723         only for functions already in SSA form.
1724
1725 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1726
1727         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
1728         -mlittle-endian-data.
1729
1730 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1731
1732         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
1733         -mno-fpu, not -fpu and -no-fpu.
1734         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
1735         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
1736
1737 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
1738
1739         PR target/43653
1740         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
1741         input reload with PLUS RTX.
1742
1743 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1744
1745         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
1746         of InverseVar(MDMX).
1747
1748 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1749
1750         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
1751         --m4-340.
1752
1753 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1754
1755         * config/mn10300/mn10300.opt (mno-crt0): New.
1756
1757 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1758
1759         * config/m68k/uclinux.opt (static-libc): New Driver option.
1760
1761 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1762
1763         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
1764
1765 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1766
1767         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
1768         %{muser-extend-enabled}.
1769
1770 2011-02-16  Richard Guenther  <rguenther@suse.de>
1771
1772         PR tree-optimization/47738
1773         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
1774         the TODO from tree_predictive_commoning.
1775
1776 2011-02-15  Jeff Law  <law@redhat.com>
1777
1778         Revert
1779         2011-01-25  Jeff Law  <law@redhat.com>
1780
1781         PR rtl-optimization/37273
1782         * ira-costs.c (scan_one_insn): Detect constants living in memory and
1783         handle them like argument loads from stack slots.  Do not double
1784         count memory for memory constants and argument loads from stack slots.
1785
1786 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1787
1788         PR middle-end/47725
1789         * combine.c (cant_combine_insn_p): Revert the last change.
1790
1791 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
1792
1793         PR target/47755
1794         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
1795         mode for vector constants.  Remove code that checks for TImode.
1796
1797 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1798
1799         PR debug/47106
1800         PR debug/47402
1801         * cgraph.h (compute_inline_parameters): Return void.
1802         * ipa-inline.c (compute_inline_parameters): Adjust.
1803
1804 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1805
1806         PR debug/47106
1807         PR debug/47402
1808         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
1809         rather than decl.
1810         * cfgexpand.c (estimated_stack_frame_size): Likewise.
1811         * ipa-inline.c (compute_inline_parameters): Adjust.
1812
1813 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1814
1815         PR debug/47106
1816         PR debug/47402
1817         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
1818         Adjust all users.  Pass FN to...
1819         * tree-flow-inline.h (first_referenced_var): ... this.  Add
1820         fn argument.
1821         * ipa-struct-reorg.c: Adjust.
1822         * tree-dfa.c: Adjust.
1823         * tree-into-ssa.c: Adjust.
1824         * tree-sra.c: Adjust.
1825         * tree-ssa-alias.c: Adjust.
1826         * tree-ssa-live.c: Adjust.
1827         * tree-ssa.c: Adjust.
1828         * tree-ssanames.c: Adjust.
1829         * tree-tailcall.c: Adjust.
1830
1831 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1832
1833         PR debug/47106
1834         PR debug/47402
1835         * tree-flow.h (referenced_var_lookup): Add fn parameter.
1836         Adjust all callers.
1837         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
1838         * tree-flow-inline.h: Adjust.
1839         * gimple-pretty-print.c: Adjust.
1840         * tree-into-ssa.c: Adjust.
1841         * tree-ssa.c: Adjust.
1842         * cfgexpand.c: Adjust.
1843
1844 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1845
1846         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
1847         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1848         (EXTRA_CONSTRAINT): Delete.
1849         * config/iq2000/constraints.md: New file.
1850         * config/iq2000/iq2000.md: Include it.
1851         (define_insn ""): Delete.
1852         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
1853         unsupported constraint letters from patterns.
1854         (call_value, call_value_internal1): Likewise.
1855         (call_value_multiple_internal1): Likewise.
1856
1857 2011-02-15  Nick Clifton  <nickc@redhat.com>
1858
1859         * config/mn10300/mn10300.c: Include tm-constrs.h.
1860         (struct liw_data): New data structure describing an LIW candidate
1861         instruction.
1862         (extract_bundle): Use struct liw_data.  Allow small integer
1863         operands for some instructions.
1864         (check_liw_constraints): Use struct liw_data.  Remove swapped
1865         parameter.  Add comments describing the checks.  Fix bug when
1866         assigning the source of liw1 to the source of liw2.
1867         (liw_candidate): Delete.  Code moved into extract_bundle.
1868         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
1869         before swapping.
1870         * config/mn10300/predicates.md (liw_operand): New predicate.
1871         Allows registers and small integer constants.
1872         * config/mn10300/constraints.md (O): New constraint.  Accetps
1873         integers in the range -8 to +7 inclusive.
1874         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
1875         for moving a small integer into a register.  Give this alternative
1876         LIW attributes.
1877         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
1878         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
1879         using the J,K,L and M constraints,
1880         (liw): Remove SI mode on second operands to allow for HI and QI
1881         mode values.
1882         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
1883         instruction.
1884
1885 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1886
1887         PR middle-end/47725
1888         * combine.c (cant_combine_insn_p): Check zero/sign extended
1889         hard registers.
1890
1891 2011-02-15  Richard Guenther  <rguenther@suse.de>
1892
1893         PR tree-optimization/47743
1894         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
1895         for a non-type-compatible VN lookup bail out.
1896
1897 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1898
1899         * config/fr30/constraints.md: New file.
1900         * config/fr30/fr30.md: Include it.
1901         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
1902         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1903         (EXTRA_CONSTRAINT): Delete.
1904
1905 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1906
1907         * config/frv/constraints.md: New file.
1908         * config/frv/predicates.md: Include it.
1909         * config/frv/frv.c (reg_class_from_letter): Delete.
1910         (frv_option_override): Don't initialize it.
1911         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
1912         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
1913         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
1914         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1915         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
1916         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1917         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
1918         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
1919         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
1920         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
1921         (REG_CLASS_FROM_CONSTRAINT): Delete.
1922
1923 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
1924
1925         PR middle-end/47581
1926         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
1927         if frame size is 0 in a leaf function.
1928
1929 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1930
1931         PR pch/14940
1932         * config/alpha/host-osf.c: New file.
1933         * config/alpha/x-osf: New file.
1934         * config.host (alpha*-dec-osf*): Use it.
1935
1936 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1937
1938         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1939         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
1940         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
1941         (rx_mode_dependent_address_p): ...this. Make static. Change argument
1942         type to const_rtx.
1943         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1944
1945 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1946
1947         * config/stormy16/constraints.md: New file.
1948         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
1949         Use satisfies_constraint_Q and satisfies_constraint_R.
1950         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
1951         Delete.
1952         (xstormy16_legitiamte_address_p): Declare.
1953         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
1954         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1955         (EXTRA_CONSTRAINT): Delete.
1956         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
1957         Un-staticize.
1958         (xstormy16_extra_constraint_p): Delete.
1959
1960 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1961
1962         PR tree-optimization/46494
1963         * loop-unroll.c (split_edge_and_insert): Adjust comment.
1964         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
1965         (pass_rtl_loop_done): Add TODO_verify_flow.
1966         * fwprop.c (pass_rtl_fwprop): Likewise.
1967         * modulo-sched.c (pass_sms): Likewise.
1968         * tree-ssa-dom.c (pass_dominator): Likewise.
1969         * tree-ssa-loop-ch.c (pass_ch): Likewise.
1970         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
1971         (pass_tree_loop_done): Likewise.
1972         * tree-ssa-pre.c (execute_pre): Likewise.
1973         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
1974         * tree-ssa-sink.c (pass_sink_code): Likewise.
1975         * tree-vrp.c (pass_vrp): Likewise.
1976
1977 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1978
1979         * config/v850/constraints.md: New file.
1980         * config/v850/v850.md: Include it.
1981         * config/v850/predicates.md (reg_or_0_operand): Use
1982         satisfies_constraint_G.
1983         (special_symbolref_operand): Use satisfies_constraint_K.
1984         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
1985         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1986         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
1987         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1988         (EXTRA_CONSTRAINT): Delete.
1989         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
1990         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
1991         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
1992
1993 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1994
1995         PR target/47696
1996         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
1997         description.
1998
1999 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
2000
2001         * config/mcore/constraints.md: New file.
2002         * config/mcore/mcore.md: Include it.
2003         * config/mcore/mcore.c (reg_class_from_letter): Delete.
2004         * config/mcore/mcore.h (reg_class_from_letter): Delete.
2005         (REG_CLASS_FROM_LETTER): Delete.
2006         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
2007         insn_const_int_ok_for_constraint.
2008         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
2009         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
2010         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2011         (EXTRA_CONSTRAINT): Delete.
2012
2013 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2014
2015         PR ada/41929
2016         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
2017         (IS_SIGHANDLER): Define.
2018         (sparc64_is_sighandler): New function, split off from
2019         sparc64_fallback_frame_state.
2020         (sparc_is_sighandler): New function, split off from
2021         sparc_fallback_frame_state.
2022         (sparc64_fallback_frame_state): Merge with ...
2023         (sparc_fallback_frame_state): ... this into ...
2024         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
2025         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
2026         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
2027         stack instead of hardcoded offsets.
2028
2029 2011-02-14  Andriy Gapon  <avg@freebsd.org>
2030
2031         PR target/45808
2032         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
2033
2034 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2035
2036         * configure: Regenerate.
2037
2038 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
2039
2040         PR driver/45731
2041         * gcc.c (asm_options): Correct spec matching --target-help.
2042
2043 2011-02-12  Martin Jambor  <mjambor@suse.cz>
2044
2045         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
2046         to gimple call error.
2047
2048 2011-02-12  Mike Stump  <mikestump@comcast.net>
2049
2050         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
2051         comments in backslash regions.
2052
2053 2011-02-12  Mike Stump  <mikestump@comcast.net>
2054             Jakub Jelinek  <jakub@redhat.com>
2055             Iain Sandoe  <iains@gcc.gnu.org>
2056
2057         PR target/47324
2058         * dwarf2out.c (output_cfa_loc): When required, apply the
2059         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
2060         (output_loc_sequence): Likewise.
2061         (output_loc_operands_raw): Likewise.
2062         (output_loc_sequence_raw): Likewise.
2063         (output_cfa_loc): Likewise.
2064         (output_loc_list): Suppress register number adjustment when
2065         calling output_loc_sequence()
2066         (output_die): Likewise.
2067
2068 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
2069
2070         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2071         Remove macros.
2072         * config/xtensa/xtensa.c (xtensa_register_move_cost,
2073         xtensa_memory_move_cost): New functions.
2074         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
2075
2076 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
2077
2078         PR lto/47225
2079         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
2080         in the current directory.
2081         * configure: Rebuilt.
2082
2083 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
2084
2085         * config/darwin.c (darwin_override_options): Add a hunk missed
2086         from the commit of r168571.  Trim comment line lengths and
2087         correct indents of the preceding block.
2088
2089 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
2090
2091         * gcc.c (driver_handle_option): Concatenate the argument to -F with
2092         the switch.
2093
2094 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
2095
2096         * common.opt (nostartfiles): New Driver option.
2097
2098 2011-02-11  Xinliang David Li  <davidxl@google.com>
2099
2100         PR tree-optimization/47707
2101         * tree-chrec.c (convert_affine_scev): Keep type precision.
2102
2103 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
2104
2105         PR tree-optimization/47420
2106         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
2107
2108 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
2109
2110         PR rtl-optimization/47614
2111         * rtl.h (check_for_inc_dec): Declare.
2112         * dse.c (check_for_inc_dec): Externalize...
2113         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
2114         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
2115
2116 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
2117
2118         PR driver/47678
2119         * gcc.c (main): Do not compile inputs if there were errors in
2120         option handling.
2121         * opts-common.c (read_cmdline_option): Check for wrong language
2122         after other error checks.
2123
2124 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
2125
2126         * cgraph.c: Fix comment typos.
2127         * cgraph.h: Likewise.
2128         * cgraphunit.c: Likewise.
2129         * ipa-cp.c: Likewise.
2130         * ipa-inline.c: Likewise.
2131         * ipa-prop.c: Likewise.
2132         * ipa-pure-const.c: Likewise.
2133         * ipa-ref.c: Likewise.
2134         * ipa-reference.c: Likewise.
2135
2136 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
2137
2138         PR debug/47684
2139         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
2140
2141 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2142
2143         PR testsuite/47400
2144         * doc/sourcebuild.texi (Require Support): Document
2145         dg-require-ascii-locale.
2146
2147 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
2148
2149         * doc/lto.texi (Write summary): Fix missing parentheses.
2150
2151 2011-02-10  DJ Delorie  <dj@redhat.com>
2152
2153         * config/m32c/m32c.c (m32c_option_override): Disable
2154         -fcombine-stack-adjustments until flag value tracking and compare
2155         optimization can be rewritten.
2156
2157 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
2158
2159         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
2160         PROCESSOR_POWER7.
2161         (PROCESSOR_DEFAULT64): Likewise.
2162
2163 2011-02-10  Richard Henderson  <rth@redhat.com>
2164
2165         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
2166         change from 2011-02-03.
2167         * config/rx/rx.c (flags_from_code): Likewise.
2168         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
2169         is valid, n/pz otherwise.
2170         (rx_select_cc_mode): Return CCmode if Y is not zero.
2171
2172 2011-02-10  Richard Guenther  <rguenther@suse.de>
2173
2174         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
2175
2176 2011-02-10  Richard Guenther  <rguenther@suse.de>
2177
2178         PR tree-optimization/47677
2179         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
2180
2181 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
2182
2183         PR target/47665
2184         * combine.c (make_compound_operation): Only change shifts into
2185         multiplication for SCALAR_INT_MODE_P.
2186
2187 2011-02-10  Jie Zhang  <jie@codesourcery.com>
2188
2189         PR testsuite/47622
2190         Revert
2191         2011-02-05  Jie Zhang  <jie@codesourcery.com>
2192         PR debug/42631
2193         * web.c (entry_register): Don't clobber the number of the
2194         first uninitialized reference in used[].
2195
2196 2011-02-09  Richard Guenther  <rguenther@suse.de>
2197
2198         PR tree-optimization/47664
2199         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
2200         all edges again.
2201
2202 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
2203
2204         PR target/46481
2205         PR target/47032
2206         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
2207         PROCESSOR_POWER7.
2208         (PROCESSOR_DEFAULT64): Same.
2209         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
2210
2211 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2212
2213         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
2214
2215 2011-02-09  Martin Jambor  <mjambor@suse.cz>
2216
2217         PR middle-end/45505
2218         * tree-sra.c (struct access): New flags grp_scalar_read and
2219         grp_scalar_write.  Changed description of assignment read and write
2220         flags.
2221         (dump_access): Dump new flags, reorder all of them.
2222         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
2223         to detect multiple scalar reads.
2224         (analyze_access_subtree): Use the new scalar read write flags instead
2225         of the old flags.  Adjusted comments.
2226
2227 2011-02-08  DJ Delorie  <dj@redhat.com>
2228
2229         PR target/47548
2230         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
2231         patterns.
2232
2233 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2234
2235         * config/m68k/uclinux.opt: New.
2236         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
2237
2238 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2239
2240         * config/cris/elf.opt (sim): New Driver option.
2241
2242 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2243
2244         * config/xtensa/elf.opt: New.
2245         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
2246
2247 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2248
2249         * config/vax/elf.opt: New.
2250         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
2251
2252 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2253
2254         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
2255
2256 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2257
2258         * config/gnu-user.opt: New.
2259         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
2260         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
2261         *-*-uclinux*): Use gnu-user.opt.
2262
2263 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
2264
2265         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
2266         * config/i386/gnu.h (CPP_SPEC): Likewise.
2267
2268 2011-02-08  Ian Lance Taylor  <iant@google.com>
2269
2270         * common.opt (fcx-limited-range): Add SetByCombined flag.
2271         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
2272         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
2273         (fassociative-math, freciprocal-math): Likewise.
2274         (funsafe-math-optimizations): Likewise.
2275         * opth-gen.awk: Handle SetByCombined.
2276         * optc-gen.awk: Likewise.
2277         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
2278         (set_unsafe_math_optimizations_flags): Likewise.
2279         * doc/options.texi (Option properties): Document SetByCombined.
2280
2281 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2282
2283         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
2284         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
2285         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
2286         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
2287         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
2288
2289 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
2290
2291         PR tree-optimization/46834
2292         PR tree-optimization/46994
2293         PR tree-optimization/46995
2294         * graphite-sese-to-poly.c (used_outside_reduction): New.
2295         (detect_commutative_reduction): Call used_outside_reduction.
2296         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
2297         translate_scalar_reduction_to_array only when at least one
2298         loop-phi/close-phi tuple has been detected.
2299
2300 2011-02-08  Richard Guenther  <rguenther@suse.de>
2301
2302         PR middle-end/47639
2303         * tree-vect-generic.c (expand_vector_operations_1): Update
2304         stmts here ...
2305         (expand_vector_operations): ... not here.  Cleanup EH info
2306         and the CFG if required.
2307
2308 2011-02-08  Richard Guenther  <rguenther@suse.de>
2309
2310         PR tree-optimization/47641
2311         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
2312         require type compatibility.
2313
2314 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2315
2316         * gimple-low.c (lower_function_body): Don't remove the location of
2317         the return statement here.
2318         (lower_gimple_return): Do it here instead but only if the return
2319         statement is actually used twice.
2320
2321 2011-02-08  Richard Guenther  <rguenther@suse.de>
2322
2323         PR tree-optimization/47632
2324         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
2325         unused up_to_stmt parameter, return whether cfg-cleanup is
2326         necessary, remove EH info properly.
2327         (forward_propagate_into_gimple_cond): Adjust caller.
2328         (forward_propagate_into_cond): Likewise.
2329         (forward_propagate_comparison): Likewise.
2330         (tree_ssa_forward_propagate_single_use_vars): Make
2331         forward_propagate_comparison case similar to the two others.
2332
2333 2011-02-08  Nick Clifton  <nickc@redhat.com>
2334
2335         * config/mn10300/mn10300.opt (mliw): New command line option.
2336         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
2337         (liw_bundling): New automaton.
2338         (liw): New attribute.
2339         (liw_op): New attribute.
2340         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
2341         (movsi_internal): Add LIW attributes.
2342         (andsi3): Likewise.
2343         (iorsi3): Likewise.
2344         (xorsi3): Likewise.
2345         (addsi3): Separate register and immediate alternatives.
2346         Add LIW attributes.
2347         (subsi3): Likewise.
2348         (cmpsi): Likewise.
2349         (aslsi3): Likewise.
2350         (lshrsi3): Likewise.
2351         (ashrsi3): Likewise.
2352         (liw): New pattern.
2353         * config/mn10300/mn10300.c (liw_op_names): New
2354         (mn10300_print_operand): Handle 'W' operand descriptor.
2355         (extract_bundle): New function.
2356         (check_liw_constraints): New function.
2357         (liw_candidate): New function.
2358         (mn10300_bundle_liw): New function.
2359         (mn10300_reorg): New function.
2360         (TARGET_MACHINE_DEPENDENT_REORG): Define.
2361         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
2362         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
2363         __LIW__ or __NO_LIW__.
2364         * doc/invoke.texi: Describe the -mliw command line option.
2365
2366 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2367
2368         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
2369         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2370         pthread_mutex_unlock): Remove.
2371         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
2372         * config/pa/t-pa64: Likewise.
2373         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
2374         shared libc if not linking against libpthread.
2375         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2376
2377 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
2378
2379         PR target/47558
2380         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
2381         on 10.6 and later to ensure that we always use the unwinder from
2382         the system.  Only add -no_compact_unwind when tarteting darwin
2383         10.6 or later.
2384
2385 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
2386
2387         PR target/46997
2388         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
2389         (vec_interleave_lowv2sf): Ditto.
2390         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
2391         (vec_extract_oddv2sf): Ditto.
2392
2393 2011-02-07  Mike Stump  <mikestump@comcast.net>
2394
2395         PR target/42333
2396         Add __ieee_divdc3 entry point.
2397         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
2398         entry point.
2399         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
2400         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
2401         * config/darwin.c (darwin_rename_builtins): Add.
2402         * config/darwin-protos.h (darwin_rename_builtins): Add.
2403
2404 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
2405
2406         PR target/47636
2407         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
2408         for the condition.
2409
2410 2011-02-07  Mike Stump  <mikestump@comcast.net>
2411
2412         * config/darwin.opt (mmacosx-version-min): Update default OS version.
2413
2414 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
2415
2416         PR target/47534
2417         * config/avr/libgcc.S (exit): Move .endfunc
2418
2419 2011-02-07  Richard Guenther  <rguenther@suse.de>
2420
2421         PR tree-optimization/47615
2422         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
2423         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
2424         (run_scc_vn): Initialize it.
2425         (visit_reference_op_load): Use it.
2426         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
2427
2428 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2429
2430         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
2431         DImode trapping arithmetic libfuncs.
2432
2433 2011-02-07  Richard Guenther  <rguenther@suse.de>
2434
2435         PR tree-optimization/47621
2436         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
2437         two duplicates ...
2438         (execute_update_addresses_taken): ... here.  Make it more
2439         conservative in what we accept.
2440
2441 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2442
2443         * config/sparc/freebsd.h (ASM_SPEC): Define.
2444         * config/sparc/vxworks.h (ASM_SPEC): Define.
2445
2446 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2447
2448         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2449
2450 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
2451
2452         * doc/invoke.texi: Remove reference to compiler internals from
2453         user documentation.
2454
2455         * reg-notes.def: Remove REG_VALUE_PROFILE.
2456         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
2457
2458 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
2459
2460         PR middle-end/47610
2461         * varasm.c (default_section_type_flags): If decl is NULL,
2462         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
2463
2464 2011-02-05  Jie Zhang  <jie@codesourcery.com>
2465
2466         PR debug/42631
2467         * web.c (entry_register): Don't clobber the number of the
2468         first uninitialized reference in used[].
2469
2470 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
2471
2472         PR tree-optimization/46194
2473         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
2474         (build_classic_dist_vector_1): Do not represent classic distance
2475         vectors when the access functions are variating in different loops.
2476
2477 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2478
2479         * config/mips/iris6.opt: New.
2480         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
2481
2482 2011-02-04  Richard Henderson  <rth@redhat.com>
2483             Steve Ellcey  <sje@cup.hp.com>
2484
2485         PR target/46997
2486         * config/ia64/predicates.md (mux1_brcst_element): New.
2487         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
2488         * config/ia64/ia64.c (ia64_unpack_assemble): New.
2489         (ia64_unpack_sign): New.
2490         (ia64_expand_unpack): Rewrite using new routines.
2491         (ia64_expand_widen_sum): Ditto.
2492         (ia64_expand_dot_prod_v8qi): Ditto.
2493         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
2494         routines, add endian check.
2495         (pmpy2_even): Rename from pmpy2_r, add endian check.
2496         (pmpy2_odd): Rename from pmpy2_l, add endian check.
2497         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
2498         (vec_widen_smult_hi_v4hi): Ditto.
2499         (vec_widen_umult_lo_v4hi): Ditto.
2500         (vec_widen_umult_hi_v4hi): Ditto.
2501         (mulv2si3): Change endian checks.
2502         (sdot_prodv4hi): Rewrite with new calls.
2503         (udot_prodv4hi): New.
2504         (vec_pack_ssat_v4hi): Add endian check.
2505         (vec_pack_usat_v4hi): Ditto.
2506         (vec_pack_ssat_v2si): Ditto.
2507         (max1_even): Rename from max1_r, add endian check.
2508         (max1_odd): Rename from max1_l, add endian check.
2509         (*mux1_rev): Format change.
2510         (*mux1_mix): Ditto.
2511         (*mux1_shuf): Ditto.
2512         (*mux1_alt): Ditto.
2513         (*mux1_brcst_v8qi): Use new predicate.
2514         (vec_extract_evenv8qi): Remove endian check.
2515         (vec_extract_oddv8qi): Ditto.
2516         (vec_interleave_lowv4hi): Format change.
2517         (vec_interleave_highv4hi): Ditto.
2518         (mix2_even): Rename from mix2_r, add endian check.
2519         (mix2_odd): Rename from mux2_l, add endian check.
2520         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
2521         (vec_extract_evenodd_helper): Format change.
2522         (vec_extract_evenv4hi): Remove endian check.
2523         (vec_extract_oddv4hi): Remove endian check.
2524         (vec_interleave_lowv2si): Format change.
2525         (vec_interleave_highv2si): Format change.
2526         (vec_initv2si): Remove endian check.
2527         (vecinit_v2si): Add endian check.
2528         (reduc_splus_v2sf): Add endian check.
2529         (reduc_smax_v2sf): Ditto.
2530         (reduc_smin_v2sf): Ditto.
2531         (vec_initv2sf): Remove endian check.
2532         (fpack): Add endian check.
2533         (fswap): Add endian check.
2534         (vec_interleave_highv2sf): Add endian check.
2535         (vec_interleave_lowv2sf): Add endian check.
2536         (fmix_lr): Add endian check.
2537         (vec_setv2sf): Format change.
2538         (*vec_extractv2sf_0_be): Use shift to extract operand.
2539         (*vec_extractv2sf_1_be): New.
2540         (vec_pack_trunc_v4hi): Add endian check.
2541         (vec_pack_trunc_v2si): Format change.
2542
2543 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
2544
2545         PR inline-asm/23200
2546         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
2547         do bb, locus and block comparison and disallow loads if it is not set.
2548         (stmt_is_replaceable_p): New function.
2549         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
2550         callers.
2551         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
2552         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
2553         SSA_NAME_DEF_STMT.
2554         * tree-flow.h (stmt_is_replaceable_p): New prototype.
2555
2556 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2557
2558         * config/rs6000/xilinx.opt: New.
2559         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
2560
2561 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2562
2563         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
2564
2565 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
2566
2567         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
2568         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2569         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
2570         secondary_reload_info, xtensa_secondary_reload): Remove.
2571         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
2572         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2573         (xtensa_preferred_reload_class): Make static. Change return and
2574         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
2575         Use CONST_DOUBLE_P predicate.
2576         (xtensa_preferred_output_reload_class): New function.
2577         (xtensa_secondary_reload): Make static.
2578
2579 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
2580
2581         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
2582         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
2583         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
2584
2585 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2586
2587         PR middle-end/31490
2588         * output.h (SECTION_RELRO): Define.
2589         (SECTION_MACH_DEP): Adjust.
2590         (get_variable_section): New prototype.
2591         * varpool.c (varpool_finalize_named_section_flags): New function.
2592         (varpool_assemble_pending_decls): Call it.
2593         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
2594         * cgraphunit.c (cgraph_output_in_order): Call
2595         varpool_finalize_named_section_flags.
2596         * varasm.c (get_section): Allow section flags conflicts between
2597         relro and read-only sections if the section hasn't been declared yet.
2598         Set SECTION_OVERRIDE after diagnosing section type conflict.
2599         (get_variable_section): No longer static.
2600         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
2601         readonly sections that need relocations.
2602         (decl_readonly_section_1): New function.
2603         (decl_readonly_section): Use it.
2604
2605         Revert:
2606         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
2607                     Steve Ellcey  <sje@cup.hp.com>
2608
2609         PR middle-end/31490
2610         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2611         if section attribute used.
2612
2613 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2614
2615         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
2616         * config/darwin.c (SECTION_NO_ANCHOR): Define.
2617         (darwin_init_sections): Remove assertion.
2618
2619 2011-02-03  Nick Clifton  <nickc@redhat.com>
2620
2621         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
2622         lt and ge.
2623         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
2624         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
2625         instead of "n" and "pz".
2626         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
2627         CC_FLAG_S.
2628
2629 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2630
2631         PR target/47312
2632         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
2633         fma, expand FMA_EXPR as fma{,f,l} call.
2634
2635         PR lto/47274
2636         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
2637         copy them into a unsigned char variable and pass address of it to
2638         lto_output_data_stream.
2639
2640         PR target/47564
2641         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
2642         around backend_init_target and lang_dependent_init_target calls.
2643         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
2644         (verify_cgraph_node): Don't call set_cfun here.  Use
2645         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
2646         Set error_found for incorrectly represented calls to thunks.
2647
2648 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2649
2650         PR debug/43092
2651         PR rtl-optimization/43494
2652         * rtl.h (for_each_inc_dec_fn): New type.
2653         (for_each_inc_dec): Declare.
2654         * rtlanal.c (struct for_each_inc_dec_ops): New type.
2655         (for_each_inc_dec_find_inc_dec): New fn.
2656         (for_each_inc_dec_find_mem): New fn.
2657         (for_each_inc_dec): New fn.
2658         * dse.c (struct insn_size): Remove.
2659         (replace_inc_dec, replace_inc_dec_mem): Remove.
2660         (emit_inc_dec_insn_before): New fn.
2661         (check_for_inc_dec): Use it, along with for_each_inc_dec.
2662         (canon_address): Pass mem modes to cselib_lookup.
2663         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
2664         (cselib_lookup_from_insn): Likewise.
2665         (cselib_subst_to_values): Likewise.
2666         * cselib.c (find_slot_memmode): New var.
2667         (cselib_find_slot): New fn.  Use it instead of
2668         htab_find_slot_with_hash everywhere.
2669         (entry_and_rtx_equal_p): Use find_slot_memmode.
2670         (autoinc_split): New fn.
2671         (rtx_equal_for_cselib_p): Rename and implement in terms of...
2672         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
2673         Deal with autoinc.  Special-case recursion into MEMs.
2674         (cselib_hash_rtx): Likewise.
2675         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
2676         address and MEM modes.
2677         (cselib_subst_to_values): Add memmode, pass it on.
2678         Deal with autoinc.
2679         (cselib_lookup): Add memmode argument, pass it on.
2680         (cselib_lookup_from_insn): Add memmode.
2681         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
2682         (struct cselib_record_autoinc_data): New.
2683         (cselib_record_autoinc_cb): New fn.
2684         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
2685         mode to cselib_lookup.  Reset autoinced REGs here instead of...
2686         (cselib_process_insn): ... here.
2687         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
2688         to cselib_lookup.
2689         (add_uses): Likewise, also to cselib_subst_to_values.
2690         (add_stores): Likewise.
2691         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
2692         cselib_subst_to_values.
2693         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
2694         * gcse.c (do_local_cprop): Adjusted.
2695         * postreload.c (reload_cse_simplify_set): Adjusted.
2696         (reload_cse_simplify_operands): Adjusted.
2697         * sel-sched-dump (debug_mem_addr_value): Pass mode.
2698
2699 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2700
2701         PR tree-optimization/45122
2702         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
2703         unsafe assumptions when there's more than one loop exit.
2704
2705 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2706
2707         PR target/47272
2708         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2709         Document using vector double with the load/store builtins, and
2710         that the load/store builtins always use Altivec instructions.
2711
2712         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
2713         to use altivec memory instructions, even on VSX.
2714         (vector_altivec_store_<mode>): Ditto.
2715
2716         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
2717         function.
2718
2719         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2720         V2DF, V2DI support to load/store overloaded builtins.
2721
2722         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
2723         altivec load/store builtins for V2DF/V2DI types.
2724
2725         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2726         set avoid indexed addresses on power6 if -maltivec.
2727         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
2728         vector_altivec_load/vector_altivec_store builtins.
2729         (altivec_expand_st_builtin): Ditto.
2730         (altivec_expand_builtin): Add VSX memory builtins.
2731         (rs6000_init_builtins): Add V2DI types to internal types.
2732         (altivec_init_builtins): Add support for V2DF/V2DI altivec
2733         load/store builtins.
2734         (rs6000_address_for_altivec): Insure memory address is appropriate
2735         for Altivec.
2736
2737         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
2738         vec_vsx_ld and vec_vsx_st.
2739         (vsx_store_<mode>): Ditto.
2740
2741         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
2742         variables to hold long long types for VSX vector memory builtins.
2743         (RS6000_BTI_unsigned_long_long): Ditto.
2744         (long_long_integer_type_internal_node): Ditti.
2745         (long_long_unsigned_type_internal_node): Ditti.
2746
2747         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
2748         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
2749         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
2750
2751         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
2752         short cuts.
2753         (vec_vsx_st): Ditto.
2754
2755 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2756
2757         * config/pa/pa-hpux10.opt: New.
2758         * config/hpux11.opt (pthread): New Driver option.
2759         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
2760         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
2761
2762 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2763
2764         * config/ia64/vms.opt: New.
2765         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
2766
2767 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2768
2769         PR target/47580
2770         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
2771         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
2772         generator functions.
2773         (vsx_floatuns<VSi><mode>2): Ditto.
2774         (vsx_fix_trunc<mode><VSi>2): Ditto.
2775         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
2776
2777 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2778
2779         * config/i386/djgpp.opt (posix): New Driver option.
2780
2781 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
2782
2783         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
2784         Move to the unsupported targets list.
2785
2786 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
2787
2788         PR rtl-optimization/47525
2789         * df-scan.c: Update copyright years.
2790         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
2791         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
2792
2793 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2794
2795         * config/i386/sysv4.h (TARGET_VERSION): Remove.
2796         (SUBTARGET_RETURN_IN_MEMORY): Remove.
2797         (ASM_OUTPUT_ASCII): Remove.
2798         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
2799
2800 2011-02-02  Jeff Law  <law@redhat.com>
2801
2802         PR middle-end/47543
2803         * reload.c (find_reloads_address): Handle reg+d address where both
2804         components are invalid by reloading the entire address.
2805
2806 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2807             Richard Guenther  <rguenther@suse.de>
2808
2809         PR tree-optimization/40979
2810         PR bootstrap/47044
2811         * passes.c (init_optimization_passes): After LIM call copy_prop
2812         and DCE to clean up.
2813         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
2814
2815 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2816
2817         PR tree-optimization/47576
2818         PR tree-optimization/47555
2819         * doc/invoke.texi (scev-max-expr-complexity): Documented.
2820         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2821         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
2822         * tree-scalar-evolution.c (follow_ssa_edge): Use
2823         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2824
2825 2011-02-02  Richard Guenther  <rguenther@suse.de>
2826
2827         PR tree-optimization/47566
2828         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
2829
2830 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2831
2832         PR debug/47106
2833         PR debug/47402
2834         * tree-inline.c (declare_return_variable): Remove unused caller
2835         variable.
2836
2837         PR debug/47106
2838         PR debug/47402
2839         * tree-flow-inline.h (clear_is_used, is_used_p): New.
2840         * cfgexpand.c (account_used_vars_for_block): Use them.
2841         * tree-nrv.c (tree_nrv): Likewise.
2842         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
2843         (dump_scope_block): Likewise.
2844         (remove_unused_locals): Likewise.
2845
2846         PR debug/47106
2847         PR debug/47402
2848         * tree-inline.c (declare_return_variable): Add result decl to
2849         local decls only once.
2850         * gimple-low.c (record_vars_into): Mark newly-created variables
2851         as referenced.
2852
2853 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2854
2855         PR debug/47498
2856         PR debug/47501
2857         PR debug/45136
2858         PR debug/45130
2859         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2860         debug insns.
2861         (no_real_insns_p, schedule_block, set_priorities): Drop special
2862         treatment of boundary debug insns.
2863         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2864         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
2865         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2866         (BOUNDARY_DEBUG_INSN_P): Likewise.
2867         (SCHEDULE_DEBUG_INSN_P): Likewise.
2868         * sched-rgn.c (init_ready_list): Drop special treatment of
2869         boundary debug insns.
2870         * final.c (rest_of_clean_state): Clear notes' BB.
2871
2872 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2873
2874         * config/openbsd.opt (assert=): New Driver option.
2875
2876 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2877
2878         * config/i386/nto.opt: New.
2879         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
2880
2881 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2882
2883         * config/i386/netware.opt: New.
2884         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
2885
2886 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2887
2888         * config/interix.opt (posix): New Driver option.
2889
2890 2011-02-01  DJ Delorie  <dj@redhat.com>
2891
2892         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
2893
2894         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
2895         class for A0/A1.
2896
2897 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
2898
2899         PR tree-optimization/47561
2900         * toplev.c (process_options): Print the Graphite flags.  Add
2901         flag_loop_flatten to the list of options requiring Graphite.
2902
2903 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2904
2905         * config/i386/cygming.opt (posix): New Driver option.
2906
2907 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2908
2909         * config/arm/vxworks.opt: New.
2910         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
2911
2912 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2913
2914         * config/alpha/elf.opt: New.
2915         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
2916         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
2917
2918 2011-02-01  Richard Guenther  <rguenther@suse.de>
2919
2920         PR tree-optimization/47559
2921         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
2922         store-motion on references that can throw.
2923
2924 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
2925
2926         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
2927         * tree-pass.h (TDF_CSELIB): New macro.
2928         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
2929         cselib_lookup): Check for it rather than for TDF_DETAILS.
2930
2931 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2932
2933         PR driver/47547
2934         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
2935         is HOST_BIT_BUCKET.
2936
2937         * opts.c (finish_options): Don't add x_aux_base_name if it is
2938         HOST_BIT_BUCKET.
2939
2940 2011-02-01  Richard Guenther  <rguenther@suse.de>
2941
2942         PR tree-optimization/47555
2943         Revert
2944         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
2945
2946         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2947
2948 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
2949
2950         PR gcc/46692
2951         * config/lm32/t-lm32: Add multilib for all CPU options.
2952
2953 2011-02-01  Richard Guenther  <rguenther@suse.de>
2954
2955         PR tree-optimization/47541
2956         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
2957         sure to have a field at offset zero.
2958
2959 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2960
2961         * config/arc/arc.opt (EB, EL): New Driver options.
2962
2963 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2964
2965         * config/alpha/osf5.opt: New.
2966         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
2967
2968 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2969
2970         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
2971
2972 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
2973
2974         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
2975         -floop-interchange.
2976         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
2977         is an alias of -floop-interchange and that it requires the
2978         Graphite infrastructure.
2979         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
2980         flag_loop_interchange based on the value of flag_tree_loop_linear.
2981
2982 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
2983             Richard Guenther  <rguenther@suse.de>
2984
2985         PR tree-optimization/47538
2986         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
2987         type instead of r1type, except for comparisons.  For right
2988         shifts and comparisons punt if there are mismatches in
2989         sizetype vs. non-sizetype types.
2990
2991 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2992
2993         * doc/sourcebuild.texi (Effective-Target Keywords): Document
2994         avx_runtime.
2995
2996 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2997
2998         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
2999         version number.
3000         * configure: Regenerate.
3001
3002 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3003
3004         * configure.ac (gcc_cv_ld_static_option): Define.
3005         (gcc_cv_ld_dynamic_option): Define.
3006         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
3007         instead.
3008         (HAVE_LD_STATIC_DYNAMIC): Update message.
3009         (LD_STATIC_OPTION): Define.
3010         (LD_DYNAMIC_OPTION): Define.
3011         * configure: Regenerate.
3012         * config.in: Regenerate.
3013         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
3014         HAVE_LD_STATIC_DYNAMIC]: Use them.
3015
3016 2011-01-31  Nick Clifton  <nickc@redhat.com>
3017
3018         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
3019         registers inside interrupt handlers if the handler is not a leaf
3020         function.
3021
3022 2011-01-31  Nick Clifton  <nickc@redhat.com>
3023
3024         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
3025         reg_renumber returning an INVALID_REGNUM.
3026
3027 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
3028
3029         PR libgcj/44341
3030         * doc/install.texi: Document host options discarded when cross
3031         configuring target libraries.
3032
3033 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
3034
3035         Reverted:
3036         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
3037         PR debug/45136
3038         PR debug/45130
3039         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3040         debug insns.
3041         (no_real_insns_p, schedule_block, set_priorities): Drop special
3042         treatment of boundary debug insns.
3043         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
3044         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3045         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3046         (BOUNDARY_DEBUG_INSN_P): Likewise.
3047         (SCHEDULE_DEBUG_INSN_P): Likewise.
3048         * sched-rgn.c (init_ready_list): Drop special treatment of
3049         boundary debug insns.
3050         * final.c (rest_of_clean-state): Clear notes' BB.
3051
3052 2011-01-31  Alan Modra  <amodra@gmail.com>
3053
3054         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
3055         toc relative expressions as we do in print_operand_address.
3056
3057 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
3058
3059         * doc/extend.texi: Follow spelling conventions.
3060         * doc/invoke.texi: Fix a typo.
3061
3062 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
3063
3064         * config/hpux11.opt: New.
3065         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
3066         ia64*-*-hpux*): Use hpux11.opt.
3067
3068 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
3069
3070         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
3071         to tmake_file.
3072
3073 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3074
3075         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
3076         support sites.
3077
3078 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3079
3080         * doc/install.texi (Binaries): Remove outdated reference for
3081         Motorola 68HC11/68HC12 downloads.
3082
3083 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3084
3085         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
3086         Drepper's paper.
3087
3088 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
3089
3090         PR bootstrap/47147
3091         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
3092         used by NetBSD.
3093
3094 2011-01-28  Ahmad Sharif  <asharif@google.com>
3095
3096         * value-prof.c (check_counter): Corrected error message.
3097
3098 2011-01-29  Jie Zhang  <jie@codesourcery.com>
3099
3100         * config/arm/arm.c (arm_legitimize_reload_address): New.
3101         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
3102         arm_legitimize_reload_address.
3103         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
3104
3105 2011-01-28  Ian Lance Taylor  <iant@google.com>
3106
3107         * godump.c (go_define): Ignore macros whose definitions include
3108         two adjacent operands.
3109
3110 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
3111
3112         PR target/42894
3113         * varasm.c (force_const_mem): Store copy of x in desc->constant
3114         instead of x itself.
3115         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
3116         itself into REG_EQUAL note.
3117
3118 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
3119
3120         * config/freebsd.opt (posix, rdynamic): New Driver options.
3121
3122 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3123
3124         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
3125         -Bstatic/-Bdynamic.
3126         * configure: Regenerate.
3127
3128 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
3129
3130         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
3131         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
3132
3133 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
3134
3135         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
3136         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
3137         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3138         (s390_preferred_reload_class): Make static. Change return and
3139         'rclass' argument type to reg_class_t.
3140
3141 2011-01-27  Jan Hubicka  <jh@suse.cz>
3142
3143         PR middle-end/46949
3144         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
3145         (process_function_and_variable_attributes): Check defined weakrefs.
3146
3147 2011-01-27  Martin Jambor  <mjambor@suse.cz>
3148
3149         PR tree-optimization/47228
3150         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
3151         build_ref_for_offset.
3152
3153 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3154
3155         * config/spu/spu-elf.h (ASM_SPEC): Remove.
3156
3157 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
3158
3159         PR rtl-optimization/46856
3160         * postreload.c (reload_combine_recognize_const_pattern): Do not
3161         separate cc0 setter and user on cc0 targets.
3162
3163 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
3164
3165         PR c/43082
3166         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
3167         passed a VOID_TYPE expression, immediately emit an error and
3168         return error_mark_node.
3169
3170 2011-01-26  Jeff Law  <law@redhat.com>
3171
3172         PR rtl-optimization/47464
3173         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
3174         rather than may_trap_p as needed.
3175
3176 2011-01-26  DJ Delorie  <dj@redhat.com>
3177
3178         PR rtl-optimization/46878
3179         * combine.c (insn_a_feeds_b): Check for the implicit cc0
3180         setter/user dependency as well.
3181
3182 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3183
3184         PR rtl-optimization/44469
3185         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
3186         after removing trivially dead basic blocks.
3187
3188 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3189
3190         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
3191         * config/frv/frv.h (LINK_SPEC): Likewise.
3192         * config/i386/netware.h (LINK_SPEC): Likewise.
3193         * config/m68k/linux.h (ASM_SPEC): Likewise.
3194         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
3195         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3196         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3197         * config/sparc/linux.h (ASM_SPEC): Likewise.
3198         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3199         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3200
3201 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3202
3203         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
3204         * config/frv/frv.h (ASM_SPEC): Likewise.
3205         * config/m68k/linux.h (ASM_SPEC): Likewise.
3206         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3207         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
3208         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3209         * config/sparc/linux.h (ASM_SPEC): Likewise.
3210         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3211         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3212
3213 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3214
3215         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
3216         * config/frv/frv.h (LINK_SPEC): Likewise.
3217         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3218
3219 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3220
3221         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
3222         * config/frv/frv.h (ASM_SPEC): Likewise.
3223         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
3224         * config/m68k/linux.h (ASM_SPEC): Likewise.
3225         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3226         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
3227         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3228         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
3229         * config/sparc/linux.h (ASM_SPEC): Likewise.
3230         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3231         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3232         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
3233
3234 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
3235
3236         PR target/46997
3237         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
3238         (*mux2): Ditto.
3239         (vec_extract_evenodd_help): Ditto.
3240         (vec_extract_evenv4hi): Ditto.
3241         (vec_extract_oddv4hi): Ditto.
3242         (vec_interleave_lowv2si): Ditto.
3243         (vec_interleave_highv2si): Ditto.
3244         (vec_extract_evenv2si): Ditto.
3245         (vec_extract_oddv2si: Ditto.
3246         (vec_pack_trunc_v2si): Ditto.
3247
3248 2011-01-22  Jan Hubicka  <jh@suse.cz>
3249
3250         PR target/47237
3251         * cgraph.h (cgraph_local_info): New field can_change_signature.
3252         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
3253         signature can change.
3254         (ipcp_estimate_growth): Call sequence simplify only if calle signature
3255         can change.
3256         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
3257         (cgraph_function_versioning): We can not change signature of functions
3258         that don't allow that.
3259         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
3260         (lto_input_node): Likewise.
3261         * ipa-inline.c (compute_inline_parameters): Compute
3262         local.can_change_signature.
3263         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
3264         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
3265         functions that can not change signature.
3266         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
3267         init_cumulative_args): Do not use local calling conventions
3268         for functions that can not change signature.
3269
3270 2011-01-22  Jan Hubicka  <jh@suse.cz>
3271
3272         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
3273
3274 2011-01-26  Richard Guenther  <rguenther@suse.de>
3275
3276         PR tree-optimization/47190
3277         * cgraphunit.c (process_common_attributes): New function.
3278         (process_function_and_variable_attributes): Use it.
3279
3280 2011-01-26  Richard Guenther  <rguenther@suse.de>
3281
3282         PR lto/47423
3283         * cgraphbuild.c (record_eh_tables): Record reference to personality
3284         function.
3285
3286 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
3287
3288         PR debug/45454
3289         * sel-sched.c (moveup_expr): Don't let debug insns prevent
3290         non-debug insns from moving up.
3291
3292 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3293
3294         PR target/40125
3295         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
3296         t-dlldir{,-x} fragment for build and add it to tmake_file.
3297         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
3298         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
3299         * config/i386/t-dlldir: New file.
3300         (SHLIB_DLLDIR): Define.
3301         * config/i386/t-dlldir-x: New file.
3302         (SHLIB_DLLDIR): Define.
3303         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
3304         (SHLIB_INSTALL): Use it.
3305
3306 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
3307
3308         PR target/47246
3309         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
3310         lower bound of the allowed Thumb-2 coprocessor load/store
3311         index range to -256. Add explaining comment.
3312
3313 2011-01-25  Ian Lance Taylor  <iant@google.com>
3314
3315         * godump.c (go_define): Improve lexing of macro expansion to only
3316         accept expressions which match Go spec.
3317
3318 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
3319
3320         PR c++/43601
3321         * tree.c (handle_dll_attribute): Handle it.
3322         * doc/extend.texi (@item dllexport): Mention it.
3323         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
3324
3325 2011-01-25  Ian Lance Taylor  <iant@google.com>
3326
3327         PR tree-optimization/26854
3328         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
3329         (decl_jump_unsafe): Move higher in file, with no other change.
3330         (bind): Set has_jump_unsafe_decl if appropriate.
3331         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
3332         (check_earlier_gotos): Likewise.
3333         (c_check_switch_jump_warnings): Likewise.
3334
3335 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
3336
3337         * doc/invoke.texi (Warning Options): Add missing hyphen.
3338         (-fprofile-dir): Minor grammatical fixes.
3339         (-fbranch-probabilities): Likewise.
3340
3341 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
3342
3343         PR debug/45136
3344         PR debug/45130
3345         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3346         debug insns.
3347         (no_real_insns_p, schedule_block, set_priorities): Drop special
3348         treatment of boundary debug insns.
3349         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
3350         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3351         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3352         (BOUNDARY_DEBUG_INSN_P): Likewise.
3353         (SCHEDULE_DEBUG_INSN_P): Likewise.
3354         * sched-rgn.c (init_ready_list): Drop special treatment of
3355         boundary debug insns.
3356         * final.c (rest_of_clean-state): Clear notes' BB.
3357
3358 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3359
3360         * Makefile.in (LAMBDA_H): Removed.
3361         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
3362         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
3363         lambda-trans.o, and tree-loop-linear.o.
3364         (lto-symtab.o): Remove dependence on LAMBDA_H.
3365         (tree-loop-linear.o): Remove rule.
3366         (lambda-mat.o): Same.
3367         (lambda-trans.o): Same.
3368         (lambda-code.o): Same.
3369         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
3370         (tree-vect-slp.o): Same.
3371         * hwint.h (gcd): Moved here.
3372         (least_common_multiple): Same.
3373         * lambda-code.c: Removed.
3374         * lambda-mat.c: Removed.
3375         * lambda-trans.c: Removed.
3376         * lambda.h: Removed.
3377         * tree-loop-linear.c: Removed.
3378         * lto-symtab.c: Do not include lambda.h.
3379         * omega.c (gcd): Removed.
3380         * passes.c (init_optimization_passes): Remove pass_linear_transform.
3381         * tree-data-ref.c (print_lambda_vector): Moved here.
3382         (lambda_vector_copy): Same.
3383         (lambda_matrix_copy): Same.
3384         (lambda_matrix_id): Same.
3385         (lambda_vector_first_nz): Same.
3386         (lambda_matrix_row_add): Same.
3387         (lambda_matrix_row_exchange): Same.
3388         (lambda_vector_mult_const): Same.
3389         (lambda_vector_negate): Same.
3390         (lambda_matrix_row_negate): Same.
3391         (lambda_vector_equal): Same.
3392         (lambda_matrix_right_hermite): Same.
3393         * tree-data-ref.h: Do not include lambda.h.
3394         (lambda_vector): Moved here.
3395         (lambda_matrix): Same.
3396         (dependence_level): Same.
3397         (lambda_transform_legal_p): Removed declaration.
3398         (lambda_collect_parameters): Same.
3399         (lambda_compute_access_matrices): Same.
3400         (lambda_vector_gcd): Same.
3401         (lambda_vector_new): Same.
3402         (lambda_vector_clear): Same.
3403         (lambda_vector_lexico_pos): Same.
3404         (lambda_vector_zerop): Same.
3405         (lambda_matrix_new): Same.
3406         * tree-flow.h (least_common_multiple): Removed declaration.
3407         * tree-parloops.c (lambda_trans_matrix): Moved here.
3408         (LTM_MATRIX): Same.
3409         (LTM_ROWSIZE): Same.
3410         (LTM_COLSIZE): Same.
3411         (LTM_DENOMINATOR): Same.
3412         (lambda_trans_matrix_new): Same.
3413         (lambda_matrix_vector_mult): Same.
3414         (lambda_transform_legal_p): Same.
3415         * tree-pass.h (pass_linear_transform): Removed declaration.
3416         * tree-ssa-loop.c (tree_linear_transform): Removed.
3417         (gate_tree_linear_transform): Removed.
3418         (pass_linear_transform): Removed.
3419         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
3420         flag_loop_interchange.
3421
3422 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3423
3424         PR tree-optimization/47265
3425         PR tree-optimization/47443
3426         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
3427         if name still has some uses.
3428
3429 2011-01-25  Martin Jambor  <mjambor@suse.cz>
3430
3431         PR tree-optimization/47382
3432         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
3433         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
3434
3435 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
3436
3437         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
3438         sjlj_except_unwind_info.
3439
3440 2011-01-25  Richard Guenther  <rguenther@suse.de>
3441
3442         PR tree-optimization/47426
3443         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
3444         visible functions results escape.
3445
3446 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3447
3448         PR target/45701
3449         * config/arm/arm.c (any_sibcall_uses_r3): New function.
3450         (arm_get_frame_offsets): Use it.
3451
3452 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3453             Jakub Jelinek  <jakub@redhat.com>
3454
3455         PR tree-optimization/47271
3456         * tree-if-conv.c (bb_postdominates_preds): New.
3457         (if_convertible_bb_p): Call bb_postdominates_preds.
3458         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
3459         (predicate_scalar_phi): Call bb_postdominates_preds.
3460
3461 2011-01-25  Nick Clifton  <nickc@redhat.com>
3462
3463         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
3464         * config/rx/rx.c (rx_function_value): Likewise.
3465         (rx_promote_function_mode): Likewise.
3466         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
3467         in order to make it legitimate.
3468         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
3469         make sure that the first operand is the same as the result register.
3470         (addsi3_unspec): Delete.
3471         (subdi3): Do not accept immediate operands.
3472         (subdi3_internal): Likewise.
3473
3474 2011-01-25  Jeff Law  <law@redhat.com>
3475
3476         PR rtl-optimization/37273
3477         * ira-costs.c (scan_one_insn): Detect constants living in memory and
3478         handle them like argument loads from stack slots.  Do not double
3479         count memory for memory constants and argument loads from stack slots.
3480
3481 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3482
3483         PR tree-optimization/47427
3484         PR tree-optimization/47428
3485         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3486         coalesce if the new root var would be TREE_READONLY.
3487
3488 2011-01-25  Richard Guenther  <rguenther@suse.de>
3489
3490         PR middle-end/47414
3491         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
3492         correct type for TBAA.
3493
3494 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3495
3496         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
3497         (close_phi_written_to_memory): Call for_each_index with
3498         dr_indices_valid_in_loop.
3499
3500 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3501
3502         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
3503         when it is initialized.
3504
3505 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3506
3507         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
3508         call to graphite_find_data_references_in_stmt.
3509         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
3510         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
3511         call to graphite_find_data_references_in_stmt.
3512         (analyze_drs_in_stmts): Same.
3513         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
3514         in which the scalar analysis of indices is performed.
3515         (create_data_ref): Same.  Update call to dr_analyze_indices.
3516         (find_data_references_in_stmt): Update call to create_data_ref.
3517         (graphite_find_data_references_in_stmt): Same.
3518         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
3519         declaration.
3520         (create_data_ref): Same.
3521         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
3522         call to create_data_ref.
3523
3524 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3525
3526         * graphite-sese-to-poly.c (build_poly_scop): Move
3527         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
3528
3529 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3530
3531         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
3532         VAR_DECL, PARM_DECL, and RESULT_DECL.
3533
3534 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3535
3536         * graphite-dependences.c (reduction_dr_1): Allow several reductions
3537         in a reduction PBB.
3538         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
3539         that have already been marked as PBB_IS_REDUCTION.
3540
3541 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3542
3543         * graphite-scop-detection.c (same_close_phi_node): New.
3544         (remove_duplicate_close_phi): New.
3545         (make_close_phi_nodes_unique): New.
3546         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
3547
3548 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3549
3550         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
3551         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
3552         of both data references to be the same.
3553
3554 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3555
3556         * graphite-dependences.c (build_lexicographical_constraint): Remove
3557         the gdim parameter.
3558         (build_lexicographical_constraint): Adjust call to
3559         ppl_powerset_is_empty.
3560         (dependence_polyhedron): Same.
3561         (graphite_legal_transform_dr): Same.
3562         (graphite_carried_dependence_level_k): Same.
3563         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
3564         parameter.
3565         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
3566
3567 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3568
3569         * graphite-sese-to-poly.c
3570         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
3571         (close_phi_written_to_memory): New.
3572         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
3573         and unshare_expr.
3574
3575 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3576
3577         * doc/install.texi: Update the expected version number of PPL to 0.11.
3578         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
3579         #if PPL_VERSION_MINOR < 11.
3580
3581 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3582
3583         * graphite-dependences.c: Include graphite-cloog-util.h.
3584         (new_poly_ddr): Inlined into dependence_polyhedron.
3585         (free_poly_ddr): Moved close by new_poly_ddr.
3586         (dependence_polyhedron_1): Renamed dependence_polyhedron.
3587         Early return NULL when ppl_powerset_is_empty returns true.
3588         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
3589         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
3590         (graphite_legal_transform_dr): Call new_poly_ddr.
3591         (graphite_carried_dependence_level_k): Same.
3592         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
3593         (dot_transformed_deps_stmt_1): Removed.
3594         (dot_deps_stmt_1): Call dot_deps_stmt_2.
3595         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
3596         (dot_deps_1): Call dot_deps_2.
3597         * Makefile.in (graphite-dependences.o): Add missing dependence on
3598         graphite-cloog-util.h.
3599
3600 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3601
3602         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
3603         (build_lexicographical_constraint): Same.
3604         (dependence_polyhedron_1): Same.
3605         (graphite_legal_transform_dr): Same.
3606         (graphite_carried_dependence_level_k): Same.
3607         * graphite-ppl.c (ppl_powerset_is_empty): New.
3608         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
3609         * tree-data-ref.c (dump_data_reference): Print the basic block index.
3610
3611 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3612
3613         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
3614         the "a followed by b" relation and document it.
3615
3616 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3617
3618         * graphite-dependences.c (build_lexicographical_constraint): Stop the
3619         iteration when the bag of constraints is empty.
3620
3621 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3622
3623         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
3624
3625 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3626
3627         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
3628         nest and two loop depths as parameters.
3629         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
3630         lst_perfect_nestify.
3631
3632 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3633
3634         * graphite-dependences.c (print_pddr): Call
3635         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
3636
3637 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3638
3639         * graphite-ppl.c (debug_gmp_value): New.
3640         * graphite-ppl.h (debug_gmp_value): Declared.
3641
3642 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
3643
3644         * doc/install.texi: Document availability of cloog-0.16.
3645
3646 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
3647
3648         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
3649         invalid postdominance info.
3650
3651 2011-01-24  Jan Hubicka  <jh@suse.cz>
3652
3653         PR c/21659
3654         * doc/extend.texi (weak pragma): Drop claim that it must
3655         appear before definition.
3656         * varasm.c (merge_weak, declare_weak): Only sanity check
3657         that DECL is not output at a time it is declared weak.
3658
3659 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
3660
3661         * machmode.def: Fixed comments.
3662
3663 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
3664
3665         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
3666
3667 2011-01-24  Paul Koning  <ni1d@arrl.net>
3668
3669         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
3670         WORDS_BIG_ENDIAN.
3671
3672 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
3673
3674         PR target/46519
3675         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
3676         (block_info): Add scanned and prev.
3677         (move_or_delete_vzeroupper_2): Return if the basic block
3678         has been scanned and the upper 128bit state is unchanged
3679         from the last scan.
3680         (move_or_delete_vzeroupper_1): Return true if the exit
3681         state is changed.
3682         (move_or_delete_vzeroupper): Visit basic blocks using the
3683         work-list based algorithm based on vt_find_locations in
3684         var-tracking.c.
3685
3686         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
3687
3688 2011-01-24  Nick Clifton  <nickc@redhat.com>
3689
3690         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
3691         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
3692         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
3693         then define __v850e1__.
3694         * doc/invoke.texi: Document -mv850es.
3695
3696 2011-01-24  Richard Henderson  <rth@redhat.com>
3697
3698         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
3699         compound unordered comparisons.
3700         * config/rx/rx.c (rx_split_fp_compare): Remove.
3701         * config/rx/rx-protos.h: Update.
3702         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
3703         (cbranchsf4): Don't call rx_split_fp_compare.
3704         (*cbranchsf4): Use rx_split_cbranch.
3705         (*cmpsf): Don't accept "i" constraint.
3706         (*conditional_branch): Only valid after reload.
3707         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
3708
3709 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3710
3711         PR target/47385
3712         * config/rs6000/altivec.md (vector constant splitters): Add
3713         support for creating vector single precision constants if -mvsx is
3714         used and we would create the constant using Altivec primitives.
3715
3716 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
3717             Richard Sandiford  <rdsandiford@googlemail.com>
3718
3719         PR rtl-optimization/47166
3720         * reload1.c (emit_reload_insns): Disable the spill_reg_store
3721         mechanism for PRE_MODIFY and POST_MODIFY.
3722         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
3723         reloadreg.
3724
3725 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
3726
3727         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
3728
3729 2011-01-22  Jan Hubicka  <jh@suse.cz>
3730
3731         PR lto/47333
3732         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
3733
3734 2011-01-22  Jan Hubicka  <jh@suse.cz>
3735
3736         PR tree-optimization/43884
3737         PR lto/44334
3738         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
3739         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
3740
3741 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
3742
3743         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3744         * config/s390/s390.c (s390_register_move_cost,
3745         s390_memory_move_cost): New.
3746         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
3747
3748 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3749
3750         PR middle-end/47401
3751         * except.c (sjlj_assign_call_site_values): Move setting the
3752         crtl->uses_eh_lsda flag to ...
3753         (sjlj_mark_call_sites): ... here.
3754         (sjlj_emit_function_enter): Support NULL dispatch label.
3755         (sjlj_build_landing_pads): In a function with no landing pads
3756         that still has must-not-throw regions, generate code to register
3757         a personality function with empty LSDA.
3758
3759 2011-01-21  Richard Henderson  <rth@redhat.com>
3760
3761         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
3762
3763         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
3764
3765         * compare-elim.c: New file.
3766         * Makefile.in (OBJS-common): Add it.
3767         (compare-elim.o): New.
3768         * common.opt (fcompare-elim): New.
3769         * opts.c (default_options_table): Add OPT_fcompare_elim.
3770         * tree-pass.h (pass_compare_elim_after_reload): New.
3771         * passes.c (init_optimization_passes): Add it.
3772         * recog.h: Protect against re-inclusion.
3773         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
3774         * doc/invoke.texi (-fcompare-elim): Document it.
3775         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
3776         * doc/tm.texi: Rebuild.
3777
3778 2011-01-22  Nick Clifton  <nickc@redhat.com>
3779
3780         * config/rx/rx.md (cstoresf4): Pass comparison operator to
3781         rx_split_fp_compare.
3782
3783 2011-01-22  Nick Clifton  <nickc@redhat.com>
3784
3785         * config/rx/rx.md (UNSPEC_CONST): New.
3786         (deallocate_and_return): Wrap the amount popped off the stack in
3787         an UNSPEC_CONST in order to stop it being rejected by
3788         -mmax-constant-size.
3789         (pop_and_return): Add a "(return)" rtx.
3790         (call): Drop the immediate operand.
3791         (call_internal): Likewise.
3792         (call_value): Likewise.
3793         (call_value_internal): Likewise.
3794         (sibcall_internal): Likewise.
3795         (sibcall_value_internal): Likewise.
3796         (sibcall): Likewise.  Generate an explicit call using
3797         sibcall_internal.
3798         (sibcall_value): Likewise.
3799         (mov<>): FAIL if a constant operand is not legitimate.
3800         (addsi3_unpsec): New pattern.
3801
3802         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
3803         (ok_for_max_constant): New function.
3804         (gen_safe_add): New function.
3805         (rx_expand_prologue): Use gen_safe_add.
3806         (rx_expand_epilogue): Likewise.
3807         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
3808         UNSPEC CONSTs.
3809
3810 2011-01-21  Jeff Law  <law@redhat.com>
3811
3812         PR tree-optimization/47053
3813         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
3814         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
3815         statements are deleted.
3816         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
3817         is nonempty, then purge dead edges and cleanup the CFG.
3818
3819 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3820
3821         PR debug/47402
3822         Temporarily revert:
3823         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3824         PR debug/47106
3825         * tree-dfa.c (create_var_ann): Mark variable as used.
3826
3827 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3828
3829         PR middle-end/45566
3830         * except.c (convert_to_eh_region_ranges): Emit queued no-region
3831         notes from other section in hot/cold partitioning even if
3832         last_action is -3.  Increment call_site_base.
3833
3834         PR rtl-optimization/47366
3835         * fwprop.c (forward_propagate_into): Return bool.  If
3836         any changes are made, -fnon-call-exceptions is used and
3837         REG_EH_REGION note is present, call purge_dead_edges
3838         and return true if it purged anything.
3839         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
3840         any EH edges were purged.
3841
3842 2011-01-21  Jeff Law  <law@redhat.com>
3843
3844         PR rtl-optimization/41619
3845         * caller-save.c (setup_save_areas): Break out code to determine
3846         which hard regs are live across calls by examining the reload chains
3847         so that it is always used.
3848         Eliminate code which checked REG_N_CALLS_CROSSED.
3849
3850 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3851
3852         PR tree-optimization/47355
3853         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
3854         NOP has non-debug uses beyond PHIs in new_bb.
3855
3856 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3857
3858         PR debug/47106
3859         * cfgexpand.c (account_used_vars_for_block): Only account vars
3860         that are annotated as used.
3861         (estimated_stack_frame_size): Don't set TREE_USED.
3862         * tree-dfa.c (create_var_ann): Mark variable as used.
3863
3864 2011-01-21  Richard Guenther  <rguenther@suse.de>
3865
3866         PR middle-end/47395
3867         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
3868
3869 2011-01-21  Richard Guenther  <rguenther@suse.de>
3870
3871         PR tree-optimization/47365
3872         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
3873         (vn_reference_lookup_pieces): Adjust.
3874         (vn_reference_lookup): Likewise.
3875         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
3876         (vn_reference_lookup_3): Only look through kills if in
3877         VN_WALKREWRITE mode.
3878         (vn_reference_lookup_pieces): Adjust.
3879         (vn_reference_lookup): Likewise.
3880         (visit_reference_op_load): Likewise.
3881         (visit_reference_op_store): Likewise.
3882         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
3883         (compute_avail): Likewise.
3884         (eliminate): Likewise.
3885
3886 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3887
3888         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
3889         DECL_IGNORED_P non-reg vars if they are used.
3890
3891         PR tree-optimization/47391
3892         * varpool.c (const_value_known_p): Return false if
3893         decl is volatile.
3894
3895 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
3896
3897         PR bootstrap/47215
3898         * config/i386/i386.c (ix86_local_alignment): Handle
3899         case for va_list_type_node is nil.
3900         (ix86_canonical_va_list_type): Likewise.
3901
3902 2011-01-21  Alan Modra  <amodra@gmail.com>
3903
3904         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
3905         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
3906
3907 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3908
3909         * config/arm/arm.md (define_attr type): Rename f_load
3910         and f_store to f_fpa_load and f_fpa_store. Update.
3911         (write_conflict): Deal with rename fallout.
3912         (*push_fp_multi): Likewise.
3913         * config/arm/fpa.md (f_load): Use f_fpa_load.
3914         (f_store): Use f_fpa_store.
3915         (*movsf_fpa): Likewise.
3916         (*movdf_fpa): Likewise.
3917         (*movxf_fpa): Likewise.
3918         (*thumb2_movsf_fpa): Likewise.
3919         (*thumb2_movdf_fpa): Likewise.
3920         (*thumb2_movxf_fpa): Likewise.
3921         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
3922         f_loadd and f_stored.
3923         (*thumb2_movdi_vfp): Likewise.
3924         (*thumb2_movsf_vfp): Fix attribute to f_loads.
3925         (*thumb2_movsi_vfp): Likewise.
3926         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
3927         Use f_loads instead of f_load.
3928         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
3929
3930 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
3931
3932         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3933         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
3934         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3935         (xtensa_mode_dependent_address_p): New function.
3936         (constantpool_address_p): Make static. Change return type to bool.
3937         Change argument type to const_rtx. Use CONST_INT_P predicate.
3938
3939 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
3940
3941         PR debug/46583
3942         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
3943
3944 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3945
3946         PR debug/47283
3947         * cfgexpand.c (expand_debug_expr): Instead of generating
3948         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
3949         etc. handling.
3950
3951 2011-01-20  Richard Guenther  <rguenther@suse.de>
3952
3953         PR middle-end/47370
3954         * tree-inline.c (remap_gimple_op_r): Recurse manually for
3955         the pointer operand of MEM_REFs.
3956
3957 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3958
3959         PR tree-optimization/46130
3960         * ipa-split.c (consider_split): If return_bb contains non-virtual
3961         PHIs other than for retval or if split_function would not adjust it,
3962         refuse to split.
3963
3964 2011-01-20  Richard Guenther  <rguenther@suse.de>
3965
3966         PR tree-optimization/47167
3967         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3968         Revert previous change, only avoid enumeral type changes.
3969
3970 2011-01-19  Mike Stump  <mikestump@comcast.net>
3971
3972         * doc/tm.texi.in (BRANCH_COST): Englishify.
3973         * doc/tm.texi (BRANCH_COST): Likewise.
3974
3975 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
3976
3977         PR c++/47291
3978         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
3979         (gen_scheduled_generic_parms_dies): New functions.
3980         (gen_struct_or_union_type_die): Schedule template parameters DIEs
3981         generation for the end of CU compilation.
3982         (dwarf2out_finish): Generate template parameters DIEs here.
3983
3984 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3985
3986         PR debug/46240
3987         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
3988         debug bind stmt on merge edges.
3989
3990 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3991
3992         PR debug/47079
3993         PR debug/46724
3994         * function.c (instantiate_expr): Instantiate incoming rtl of
3995         implicit arguments, and recurse on VALUE_EXPRs.
3996         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
3997         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
3998
3999 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
4000
4001         * c-parser.c (c_parser_for_statement): Initialize
4002         collection_expression.
4003
4004 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4005
4006         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
4007
4008 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4009
4010         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
4011         (LINK_SHLIB_SPEC): Don't use %(link_path).
4012         (SUBTARGET_EXTRA_SPECS): Remove link_path.
4013
4014 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4015
4016         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
4017         (NO_SHARED_LIB_SUPPORT): Remove.
4018         (LINK_SHLIB_SPEC): Remove one conditional definition.
4019
4020 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4021
4022         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
4023         %{call_shared}.
4024         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
4025         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
4026         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
4027         %{call_shared} and conditionals on these options not being passed.
4028         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
4029         %{call_shared}.
4030
4031 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
4032
4033         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
4034         simplify.
4035
4036         * ipa-split.c: Spelling fixes.
4037
4038 2011-01-19  Richard Henderson  <rth@redhat.com>
4039
4040         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
4041         (*mulsi3): Likewise.
4042
4043         * longlong.h [__mn10300__] (count_leading_zeros): New.
4044         [__mn10300__] (umul_ppmm, smul_ppmm): New.
4045         [__mn10300__] (add_ssaaaa, subddmmss): New.
4046         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
4047         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
4048
4049 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4050
4051         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
4052
4053 2011-01-19  Richard Henderson  <rth@redhat.com>
4054
4055         * config/mn10300/mn10300.md (addsi3_flags): New.
4056         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
4057         (subsi3_flags, subc_internal, subdi3): New.
4058         (subdi3_internal, *subdi3_degenerate): New.
4059         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
4060
4061         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
4062         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
4063         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
4064         * config/mn10300/mn10300-protos.h: Update.
4065         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
4066         (return_ret): Likewise.  Rename from return_internal_regs.
4067         (return_internal): Remove.
4068
4069         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
4070         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
4071         (mn10300_legitimate_constant_p): Likewise.
4072         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
4073         (mn10300_frame_size): New.
4074         (mn10300_expand_prologue): Use it.
4075         (mn10300_expand_epilogue): Likewise.
4076         (mn10300_initial_offset): Likewise.
4077         * config/mn10300/mn10300-protos.h: Update.
4078         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
4079         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
4080         (prologue, epilogue, return_internal): Tidy output code.
4081         (mn10300_store_multiple_operation, return): Likewise.
4082         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
4083         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
4084         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
4085         (load_pic, am33_load_pic): New.
4086         (mn10300_load_pic0, mn10300_load_pic1): New.
4087
4088         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
4089         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
4090         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
4091         (cc_flags_for_mode, cc_flags_for_code): New.
4092         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
4093         overflow flag is not valid.  Validate that the flags we need
4094         for the comparison are valid.
4095         (mn10300_output_cmp): Remove.
4096         (mn10300_output_add): New.
4097         (mn10300_select_cc_mode): Use cc_flags_for_code.
4098         (mn10300_split_cbranch): New.
4099         (mn10300_match_ccmode): New.
4100         (mn10300_split_and_operand_count): New.
4101         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
4102         to the function.
4103         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
4104         (addsi3): ... here.  Use mn10300_output_add.
4105         (*addsi3_flags): New.
4106         (*am33_subsi3, *mn10300_subsi3): Merge...
4107         (subsi3): ... here.  Use attribute isa.
4108         (*subsi3_flags): New.
4109         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
4110         when possible.
4111         (*am33_andsi3, *mn10300_andsi3): Merge...
4112         (andsi3): ... here.
4113         (*andsi3_flags): New.
4114         (andsi3 splitters): New.
4115         (*am33_iorsi3, *mn10300_iorsi3): Merge...
4116         (iorsi3): ... here.
4117         (*iorsi3_flags): New.
4118         (*am33_xorsi3, *mn10300_xorsi3): Merge...
4119         (xorsi3): ... here.
4120         (*xorsi3_flags): New.
4121         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
4122         (one_cmplsi2): ... here.
4123         (*one_cmplsi2_flags): New.
4124         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
4125         instead of "dax" in constraints.  Use mn10300_split_cbranch.
4126         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
4127         use matching constraints to eliminate a self-comparison.
4128         (*integer_conditional_branch): Rename from integer_conditional_branch.
4129         Use int_mode_flags to match CC_REG.
4130         (*cbranchsi4_btst, *btstsi): New.
4131         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
4132         mn10300_split_cbranch.
4133         (*am33_cmpsf): Rename from am33_cmpsf.
4134         (*float_conditional_branch): Rename from float_conditional_branch.
4135         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
4136         (zero_extendqisi2): ... here.
4137         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
4138         (zero_extendhisi2): ... here.
4139         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
4140         (extendqisi2): ... here.
4141         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
4142         (extendhisi2): ... here.
4143         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
4144         (ashlsi3): ... here.
4145         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
4146         (lshrsi3): ... here.
4147         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
4148         (ashrsi3): ... here.
4149         (consecutive add peephole): Remove.
4150         * config/mn10300/predicates.md (label_ref_operand): New.
4151         (int_mode_flags): New.
4152         (CCZN_comparison_operator): New.
4153
4154         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
4155         (throughput_42_latency_43): New reservation.
4156         (mulsidi3, umulsidi3): New expanders.
4157         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
4158         the MDR register to allocation; separately allocate the low and
4159         high parts of the DImode result.
4160         (umulsidi3_internal): Similarly.
4161         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
4162         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
4163         (udivsi3, umodsi3): Remove.
4164         (udivmodsi4, divmodsi4): New expanders.
4165         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
4166         (*divmodsi4): Simiarly.
4167         (ext_internal): New.
4168
4169         * config/mn10300/constraints.md ("z"): New constraint.
4170         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
4171         (FIXED_REGISTERS): Don't fix MDR.
4172         (CALL_USED_REGSITERS): Reformat nicely.
4173         (REG_ALLOC_ORDER): Add MDR.
4174         (enum regclass): Add MDR_REGS.
4175         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
4176         (IRA_COVER_CLASSES): Add MDR_REGS.
4177         (REGNO_REG_CLASS): Handle MDR_REG.
4178         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
4179         (mn10300_register_move_cost): Likewise.
4180         * config/mn10300/mn10300.md (MDR_REG): New.
4181         (*movsi_internal): Handle moves to/from MDR_REGS.
4182
4183         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
4184         POST_MODIFY.
4185         (mn10300_secondary_reload): Tidy combination reload classes.
4186         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
4187         addresses for AM33.  Allow symbolic offsets for reg+imm.
4188         (mn10300_regno_in_class_p): New.
4189         (mn10300_legitimize_reload_address): New.
4190         * config/mn10300/mn10300.h (enum reg_class): Remove
4191         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
4192         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
4193         SP_OR_GENERAL_REGS.
4194         (REG_CLASS_NAMES): Update to match.
4195         (REG_CLASS_CONTENTS): Likewise.
4196         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
4197         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
4198         (REGNO_IN_RANGE_P): Remove.
4199         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
4200         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
4201         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
4202         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
4203         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
4204         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
4205         (REGNO_GENERAL_P): New.
4206         (HAVE_POST_MODIFY_DISP): New.
4207         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
4208         (LEGITIMIZE_RELOAD_ADDRESS): New.
4209         * config/mn10300/mn10300-protos.h: Update.
4210
4211         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
4212         DATA_REGS for AM33 stack-pointer destination.
4213         (mn10300_preferred_output_reload_class): Likewise.
4214         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
4215         into a form appropriate for ...
4216         (TARGET_SECONDARY_RELOAD): New.
4217         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
4218         * config/mn10300/mn10300-protos.h: Update.
4219         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
4220         reload_insi; use the "A" constraint for the scratch; handle AM33
4221         moves of sp to non-address registers.
4222
4223         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
4224         (*movqi_internal): ... here.
4225         (*am33_movhi, *mn10300_movhi): Merge into...
4226         (*movhi_internal): ... here.
4227         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
4228         as the source/destination of moves from/to SP.
4229         (movsf): Only allow for AM33-2.
4230         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
4231         any integer constant constraint.  Only allow for AM33-2.  Tidy
4232         all of the alternative outputs.
4233         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
4234         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
4235         for MN103.
4236         (udivsi3, umodsi3): New patterns for MN103 only.
4237
4238 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
4239
4240         * doc/tm.texi.in: Spell out that a lack of register class unions
4241         can lead to ICEs.
4242         * doc/tm.texi: Regenerate.
4243
4244 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
4245
4246         PR rtl-optimization/47337
4247         * dce.c (check_argument_store): New function.
4248         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
4249
4250         PR tree-optimization/47290
4251         * tree-eh.c (infinite_empty_loop_p): New function.
4252         (cleanup_empty_eh): Use it.
4253
4254 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
4255
4256         PR target/46997
4257         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
4258         (a64_expand_widen_sum): Ditto.
4259         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
4260         (vec_extract_evenodd_help): Ditto.
4261         (vec_extract_evenv4hi): Ditto.
4262         (vec_extract_oddv4hi): Ditto.
4263         (vec_extract_evenv2si): Ditto.
4264         (vec_extract_oddv2si): Ditto.
4265         (vec_extract_evenv2sf): Ditto.
4266         (vec_extract_oddv2sf): Ditto.
4267         (vec_pack_trunc_v4hi: Ditto.
4268         (vec_pack_trunc_v2si): Ditto.
4269         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
4270         (vec_interleave_highv8qi): Ditto.
4271         (mix1_r): Ditto.
4272         (vec_extract_oddv8qi): Ditto.
4273         (vec_interleave_lowv4hi): Ditto.
4274         (vec_interleave_highv4hi): Ditto.
4275         (vec_interleave_lowv2si): Ditto.
4276         (vec_interleave_highv2si): Ditto.
4277
4278 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4279
4280         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
4281         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
4282         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
4283         (pa_c_mode_for_suffix): New.
4284         (TARGET_EXPAND_BUILTIN): Define.
4285         (TARGET_C_MODE_FOR_SUFFIX): Define.
4286         (pa_builtins): Define.
4287         (pa_init_builtins): Register __float128 type and init new support
4288         builtins.
4289         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
4290         * config/pa/quadlib.c (_U_Qfcopysign): New.
4291
4292 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
4293
4294         PR middle-end/46894
4295         * explow.c (allocate_dynamic_stack_space): Do not assume more than
4296         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
4297         are defined.
4298
4299 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4300
4301         PR tree-optimization/47179
4302         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
4303         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
4304
4305 2011-01-18  Richard Guenther  <rguenther@suse.de>
4306
4307         PR rtl-optimization/47216
4308         * emit-rtl.c: Include tree-flow.h.
4309         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
4310         of replicating it with different semantics.
4311         * Makefile.in (emit-rtl.o): Adjust.
4312
4313 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4314
4315         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
4316         (cortex_a9_dp): Handle neon types correctly.
4317
4318 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
4319
4320         PR rtl-optimization/47299
4321         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
4322         subtarget.  Use normal multiplication if both operands are constants.
4323         * expmed.c (expand_widening_mult): Don't try to optimize constant
4324         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
4325         before using it.
4326
4327 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4328
4329         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
4330         spacing after 'e.g.', typos, comma, hyphenation.
4331
4332 2011-01-17  Richard Henderson  <rth@redhat.com>
4333
4334         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
4335         (rx_restricted_mem_operand): New.
4336         (rx_shift_operand): Use register_operand.
4337         (rx_source_operand, rx_compare_operand): Likewise.
4338         * config/rx/rx.md (addsi3_flags): New expander.
4339         (adddi3): Rewrite as expander.
4340         (adc_internal, *adc_flags, adddi3_internal): New patterns.
4341         (subsi3_flags): New expander.
4342         (subdi3): Rewrite as expander.
4343         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
4344
4345         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
4346         (rx_init_builtins): Remove sat builtin.
4347         (rx_expand_builtin): Likewise.
4348         * config/rx/rx.md (ssaddsi3): New.
4349         (*sat): Rename from sat.  Represent the CC_REG input.
4350
4351         * config/rx/predicates.md (rshift_operator): New.
4352         * config/rx/rx.c (rx_expand_insv): Remove.
4353         * config/rx/rx-protos.h: Update.
4354         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
4355         operand to the canonical position.
4356         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
4357         (*bitclr, *bitclr_in_memory): Similarly.
4358         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
4359         (insv): Retain the zero_extract in the expansion.
4360
4361         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
4362         (bswaphi2, bitinvert, revw): Likewise.
4363
4364         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
4365         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
4366         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
4367         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
4368         (bitset, bitset_in_memory): Likewise.
4369         (bitinvert, bitinvert_in_memory): Likewise.
4370         (bitclr, bitclr_in_memory): Likewise.
4371         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
4372         (rx_strend, rx_cmpstrn): Likewise.
4373         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
4374         (bitop peep2 patterns): Remove.
4375
4376         * config/rx/rx.c (rx_match_ccmode): New.
4377         * config/rx/rx-protos.h: Update.
4378         * config/rx/rx.md (abssi2): Clobber, don't set flags.
4379         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
4380         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
4381         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
4382         (fix_truncsfsi2, floatsisf2): Likewise.
4383         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
4384         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
4385         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
4386         (*subsi3_flags, *xorsi3_flags): New.
4387
4388         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
4389
4390         * config/rx/rx.c (rx_print_operand): Remove workaround for
4391         unsplit comparison operations.
4392
4393         * config/rx/rx.md (movsicc): Split after reload.
4394         (*movsicc): Merge *movsieq and *movsine via match_operator.
4395         (*stcc): New pattern.
4396
4397         * config/rx/rx.c (rx_float_compare_mode): Remove.
4398         * config/rx/rx.h (rx_float_compare_mode): Remove.
4399         * config/rx/rx.md (cstoresi4): Split after reload.
4400         (*sccc): New pattern.
4401
4402         * config/rx/predicates.md (label_ref_operand): New.
4403         (rx_z_comparison_operator): New.
4404         (rx_zs_comparison_operator): New.
4405         (rx_fp_comparison_operator): New.
4406         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
4407         Validate that the flags are set properly for the comparison.
4408         (rx_gen_cond_branch_template): Remove.
4409         (rx_cc_modes_compatible): Remove.
4410         (mode_from_flags): New.
4411         (flags_from_code): Rename from flags_needed_for_conditional.
4412         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
4413         (rx_select_cc_mode): Likewise.
4414         (rx_split_fp_compare): New.
4415         (rx_split_cbranch): New.
4416         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
4417         (*cbranchsi4): Use match_operator and rx_split_cbranch.
4418         (*cbranchsf4): Similarly.
4419         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
4420         match_operator and rx_split_cbranch.
4421         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
4422         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
4423         (*cmpsi): Rename from cmpsi.
4424         (*tstsi): Rename from tstsi.
4425         (*cmpsf): Rename from cmpsf; use CC_Fmode.
4426         (*conditional_branch): Rename from conditional_branch.
4427         (*reveresed_conditional_branch): Remove.
4428         (b<code>): Remove expander.
4429         * config/rx/rx-protos.h: Update.
4430
4431         * config/rx/rx.c (rx_compare_redundant): Remove.
4432         * config/rx/rx.md (cmpsi): Don't use it.
4433         * config/rx/rx-protos.h: Update.
4434
4435         * config/rx/rx-modes.def (CC_F): New mode.
4436         * config/rx/rx.c (rx_select_cc_mode): New.
4437         * config/rx/rx.h (SELECT_CC_MODE): Use it.
4438         * config/rx/rx-protos.h: Update.
4439
4440 2011-01-17  Richard Henderson  <rth@redhat.com>
4441
4442         * except.c (dump_eh_tree): Fix stray ; after for statement.
4443
4444 2011-01-17  Richard Guenther  <rguenther@suse.de>
4445
4446         PR tree-optimization/47313
4447         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
4448         handling before copying the body.  Properly deal with
4449         by-reference result in SSA form.
4450
4451 2011-01-17  Ian Lance Taylor  <iant@google.com>
4452
4453         PR target/47219
4454         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
4455         (struct_value_alias_set): Don't define.
4456         (sparc_option_override): Don't set sparc_sr_alias_set and
4457         struct_value_alias_set.
4458         (save_or_restore_regs): Use gen_frame_mem rather than calling
4459         set_mem_alias_set.
4460         (sparc_struct_value_rtx): Likewise.
4461
4462 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
4463
4464         PR target/47318
4465         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
4466         __m128i.
4467         (_mm_maskstore_pd): Likewise.
4468         (_mm_maskload_ps): Likewise.
4469         (_mm_maskstore_ps): Likewise.
4470         (_mm256_maskload_pd): Change mask to __m256i.
4471         (_mm256_maskstore_pd): Likewise.
4472         (_mm256_maskload_ps): Likewise.
4473         (_mm256_maskstore_ps): Likewise.
4474
4475         * config/i386/i386-builtin-types.def: Updated.
4476         (ix86_expand_special_args_builtin): Likewise.
4477
4478         * config/i386/i386.c (bdesc_special_args): Update
4479         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
4480         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
4481         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
4482         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
4483
4484         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
4485         Use <avxpermvecmode> on mask register.
4486         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
4487
4488 2011-01-17  Olivier Hainque  <hainque@adacore.com>
4489             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4490             Eric Botcazou  <ebotcazou@adacore.com>
4491
4492         PR target/46655
4493         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
4494         if <= USHRT_MAX in 32-bit mode.
4495
4496 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4497
4498         * doc/install.texi (Configuration, Specific): Wrap long
4499         lines in examples.  Allow line wrapping in long options
4500         and URLs where beneficial for PDF output.
4501
4502 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
4503
4504         * config/mips/mips.c (mips_classify_symbol): Don't return
4505         SYMBOL_PC_RELATIVE for nonlocal labels.
4506
4507 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4508
4509         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
4510
4511 2011-01-15  Jan Hubicka  <jh@suse.cz>
4512
4513         PR tree-optimization/47276
4514         * ipa.c (function_and_variable_visibility): Do not try to mark alias
4515         declarations as needed.
4516
4517 2011-01-15  Martin Jambor  <mjambor@suse.cz>
4518
4519         * common.opt (fdevirtualize): New flag.
4520         * doc/invoke.texi (Option Summary): Document it.
4521         * opts.c (default_options_table): Add devirtualize flag.
4522         * ipa-prop.c (detect_type_change): Return immediately if
4523         devirtualize flag is not set.
4524         (detect_type_change_ssa): Likewise.
4525         (compute_known_type_jump_func): Likewise.
4526         (ipa_analyze_virtual_call_uses): Likewise.
4527
4528 2011-01-14  Martin Jambor  <mjambor@suse.cz>
4529
4530         PR tree-optimization/45934
4531         PR tree-optimization/46302
4532         * ipa-prop.c (type_change_info): New type.
4533         (stmt_may_be_vtbl_ptr_store): New function.
4534         (check_stmt_for_type_change): Likewise.
4535         (detect_type_change): Likewise.
4536         (detect_type_change_ssa): Likewise.
4537         (compute_complex_assign_jump_func): Check for dynamic type change.
4538         (compute_complex_ancestor_jump_func): Likewise.
4539         (compute_known_type_jump_func): Likewise.
4540         (compute_scalar_jump_functions): Likewise.
4541         (ipa_analyze_virtual_call_uses): Likewise.
4542         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
4543
4544 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4545
4546         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
4547         * config/i386/i386.opt (msse5): New Alias.
4548
4549 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4550
4551         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4552         * config/sparc/linux64.h (CC1_SPEC): Likewise.
4553         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4554         * config/sparc/sparc.h (CC1_SPEC): Likewise.
4555
4556 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4557
4558         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
4559         -mcpu options.
4560         * config/sparc/linux64.h (CC1_SPEC): Likewise.
4561         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4562         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
4563         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
4564         Likewise.
4565         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
4566
4567 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4568
4569         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
4570
4571 2011-01-14  Mike Stump  <mikestump@comcast.net>
4572
4573         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
4574         * config/fr30/fr30.md: Likweise
4575         (movsi_push): Likewise.
4576         (movsi_pop): Likewise.
4577         (enter_func): Likewise.
4578         * config/moxie/moxie.md (movsi_push): Likewise.
4579         (movsi_pop): Likewise.
4580
4581 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4582
4583         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
4584         %{no_archive} %{exact_version}.
4585         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
4586         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
4587         %{no_archive} %{exact_version}.
4588         * config/mips/openbsd.h (LINK_SPEC): Likewise.
4589         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
4590         * config/mips/vxworks.h: Likewise.
4591
4592 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4593
4594         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
4595
4596 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4597
4598         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
4599         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
4600
4601 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4602
4603         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
4604         -nodefaultlib.
4605
4606 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4607
4608         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
4609         for mcpu not cpu.
4610         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
4611         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
4612         not cpu.
4613         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
4614         Don't handle -shlib.
4615
4616 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4617
4618         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
4619         (CC1_SPEC): Don't handle -profile.
4620
4621 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4622
4623         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
4624         * config/mips/mips.h (CC1_SPEC): Likewise.
4625
4626 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4627
4628         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
4629         * config/mips/mips.h (CC1_SPEC): Likewise.
4630
4631 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4632
4633         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
4634         * config/m32r/linux.h (LINK_SPEC): Likewise.
4635         * config/mips/linux.h (LINK_SPEC): Likewise.
4636         * config/mips/linux64.h (LINK_SPEC): Likewise.
4637         * config/sparc/linux.h (LINK_SPEC): Likewise.
4638         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
4639         LINK_SPEC): Likewise.
4640         * config/xtensa/linux.h (LINK_SPEC): Likewise.
4641
4642 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4643
4644         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
4645         %{version:-v}.
4646         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
4647
4648 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4649
4650         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
4651         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4652
4653 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4654
4655         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
4656
4657 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4658
4659         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
4660         supports -Bstatic/-Bdynamic.
4661         * configure: Regenerate.
4662
4663 2011-01-14  Jan Hubicka  <jh@suse.cz>
4664             Jack Howarth  <howarth@bromo.med.uc.edu>
4665
4666         PR target/46037
4667         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
4668         when checking debug_info_level. Test write_symbols instead of
4669         debug_hooks->var_location when setting flag_var_tracking_uninit.
4670
4671 2011-01-14  Richard Guenther  <rguenther@suse.de>
4672
4673         PR tree-optimization/47179
4674         * target.def (ref_may_alias_errno): New target hook.
4675         * targhooks.h (default_ref_may_alias_errno): Declare.
4676         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
4677         (default_ref_may_alias_errno): New function.
4678         * target.h (struct ao_ref_s): Declare.
4679         * tree-ssa-alias.c: Include target.h.
4680         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
4681         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
4682         (targhooks.o): Likewise.
4683         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
4684         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
4685
4686 2011-01-14  Richard Guenther  <rguenther@suse.de>
4687
4688         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
4689
4690 2011-01-14  Richard Guenther  <rguenther@suse.de>
4691
4692         PR tree-optimization/47280
4693         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
4694         return CFG changes.
4695         (tree_ssa_forward_propagate_single_use_vars): Deal with
4696         CFG changes from associate_plusminus.
4697
4698 2011-01-14  Richard Guenther  <rguenther@suse.de>
4699
4700         PR middle-end/47281
4701         Revert
4702         2011-01-11  Richard Guenther  <rguenther@suse.de>
4703
4704         PR tree-optimization/46076
4705         * tree-ssa.c (useless_type_conversion_p): Conversions from
4706         unprototyped to empty argument list function types are useless.
4707
4708 2011-01-14  Richard Guenther  <rguenther@suse.de>
4709
4710         PR tree-optimization/47286
4711         * tree-ssa-structalias.c (new_var_info): Register variables are global.
4712
4713 2011-01-14  Martin Jambor  <mjambor@suse.cz>
4714
4715         PR middle-end/46823
4716         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
4717
4718 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
4719
4720         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
4721         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
4722         * config/xtensa/xtensa.c (xtensa_libcall_value,
4723         xtensa_function_value_regno_p): New functions.
4724         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
4725
4726 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
4727
4728         PR c++/47213
4729         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
4730         PE specific hook.
4731         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
4732         New function prototype.
4733         * config/i386/winnt.c (i386_pe_assemble_visibility):
4734         Warn only if attribute was specified by user.
4735
4736 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
4737
4738         PR target/47251
4739         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
4740         floating point.
4741         (floatunsdidf2_fcfidu): Ditto.
4742
4743 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4744
4745         * config/s390/s390.c (print_operand_address): Replace 'error' with
4746         'output_operand_lossage'.
4747         (print_operand): Likewise.
4748
4749 2011-01-13  Jeff Law  <law@redhat.com>
4750
4751         PR rtl-optimization/39077
4752         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
4753         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
4754         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
4755         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
4756         * gcse.c (prune_insertions_deletions): New function.
4757         (compute_pre_data): Use it.
4758
4759 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
4760
4761         PR debug/PR46973
4762         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
4763         static function.
4764         (prune_unused_types_mark): Use it.
4765
4766 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
4767
4768         PR rtl-optimization/45352
4769         * sel-sched.c: Update copyright years.
4770         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
4771         in the advancing loop when we have issued issue_rate insns.
4772
4773 2011-01-12  Richard Henderson  <rth@redhat.com>
4774
4775         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
4776         (TARGET_MD_ASM_CLOBBERS): New.
4777
4778         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
4779         (TARGET_DELEGITIMIZE_ADDRESS): New.
4780
4781         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
4782         (clzsi2, *bsch): New patterns.
4783
4784         * config/mn10300/mn10300.md (INT): New mode iterator.
4785         (*mov<INT>_clr): New pattern, and peep2 to generate it.
4786
4787         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
4788         flag_split_wide_types.
4789
4790         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
4791         (mn10300_trampoline_init): Rewrite without a template, an immediate
4792         load and a direct branch.
4793         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
4794
4795 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
4796
4797         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4798         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
4799         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
4800         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4801
4802 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
4803
4804         PR debug/47209
4805         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
4806         of type.
4807
4808 2011-01-12  Jan Hubicka  <jh@suse.cz>
4809
4810         PR driver/47244
4811         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
4812         (PLUGIN_COND_CLOSE): New macro.
4813         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
4814
4815 2011-01-12  Richard Guenther  <rguenther@suse.de>
4816
4817         PR lto/47259
4818         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
4819         register variables in a MEM_REF.
4820
4821 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
4822
4823         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
4824         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
4825         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
4826         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4827         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4828         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
4829         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
4830         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
4831         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
4832         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
4833         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
4834         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
4835         * config/gnu-user.h: New.  Copied from linux.h.
4836         (LINUX_TARGET_STARTFILE_SPEC): Rename to
4837         GNU_USER_TARGET_STARTFILE_SPEC.
4838         (LINUX_TARGET_ENDFILE_SPEC): Rename to
4839         GNU_USER_TARGET_ENDFILE_SPEC.
4840         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
4841         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
4842         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
4843         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
4844         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
4845         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
4846         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
4847         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
4848         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
4849         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
4850         * config/arm/linux-eabi.h (CC1_SPEC): Use
4851         GNU_USER_TARGET_CC1_SPEC.
4852         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
4853         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
4854         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
4855         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
4856         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
4857         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
4858         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
4859         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
4860
4861 2011-01-12  Richard Guenther  <rguenther@suse.de>
4862
4863         PR other/46946
4864         * doc/invoke.texi (ffast-math): Document it is turned on
4865         with -Ofast.
4866
4867 2011-01-12  Jan Hubicka  <jh@suse.cz>
4868
4869         PR tree-optimization/47233
4870         * opts.c (common_handle_option): Disable ipa-reference with profile
4871         feedback.
4872
4873 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4874
4875         * c-parser.c (c_parser_objc_at_property_declaration): Improved
4876         error message.
4877
4878 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4879
4880         * c-parser.c (c_lex_one_token): Updated and reindented some
4881         comments.  No changes in code.
4882
4883 2011-01-11  Ian Lance Taylor  <iant@google.com>
4884
4885         * godump.c (go_output_var): Don't output the variable if there is
4886         already a type with the same name.
4887
4888 2011-01-11  Ian Lance Taylor  <iant@google.com>
4889
4890         * godump.c (go_format_type): Don't generate float80.
4891
4892 2011-01-11  Richard Henderson  <rth@redhat.com>
4893
4894         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
4895         declaration.  Rewrite for both speed and size.
4896         (mn10300_address_cost_1): Remove.
4897         (mn10300_register_move_cost): New.
4898         (mn10300_memory_move_cost): New.
4899         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
4900         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
4901         extensions, shifts, BSWAP, CLZ.
4902         (mn10300_wide_const_load_uses_clr): Remove.
4903         (TARGET_REGISTER_MOVE_COST): New.
4904         (TARGET_MEMORY_MOVE_COST): New.
4905         * config/mn10300/mn10300-protos.h: Update.
4906         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
4907
4908         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
4909         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
4910         * config/mn10300/mn10300-protos.h: Update.
4911         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
4912         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
4913         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
4914         (*test_int_bitfield, *test_byte_bitfield): Remove.
4915         (*bit_test, *subreg_bit_test): Remove.
4916         * config/mn10300/predicates.md (const_8bit_operand): Remove.
4917
4918         * config/mn10300/constraints.md ("c"): Rename from "A".
4919         ("A", "D"): New constraint letters.
4920         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
4921         (fmssf4, fnmasf4, fnmssf4): Likewise.
4922
4923         * config/mn10300/mn10300.md (isa): New attribute.
4924         (enabled): New attribute.
4925
4926         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
4927         (abssf2, negsf2): Define only for hardware fp.
4928         (sqrtsf2): Reformat.
4929         (addsf3, subsf3, mulsf3): Merge expander and insn.
4930
4931         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
4932         (DEBUGGER_AUTO_OFFSET): Remove.
4933         (DEBUGGER_ARG_OFFSET): Remove.
4934
4935         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
4936         Emit register stores with the same offsets as the hardware.
4937         (mn10300_store_multiple_operation): Don't check that the register
4938         save offsets are monotonic.
4939         * config/mn10300/mn10300-protos.h: Update.
4940
4941         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
4942
4943         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
4944         in terms of the value on the stack, not the MDR register.
4945
4946 2011-01-11  Jan Hubicka  <jh@suse.cz>
4947
4948         PR lto/45721
4949         PR lto/45375
4950         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
4951         (symbol_alias_set_destroy, symbol_alias_set_contains,
4952         propagate_aliases_backward): Declare.
4953         * lto-streamer-out.c (struct sets): New sturcture.
4954         (trivally_defined_alias): New function.
4955         (output_alias_pair_p): Rewrite.
4956         (output_unreferenced_globals): Fix output of alias pairs.
4957         (produce_symtab): Likewise.
4958         * ipa.c (function_and_variable_visibility): Set weak alias destination
4959         as needed in lto.
4960         * varasm.c (symbol_alias_set_t): Remove.
4961         (symbol_alias_set_destroy): Export.
4962         (propagate_aliases_forward, propagate_aliases_backward): New functions
4963         based on ...
4964         (compute_visible_aliases): ... this one; remove.
4965         (trivially_visible_alias): New
4966         (trivially_defined_alias): New.
4967         (remove_unreachable_alias_pairs): Rewrite.
4968         (finish_aliases_1): Reorganize code checking if alias is defined.
4969         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
4970         in LTO mode.
4971
4972 2011-01-11  Richard Guenther  <rguenther@suse.de>
4973
4974         PR tree-optimization/46076
4975         * tree-ssa.c (useless_type_conversion_p): Conversions from
4976         unprototyped to empty argument list function types are useless.
4977
4978 2011-01-11  Richard Guenther  <rguenther@suse.de>
4979
4980         PR middle-end/45235
4981         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
4982         volatile MEMs as MEM_READONLY_P.
4983
4984 2011-01-11  Richard Guenther  <rguenther@suse.de>
4985
4986         PR tree-optimization/47239
4987         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
4988
4989 2011-01-11  Jeff Law  <law@redhat.com>
4990
4991         PR tree-optimization/47086
4992         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
4993         IVs from statements that might throw.
4994
4995 2011-01-10  Jan Hubicka  <jh@suse.cz>
4996
4997         PR lto/45375
4998         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
4999
5000 2011-01-10  Jan Hubicka  <jh@suse.cz>
5001
5002         PR lto/45375
5003         * profile.c (read_profile_edge_counts): Ignore profile inconistency
5004         when correcting profile.
5005
5006 2011-01-10  Jan Hubicka  <jh@suse.cz>
5007
5008         PR lto/46083
5009         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
5010         DECL_FINI_PRIORITY.
5011         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
5012         Restore DECL_FINI_PRIORITY.
5013
5014 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5015
5016         * doc/gimple.texi: Fix quoting of multi-word return values in
5017         @deftypefn statements.  Ensure presence of return value.  Wrap
5018         overlong @deftypefn lines.
5019         (is_gimple_operand, is_gimple_min_invariant_address): Remove
5020         descriptions of removed functions.
5021         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
5022         of multi-word return value in @deftypefn statement.
5023
5024 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5025
5026         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
5027         (Conditional Expressions, Logical Operators)
5028         (Statement and operand traversals): Do not indent smallexample
5029         code.  Fix duplicate function argument in example.
5030
5031 2011-01-10  Jeff Law  <law@redhat.com>
5032
5033         PR tree-optimization/47141
5034         * ipa-split.c (split_function): Handle case where we are
5035         returning a value and the return block has a virtual operand phi.
5036
5037 2011-01-10  Jan Hubicka  <jh@suse.cz>
5038
5039         PR tree-optimization/47234
5040         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
5041         (pass_feedback_split_functions): Declare.
5042         * passes.c (init_optimization_passes): Add ipa-split as subpass of
5043         tree-profile.
5044         * ipa-split.c (gate_split_functions): Update comments; disable
5045         split-functions for profile_arc_flag and branch_probabilities.
5046         (gate_feedback_split_functions): New function.
5047         (execute_feedback_split_functions): New function.
5048         (pass_feedback_split_functions): New global var.
5049
5050 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
5051
5052         PR lto/46760
5053         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
5054         calling gimple_call_set_cannot_inline.
5055
5056 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
5057
5058         * config/darwin-sections.def: Remove unused section.
5059
5060 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
5061
5062         PR c++/47218
5063         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
5064
5065 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
5066
5067         PR objc/47232
5068         * c-parser.c (c_parser_declaration_or_fndef): Improved
5069         error message.
5070
5071 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
5072
5073         * config/i386/winnt.c (i386_pe_start_function): Make sure
5074         to switch back to function's section.
5075
5076 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
5077
5078         PR gcc/46902
5079         PR testsuite/46912
5080         * plugin.c: Move include of dlfcn.h from here...
5081         * system.h: ... to here.
5082
5083 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5084
5085         * doc/cpp.texi (C++ Named Operators): Fix markup for header
5086         file name.
5087         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
5088         two extra empty pages in PDF output.
5089
5090 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
5091
5092         PR objc/47078
5093         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
5094         for error recovery purposes behave as if it was not specified so
5095         that the default type is usd.
5096
5097 2011-01-07  Jan Hubicka  <jh@suse.cz>
5098
5099         PR tree-optmization/46469
5100         * ipa.c (function_and_variable_visibility): Clear needed flags on
5101         nodes with external decls; handle weakrefs merging correctly.
5102
5103 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
5104
5105         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
5106         not false.
5107
5108 2011-01-07  Jan Hubicka  <jh@suse.cz>
5109
5110         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
5111         and no longer claim that gold is required for linker plugin.
5112         * configure: Regenerate.
5113         * gcc.c (PLUGIN_COND): New macro.
5114         (LINK_COMMAND_SPEC): Use it.
5115         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
5116         * config.in (HAVE_LTO_PLUGIN): New.
5117         * configure.ac (--with-lto-plugin): New parameter; autodetect
5118         HAVE_LTO_PLUGIN.
5119
5120 2011-01-07  Jan Hubicka  <jh@suse.cz>
5121
5122         PR tree-optimization/46367
5123         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
5124         when we can update original.
5125         (cgraph_mark_inline_edge): Sanity check.
5126         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
5127
5128 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5129
5130         * config/spu/spu.h (ASM_COMMENT_START): Define.
5131
5132 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
5133
5134         PR driver/42445
5135         * gcc.c (%>S): New.
5136         (SWITCH_KEEP_FOR_GCC): Likewise.
5137         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
5138         (do_spec_1): Handle "%>".
5139
5140         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
5141
5142 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
5143
5144         PR target/47201
5145         * config/i386/i386.c (ix86_delegitimize_address): If
5146         simplify_gen_subreg fails, return orig_x.
5147
5148         PR bootstrap/47187
5149         * value-prof.c (gimple_stringop_fixed_value): Handle
5150         lhs of the call properly.
5151
5152 2011-01-07  Jan Hubicka  <jh@suse.cz>
5153
5154         PR lto/45375
5155         * lto-opt.c (lto_reissue_options): Set flag_shlib.
5156
5157 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
5158
5159         * target.def (function_switched_text_sections): New hook.
5160         * doc/tm.texi: Regenerated.
5161         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
5162         * final.c (default_function_switched_text_sections): New.
5163         (final_scan_insn): Call function_switched_text_sections when a
5164         mid-function section change occurs.
5165         * output.h (default_function_switched_text_sections): Declare.
5166         * config/darwin-protos.h (darwin_function_switched_text_sections):
5167         Likewise.
5168         * config/darwin.c (darwin_function_switched_text_sections): New.
5169         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
5170
5171 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
5172
5173         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
5174         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
5175         the secondary code fragment when outputting for DWARF == 2.
5176
5177 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
5178
5179         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5180         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
5181         Remove.
5182         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
5183         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5184
5185 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
5186
5187         PR debug/46704
5188         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
5189         when it is not empty.
5190
5191 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
5192
5193         Bobcat Enablement
5194         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
5195         (case ${target}): Add btver1.
5196         * config/i386/driver-i386.c (host_detect_local_cpu): Let
5197         -march=native recognize btver1 processors.
5198         * config/i386/i386-c.c (ix86_target_macros_internal): Add
5199         btver1 def_and_undef
5200         * config/i386/i386.c (struct processor_costs btver1_cost): New
5201         btver1 cost table.
5202         (m_BTVER1): New definition.
5203         (m_AMD_MULTIPLE): Includes m_BTVER1.
5204         (initial_ix86_tune_features): Add btver1 tune.
5205         (processor_target_table): Add btver1 entry.
5206         (static const char *const cpu_names): Add btver1 entry.
5207         (software_prefetching_beneficial_p): Add btver1.
5208         (ix86_option_override_internal): Add btver1 instruction sets.
5209         (ix86_issue_rate): Add btver1.
5210         (ix86_adjust_cost): Add btver1.
5211         * config/i386/i386.h (TARGET_BTVER1): New definition.
5212         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
5213         (enum processor_type): Add PROCESSOR_BTVER1.
5214         * config/i386/i386.md (define_attr "cpu"): Add btver1.
5215
5216 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5217
5218         PR target/43309
5219         * config/i386/i386.c (legitimize_tls_address)
5220         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
5221         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
5222         (tls_initial_exec_64_sun): New pattern.
5223
5224 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
5225
5226         * doc/invoke.texi (Overall Options): Improve wording and markup
5227         of the description of -wrapper.
5228
5229 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
5230
5231         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
5232         rdynamic, threads): New Driver options.
5233
5234 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5235
5236         PR target/38118
5237         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
5238         if coming from .tdata.
5239         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
5240
5241 2011-01-06  Jan Hubicka  <jh@suse.cz>
5242
5243         PR lto/47188
5244         * collect2.c (main): Do not enable LTOmode when plugin is active.
5245
5246 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5247
5248         PR other/45915
5249         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
5250         --version output if supported.
5251         * configure: Regenerate.
5252
5253 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
5254
5255         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
5256         Driver options.
5257
5258 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
5259
5260         PR c/47150
5261         * c-convert.c (convert): When converting a complex expression
5262         other than COMPLEX_EXPR to a different complex type, ensure
5263         c_save_expr is called instead of save_expr, unless in_late_binary_op.
5264         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
5265         when converting COMPLEX_TYPE.
5266
5267 2011-01-06  Ira Rosen  <irar@il.ibm.com>
5268
5269         PR tree-optimization/47139
5270         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
5271         only the last reduction value is used outside the loop.  Update
5272         documentation.
5273
5274 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
5275
5276         * config/rtems.opt: New.
5277         * config.gcc (*-*-rtems*): Use rtems.opt.
5278
5279 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
5280
5281         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
5282         processors do not support 3DNow instructions.
5283
5284 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5285
5286         * config/spu/spu.c (spu_option_override): Set parameter
5287         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
5288
5289 2011-01-05  Jan Hubicka  <jh@suse.cz>
5290
5291         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
5292         at the command line.
5293
5294 2011-01-05  Martin Jambor  <mjambor@suse.cz>
5295
5296         PR lto/47162
5297         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
5298         deltas on streamed outgoing edges.
5299         (output_node_opt_summary): Output info for outgoing edges only when
5300         the node is in new parameter set.
5301         (output_cgraph_opt_summary): New parameter set, passed to the two
5302         aforementioned functions.  Update its forward declaration and its
5303         callee too.
5304
5305 2011-01-05  Tom Tromey  <tromey@redhat.com>
5306
5307         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
5308         operator to c_finish_omp_atomic.
5309         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
5310         (build_unary_op): Update.
5311         (build_modify_expr): Update.
5312         (build_asm_expr): Update.
5313
5314 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5315
5316         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
5317         newly inserted insns.
5318         (pad_bb): Likewise.
5319         (spu_emit_branch_hint): Likewise.
5320         (insert_hbrp_for_ilb_runout): Likewise.
5321         (spu_machine_dependent_reorg): Call df_finish_pass after
5322         schedule_insns returns.
5323
5324 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5325
5326         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
5327
5328 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5329
5330         PR tree-optimization/47005
5331         * tree-sra.c (struct access): Add 'non_addressable' bit.
5332         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
5333         (decide_one_param_reduction): Return 0 if the parameter is passed by
5334         reference and one of the accesses in the group is non_addressable.
5335
5336 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5337
5338         PR tree-optimization/47056
5339         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
5340         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
5341         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
5342
5343 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5344
5345         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
5346         initializer.  Skip view conversions from aggregate types.
5347
5348 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
5349
5350         PR bootstrap/47055
5351         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
5352
5353 2011-01-04  Philipp Thomas  <pth@suse.de>
5354
5355         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
5356         obvious typo.
5357
5358 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5359
5360         * function.c (thread_prologue_and_epilogue_insns): Do not crash
5361         on empty epilogue sequences.
5362
5363 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
5364
5365         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
5366         non-static): New Driver options.
5367
5368 2011-01-04  Jie Zhang  <jie@codesourcery.com>
5369
5370         PR driver/47137
5371         * gcc.c (default_compilers[]): Set combinable field to 0
5372         for all assembly languages.
5373
5374 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
5375
5376         * config/mips/loongson3a.md: New file.
5377         * config/mips/mips.md: Include loongson3a.md.
5378         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
5379         TUNE_LOONGSON_3A.
5380
5381 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5382
5383         PR middle-end/47017
5384         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
5385         instead of convert_memory_address_addr_space on the base expression.
5386
5387 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5388
5389         * config/spu/spu.c (spu_option_override): Update error text
5390         for bad -march= / -mtune= values.
5391
5392 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5393
5394         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
5395         if branch-hint optimization will be performed.
5396
5397 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
5398
5399         PR tree-optimization/47148
5400         * ipa-split.c (split_function): Convert arguments to
5401         DECL_ARG_TYPE if possible.
5402
5403         PR tree-optimization/47155
5404         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
5405         when computing uns.
5406
5407         PR rtl-optimization/47157
5408         * combine.c (try_combine): If undobuf.other_insn becomes
5409         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
5410         and set *new_direct_jump_p too.
5411
5412 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
5413
5414         PR tree-optimization/47021
5415         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
5416
5417 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
5418
5419         * gcc.c (process_command): Update copyright notice dates.
5420         * gcov.c (print_version): Likewise.
5421         * gcov-dump.c (print_version): Likewise.
5422         * mips-tfile.c (main): Likewise.
5423         * mips-tdump.c (main): Likewise.
5424
5425 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5426
5427         PR tree-optimization/46801
5428         * tree-sra.c (type_internals_preclude_sra_p): Check whether
5429         aggregate fields start at byte boundary instead of the bit-field flag.
5430
5431 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5432
5433         PR driver/47137
5434         * gcc.c (main): Revert revision 168407.
5435
5436 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5437
5438         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
5439
5440 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5441
5442         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
5443         vector optab to expand vector/scalar shift, update gimple to vector.
5444
5445 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5446
5447         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
5448         a thunk.
5449
5450 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5451
5452         PR tree-optimization/46984
5453         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
5454         HOST_WIDE_INT.
5455         (cgraph_create_indirect_edge): Fixed line length.
5456         (cgraph_indirect_call_info): Declare.
5457         (cgraph_make_edge_direct) Update declaration.
5458         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
5459         (cgraph_create_indirect_edge): Use it.
5460         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
5461         callees.
5462         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
5463         the new thunk_delta representation.
5464         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
5465         HOST_WIDE_INT.
5466         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
5467         (ipa_read_indirect_edge_info): Likewise.
5468         * lto-cgraph.c (output_edge_opt_summary): New function.
5469         (output_node_opt_summary): Call it on all outgoing edges.
5470         (input_edge_opt_summary): New function.
5471         (input_node_opt_summary): Call it on all outgoing edges.
5472
5473 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
5474
5475         PR driver/47137
5476         * gcc.c (main): Don't check have_o when settting combine_inputs.
5477
5478 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
5479
5480         * regrename.c: Add general comment describing the pass.
5481         (struct du_head): Remove 'length' field.
5482         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
5483         (regrename_optimize): Do not sort chains.  Rework comments, add others.
5484         Force renaming to the preferred class (if any) in the first pass and do
5485         not consider registers that belong to it in the second pass.
5486         (create_new_chain): Do not set 'length' field.
5487         (scan_rtx_reg): Likewise.
5488
5489 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
5490
5491         PR tree-optimization/47140
5492         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
5493         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
5494         to bit_value_binop.
5495
5496         PR rtl-optimization/47028
5497         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
5498         parm_birth_insn instead of at the beginning of first bb.
5499
5500 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
5501
5502         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
5503         Remove the word "see" before "@pxref".
5504         * doc/rtl.texi: Remove the word "see" before "@pxref".
5505
5506 2011-01-01  Jan Hubicka  <jh@suse.cz>
5507
5508         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
5509         memory.
5510
5511 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
5512
5513         PR target/38662
5514         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
5515
5516 \f
5517 Copyright (C) 2011 Free Software Foundation, Inc.
5518
5519 Copying and distribution of this file, with or without modification,
5520 are permitted in any medium without royalty provided the copyright
5521 notice and this notice are preserved.