OSDN Git Service

2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2
3         PR c++/50608
4         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
5         to fold_offsetof.
6         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
7
8 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
9
10         PR target/50979
11         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
12
13 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
14
15         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
16         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
17         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
18
19 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
20
21         PR target/50945
22         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
23         (movsf_insn_no_fpu): Likewise.
24         (movdf_insn_sp32): Likewise.
25         (movdf_insn_sp32_no_fpu): Likewise.
26         (movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
27         (movdf_insn_sp32_v9_no_fpu): Likewise.
28         (movdf_insn_sp64): Likewise.
29         (movdf_insn_sp64_no_fpu): Likewise.
30         (movtf_insn_sp32): Likewise.
31         (movtf_insn_sp32_no_fpu): Likewise.
32         (movtf_insn_sp64): Likewise.
33         (movtf_insn_sp64_hq): Likewise.
34         (movtf_insn_sp64_no_fpu): Likewise.
35
36 2011-11-02  Bernd Schmidt  <bernds@codesourcery.com>
37
38         * cfgcleanup.c (try_head_merge_bb): If get_condition returns
39         NULL for a jump that is a cc0 insn, pick the previous insn for
40         move_before.
41
42 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
43
44         * config/i386/i386.md (splitters for int-float conversion): Use
45         SUBREG_REG on SUBREGs in splitter constraints.
46
47 2011-11-01  Julian Brown  <julian@codesourcery.com>
48
49         PR rtl-optimization/47918
50         * reload1.c (set_initial_label_offsets): Use initial offsets
51         for labels on the nonlocal_goto_handler_labels chain.
52
53 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
54
55         PR target/50691
56         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
57         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
58         TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
59
60 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
61
62         PR target/50875
63         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
64         constraints.  Change alternative 1 to "x,m,1".
65
66 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
67
68         * BASE-VER: Set to 4.6.3.
69         * DEV-PHASE: Set to prerelease.
70
71 2011-10-26  Release Manager
72
73         * GCC 4.6.2 released.
74
75 2011-10-25  Kai Tietz  <ktietz@redhat.com>
76
77         * config/i386/mingw32.h (SUBTARGET_FRAME_POINTER_REQUIRED):
78         Use for 32-bit frame-pointer, if setjmp is used.
79
80 2011-10-24  Jakub Jelinek  <jakub@redhat.com>
81
82         PR debug/50816
83         * dwarf2out.c (dwarf2out_source_line): Emit discriminators only if
84         -gdwarf-4 or not -gstrict-dwarf.
85
86 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
87
88         PR target/49824
89         Backport from mainline r180385
90         * doc/extend.texi (Declaring Attributes of Functions):
91         Document OS_main and OS_task attributes.
92         (Specifying Attributes of Variables): Move up
93         subsection "AVR Variable Attributes" as of alphabetical order.
94
95 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
96
97         PR target/50820
98         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
99         handling and indirect jump/calls on devices > 128k.
100
101 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
102
103         PR target/50788
104         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
105         Remove (match_dup 0).
106
107 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
108
109         PR target/50820
110         Backport from Mainline r180299.
111         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
112         (__tablejump__): Consistently use EIND for indirect jump/call.
113         (__tablejump_elpm__): Ditto.
114
115 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
116
117         PR target/50106
118         Backport from mainline.
119         2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
120
121         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
122         reg size from 1-3.
123
124 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
125
126         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
127         second argument instead of mode.
128
129         PR target/50350
130         Backport from mainline
131         2011-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
132
133         PR middle-end/50386
134         PR middle-end/50326
135         * tree-sra.c (build_ref_for_model): Use the type of the field as
136         the type of the COMPONENT_REF.
137
138 2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
139             Eric Botcazou  <ebotcazou@adacore.com>
140
141         PR target/50737
142         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
143         fs->signal_frame to 1.
144
145 2011-10-14  Richard Guenther  <rguenther@suse.de>
146
147         Backport from mainline
148         2011-10-14  Richard Guenther  <rguenther@suse.de>
149
150         PR tree-optimization/50723
151         * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
152
153         2011-10-13  Richard Guenther  <rguenther@suse.de>
154
155         PR tree-optimization/50712
156         * ipa-split.c (split_function): Always re-gimplify parameters
157         when they are not gimple vals before passing them.  Properly
158         check for type compatibility.
159
160 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
161
162         * doc/invoke.texi (SPARC options): Document -mfix-at697f.
163         * config/sparc/sparc.opt (mfix-at697f): New option.
164         * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
165         (sparc_reorg): New function.
166
167 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
168
169         PR target/49967
170         Backport from Mainline 179472.
171         * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
172         (gcc_cv_ld_static_option): Ditto.
173         (gcc_cv_ld_dynamic_option): Ditto.
174         * configure: Regenerate.
175
176 2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
177
178         PR tree-optimization/50189
179         * tree-vrp.c (extract_range_from_assert): Use the type of
180         the variable, not the limit.
181
182 2011-10-12  Richard Guenther  <rguenther@suse.de>
183
184         PR tree-optimization/50700
185         * tree-object-size.c (addr_object_size): Simplify and treat
186         MEM_REF bases consistently.
187
188 2011-10-12  Joseph Myers  <joseph@codesourcery.com>
189
190         PR c/50565
191         * convert.c (convert_to_integer): Do not narrow operands of
192         pointer subtraction.
193
194 2011-10-11  Eric Botcazou  <ebotcazou@adacore.com>
195
196         PR target/49965
197         * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
198         (mov<F:mode>cc): Likewise.
199
200 2011-10-11  Nick Clifton  <nickc@redhat.com>
201
202         PR middle-end/49801
203         * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
204         df_get_live_out instead of accessing the bitmaps directly.
205         (execute_compare_elim_after_reload): Remove calls to df_set_flags,
206         df_live_add_problem and df_analyze.
207
208 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
209
210         PR target/50652
211         Backport from Mainline r179737.
212         * config/avr/avr-devices.c (avr_mcu_types): Set
213         .data_section_start of atmega164a to 0x100.
214
215 2011-10-07  Bernd Schmidt  <bernds@codesourcery.com>
216
217         PR target/49049
218         * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
219
220 2011-10-06  Jakub Jelinek  <jakub@redhat.com>
221
222         * tree.h (avoid_folding_inline_builtin): New prototype.
223         * builtins.c (avoid_folding_inline_builtin): No longer static.
224         * gimple-fold.c (gimple_fold_builtin): Give up if
225         avoid_folding_inline_builtin returns true.
226
227         PR tree-optimization/49279
228         * tree-ssa-structalias.c (find_func_aliases): Don't handle
229         CAST_RESTRICT.
230
231 2011-10-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
232
233         * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
234         variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.
235
236 2011-10-03  Jakub Jelinek  <jakub@redhat.com>
237             Ian Lance Taylor  <iant@google.com>
238
239         * godump.c (go_output_typedef): Support printing enum values that
240         don't fit in a signed HOST_WIDE_INT.
241
242 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
243
244         PR inline-asm/50571
245         * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
246         input constraints allow mem and not reg, pass true instead of
247         false as second argument to maybe_fold_reference.
248
249 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
250             Richard Guenther  <rguenther@suse.de>
251
252         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Fix
253         handling of BUILT_IN_STRNCAT.
254         (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
255         and BUILT_IN_STRNCAT.
256
257 2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
258
259         * graphite-scop-detection.c (make_close_phi_nodes_unique):  New
260         forward declaration.
261         (remove_duplicate_close_phi): Detect and repair creation of
262         duplicate close-phis for a containing loop.
263
264 2011-09-26  Richard Guenther  <rguenther@suse.de>
265
266         PR tree-optimization/50472
267         * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not fold
268         volatile references.
269
270 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
271
272         PR tree-optimization/50413
273         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
274         a basic block if one of its data-refs can't be analyzed.
275
276 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
277
278         PR tree-optimization/50412
279         * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
280         accesses that require epilogue loop if vectorizing outer loop.
281
282 2011-09-22  Uros Bizjak  <ubizjak@gmail.com>
283
284         PR target/50464
285         * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate
286         to register_operand and operand 2 predicate to nonimmediate_operand.
287         (xop_pcmov_<mode>256): Ditto.
288         * config/i386/i386.c (ix86_expand_sse_movcc): When generating
289         xop_pcmov, force op_true to register.  Also, force op_false to
290         register if it doesn't satisfy nonimmediate_operand predicate.
291
292 2011-09-19  Alan Modra  <amodra@gmail.com>
293             Michael Meissner  <meissner@linux.vnet.ibm.com>
294
295         PR target/50341
296         * config/rs6000/rs6000.md (call_indirect_aix32): Do not split the
297         load of the indirect function's TOC from the call to prevent the
298         compiler from moving the load of the new TOC above code that
299         references the current function's TOC.
300         (call_indirect_aix64): Ditto.
301         (call_value_indirect_aix32): Ditto.
302         (call_value_indirect_aix64): Ditto.
303         (call_indirect_nonlocal_aix32_internal): Ditto.
304         (call_indirect_nonlocal_aix32): Ditto.
305         (call_indirect_nonlocal_aix64_internal): Ditto.
306         (call_indirect_nonlocal_aix64): Ditto.
307         (call_value_indirect_nonlocal_aix32_internal): Ditto.
308         (call_value_indirect_nonlocal_aix32): Ditto.
309         (call_value_indirect_nonlocal_aix64_internal): Ditto.
310         (call_value_indirect_nonlocal_aix64): Ditto.
311
312 2011-09-19  Martin Jambor  <mjambor@suse.cz>
313
314         PR middle-end/49886
315         * ipa-split.c (split_function): Do not change signature if it is
316         not possible or there are attribute types.
317
318 2011-09-18  Eric Botcazou  <ebotcazou@adacore.com>
319             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
320
321         PR target/50091
322         * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
323         * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
324
325 2011-09-14   Diego Novillo  <dnovillo@google.com>
326
327         * tree-vect-stmts.c (vect_transform_stmt): Remove unused
328         local variable ORIG_SCALAR_STMT.
329
330 2011-09-08  Martin Jambor  <mjambor@suse.cz>
331
332         Backport from mainline
333         2011-09-07  Martin Jambor  <mjambor@suse.cz>
334
335         PR tree-optimization/49911
336         * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
337         enumerations to the corresponding plain integer type.
338
339 2011-09-08  Richard Guenther  <rguenther@suse.de>
340
341         Backport from mainline
342         2011-07-04  Richard Guenther  <rguenther@suse.de>
343
344         PR tree-optimization/49518
345         PR tree-optimization/49628
346         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
347         irrelevant data-references.
348
349 2011-09-08  Richard Guenther  <rguenther@suse.de>
350
351         Backport from mainline
352         2011-08-23  Richard Guenther  <rguenther@suse.de>
353
354         PR tree-optimization/50162
355         * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
356
357 2011-09-08  Richard Guenther  <rguenther@suse.de>
358
359         Backport from mainline
360         2011-05-05  Michael Matz  <matz@suse.de>
361
362         * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
363         * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
364         * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
365         * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
366         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
367         * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
368         * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
369         * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
370         * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
371         * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
372         * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
373         * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
374         * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
375         * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
376         * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
377         * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
378
379 2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
380             Iain Sandoe  <iains@gcc.gnu.org>
381
382         Backport from mainline (restore powerpc-darwin Ada bootstrap).
383         * config/rs6000/rs6000.c (compute_save_world_info): Test
384         cfun->has_nonlocal_label to determine if the out-of-line save
385         world call may be used.
386
387 2011-09-08  Jakub Jelinek  <jakub@redhat.com>
388
389         PR target/50310
390         * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
391         code early if TARGET_AVX.
392         (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
393
394 2011-09-06  Martin Jambor  <mjambor@suse.cz>
395
396         Revert
397         2011-09-02  Martin Jambor  <mjambor@suse.cz>
398         PR middle-end/49886
399         * ipa-split.c (split_function): Do not skip any arguments if
400         can_change_signature is set or there are function type attributes.
401
402 2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
403
404         PR target/50289
405         Backport from mainline r178528
406         * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
407         that contain global register variable.
408
409 2011-09-02  Martin Jambor  <mjambor@suse.cz>
410
411         PR middle-end/49886
412         * ipa-split.c (split_function): Do not skip any arguments if
413         can_change_signature is set or there are function type attributes.
414
415 2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
416
417         PR tree-optimization/50178
418         * tree-vect-stmts.c (vectorizable_call): Update the related
419         pattern statement before deleting the original call.
420         (vect_transform_stmt): Don't expect the related pattern statement
421         to match the original statement after transformation.
422
423 2011-08-29  Richard Guenther  <rguenther@suse.de>
424
425         PR middle-end/50116
426         * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
427
428 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
429
430         * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
431         operands in memory.
432         (vec_extract_lo_v16hi): Ditto.
433         (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
434         * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
435         notes to REG_EQUAL.
436
437 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
438
439         PR target/50202
440         * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
441         when all outputs are unused.
442         (sse4_2_pcmpistr): Ditto.
443
444 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
445
446         PR c/50179
447         * c-typeck.c (c_process_expr_stmt): Skip over nops and
448         call mark_exp_read even if exprv is ADDR_EXPR.
449
450 2011-08-20  Jakub Jelinek  <jakub@redhat.com>
451
452         PR tree-optimization/48739
453         * tree-ssa.c: Include cfgloop.h.
454         (execute_update_addresses_taken): When updating ssa, if in
455         loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
456         update_ssa.
457         * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
458
459 2011-08-18  Jakub Jelinek  <jakub@redhat.com>
460
461         PR target/50092
462         * config/i386/i386.c (assign_386_stack_local): Call validize_mem
463         on the result before returning it.
464
465 2011-08-16  Liang Wang  <lwang1@marvell.com>
466
467         * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
468         ggc_alloc_zone_vec_rtvec_def.
469
470 2011-08-12  Nick Clifton  <nickc@redhat.com>
471
472         * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
473         pattern.
474         * doc/md.texi (cmpstrn): Note that the comparison stops if both
475         fetched bytes are zero.
476         (cmpstr): Likewise.
477         (cmpmem): Note that the comparison does not stop if both of the
478         fetched bytes are zero.
479
480 2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
481
482         * config/rx/rx.md (movsicc): Allow register to register
483         transfers.
484         (*movsicc): Likewise.
485         (*stcc): Restrict this pattern to EQ and NE compares.
486         (*stcc_reg): New pattern.  Works for any comparison but only for
487         register transfers.
488
489 2011-08-10  DJ Delorie  <dj@redhat.com>
490
491         * expr.c (expand_expr_addr_expr_1): Detect a user request for
492         a local frame in a naked function, and produce a suitable
493         error for that specific case.
494
495 2011-08-09  Martin Jambor  <mjambor@suse.cz>
496
497         PR middle-end/49923
498         * tree-sra.c (access_precludes_ipa_sra_p): Also check access
499         memory alignment.
500
501 2011-08-09  Nick Clifton  <nickc@redhat.com>
502
503         * config/rx/rx.md: Disable extender peepholes at -O3.
504
505 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
506
507         PR target/50001
508         * config/alpha/alpha.c (alpha_instantiate_decls): New function.
509         (TARGET_INSTANTIATE_DECLS): New define.
510
511 2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
512
513         Backport from mainline
514         2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
515
516         * config/i386/i386.c (processor_alias_table): Add core-avx-i.
517
518         * doc/invoke.texi: Document core-avx-i.
519
520 2011-08-03  Jakub Jelinek  <jakub@redhat.com>
521
522         PR tree-optimization/49948
523         * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
524
525 2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
526
527         * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
528         (stack_protect_test): The pattern compares ptr_mode value.
529
530 2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
531
532         PR target/49920
533         * config/i386/i386.md (strset): Do not expand strset_singleop
534         when %eax or $edi are fixed.
535         (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
536         (*strsetsi_1): Ditto.
537         (*strsethi_1): Ditto.
538         (*strsetqi_1): Ditto.
539         (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
540         (*rep_stossi): Ditto.
541         (*rep_stosqi): Ditto.
542         (*strlenqi_1): Ditto.
543         (cmpstrnsi): Also fail when %ecx is fixed.
544         (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
545         (*cmpstrnqi_1): Ditto.
546         (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
547         (*strmovsi_1): Ditto.
548         (*strmovhi_1): Ditto.
549         (*strmovqi_1): Ditto.
550         (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
551         (*rep_movsi): Ditto.
552         (*rep_movqi): Ditto.
553
554 2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
555
556         PR target/47908
557         * config/m68k/m68k.c (m68k_override_options_after_change): New function.
558         Disable instruction scheduling for non-ColdFire targets.
559         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
560
561 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
562
563         PR middle-end/49897
564         PR middle-end/49898
565         * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
566         in nested parallel and outer is a gimple_reg, mark it as addressable
567         and set its bit in task_shared_vars bitmap too.
568
569 2011-07-29  Wei Guozhi  <carrot@google.com>
570
571         Backport from mainline
572         2011-07-29  Wei Guozhi  <carrot@google.com>
573
574         PR rtl-optimization/49799
575         * combine.c (make_compound_operation): Check if the bit field is valid
576         before change it to bit field extraction.
577
578 2011-07-28  Jakub Jelinek  <jakub@redhat.com>
579
580         PR debug/49871
581         * dwarf2out.c (size_of_die, value_format, output_die): Use
582         DW_FORM_udata instead of DW_FORM_data[48] for
583         dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
584
585 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
586
587         Backport from mainline
588         2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
589
590         PR target/47364
591         * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
592
593 2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
594
595         Backport from mainline:
596         2011-07-26  Martin Jambor  <mjambor@suse.cz>
597
598         * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
599         return false for invariants.
600
601 2011-07-27  Jakub Jelinek  <jakub@redhat.com>
602
603         PR target/49866
604         * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
605         *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
606         *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
607         *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
608         *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
609         *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
610         *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
611         *sibcall_value_pop_1, *call_value_1_vzeroupper,
612         *call_value_1, *sibcall_value_1_vzeroupper,
613         *sibcall_value_1, *call_value_1_rex64_vzeroupper,
614         *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
615         *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
616         *sibcall_value_1_rex64): Use z constraint instead of s constraint.
617
618         Backport from mainline
619         2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
620
621         * config/i386/constraints.md (z): New constraint.
622
623 2011-07-25  Andrew Pinski  <apinski@cavium.com>
624
625         PR tree-opt/49671
626         * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
627         TREE_THIS_NOTRAP into the inner most MEM_REF.
628         Always copy TREE_THIS_VOLATILE.
629         * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
630         arguments are not volatile references.
631
632 2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
633
634         PR target/39386
635         Backport from mainline r176756
636         2011-07-25  Georg-Johann Lay
637         * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
638         shift counter for x << x and x >> x shifts.
639
640 2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
641
642         * config.gcc (x86_64-*-linux*): Set
643         default_gnu_indirect_function to yes.
644
645 2011-07-22  Richard Guenther  <rguenther@suse.de>
646
647         PR tree-optimization/45819
648         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
649         preserve volatile and notrap flags.
650
651 2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
652
653         Backport from mainline
654         2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
655
656         PR target/49600
657         * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
658         general register to memory for !TARGET_INTER_UNIT_MOVES.
659
660 2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
661
662         * config/s390/s390.c (s390_class_max_nregs): Fix return type.
663         * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
664
665 2011-07-19  Jakub Jelinek  <jakub@redhat.com>
666
667         PR tree-optimization/49768
668         * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
669         if offset is smaller than bitoffset, but offset+size is bigger
670         than bitoffset.
671
672 2011-07-18  Jakub Jelinek  <jakub@redhat.com>
673
674         PR middle-end/49675
675         * tree.c (build_common_builtin_nodes): Register
676         __builtin_return_address, __cyg_profile_func_enter
677         and __cyg_profile_func_exit.
678
679 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
680
681         * config.gcc: Obsolete i[3456x]86-*-netware*.
682
683 2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
684
685         PR target/49746
686         Revert:
687         2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
688
689         * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
690         patterns.
691
692 2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
693
694         PR middle-end/49732
695         * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
696
697 2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
698
699         PR tree-optimization/49725
700         Backport from mainline
701         2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
702
703         * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
704         a zero minimum index only if it is redundant.
705
706 2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
707
708         PR target/49723
709         * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
710
711 2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
712
713         Backport from mainline:
714         2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
715
716         * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
717         (asm_file_start): Remove.
718         (spu_machine_dependent_reorg): Call compute_bb_for_insn and
719         free_bb_for_insn around code that modifies insns before
720         restarting df analysis.
721
722 2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
723
724         Backport from mainline:
725         2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
726
727         PR target/49541
728         * config/sol2.h (LIB_SPEC): Simplify.
729         Move LIB_THREAD_LDFLAGS_SPEC ...
730         (LINK_SPEC): ... here.
731
732 2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
733
734         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
735
736 2011-07-14  Andrew Pinski  <pinskia@gmail.com>
737
738         PR tree-opt/49309
739         * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
740         Use fold_build2_loc instead of build2.
741         Use the correct type for the new tree.
742
743 2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
744
745         PR target/49487
746         Backport from mainline r176276
747         2011-07-14  Georg-Johann Lay
748         * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
749         of REG.
750         (*rotw<mode>): Use const_int_operand for operand2.
751         Use match_scatch for operand3.
752         (*rotb<mode>): Ditto
753         * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
754
755 2011-07-14  Richard Guenther  <rguenther@suse.de>
756
757         PR tree-optimization/49651
758         * tree-ssa-structalias.c (get_constraint_for_1): Properly
759         handle dereferences with subvariables.
760
761 2011-07-11  Martin Jambor  <mjambor@suse.cz>
762
763         PR tree-optimization/49094
764         * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
765         (build_accesses_from_assign): Use it.
766
767 2011-07-11  Georg-Johann Lay  <avr@gjlay.de>
768
769         PR target/39633
770         Backport from mainline r176141
771         2011-07-11  Georg-Johann Lay
772         * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
773         offsets 1..5 set cc0 in a usable way.
774
775 2011-07-08  Jakub Jelinek  <jakub@redhat.com>
776
777         PR target/49621
778         * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
779         CONST0_RTX (dest_mode) instead of const0_rtx as second operand
780         of NE.
781         * config/rs6000/vector.md (vector_select_<mode>,
782         vector_select_<mode>_uns): Change second operand of NE to
783         CONST0_RTX (<MODE>mode) instead of const0_rtx.
784         * config/rs6000/altivec.md (*altivec_vsel<mode>,
785         *altivec_vsel<mode>_uns): Expect second operand of NE to be
786         zero_constant of the corresponding vector mode.
787         * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
788         Likewise.
789
790 2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
791
792         PR target/46779
793         Backport from mainline SVN 176053.
794         2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
795         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
796         In particular, allow 8-bit values in r28 and r29.
797         (avr_hard_regno_scratch_ok): Disallow any register that might be
798         part of the frame pointer.
799         (avr_hard_regno_rename_ok): Same.
800         (avr_legitimate_address_p): Don't allow SUBREGs.
801
802 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
803
804         PR target/49660
805         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
806         MASK_V8PLUS, remove commented out flag and reorder.
807
808         Backport from mainline
809         2011-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
810
811         * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
812         (TARGET_64BIT_DEFAULT): Define.
813         * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
814         of tm_file.
815         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
816
817 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
818
819         PR c/49644
820         * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
821         one non-complex and one complex argument, call c_save_expr on both
822         operands.
823
824         PR debug/49522
825         * df-problems.c (dead_debug_reset): Remove dead_debug_uses
826         referencing debug insns that have been reset.
827         (dead_debug_insert_before): Don't assert reg is non-NULL,
828         instead return immediately if it is NULL.
829
830         PR middle-end/49640
831         * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
832         operands and last COMPONENT_REF operand call gimplify_expr on it
833         if non-NULL.
834
835 2011-07-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
836
837         Backport from mainline.
838         2011-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
839
840         PR target/49335
841         * config/arm/predicates.md (add_operator): New.
842         * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
843         in Thumb2.
844
845 2011-07-05  Jakub Jelinek  <jakub@redhat.com>
846
847         PR tree-optimization/49618
848         * tree-eh.c (tree_could_trap_p) <case FUNCTION_DECL, case VAR_DECL>:
849         For DECL_WEAK decls return true.
850
851 2011-07-04  Jakub Jelinek  <jakub@redhat.com>
852
853         PR rtl-optimization/49619
854         * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
855         pass VOIDmode as op0_mode to recursive call.
856
857         PR rtl-optimization/49472
858         * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
859         negating MULT, negate the second operand instead of first.
860         (simplify_binary_operation_1) <case MULT>: If one operand is
861         a NEG and the other is MULT, don't attempt to optimize by
862         negation of the MULT operand if it only moves the NEG operation
863         around.
864
865         Backported from mainline
866         2011-06-06  Jakub Jelinek  <jakub@redhat.com>
867
868         PR debug/49262
869         * dwarf2out.c (native_encode_initializer): Decrement count in each
870         iteration.
871
872 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
873
874         Backport from mainline
875         2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
876
877         PR target/44643
878         * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
879         instead of TREE_READONLY.
880
881 2011-07-04  Richard Guenther  <rguenther@suse.de>
882
883         PR tree-optimization/49615
884         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
885         basic-block index check.
886
887 2011-06-30  Eric Botcazou  <ebotcazou@adacore.com>
888
889         PR tree-optimization/49572
890         * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
891         type of the RHS instead of that of the LHS for the expression type.
892
893 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
894
895         Backport from mainline
896         PR target/34734
897         (avr_section_type_flags): For data in ".progmem.data", remove
898         section flag SECTION_WRITE.
899
900 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
901
902         Backport from mainline
903         PR target/34734
904         * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
905         about uninitialized data attributed 'progmem' from here...
906         (avr_encode_section_info): ...to this new function.
907         (TARGET_ENCODE_SECTION_INFO): New define.
908
909 2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
910
911         Backport from mainline
912         2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
913
914         * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
915         option.
916         * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
917         entry.
918         (TARGET_AVX128_OPTIMAL): New definition.
919         * config/i386/i386.c (initial_ix86_tune_features): Initialize
920         X86_TUNE_AVX128_OPTIMAL entry.
921         (ix86_option_override_internal): Enable the generation
922         of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
923         (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
924         (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
925
926 2011-06-29  Harsha Jagasia <harsha.jagasia@amd.com>
927
928         Backport from mainline
929         2011-05-31  Alexandre Oliva  <aoliva@redhat.com>
930
931         * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
932         * config/i386/sse.md: Add n to negated FMA pattern names.
933
934 2011-06-29  Eric Botcazou  <ebotcazou@adacore.com>
935
936         PR tree-optimization/49539
937         * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
938         names by means of stmt_references_abnormal_ssa_name.
939         (associate_plusminus): Call can_propagate_from before propagating
940         from definition statements.
941
942 2011-06-29  Martin Jambor  <mjambor@suse.cz>
943
944         Backport from mainline
945         2011-06-24  Martin Jambor  <mjambor@suse.cz>
946
947         PR tree-optimizations/49516
948         * tree-sra.c (sra_modify_assign): Choose the safe path for
949         aggregate copies if we also did scalar replacements.
950
951 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
952
953         Backport from mainline
954         2011-06-20  Changpeng Fang  <changpeng.fang@amd.com>
955
956         PR target/49089
957         * config/i386/i386.c (avx256_split_unaligned_load): New definition.
958         (avx256_split_unaligned_store): New definition.
959         (ix86_option_override_internal): Enable avx256 unaligned load/store
960         splitting only when avx256_split_unaligned_load/store is set.
961
962 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
963
964         Backport from mainline
965         2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>
966
967         * config/i386/i386.c (flag_opts): Fix a typo in
968         -mavx256-split-unaligned-store.
969
970 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
971
972         Backport from mainline
973         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
974
975         * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
976         unaligned 256bit load/store.
977         (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
978         (*avx_movdqu<avxmodesuffix>): Likewise.
979
980 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
981
982         Backport from mainline
983         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
984
985         * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
986         and -mavx256-split-unaligned-store.
987         (ix86_option_override_internal): Split 32-byte AVX unaligned
988         load/store by default.
989         (ix86_avx256_split_vector_move_misalign): New.
990         (ix86_expand_vector_move_misalign): Use it.
991
992         * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
993         -mavx256-split-unaligned-store.
994
995         * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
996         256bit load/store.  Generate unaligned store on misaligned memory
997         operand.
998         (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
999         256bit load/store.
1000         (*avx_movdqu<avxmodesuffix>): Likewise.
1001
1002         * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1003         -mavx256-split-unaligned-store.
1004
1005 2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>
1006
1007         * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
1008
1009 2011-06-28  Andrey Belevantsev  <abel@ispras.ru>
1010
1011         Backport from mainline
1012         2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
1013
1014         PR rtl-optimization/49014
1015         * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1016
1017 2011-06-28  Alexander Monakov  <amonakov@ispras.ru>
1018
1019         Backport from mainline
1020         2011-04-08  Alexander Monakov  <amonakov@ispras.ru>
1021
1022         PR target/48273
1023         * cfgloop.h (loop_has_exit_edges): New helper.
1024         * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1025         non-clonable.
1026         * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1027         that have no exit edges.
1028
1029 2011-06-28  Iain Sandoe  <iains@gcc.gnu.org>
1030
1031         PR target/47997
1032         * config/darwin.c (darwin_mergeable_string_section): Place string
1033         constants in '.cstring' rather than '.const' when CF/NSStrings are
1034         active.
1035
1036 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1037
1038         * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
1039         forward scan as well.
1040
1041 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1042
1043         * BASE-VER: Set to 4.6.2.
1044         * DEV-PHASE: Set to prerelease.
1045
1046 2011-06-27  Release Manager
1047
1048         * GCC 4.6.1 released.
1049
1050 2011-06-21  Alan Modra  <amodra@gmail.com>
1051
1052         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New func.
1053         (TARGET_CANNOT_FORCE_CONST_MEM): Update definition.
1054
1055 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1056
1057         Backport from mainline.
1058         2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1059
1060         PR target/48454
1061         * config/arm/neon.md (vec_pack_trunc): Set the lengths
1062         correctly for the case with Quad vectors.
1063
1064 2011-06-20  Alan Modra  <amodra@gmail.com>
1065
1066         * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
1067         of toc-relative address in CONST.
1068         (rs6000_delegitimize_address): Recognize changed address.
1069         (rs6000_legitimize_reload_address): Likewise.
1070         (rs6000_emit_move): Don't force these constants to memory.
1071         * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
1072         toc-relative address in CONST.
1073         (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
1074         (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
1075
1076 2011-06-18  Jakub Jelinek  <jakub@redhat.com>
1077
1078         PR target/49411
1079         * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
1080         last_arg_constant and last argument doesn't match its predicate,
1081         for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
1082         if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
1083         (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
1084         spelling of error message.
1085         * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
1086         vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
1087         const_0_to_255_operand instead of const_int_operand.
1088
1089 2011-06-17  Richard Henderson  <rth@redhat.com>
1090
1091         Backport from mainline
1092         2011-03-22  Richard Henderson  <rth@redhat.com>
1093
1094         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
1095
1096 2011-06-17  Richard Guenther  <rguenther@suse.de>
1097
1098         Backport from mainline
1099         2011-05-23  Richard Guenther  <rguenther@suse.de>
1100
1101         PR tree-optimization/49115
1102         * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1103         is not necessarily carried out, do not claim it kills the ref.
1104         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1105
1106 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1107
1108         Backport from mainline
1109         2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1110
1111         PR rtl-optimization/48542
1112         * reload.c (find_equiv_reg): Stop looking when finding a
1113         setjmp-type call.
1114         * reload1.c (reload_as_needed): Invalidate all reload
1115         registers when crossing a setjmp-type call.
1116
1117 2011-06-16  Kaz Kojima  <kkojima@gcc.gnu.org>
1118
1119         Backport form main line
1120         2011-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
1121
1122         PR target/49307
1123         * config/sh/sh.md (UNSPEC_CHKADD): New.
1124         (chk_guard_add): New define_insn_and_split.
1125         (symGOT_load): Use chk_guard_add instead of blockage.
1126
1127 2011-06-16  Martin Jambor  <mjambor@suse.cz>
1128
1129         Backported from mainline
1130         2011-06-15  Martin Jambor  <mjambor@suse.cz>
1131
1132         PR tree-optimization/48613
1133         * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
1134         ipa_node_params_vector is NULL.
1135
1136 2011-06-16  Jakub Jelinek  <jakub@redhat.com>
1137
1138         PR tree-optimization/49419
1139         * tree-vrp.c (execute_vrp): Call init_range_assertions
1140         before estimate_numbers_of_iterations, call
1141         free_number_of_iterations_estimates before calling
1142         remove_range_assertions.
1143
1144         Backported from mainline
1145         2011-06-13  Edmar Wienskoski  <edmar@freescale.com>
1146
1147         PR target/44618
1148         * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
1149         with a set of similar patterns, where the MATCH_OPERAND for the
1150         function argument is replaced with individual references to hardware
1151         registers.
1152         (save_fpregs_<mode>): Ditto
1153         (restore_gpregs_<mode>): Ditto
1154         (return_and_restore_gpregs_<mode>): Ditto
1155         (return_and_restore_fpregs_<mode>): Ditto
1156         (return_and_restore_fpregs_aix_<mode>): Ditto
1157
1158 2011-06-14  Richard Henderson  <rth@redhat.com>
1159
1160         PR debug/48459
1161         * dwarf2out.c (frame_pointer_fb_offset_valid): New.
1162         (based_loc_descr): Assert it's true.
1163         (compute_frame_pointer_to_fb_displacement): Set it,
1164         rather than aborting immediately.
1165
1166 2011-06-14  Richard Henderson  <rth@redhat.com>
1167
1168         Backport from mainline
1169         2011-03-22  Richard Henderson  <rth@redhat.com>
1170
1171         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
1172         (avr_incoming_return_addr_rtx): New.
1173         (emit_push_byte): New.
1174         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
1175         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
1176         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
1177         (emit_pop_byte): New.
1178         (expand_epilogue): Use it.  Pop frame pointer by bytes.
1179         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
1180         (INCOMING_RETURN_ADDR_RTX): New.
1181         (INCOMING_FRAME_SP_OFFSET): New.
1182         (ARG_POINTER_CFA_OFFSET): New.
1183         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
1184         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
1185         (pophi): Remove.
1186
1187 2011-06-14  Jakub Jelinek  <jakub@redhat.com>
1188
1189         PR fortran/49103
1190         * tree.h (DECL_NONSHAREABLE): Define.
1191         (struct tree_decl_common): Change decl_common_unused to
1192         decl_nonshareable_flag.
1193         * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
1194         Ignore vars with DECL_NONSHAREABLE bit set.
1195         * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
1196         on stores to automatic aggregate vars.
1197
1198         PR rtl-optimization/49390
1199         Revert:
1200         2010-06-29  Bernd Schmidt  <bernds@codesourcery.com>
1201
1202         * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
1203         MEM_ALIAS_SET.
1204
1205 2011-06-11  Uros Bizjak  <ubizjak@gmail.com>
1206
1207         * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
1208         (*vec_dupv2df): Rename from vec_dupv2df.
1209         (vec_dupv2df): New expander.
1210
1211 2011-06-09  Eric Botcazou  <ebotcazou@adacore.com>
1212
1213         * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
1214
1215 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1216
1217         Backport from mainline
1218         2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1219
1220         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1221         unknown Intel family 0x6 CPUs.
1222
1223 2011-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1224
1225         Backport from mainline
1226         2011-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
1227
1228         PR target/49238
1229         * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
1230         needed when original operands are used for msw_skip comparison.
1231
1232 2011-06-07  Jakub Jelinek  <jakub@redhat.com>
1233
1234         PR gcov-profile/49299
1235         * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
1236
1237 2011-06-06  Pat Haugen <pthaugen@us.ibm.com>
1238
1239         Backport from mainline
1240         2011-05-31  Pat Haugen <pthaugen@us.ibm.com>
1241
1242         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
1243         NON_FLOAT_REGS.
1244
1245 2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1246
1247         PR c++/49264
1248         * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
1249         if stmt folded into nothing.
1250         * tree-inline.c (fold_marked_statements): If a builtin at the
1251         end of a bb folded into nothing, just update cgraph edges
1252         and move to next bb.
1253         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
1254         to be NULL.  Don't compute count and frequency if new_call is NULL.
1255
1256 2011-06-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1257
1258         * longlong.h (smul_ppmm): The resulting register pair contains the
1259         higher order word first.
1260
1261 2011-06-06  Mikael Pettersson  <mikpe@it.uu.se>
1262
1263         PR tree-optimization/49243
1264         * calls.c (setjmp_call_p): Also check if fndecl has the
1265         returns_twice attribute.
1266
1267 2011-06-06  Richard Guenther  <rguenther@suse.de>
1268
1269         PR tree-optimization/48702
1270         * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
1271         only when we know the base address is within bounds.
1272         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
1273         assume the base address of TARGET_MEM_REFs is in bounds.
1274         (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
1275
1276         Backport from mainline
1277         2011-05-31  Jakub Jelinek  <jakub@redhat.com>
1278
1279         PR rtl-optimization/49235
1280         * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
1281         (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
1282
1283 2011-06-05  Eric Botcazou  <ebotcazou@adacore.com>
1284
1285         * config/sparc/sparc.c (output_return): Fix thinko in the output of an
1286         EH return when delayed branches are disabled.
1287
1288 2011-06-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1289
1290         Backport from mainline
1291         2011-05-30  Kaz Kojima  <kkojima@gcc.gnu.org>
1292
1293         PR target/49186
1294         * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
1295         part of the second operand is 0.
1296
1297 2011-06-04  Alexandre Oliva  <aoliva@redhat.com>
1298
1299         PR debug/47590
1300         * target.def (delay_sched2, delay_vartrack): New.
1301         * doc/tm.texi.in: Update.
1302         * doc/tm.texi: Rebuild.
1303         * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
1304         * var-tracking.c (gate_handle_var_tracking): Likewise.
1305         * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
1306         (bfin_flag_var_tracking): Drop.
1307         (output_file_start): Don't save and override flag_var_tracking.
1308         (bfin_option_override): Ditto flag_schedule_insns_after_reload.
1309         (bfin_reorg): Test original variables.
1310         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1311         * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
1312         (ia64_flag_var_tracking): Drop.
1313         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1314         (ia64_file_start): Don't save and override flag_var_tracking.
1315         (ia64_override_options_after_change): Ditto
1316         flag_schedule_insns_after_reload.
1317         (ia64_reorg): Test original variables.
1318         * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
1319         (picochip_flag_var_tracking): Drop.
1320         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1321         (picochip_option_override): Don't save and override
1322         flag_schedule_insns_after_reload.
1323         (picochip_asm_file_start): Ditto flag_var_tracking.
1324         (picochip_reorg): Test original variables.
1325         * config/spu/spu.c (spu_flag_var_tracking): Drop.
1326         (TARGET_DELAY_VARTRACK): Define.
1327         (spu_var_tracking): New.
1328         (spu_machine_dependent_reorg): Call it.
1329         (asm_file_start): Don't save and override flag_var_tracking.
1330
1331 2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
1332
1333         PR tree-optimization/49038
1334         * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
1335         Ensure at least one epilogue iteration if required by data
1336         accesses with gaps.
1337         * tree-vectorizer.h (struct _loop_vec_info): Add new field
1338         to mark loops that require peeling for gaps.
1339         * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
1340         (vect_get_known_peeling_cost): Take peeling for gaps into
1341         account.
1342         (vect_transform_loop): Generate epilogue if required by data
1343         access with gaps.
1344         * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
1345         loop as requiring an epilogue if there are gaps in the end of
1346         the strided group.
1347
1348 2011-06-02  Ira Rosen  <ira.rosen@linaro.org>
1349
1350         PR tree-optimization/49093
1351         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
1352         data references.
1353
1354 2011-05-19  Quentin Neill  <quentin.neill@amd.com>
1355
1356         * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1357         (fma4_fmaddsub): Likewise
1358
1359 2011-05-31  Richard Guenther  <rguenther@suse.de>
1360
1361         Backport from mainline
1362         2011-05-19  Richard Guenther  <rguenther@suse.de>
1363
1364         PR middle-end/48985
1365         * tree-object-size.c (addr_object_size): If the pointed-to
1366         variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1367
1368 2011-05-31  Richard Guenther  <rguenther@suse.de>
1369
1370         Backport from mainline
1371         2011-05-11  Richard Guenther  <rguenther@suse.de>
1372
1373         PR middle-end/48953
1374         * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
1375
1376 2011-05-30  Richard Guenther  <rguenther@suse.de>
1377
1378         PR tree-optimization/49218
1379         * tree-vrp.c (adjust_range_with_scev): Properly check whether
1380         overflow occured.
1381
1382 2011-05-30  Georg-Johann Lay  <avr@gjlay.de>
1383
1384         PR target/45263
1385         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
1386         Don't use r20 around calls of __tablejump_elpm__
1387
1388 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1389
1390         PR target/43700
1391         * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
1392         registers.
1393
1394 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1395
1396         PR target/43995
1397         * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
1398         recurse_p argument.  Only follow register copies if it is set,
1399         and prevent mips_find_pic_call_symbol from recursing.
1400         (mips_find_pic_call_symbol): Add a recurse_p argument.
1401         Pass it to mips_pic_call_symbol_from_set.
1402         (mips_annotate_pic_calls): Update accordingly.
1403
1404 2011-05-29  Richard Guenther  <rguenther@suse.de>
1405
1406         PR tree-optimization/49217
1407         * ipa-pure-const.c (propagate_pure_const): Fix typos.
1408
1409 2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
1410
1411         * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
1412         moves expensive on Power7 also.
1413
1414 2011-05-26  Georg-Johann Lay  <avr@gjlay.de>
1415
1416         PR target/44643
1417         * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
1418         alone. Error if non-const data has attribute progmem.
1419
1420 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
1421
1422         PR c++/49165
1423         * gimplify.c (shortcut_cond_r): Don't special case
1424         COND_EXPRs if they have void type on one of their arms.
1425
1426         PR tree-optimization/49161
1427         * tree-vrp.c (struct case_info): New type.
1428         (compare_case_labels): Sort case_info structs instead of
1429         trees, and not primarily by CASE_LABEL uids but by
1430         label_for_block indexes.
1431         (find_switch_asserts): Put case labels into struct case_info
1432         array instead of TREE_VEC, adjust sorting, compare label_for_block
1433         values instead of CASE_LABELs.
1434
1435 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1436
1437         PR target/49128
1438         * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
1439
1440 2011-05-18  Jan Hubicka  <jh@suse.cz>
1441
1442         PR tree-optimization/44897
1443         * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
1444         by zero for insane profiles.
1445
1446 2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
1447
1448         * config/sparc/sparc.c (sparc_option_override): If not set by the user,
1449         force flag_ira_share_save_slots to 0.
1450
1451 2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
1452
1453         PR target/49133
1454         * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
1455
1456 2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1457
1458         Backport from mainline
1459         2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1460
1461         PR target/49128
1462         * config/i386/driver-i386.c (host_detect_local_cpu): Always
1463         add -mno-XXX.  Handle FMA.
1464
1465 2011-05-23  Jakub Jelinek  <jakub@redhat.com>
1466
1467         PR lto/49123
1468         * fold-const.c (constant_boolean_node): If type is non-NULL,
1469         use build_int_cst_type instead of build_int_cst.
1470
1471         PR debug/49032
1472         * dbxout.c: Include cgraph.h.
1473         (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
1474         and without value expr, return NULL if no varpool node exists for
1475         it or if it is not needed.
1476         * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
1477
1478         PR c/49120
1479         * c-decl.c (start_decl): Convert expr to void_type_node.
1480
1481         PR middle-end/48973
1482         * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
1483         failed and the comparison has a single bit signed type, use
1484         constm1_rtx instead of const1_rtx for true value.
1485         (do_store_flag): If ops->type is single bit signed type, disable
1486         signel bit test optimization and pass -1 instead of 1 as last
1487         parameter to emit_store_flag_force.
1488
1489 2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
1490
1491         * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
1492         (sparc-*-rtems*): Likewise.
1493         (sparc64-*-elf*): Likewise.
1494         (sparc64-*-rtems*): Likewise.
1495         (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
1496         * config/sparc/t-crtin: New file.
1497         * config/sparc/t-sol2 (crti.o): Delete rule.
1498         (crtn.o): Likewise.
1499         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
1500         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
1501         * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
1502         (ENDFILE_SPEC): Add crtn.o.
1503
1504 2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
1505
1506         PR target/49104
1507         * config/i386/cpuid.h (bit_MMXEXT): New define.
1508
1509 2011-05-22  Jakub Jelinek  <jakub@redhat.com>
1510
1511         PR middle-end/49029
1512         * expmed.c (extract_fixed_bit_field): Test whether target can be used
1513         only after deciding which mode to use.
1514
1515 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1516
1517         * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
1518         frame pointer.
1519
1520 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1521
1522         * config/sparc/sparc.c (eligible_for_return_delay): Do not return
1523         false if there are call-saved registers here...
1524         (sparc_can_use_return_insn_p): ...but here instead.
1525         (save_or_restore_regs): Fix thinko.
1526         (sparc_expand_prologue): Use current_function_is_leaf.
1527         (sparc_frame_pointer_required): Likewise.
1528
1529 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
1530
1531         PR bootstrap/49086
1532         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
1533         for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
1534
1535 2011-05-20  Richard Guenther  <rguenther@suse.de>
1536
1537         PR tree-optimization/49079
1538         * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
1539         MEM_REFs correctly for the trailing array access detection.
1540         Special case constants the same way as decls for overall size
1541         constraining.
1542
1543 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
1544
1545         PR tree-optimization/49073
1546         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
1547         NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
1548         by the PHI.
1549         * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
1550
1551 2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
1552
1553         * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
1554         when TARGET_RDRND is active.
1555         (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
1556         Generate dummy SImode target register when target is NULL.
1557
1558 2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1559
1560         Backport from mainline
1561         2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1562
1563         PR target/49002
1564         * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
1565         Properly handle load cast.
1566
1567 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
1568
1569         PR tree-optimization/49039
1570         * tree-vrp.c (extract_range_from_binary_expr): For
1571         MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
1572         return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
1573
1574 2011-05-18  Richard Guenther  <rguenther@suse.de>
1575
1576         PR tree-optimization/49018
1577         * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
1578         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
1579         gimple_has_side_effects.
1580
1581 2011-05-18  Richard Guenther  <rguenther@suse.de>
1582
1583         Backport from mainline
1584         2011-04-19  Richard Guenther  <rguenther@suse.de>
1585
1586         PR lto/48207
1587         * tree.c (free_lang_data): Do not reset the decl-assembler-name
1588         langhook.
1589
1590         2011-04-21  Richard Guenther  <rguenther@suse.de>
1591
1592         PR lto/48703
1593         * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
1594         DECL_NAME.
1595
1596 2011-05-18  Richard Guenther  <rguenther@suse.de>
1597
1598         Backport from mainline
1599         2011-05-12  Richard Guenther  <rguenther@suse.de>
1600
1601         PR tree-optimization/48172
1602         * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
1603         the number of iterations from the segment size calculation.
1604         (vect_create_cond_for_alias_checks): Adjust.
1605
1606         2011-05-13  Richard Guenther  <rguenther@suse.de>
1607
1608         PR tree-optimization/48172
1609         * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
1610         multiplying by number of iterations for equal step.
1611         (vect_create_cond_for_alias_checks): Likewise.
1612
1613 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
1614
1615         PR tree-optimization/49000
1616         * tree-ssa.c (execute_update_addresses_taken): Call
1617         maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
1618         be rewritten and decl has been marked for renaming, reset
1619         the debug stmt.
1620
1621 2011-05-17  Nick Clifton  <nickc@redhat.com>
1622
1623         Import these patches from the mainline:
1624
1625         2011-05-17  Nick Clifton  <nickc@redhat.com>
1626
1627         * config/rx/rx.c (rx_memory_move_cost): Include cost of register moves.
1628
1629         * config/rx/rx.md: Add peephole to remove redundant extensions
1630         after loads.
1631         (bitset_in_memory): Use rx_restricted_mem_operand.
1632         (bitinvert_in_memory): Likewise.
1633         (bitclr_in_memory): Likewise.
1634
1635         2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
1636                     Nick Clifton  <nickc@redhat.com>
1637
1638         * config/rx/rx.md: Add peepholes to match a register move followed
1639         by a comparison of the moved register.  Replace these with an
1640         addition of zero that does both actions in one instruction.
1641
1642 2011-05-17  Jakub Jelinek  <jakub@redhat.com>
1643
1644         PR target/48986
1645         * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
1646         predicate to allow CONST_INT.
1647
1648 2011-05-16  Joseph Myers  <joseph@codesourcery.com>
1649
1650         PR preprocessor/48677
1651         * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
1652         from decoded_options[0], not from itself.
1653
1654 2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
1655
1656         * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
1657         optimization for CM_MEDIUM and CM_LARGE code models.  Fix usage
1658         of standard_80387_constant_p.
1659         (*movxf_internal_nointeger): Ditto.
1660         (*movdf_internal): Remove dead code-size optimization.
1661         (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
1662         (*movdf_internal_nointeger): Ditto.
1663         (*movsf_internal): Ditto.
1664         (floating point move splitters): Ditto.
1665         * config/i386/constraints.md (G): Ditto.
1666         * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
1667
1668 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
1669
1670         PR tree-optimization/48975
1671         * tree-if-conv.c (combine_blocks): Call free_bb_predicate
1672         on all bbs here and free and clear ifc_bbs at the end.
1673
1674 2011-05-12  Richard Guenther  <rguenther@suse.de>
1675
1676         Backport from mainline
1677         2011-05-02  Richard Guenther  <rguenther@suse.de>
1678
1679         PR tree-optimization/48822
1680         * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
1681         (process_scc): Indicate which iteration we start.
1682
1683 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
1684
1685         PR debug/48967
1686         * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
1687         if validate_subreg fails.
1688
1689 2011-05-12  Nick Clifton  <nickc@redhat.com>
1690
1691         * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
1692         * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
1693         instead of abort.
1694         (rx_align_for_label): Test label before extracting its number of
1695         uses.
1696         (rx_max_skip_for_label): Ignore debug insns.
1697
1698 2011-05-11  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR debug/48159
1701         * tree-ssa.c (reset_debug_uses): New function.
1702         * tree-flow.h (reset_debug_uses): New prototype.
1703         * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
1704         * tree-loop-distribution.c (generate_loops_for_partition): Call
1705         reset_debug_uses on the stmts that will be removed.  Keep around
1706         all debug stmts, don't count them as bits in partition bitmap.
1707         (generate_builtin): Don't count debug stmts or labels as bits in
1708         partition bitmap.
1709
1710 2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1711
1712         Backport from mainline
1713         2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1714
1715         PR target/48857, 48495
1716         * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
1717         (VSX_MODE): Ditto.
1718         (VSX_MOVE_MODE): Ditto.
1719         (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
1720         VSX vector types.  Add V2DImode.
1721         (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
1722         ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
1723         (MODES_TIEABLE_P): Ditto.
1724
1725         * config/rs6000/rs6000.c (rs6000_emit_move): Use
1726         ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
1727         VSX_VECTOR_MODE.
1728         (init_cumulative_args): Ditto.
1729         (rs6000_function_arg_boundary): Ditto.
1730         (rs6000_function_arg_advance_1): Ditto.
1731         (rs6000_function_arg): Ditto.
1732         (rs6000_function_ok_for_sibcall): Ditto.
1733         (emit_frame_save): Ditto.
1734         (rs6000_function_value): Ditto.
1735         (rs6000_libcall_value): Ditto.
1736
1737 2011-05-10  Nick Clifton  <nickc@redhat.com>
1738
1739         * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
1740         stores.
1741
1742 2011-05-10  DJ Delorie  <dj@redhat.com>
1743
1744         * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
1745         (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
1746         * config/rx/rx.c (rx_align_for_label): Add label and
1747         uses_threshold parameters.  Do not align when the label is not
1748         used enough.
1749         * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
1750
1751 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
1752
1753         Backported from mainline
1754         2011-05-07  Zdenek Dvorak  <ook@ucw.cz>
1755
1756         PR tree-optimization/48837
1757         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
1758         when accumulator transformation is performed.
1759
1760 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
1761
1762         PR tree-optimization/48611
1763         PR tree-optimization/48794
1764         * tree-eh.c (remove_unreachable_handlers): Don't remove regions
1765         referenced from RESX or EH_DISPATCH arguments.
1766
1767 2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1768
1769         * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
1770         temporary register to match Pmode.
1771
1772 2011-05-09  Eric Botcazou  <ebotcazou@adacore.com>
1773
1774         * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
1775         (dataflow_set_preserve_mem_locs): Likewise.
1776
1777 2011-05-06  Uros Bizjak  <ubizjak@gmail.com>
1778
1779         * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
1780         constraint modifier to "r".
1781
1782 2011-05-06  Alan Modra  <amodra@gmail.com>
1783
1784         PR target/48900
1785         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
1786         const0_rtx as the arg to the dummy __tls_get_addr libcall.
1787
1788 2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1789
1790         * config/s390/s390.c (s390_asm_trampoline_template): Comment
1791         instruction sizes.
1792         (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
1793
1794 2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1795
1796         PR target/48252
1797         * config/arm/neon.md (neon_vtrn<mode>): Fix typo from earlier commit.
1798
1799 2011-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
1800
1801         * config/rs6000/rs6000.c (rs6000_handle_option): Add missing break
1802         for OPT_mfpu_ case.
1803
1804 2011-05-05  Jason Merrill  <jason@redhat.com>
1805
1806         PR c++/40975
1807         * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
1808
1809 2011-05-05  Julian Brown  <julian@codesourcery.com>
1810
1811         * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
1812         parenthesis in D-register case.
1813
1814 2011-05-05  Ira Rosen  <ira.rosen@linaro.org>
1815
1816         Backport from mainline:
1817         2011-04-18  Ulrich Weigand  <ulrich.weigand@linaro.org>
1818                     Ira Rosen  <ira.rosen@linaro.org>
1819
1820         PR target/48252
1821         * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
1822         to match neon_vzip/vuzp/vtrn_internal.
1823         * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
1824         outputs explicitly dependent on both inputs.
1825         (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
1826
1827 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
1828
1829         * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
1830         Use %v prefix in insn mnemonic to handle TARGET_AVX.
1831         (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
1832         attribute calculation.
1833         (*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.
1834         * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
1835         for mov{q} mnemonic.
1836         (*vec_extractv2di_1_rex64_avx): Ditto.
1837
1838 2011-05-03  Uros Bizjak  <ubizjak@gmail.com>
1839             Jakub Jelinek  <jakub@redhat.com>
1840
1841         PR target/48774
1842         * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
1843         only succeed if req_mode is the same as set_mode.
1844
1845 2011-05-03  Richard Guenther  <rguenther@suse.de>
1846
1847         PR lto/48846
1848         * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
1849         Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
1850         * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
1851
1852 2011-05-03  Eric Botcazou  <ebotcazou@adacore.com>
1853
1854         PR target/48723
1855         * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
1856         for -fstack-check if the size to allocate is negative.
1857
1858 2011-04-30  Jakub Jelinek  <jakub@redhat.com>
1859
1860         PR tree-optimization/48809
1861         * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
1862         type.
1863         (gen_inbound_check): Don't compute index_expr - range_min in utype
1864         again, instead reuse SSA_NAME initialized in build_arrays.
1865         Remove two useless gsi_for_stmt calls.
1866
1867 2011-04-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
1868
1869         Backport from mainline
1870         2011-04-01  Andrew Pinski  <pinskia@gmail.com>
1871             Michael Meissner  <meissner@linux.vnet.ibm.com>
1872
1873         PR target/48262
1874         * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
1875         operands, as per the specifications.
1876
1877         * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
1878         (vec_extract_evenv4sf): Ditto.
1879         (vec_extract_evenv8hi): Ditto.
1880         (vec_extract_evenv16qi): Ditto.
1881         (vec_extract_oddv4si): Ditto.
1882
1883 2011-04-28  Jakub Jelinek  <jakub@redhat.com>
1884
1885         PR middle-end/48597
1886         * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
1887         inline asm.
1888
1889 2011-04-27  Jakub Jelinek  <jakub@redhat.com>
1890
1891         PR c/48742
1892         * c-typeck.c (build_binary_op): Don't wrap arguments if
1893         int_operands is true.
1894
1895 2011-04-26  Jakub Jelinek  <jakub@redhat.com>
1896
1897         PR debug/48768
1898         * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
1899         is error_mark_node, set value to NULL.
1900
1901         PR tree-optimization/48734
1902         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
1903         if return value from maybe_fold_*_comparsions isn't something
1904         the code is prepared to handle.
1905
1906 2011-04-26  Richard Guenther  <rguenther@suse.de>
1907
1908         PR tree-optimization/48731
1909         * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
1910
1911 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1912
1913         PR other/48748
1914         * doc/extend.texi (Type Traits): Document __is_standard_layout,
1915         __is_literal_type, and __is_trivial; update throughout about
1916         possibly cv-qualified void types.
1917
1918 2011-04-23  Jakub Jelinek  <jakub@redhat.com>
1919
1920         PR c/48685
1921         * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
1922         to VOID_TYPE even around MODIFY_EXPR.
1923
1924 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
1925
1926         PR tree-optimization/48717
1927         * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
1928         ~A + A optimizations use build_int_cst_type instead of build_int_cst.
1929
1930 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
1931
1932         PR c/48716
1933         * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
1934         TREE_STATIC variables declared inside of some OpenMP construct.
1935
1936 2011-04-21  Uros Bizjak  <ubizjak@gmail.com>
1937
1938         PR target/48708
1939         * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
1940         vec_extract and vec_concat for non-SSE4_1 targets.
1941
1942 2011-04-21  Richard Guenther  <rguenther@suse.de>
1943
1944         PR middle-end/48695
1945         * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
1946         objects and types here.  Adjust for their offset before comparing.
1947
1948 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1949
1950         * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
1951
1952 2011-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1953
1954         PR target/48288
1955         * config/pa/predicates.md (ior_operand): Delete predicate.
1956         (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
1957         * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
1958         expander.  Use cint_ior_operand in unnamed insn.
1959         (iorsi3): Likewise.
1960         * config/pa/pa-protos.h (ior_operand): Delete declarations.
1961
1962 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
1963
1964         PR tree-optimization/48611
1965         * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
1966         beyond ERT_MUST_NOT_THROW region.
1967
1968 2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1969
1970         Backport from mainline
1971         2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
1972
1973         PR lto/48148
1974         * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
1975         the types if they have different enumeration identifiers.
1976
1977         2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1978
1979         PR lto/48492
1980         * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
1981         DECL_IN_CONSTANT_POOL without RTL.
1982
1983 2011-04-20  Richard Guenther  <rguenther@suse.de>
1984
1985         Backport from mainline
1986         2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
1987
1988         PR fortran/47976
1989         * reload1.c (inc_for_reload): Return void. All callers changed.
1990         (emit_input_reload_insns): Don't try to delete previous output
1991         reloads to a register, or record spill_reg_store for autoincs.
1992
1993 2011-04-19  Jakub Jelinek  <jakub@redhat.com>
1994
1995         PR target/48678
1996         * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
1997         is a SUBREG with non-MODE_INT mode inside of it.
1998
1999 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2000
2001         PR middle-end/48661
2002         * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
2003         if TREE_TYPE (v) is non-NULL.
2004
2005         * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
2006         gimple_get_virt_mehtod_for_binfo.
2007         * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
2008         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
2009         callers.
2010         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2011
2012 2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2013
2014         * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
2015
2016 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2017
2018         PR tree-optimization/48616
2019         * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
2020         whether the shift is by scalar or vector based on whether all SLP
2021         scalar stmts have the same rhs.
2022
2023 2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
2024
2025         * doc/passes.texi: Fill crossref nodes.
2026
2027 2011-04-17  Marius Strobl  <marius@FreeBSD.org>
2028
2029         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2030         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2031         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2032
2033 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2034
2035         PR lto/48538
2036         * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
2037         is non-null before accessing it.
2038         (input_cgraph): Remove trailing spaces.
2039
2040 2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2041
2042         * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
2043         Replace match_operand with match_dup for the third operand in
2044         these expanders.
2045
2046 2011-04-15  Jakub Jelinek  <jakub@redhat.com>
2047
2048         PR target/48605
2049         * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
2050         is a MEM, offset it as needed based on top 2 bits in operands[3],
2051         change MEM mode to SFmode and mask those 2 bits away from operands[3].
2052
2053 2011-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2054
2055         Backport from mainline:
2056         2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2057
2058         PR target/48366
2059         * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
2060         move from floating point to shift amount register.
2061         (emit_move_sequence): Remove secondary reload support for floating
2062         point to shift amount amount register copies.
2063         (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
2064         amount register copies.
2065         * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
2066         register, return false if mode isn't a scalar integer mode.
2067         * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
2068
2069 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
2070
2071         PR middle-end/48591
2072         * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is NULL.
2073         (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
2074
2075 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2076
2077         Backport from mainline:
2078         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2079         PR target/48090
2080         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
2081
2082 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2083
2084         PR tree-optimization/48195
2085         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
2086         ipa_check_create_edge_args.
2087         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
2088         ipa_check_create_edge_args.
2089         * ipa-inline.c (inline_generate_summary): Do not call
2090         ipa_check_create_node_params and ipa_check_create_edge_args.
2091         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
2092         ipa_check_create_edge_args.
2093
2094 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2095
2096         PR rtl-optimization/48549
2097         * combine.c (propagate_for_debug): Also stop after BB_END of
2098         this_basic_block.  Process LAST and just stop processing after it.
2099         (combine_instructions): If last_combined_insn has been deleted,
2100         set last_combined_insn to its PREV_INSN.
2101
2102 2011-04-12  Nick Clifton  <nickc@redhat.com>
2103
2104         * config/v850/v850.c (expand_prologue): Do not use the CALLT
2105         instruction for interrupt handlers if the target is the basic V850
2106         architecture.
2107         (expand_epilogue): Likewise.
2108
2109 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2110
2111         PR c/48517
2112         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
2113         qualified type.
2114
2115 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
2116
2117         * common.opt (Tbss=, Tdata=, Ttext=): New options.
2118
2119 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2120
2121         Backport from mainline:
2122         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2123
2124         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2125
2126 2011-04-09  Duncan Sands  <baldrick@free.fr>
2127
2128         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
2129
2130 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2131
2132         PR target/47829
2133         * config.gcc: disable unwind table generation for crtbegin/crtend
2134         on i386-*-freebsd.
2135
2136 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
2137
2138         PR tree-optimization/48377
2139         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set is_packed
2140         to true even for types with smaller TYPE_ALIGN than TYPE_SIZE.
2141
2142 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
2143
2144         * config/i386/sse.md: Update copyright year.
2145         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
2146         register constraint.
2147         (*vec_concatv2sf_avx): Fix wrong register constraint in
2148         alternative 3 of operand 1.
2149         (*vec_set<mode>_0_avx): Avoid combining registers from different
2150         units in a single alternative.
2151         (*vec_set<mode>_0_sse4_1): Ditto.
2152         (*vec_set<mode>_0_sse2): Ditto.
2153         (vec_set<mode>_0): Ditto.
2154         (sse2_storehpd): Ditto.
2155         (sse2_loadhpd): Ditto.
2156         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
2157         * config/i386/predicates.md (sse_comparison_operator): Do not
2158         define as special predicate.
2159
2160 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
2161
2162         PR debug/48343
2163         * combine.c (combine_instructions): Add last_combined_insn,
2164         update it if insn is after it, pass it to all try_combine calls.
2165         (try_combine): Add last_combined_insn parameter, pass it instead of
2166         i3 to propagate_for_debug.
2167
2168 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
2169
2170         Backport from mainline
2171         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
2172
2173         PR rtl-optimization/48144
2174         * sel-sched-ir.c (merge_history_vect): Factor out from ...
2175         (merge_expr_data): ... here.
2176         (av_set_intersect): Rename to av_set_code_motion_filter.
2177         Update all callers.  Call merge_history_vect when an
2178         expression is found in both sets.
2179         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
2180
2181 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
2182
2183         PR debug/48466
2184         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2185         as base_reg whatever register reg has been eliminated to, instead
2186         of hardcoding STACK_POINTER_REGNUM.
2187
2188         Backported from mainline
2189         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
2190
2191         PR middle-end/48335
2192         * expr.c (expand_assignment): Handle all possibilities
2193         if TO_RTX is CONCAT.
2194         * expmed.c (store_bit_field_1): Avoid trying to create
2195         invalid SUBREGs.
2196         (store_split_bit_field): If SUBREG_REG (op0) or
2197         op0 itself has smaller mode than word, return it
2198         for offset 0 and const0_rtx for out-of-bounds stores.
2199         If word is const0_rtx, skip it.
2200
2201 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2202
2203         * gcov-io.c: Use GCC Runtime Library Exception.
2204
2205 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
2206
2207         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2208
2209 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2210
2211         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2212
2213 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
2214
2215         Backport from mainline
2216         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
2217
2218         PR rtl-optimization/48143
2219         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2220         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2221         sse2_cvtps2pd): Likewise.
2222
2223 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2224
2225         PR target/48142
2226         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
2227         frame-related from frame-unrelated adjustments to the stack pointer.
2228
2229 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2230
2231         Backport from mainline
2232         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2233
2234         PR target/48349
2235         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
2236         FLOAT_SSE_REGS.
2237
2238 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2239
2240         PR debug/48253
2241         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
2242         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
2243         dw_fde_unlikely_section_end_label, cold_in_std_section,
2244         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
2245         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
2246         fields.
2247         (output_fde): Use dw_fde_second_{begin,end} if second is
2248         true, otherwise dw_fde_{begin,end}.
2249         (output_call_frame_info): Test dw_fde_second_begin != NULL
2250         instead of dw_fde_switched_sections.
2251         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
2252         fields, initialize new fields.  Initialize in_std_section
2253         unconditionally from the first partition.
2254         (dwarf2out_end_epilogue): Don't override dw_fde_end when
2255         dw_fde_second_begin is non-NULL.
2256         (dwarf2out_switch_text_section): Stop initializing removed
2257         dw_fde_struct fields, initialize new fields, initialize
2258         also dw_fde_end here.  Set dw_fde_switch_cfi even when
2259         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
2260         (struct var_loc_list_def): Add last_before_switch field.
2261         (arange_table, arange_table_allocated, arange_table_in_use,
2262         ARANGE_TABLE_INCREMENT, add_arange): Removed.
2263         (size_of_aranges): Count !in_std_section and !second_in_std_section
2264         hunks in fdes, instead of looking at arange_table_in_use.
2265         (output_aranges): Add aranges_length argument, don't call
2266         size_of_aranges here.  Instead of using aranges_table*
2267         emit ranges for fdes when !in_std_section resp.
2268         !second_in_std_section.
2269         (dw_loc_list): Break ranges crossing section switch.
2270         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
2271         use dw_fde_second_end instead of dw_fde_end as end of last
2272         range.
2273         (gen_subprogram_die): Don't call add_arange.  Use
2274         dw_fde_{begin,end} for first partition and if switched
2275         section dw_fde_second_{begin,end} for the second.
2276         (var_location_switch_text_section_1,
2277         var_location_switch_text_section): New functions.
2278         (dwarf2out_begin_function): Initialize cold_text_section even
2279         when function_section () isn't text_section.
2280         (prune_unused_types): Don't walk arange_table.
2281         (dwarf2out_finish): Don't needlessly test
2282         flag_reorder_blocks_and_partition when testing cold_text_section_used.
2283         If info_section_emitted, call size_of_aranges and if it indicates
2284         non-empty .debug_aranges, call output_aranges with the computed
2285         size.  Stop using removed dw_fde_struct fields, use
2286         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
2287         for second.
2288
2289 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
2290
2291         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
2292         (alpha_option_override): Don't set alpha_sr_alias_set.
2293         (emit_frame_store_1): Use gen_frame_mem rather than calling
2294         set_mem_alias_set.
2295         (alpha_expand_epilogue): Ditto.
2296         (unicosmk_gen_dsib): Ditto.
2297
2298 2011-03-29  Nick Clifton  <nickc@redhat.com>
2299
2300         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
2301         (ASM_OUTPUT_MAX_SKIP): Define.
2302         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
2303         allow LT aor GE comparisons.
2304         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
2305         * config/rx/rx.md: Add peepholes and patterns to combine extending
2306         loads with simple arithmetic instructions.
2307         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
2308         to use pre-decrement and post-increment addressing.
2309         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
2310         that the INT is a valid offset.
2311         (rx_print_operand): Handle %R.
2312         Fix %Q's handling of MEMs.
2313         (rx_option_override): Set alignments.
2314         (rx_align_for_label): New function.
2315         (rx_max_skip_for_label): New function.
2316         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
2317         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
2318         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
2319         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2320
2321 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2322
2323         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
2324         for invalid symbolic addresses.
2325         (s390_secondary_reload): Don't use s390_check_symref_alignment for
2326         larl operands.
2327
2328 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
2329
2330         PR target/47553
2331         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
2332
2333 2011-03-28  Richard Guenther  <rguenther@suse.de>
2334
2335         Backport from mainline
2336         2011-03-24  Richard Guenther  <rguenther@suse.de>
2337
2338         PR middle-end/48269
2339         * tree-object-size.c (addr_object_size): Do not double-account
2340         for MEM_REF offsets.
2341
2342         2011-03-22  Richard Guenther  <rguenther@suse.de>
2343
2344         PR tree-optimization/48228
2345         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
2346         for single-arg PHIs.
2347
2348         2011-03-17  Richard Guenther  <rguenther@suse.de>
2349
2350         PR middle-end/48134
2351         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
2352         a value make sure to fold the statement.
2353
2354         2011-03-15  Richard Guenther  <rguenther@suse.de>
2355
2356         PR middle-end/48031
2357         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
2358         or variable-indexed array accesses when in gimple form.
2359
2360 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2361
2362         PR other/48179
2363         PR other/48221
2364         PR other/48234
2365         * doc/extend.texi (Alignment): Move section to match order in TOC.
2366         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
2367         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
2368
2369 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
2370
2371         Backport from mainline:
2372         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
2373
2374         PR target/48237
2375         * config/i386/i386.md (*movdf_internal_rex64): Do not split
2376         alternatives that can be handled with movq or movabsq insn.
2377         (*movdf_internal): Disable for !TARGET_64BIT.
2378         (*movdf_internal_nointeger): Ditto.
2379         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
2380
2381 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
2382
2383         Backport from mainline
2384         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
2385
2386         PR debug/48204
2387         * simplify-rtx.c (simplify_const_unary_operation): Call
2388         real_convert when changing mode class with FLOAT_EXTEND.
2389
2390         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
2391
2392         PR c/42544
2393         PR c/48197
2394         * c-common.c (shorten_compare): If primopN is first sign-extended
2395         to opN and then zero-extended to result type, set primopN to opN.
2396
2397         PR rtl-optimization/48156
2398         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
2399         assume df and df_lr are not NULL.
2400
2401         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
2402
2403         PR rtl-optimization/48141
2404         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
2405         * dse.c: Include params.h.
2406         (active_local_stores_len): New variable.
2407         (add_wild_read, dse_step1): Clear it when setting active_local_stores
2408         to NULL.
2409         (record_store, check_mem_read_rtx): Decrease it when removing
2410         from the chain.
2411         (scan_insn): Likewise.  Increase it when adding to chain, if it
2412         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
2413         set active_local_stores to NULL before the addition.
2414         * Makefile.in (dse.o): Depend on $(PARAMS_H).
2415
2416         PR rtl-optimization/48141
2417         * dse.c (record_store): If no positions are needed in an insn
2418         that cannot be deleted, at least unchain it from active_local_stores.
2419
2420 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
2421
2422         * BASE-VER: Set to 4.6.1.
2423         * DEV-PHASE: Set to prerelease.
2424
2425 2011-03-25  Release Manager
2426
2427         * GCC 4.6.0 released.
2428
2429 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
2430
2431         * config/rs6000/t-freebsd: Remove duplication from file.
2432
2433 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2434
2435         PR bootstrap/48135
2436         * doc/install.texi (Prerequisites): Move jar etc. up.
2437         Explain support library version requirements.
2438
2439 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2440
2441         PR bootstrap/48135
2442         * doc/install.texi (Prerequisites): Move Perl to build
2443         requirements.  Always necessary on Solaris 2 with Sun ld.
2444
2445 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2446
2447         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
2448         binutils 2.21.
2449         (Specific, i?86-*-solaris2.[89]): Likewise.
2450         (Specific, i?86-*-solaris2.10): Likewise.
2451         (Specific, mips-sgi-irix6): Likewise.
2452         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
2453         Update for binutils 2.21.
2454
2455 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
2456
2457         PR target/48213
2458         * config/s390/s390.c (s390_delegitimize_address): Don't call
2459         lowpart_subreg if orig_x has BLKmode.
2460
2461 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
2462
2463         * c-decl.c (diagnose_mismatched_decls): Give an error for
2464         redefining a typedef with variably modified type.
2465
2466 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
2467
2468         * c-decl.c (grokfield): Don't allow typedefs for structures or
2469         unions with no tag by default.
2470         * doc/extend.texi (Unnamed Fields): Update.
2471
2472 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
2473
2474         PR debug/48176
2475         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
2476         arange_table_in_use is 0, but either text_section_used or
2477         cold_text_section_used is true.  Don't call it if
2478         !info_section_emitted.
2479
2480 2011-03-18  Richard Guenther  <rguenther@suse.de>
2481
2482         * doc/install.texi (--enable-gold): Remove.
2483         (--with-plugin-ld): Document.
2484         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
2485
2486 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2487
2488         Backport from mainline
2489         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
2490
2491         PR target/48171
2492         * config/i386/i386.opt: Add Save to -mavx and -mfma.
2493
2494 2011-03-18  Richard Henderson  <rth@redhat.com>
2495             Jakub Jelinek  <jakub@redhat.com>
2496
2497         PR bootstrap/48161
2498         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
2499         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
2500
2501 2011-03-17  Richard Guenther  <rguenther@suse.de>
2502
2503         PR middle-end/48165
2504         * tree-object-size.c (compute_object_offset): Properly return
2505         the offset operand of MEM_REFs as sizetype.
2506
2507 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
2508
2509         PR debug/47510
2510         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
2511         (lookup_type_die_strip_naming_typedef): ... here.
2512         (get_context_die): Use it.
2513         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
2514         the anonymous struct named by the naming typedef.
2515
2516 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2517
2518         PR target/46788
2519         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
2520         in the output template.
2521
2522 2011-03-15  Alan Modra  <amodra@gmail.com>
2523
2524         PR target/48032
2525         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
2526         presume symbol_refs without a symbol_ref_decl are suitably
2527         aligned, nor other trees we may see here.  Handle anchor symbols.
2528         (legitimate_constant_pool_address_p): Comment.  Add mode param.
2529         Check cmodel=medium addresses.  Adjust all calls.
2530         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
2531         creating cmodel=medium optimized access to locals.
2532         * config/rs6000/constraints.md (R): Pass QImode to
2533         legitimate_constant_pool_address_p.
2534         * config/rs6000/predicates.md (input_operand): Pass mode to
2535         legitimate_constant_pool_address_p.
2536         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
2537         Update prototype.
2538
2539 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2540
2541         PR target/48053
2542         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
2543         64-bit constants being loaded into registers other than GPRs such
2544         as loading 0 into a VSX register.
2545
2546 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2547
2548         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
2549         URLs.
2550
2551 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
2552
2553         * doc/invoke.texi, doc/standards.texi: Refer to
2554         gcc-4.6/c99status.html.
2555
2556         * DEV-PHASE: Mark "prerelease".
2557
2558 2011-03-14  Richard Guenther  <rguenther@suse.de>
2559
2560         PR middle-end/48098
2561         * tree.c (build_vector_from_val): Adjust assert to requirements
2562         and reality.
2563
2564 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
2565
2566         PR bootstrap/48102
2567         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
2568         parameter.
2569
2570 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
2571
2572         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
2573         terms of target_flags_explicit. Adjust copyright year.
2574
2575         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
2576         * config/rs6000/t-freebsd: New file. Add override for
2577         LIB2FUNCS_EXTRA.
2578
2579 2011-03-13  Chris Demetriou  <cgd@google.com>
2580
2581         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
2582         (-fno-diagnostics-show-option): this, to reflect current default.
2583         (-Werror=): Update text about -fno-diagnostics-show-option.
2584
2585 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
2586
2587         PR target/48053
2588         * config/rs6000/predicates.md (easy_vector_constant_add_self,
2589         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
2590         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
2591         mode is not V2DImode or V2DFmode.
2592         (vspltis_constant): Do not handle V2DImode and V2DFmode.
2593         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
2594         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
2595         registers to 0.
2596         (movdi_internal64): Likewise.
2597
2598 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
2599
2600         PR tree-optimization/47127
2601         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
2602         parameter.
2603         (set_cloog_options): Same.
2604         (scop_to_clast): Same.
2605         (print_clast_stmt): Do not call cloog_state_malloc and
2606         cloog_state_free.
2607         (print_generated_program): Same.
2608         (gloog): Same.
2609         * graphite-clast-to-gimple.h (cloog_state): Declared.
2610         (scop_to_clast): Adjust declaration.
2611         * graphite.c (cloog_state): Defined here.
2612         (graphite_initialize): Call cloog_state_malloc.
2613         (graphite_finalize): Call cloog_state_free.
2614
2615 2011-03-11  Jason Merrill  <jason@redhat.com>
2616
2617         * attribs.c (lookup_attribute_spec): Take const_tree.
2618         * tree.h: Adjust.
2619
2620 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
2621
2622         * config/sparc/sparc.c (sparc_option_override): Use
2623         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
2624
2625 2011-03-11  Richard Guenther  <rguenther@suse.de>
2626
2627         PR tree-optimization/48067
2628         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
2629         multiplication result will be only used once on the target
2630         stmt.
2631
2632 2011-03-11  Richard Guenther  <rguenther@suse.de>
2633
2634         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
2635
2636 2011-03-11  Richard Guenther  <rguenther@suse.de>
2637
2638         PR lto/48073
2639         * tree.c (find_decls_types_r): Do not walk types only reachable
2640         from IDENTIFIER_NODEs.
2641
2642 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
2643
2644         PR middle-end/48044
2645         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
2646         all vnode->force_output nodes as needed.
2647
2648 2011-03-11  Jason Merrill  <jason@redhat.com>
2649
2650         PR c++/48069
2651         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
2652         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
2653
2654 2011-03-11  Martin Jambor  <mjambor@suse.cz>
2655
2656         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
2657         cgraph_node.
2658
2659 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
2660
2661         PR tree-optimization/48063
2662         * ipa-inline.c (cgraph_decide_inlining): Don't try to
2663         inline functions called once if !tree_can_inline_p (node->callers).
2664
2665 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
2666
2667         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
2668         extra_objs.
2669         * config/score/score3.c: Delete.
2670         * config/score/score3.h: Delete.
2671         * config/score/mul-div.S: Delete.
2672         * config/score/sfp-machine.h: Add new file.
2673         * config/score/constraints.md: Add new file.
2674         * config/score/t-score-softfp: Add new file.
2675         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
2676         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
2677         (score7_extra_constraint): Delete.
2678         (score7_option_override): Remove unused code.
2679         * config/score/score.c: Remove score3 and score5 define and code.
2680         * config/score/score.h: Remove score3 and score5 define and code.
2681         * config/score/score.md: Remove score3 template and unusual insn.
2682         * config/score/score.opt: Remove score3 and score5 options.
2683
2684 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2685
2686         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
2687         when _HPUX_SOURCE is defined.
2688         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
2689
2690 2011-03-10  Jason Merrill  <jason@redhat.com>
2691
2692         PR c++/48029
2693         * stor-layout.c (layout_type): Don't set structural equality
2694         on arrays of incomplete type.
2695         * tree.c (type_hash_eq): Handle comparing them properly.
2696
2697 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
2698
2699         PR debug/48043
2700         * config/s390/s390.c (s390_delegitimize_address): Make sure the
2701         result mode matches original rtl mode.
2702
2703 2011-03-10  Nick Clifton  <nickc@redhat.com>
2704
2705         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
2706         (andsi3, andsi3_flags): Fix timings for three operand alternative.
2707
2708 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
2709
2710         PR rtl-optimization/47866
2711         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
2712         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
2713         if target wasn't scalar.
2714         * function.c (assign_stack_temp_for_type): Assert that neither
2715         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
2716         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
2717         macro.
2718         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
2719
2720 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2721
2722         * config/s390/s390-protos.h (s390_label_align): New prototype.
2723         * config/s390/s390.c (s390_label_align): New function.
2724         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
2725
2726 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
2727
2728         PR target/47755
2729         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
2730         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
2731         (output_vec_const_move): Ditto.
2732
2733 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
2734
2735         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
2736         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
2737         * config/mips/mips.c (mips_preferred_reload_class): Make static.
2738         Change 'rclass' argument and result type to reg_class_t.
2739         (TARGET_PREFERRED_RELOAD_CLASS): Define.
2740
2741 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
2742
2743         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2744         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
2745         (TARGET_MEMORY_MOVE_COST): Define.
2746         (avr_register_move_cost, avr_memory_move_cost): New Functions.
2747
2748 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
2749
2750         PR debug/47881
2751         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
2752         removed anything.
2753
2754         PR tree-optimization/48022
2755         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
2756         for EQ/NE_EXPR.
2757
2758 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
2759
2760         PR debug/47991
2761         * var-tracking.c (find_use_val): Return NULL for
2762         cui->sets && cui->store_p BLKmode MEMs.
2763
2764 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
2765
2766         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
2767         Remove.
2768         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
2769         xstormy16_print_operand_address): Remove.
2770         * config/stormy16/stormy16.c (xstormy16_print_operand,
2771         xstormy16_print_operand_address): Make static.
2772         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
2773
2774 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
2775
2776         PR target/47862
2777         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
2778         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
2779         before definition.
2780
2781 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
2782
2783         PR bootstrap/48000
2784         * cfgloopmanip.c (fix_bb_placements): Return immediately
2785         if FROM is BASE_LOOP's header.
2786
2787 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
2788
2789         * gimplify.c (gimplify_function_tree): Fix building calls
2790         to __builtin_return_address.
2791
2792 2011-03-07  Alan Modra  <amodra@gmail.com>
2793
2794         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
2795         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
2796         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
2797         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
2798         return_mode args.
2799         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
2800         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
2801         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
2802         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
2803         * config/rs6000/rs6000.c
2804         (rs6000_elf_end_indicate_exec_stack): Rename to..
2805         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
2806         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
2807         (rs6000_file_start): ..here.
2808         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
2809         file scope variables.
2810         (call_ABI_of_interest): New function.
2811         (init_cumulative_args): Set above vars when function return value
2812         is a float, vector, or small struct.
2813         (rs6000_function_arg_advance_1): Likewise for function args.
2814         (rs6000_va_start): Set rs6000_passes_float if variable arg function
2815         references float args.
2816
2817 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
2818
2819         * doc/cfg.texi: Remove "See" before @ref.
2820         * doc/invoke.texi: Likewise.
2821
2822 2011-03-05  Jason Merrill  <jason@redhat.com>
2823
2824         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
2825
2826 2011-03-05  Anthony Green  <green@moxielogic.com>
2827
2828         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
2829
2830 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
2831
2832         PR rtl-optimization/47899
2833         * cfgloopmanip.c (fix_bb_placements): Fix first argument
2834         to flow_loop_nested_p when moving the loop upward.
2835
2836 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
2837
2838         PR target/47719
2839         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
2840
2841 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
2842
2843         PR tree-optimization/47967
2844         * ipa-cp.c (build_const_val): Return NULL instead of creating
2845         VIEW_CONVERT_EXPR for mismatching sizes.
2846         (ipcp_create_replace_map): Return NULL if build_const_val failed.
2847         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
2848         give up on versioning.
2849
2850 2011-03-05  Alan Modra  <amodra@gmail.com>
2851
2852         PR target/47986
2853         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2854         full cmodel medium/large lo_sum + high addresses.
2855
2856 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2857
2858         * config/s390/s390.c (s390_decompose_address): Reject non-literal
2859         pool references in UNSPEC_LTREL_OFFSET.
2860
2861 2011-03-04  Jan Hubicka  <jh@suse.cz>
2862
2863         PR lto/47497
2864         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
2865         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
2866         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node pointers.
2867         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
2868         cgraph_add_thunk): Add node pointers.
2869         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
2870         associated to right node.
2871         (input_node): Update use of cgraph_same_body_alias
2872         and cgraph_add_thunk.
2873
2874 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
2875
2876         * config/i386/i386.opt (mprefer-avx128): New flag.
2877         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
2878         when the flag -mprefer-avx128 is on.
2879
2880 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
2881
2882         * dwarf2out.c (compare_loc_operands): Fix address handling.
2883
2884 2011-03-04  Alan Modra  <amodra@gmail.com>
2885
2886         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
2887
2888 2011-03-04  Richard Guenther  <rguenther@suse.de>
2889
2890         PR middle-end/47968
2891         * expmed.c (extract_bit_field_1): Prefer vector modes that
2892         vec_extract patterns can handle.
2893
2894 2011-03-04  Richard Guenther  <rguenther@suse.de>
2895
2896         PR middle-end/47975
2897         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
2898
2899 2011-03-04  Richard Henderson  <rth@redhat.com>
2900
2901         * explow.c (emit_stack_save): Remove 'after' parameter.
2902         (emit_stack_restore): Likewise.
2903         * expr.h: Update to match.
2904         * builtins.c, calls.c, stmt.c: Likewise.
2905         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
2906         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
2907         * function.c (expand_function_end): Insert the emit_stack_save
2908         sequence before parm_birth_insn instead of after.
2909
2910 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
2911
2912         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
2913         (ssse3_pmaddubsw128): Ditto.
2914         (ssse3_pmaddubsw): Ditto.
2915
2916 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
2917
2918         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
2919
2920 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
2921
2922         PR c/47963
2923         * gimplify.c (omp_add_variable): Only call omp_notice_variable
2924         on TYPE_SIZE_UNIT if it is a DECL.
2925
2926         PR debug/47283
2927         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
2928         first operand is not is_gimple_mem_ref_addr, try to fold it.
2929         If the operand still isn't is_gimple_mem_ref_addr, clear
2930         MEM_EXPR on op0.
2931
2932 2011-03-03  Richard Guenther  <rguenther@suse.de>
2933
2934         PR middle-end/47283
2935         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
2936         match comment.
2937         (refs_may_alias_p_1): For release branches return true if
2938         we are confused by our input.
2939
2940 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2941
2942         * config/s390/s390.c (s390_function_value): Rename to ...
2943         (s390_function_and_libcall_value): ... this.
2944         (s390_function_value): New function.
2945         (s390_libcall_value): New function.
2946         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
2947         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
2948         target macro definitions.
2949         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
2950
2951 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
2952
2953         * config/i386/freebsd64.h (CC1_SPEC): Define.
2954         * config/i386/linux64.h (CC1_SPEC): Define.
2955         * config/i386/x86-64.h (CC1_SPEC): Don't define.
2956
2957 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
2958
2959         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2960         Remove.
2961         * config/stormy16/stormy16.c: Include reload.h.
2962         (xstormy16_memory_move_cost): New function.
2963         (TARGET_MEMORY_MOVE_COST): Define.
2964
2965 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
2966
2967         PR rtl-optimization/47925
2968         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
2969         with side effects.  Remove the more-specific check for volatile asms.
2970
2971 2011-03-02  Alan Modra  <amodra@gmail.com>
2972
2973         PR target/47935
2974         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
2975         toc relative addresses for valid offsets.
2976
2977 2011-03-01  Richard Guenther  <rguenther@suse.de>
2978
2979         PR tree-optimization/47890
2980         * tree-vect-loop.c (get_initial_def_for_induction): Set
2981         related stmt properly.
2982
2983 2011-03-01  Richard Guenther  <rguenther@suse.de>
2984
2985         PR lto/47924
2986         * lto-streamer.c (lto_record_common_node): Also register
2987         the canonical type.
2988
2989 2011-03-01  Richard Guenther  <rguenther@suse.de>
2990
2991         PR lto/46911
2992         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2993         Do not stream DECL_ABSTRACT_ORIGIN.
2994         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2995         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2996         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2997         Do not stream DECL_ABSTRACT_ORIGIN.
2998         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2999         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3000
3001 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
3002
3003         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
3004         FUNCTION_VALUE_REGNO_P): Remove.
3005         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
3006         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
3007         Add 'outgoing' argument.
3008         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
3009         function.
3010         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3011         TARGET_FUNCTION_VALUE_REGNO_P): Define.
3012
3013 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
3014
3015         PR debug/28047
3016         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
3017         (lookup_filename): Likewise.
3018         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
3019
3020 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
3021             Jakub Jelinek  <jakub@redhat.com>
3022
3023         PR middle-end/47893
3024         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
3025         (assign_stack_local_1): Change last argument type to int.
3026         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
3027         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
3028         don't record padding space into frame_space_list nor use those areas.
3029         (assign_stack_local): Adjust caller.
3030         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
3031         of assign_stack_local, pass 0 as last argument.
3032         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
3033         callers.
3034
3035 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
3036
3037         PR debug/47283
3038         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
3039         Use target address_mode and pointer_mode hooks instead of hardcoded
3040         Pmode and ptr_mode.  Handle some simple cases of extending if
3041         POINTERS_EXTEND_UNSIGNED < 0.
3042         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
3043         Call convert_debug_memory_address.
3044         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
3045         convert_debug_memory_address.
3046
3047         PR middle-end/46790
3048         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
3049         * configure: Regenerated.
3050         * config.in: Regenerated.
3051         * varasm.c (default_function_section): Return NULL
3052         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
3053
3054 2011-02-28  Martin Jambor  <mjambor@suse.cz>
3055
3056         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
3057         the description to match the printed values.
3058
3059 2011-02-28  Richard Guenther  <rguenther@suse.de>
3060
3061         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
3062         of the copied scope tree.
3063
3064 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3065
3066         * doc/extend.texi (Function Attributes): Avoid deeply (and
3067         wrongly) nested tables.
3068
3069 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
3070
3071         PR middle-end/47903
3072         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
3073         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
3074         r isn't op0 nor op1.
3075
3076 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3077
3078         * config/avr/avr.md: Remove magic comment for emacs.
3079
3080 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3081
3082         PR target/45261
3083         * config/avr/avr.c (avr_option_override): Use error on bad options.
3084         (avr_help): New function.
3085         (TARGET_HELP): Define.
3086
3087 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
3088
3089         PR target/42240
3090         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
3091         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
3092
3093 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
3094
3095         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
3096         (ARM Options): Ditto.
3097         (i386 and x86-64 Options): Ditto.
3098         (RX Options): Ditto.
3099         (SPARC Options): Ditto.
3100
3101 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
3102
3103         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
3104         FreeBSD 6 and later.  Generally use cpu generic.
3105
3106 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
3107
3108         * doc/cpp.texi: Update copyright years.
3109
3110 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
3111
3112         PR target/46898
3113         * config/lm32/lm32.md (ashrsi3): Added needed variable.
3114
3115 2011-02-25  Jon Beniston  <jon@beniston.com>
3116
3117         PR target/46898
3118         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
3119         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
3120         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
3121         (lm32_block_move_inline): Add type cast to remove warning.
3122         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
3123         (gen_int_relational): Move declarations to start of function.
3124
3125 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
3126
3127         PR tree-optimization/45470
3128         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
3129         can throw internally only.
3130         * tree-vect-stmts.c (vectorizable_call): Likewise.
3131
3132 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
3133
3134         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
3135         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3136         * config/stormy16/stormy16-protos.h
3137         (xstormy16_preferred_reload_class): Remove.
3138         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
3139         static. Change 'rclass' argument and return type to reg_class_t.
3140         (TARGET_PREFERRED_RELOAD_CLASS,
3141         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3142
3143 2011-02-24  Richard Guenther  <rguenther@suse.de>
3144
3145         * lto-streamer-in.c (input_bb): Do not find referenced vars
3146         in debug statements.
3147
3148 2011-02-23  Jason Merrill  <jason@redhat.com>
3149
3150         * common.opt (fabi-version): Document v5 and v6.
3151
3152 2011-02-23  Richard Guenther  <rguenther@suse.de>
3153
3154         PR tree-optimization/47849
3155         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
3156
3157 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3158
3159         * opts-common.c (decode_cmdline_option): Print empty string
3160         argument as "" in decoded->orig_option_with_args_text.
3161         * gcc.c (execute): Print empty string argument as ""
3162         in the verbose output.
3163         (do_spec_1): Keep empty string argument.
3164
3165 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
3166
3167         * config.gcc: Declare score-* and crx-* obsolete.
3168
3169 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3170
3171         PR rtl-optimization/47763
3172         * web.c (web_main): Ignore naked clobber when replacing register.
3173
3174 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
3175
3176         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
3177         Remove.
3178
3179 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3180
3181         PR doc/47848
3182         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
3183
3184 2011-02-22  Mike Stump  <mikestump@comcast.net>
3185
3186         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
3187         assembler.
3188         * configure: Regenerate.
3189
3190 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
3191
3192         PR rtl-optimization/46002
3193         * ira-color.c (update_copy_costs): Change class intersection
3194         test to reg_class_contents[] test of 'hard_regno'.
3195
3196 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
3197
3198         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
3199         than Driver option.
3200         * config/hpux11.opt (mt): Likewise.
3201         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
3202         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
3203         * config/vax/elf.opt (mno-asm-pic): Likewise.
3204         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
3205
3206 2011-02-21  Mike Stump  <mikestump@comcast.net>
3207
3208         PR target/47822
3209         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
3210         tree so we can get save the type.
3211         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
3212         for CFString instead of trying to use past the end of the builtins.
3213         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
3214         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
3215         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
3216         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
3217         Rename to darwin_builtin_cfstring.
3218         (darwin_init_cfstring_builtins): Return the built type.
3219
3220 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
3221
3222         PR target/47840
3223         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
3224         (_mm256_insert_epi64): Use _mm_insert_epi64.
3225
3226 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
3227
3228         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3229         * config/stormy16/stormy16-protos.h
3230         (xstormy16_mode_dependent_address_p): Remove.
3231         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
3232         Make static. Change return type to bool. Change argument type to
3233         const_rtx. Remove dead code.
3234         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3235
3236 2011-02-21  Richard Guenther  <rguenther@suse.de>
3237
3238         PR lto/47820
3239         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3240         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3241         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
3242         TUs context.
3243         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3244         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3245
3246 2011-02-20  Richard Guenther  <rguenther@suse.de>
3247
3248         PR lto/47822
3249         * tree.c (free_lang_data_in_decl): Clean builtins from
3250         the TU decl BLOCK_VARS.
3251
3252 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
3253
3254         PR debug/47620
3255         PR debug/47630
3256         * haifa-sched.c (fix_tick_ready): Skip tick computation
3257         for debug insns.
3258
3259 2011-02-19  Richard Guenther  <rguenther@suse.de>
3260
3261         PR lto/47647
3262         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
3263         Remove lazy BLOCK_VARS streaming.
3264         (lto_input_ts_block_tree_pointers): Likewise.
3265         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
3266
3267 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3268
3269         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
3270
3271 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3272
3273         * config/i386/biarch32.h, config/i386/mach.h,
3274         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
3275
3276 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3277
3278         PR target/47800
3279         * config/i386/i386.md (peephole2 for shift and plus): Use
3280         operands[1] original mode in the first insn.
3281
3282 2011-02-18  Mike Stump  <mikestump@comcast.net>
3283
3284         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
3285
3286 2011-02-18  Jan Hubicka  <jh@suse.cz>
3287
3288         PR middle-end/47788
3289         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
3290         to zero when the function is not inlinable at all.
3291
3292 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3293
3294         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
3295         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3296         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
3297         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
3298         * config/pa/t-pa64: Likewise.
3299         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3300
3301 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3302
3303         PR driver/47787
3304         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
3305
3306 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3307
3308         PR target/47792
3309         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
3310
3311 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
3312
3313         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
3314         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
3315         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
3316         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3317         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
3318         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
3319         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
3320         m32r_load_postinc_p, m32r_store_preinc_predec_p,
3321         m32r_legitimate_address_p): New functions.
3322         * config/m32r/constraints.md (constraint "S"): Don't use
3323         STORE_PREINC_PREDEC_P.
3324         (constraint "U"): Don't use LOAD_POSTINC_P.
3325
3326 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
3327
3328         PR rtl-optimization/46178
3329         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
3330         compute ira_hard_regno_cover_class[].
3331
3332 2011-02-18  Richard Guenther  <rguenther@suse.de>
3333
3334         PR lto/47798
3335         * lto-streamer.h (lto_global_var_decls): Declare.
3336         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
3337         statics for global var processing.
3338
3339 2011-02-18  Richard Guenther  <rguenther@suse.de>
3340
3341         PR tree-optimization/47737
3342         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
3343         edge dominance check.
3344
3345 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3346
3347         PR debug/47780
3348         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
3349         avoid invalid rtx sharing.
3350
3351 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
3352
3353         * doc/cpp.texi (Obsolete Features): Add background on the
3354         origin of assertions.
3355
3356 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3357
3358         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
3359         objc_abi == 2.
3360         * config/darwin.c (output_objc_section_asm_op): Added support for
3361         ABI v1 and v2.
3362         (is_objc_metadata): New.
3363         (darwin_objc2_section): New.
3364         (darwin_objc1_section): New.
3365         (machopic_select_section): Added support for ABI v1 and v2.
3366         (darwin_emit_objc_zeroed): New.
3367         (darwin_output_aligned_bss): Detect objc metadata and treat it
3368         appropriately.
3369         (darwin_asm_output_aligned_decl_common): Same.
3370         (darwin_asm_output_aligned_decl_local): Same.
3371         * config/darwin-sections.def: Updated for ABI v1 and v2.
3372         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
3373         compiling Objective-C code for the NeXT runtime, default to using
3374         ABI version 0 for 32-bit, and version 2 for 64-bit.
3375
3376 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3377
3378         * common.opt (optimize_fast): New Variable.
3379         * opts.c (default_options_optimization): Use opts->x_optimize_fast
3380         instead of local variable ofast.
3381
3382 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3383
3384         * doc/invoke.texi (fobjc-abi-version): Documented.
3385         (fobjc-nilcheck): Documented.
3386         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
3387         version.
3388
3389 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3390
3391         PR driver/47390
3392         * common.opt (export-dynamic): New Driver option.
3393         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
3394
3395 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3396
3397         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
3398
3399 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
3400             Jan Hubicka  <jh@suse.cz>
3401
3402         PR debug/47106
3403         PR debug/47402
3404         * cfgexpand.c (account_used_vars_for_block): Remove.
3405         (estimated_stack_frame_size): Use referenced vars.
3406         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
3407         that were referenced in the original function.  Test src_fn
3408         rather than cfun.  Drop redundant get_var_ann.
3409         (setup_one_parameter): Drop redundant get_var_ann.
3410         (declare_return_variable): Likewise.
3411         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
3412         (copy_arguments_for_versioning): Drop redundant get_var_ann.
3413         * ipa-inline.c (compute_inline_parameters): Do not compute
3414         disregard_inline_limits here.
3415         (compute_inlinable_for_current, pass_inlinable): New.
3416         (pass_inline_parameters): Require PROP_referenced_vars.
3417         * cgraphunit.c (cgraph_process_new_functions): Don't run
3418         compute_inline_parameters explicitly unless function is in SSA form.
3419         (cgraph_analyze_function): Set .disregard_inline_limits.
3420         * tree-sra.c (convert_callers): Compute inliner parameters
3421         only for functions already in SSA form.
3422
3423 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3424
3425         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
3426         -mlittle-endian-data.
3427
3428 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3429
3430         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
3431         -mno-fpu, not -fpu and -no-fpu.
3432         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
3433         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
3434
3435 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
3436
3437         PR target/43653
3438         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
3439         input reload with PLUS RTX.
3440
3441 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3442
3443         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
3444         of InverseVar(MDMX).
3445
3446 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3447
3448         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
3449         --m4-340.
3450
3451 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3452
3453         * config/mn10300/mn10300.opt (mno-crt0): New.
3454
3455 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3456
3457         * config/m68k/uclinux.opt (static-libc): New Driver option.
3458
3459 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3460
3461         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
3462
3463 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3464
3465         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
3466         %{muser-extend-enabled}.
3467
3468 2011-02-16  Richard Guenther  <rguenther@suse.de>
3469
3470         PR tree-optimization/47738
3471         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
3472         the TODO from tree_predictive_commoning.
3473
3474 2011-02-15  Jeff Law  <law@redhat.com>
3475
3476         Revert
3477         2011-01-25  Jeff Law  <law@redhat.com>
3478
3479         PR rtl-optimization/37273
3480         * ira-costs.c (scan_one_insn): Detect constants living in memory and
3481         handle them like argument loads from stack slots.  Do not double
3482         count memory for memory constants and argument loads from stack slots.
3483
3484 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
3485
3486         PR middle-end/47725
3487         * combine.c (cant_combine_insn_p): Revert the last change.
3488
3489 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
3490
3491         PR target/47755
3492         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
3493         mode for vector constants.  Remove code that checks for TImode.
3494
3495 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3496
3497         PR debug/47106
3498         PR debug/47402
3499         * cgraph.h (compute_inline_parameters): Return void.
3500         * ipa-inline.c (compute_inline_parameters): Adjust.
3501
3502 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3503
3504         PR debug/47106
3505         PR debug/47402
3506         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
3507         rather than decl.
3508         * cfgexpand.c (estimated_stack_frame_size): Likewise.
3509         * ipa-inline.c (compute_inline_parameters): Adjust.
3510
3511 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3512
3513         PR debug/47106
3514         PR debug/47402
3515         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
3516         Adjust all users.  Pass FN to...
3517         * tree-flow-inline.h (first_referenced_var): ... this.  Add
3518         fn argument.
3519         * ipa-struct-reorg.c: Adjust.
3520         * tree-dfa.c: Adjust.
3521         * tree-into-ssa.c: Adjust.
3522         * tree-sra.c: Adjust.
3523         * tree-ssa-alias.c: Adjust.
3524         * tree-ssa-live.c: Adjust.
3525         * tree-ssa.c: Adjust.
3526         * tree-ssanames.c: Adjust.
3527         * tree-tailcall.c: Adjust.
3528
3529 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3530
3531         PR debug/47106
3532         PR debug/47402
3533         * tree-flow.h (referenced_var_lookup): Add fn parameter.
3534         Adjust all callers.
3535         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
3536         * tree-flow-inline.h: Adjust.
3537         * gimple-pretty-print.c: Adjust.
3538         * tree-into-ssa.c: Adjust.
3539         * tree-ssa.c: Adjust.
3540         * cfgexpand.c: Adjust.
3541
3542 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
3543
3544         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
3545         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3546         (EXTRA_CONSTRAINT): Delete.
3547         * config/iq2000/constraints.md: New file.
3548         * config/iq2000/iq2000.md: Include it.
3549         (define_insn ""): Delete.
3550         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
3551         unsupported constraint letters from patterns.
3552         (call_value, call_value_internal1): Likewise.
3553         (call_value_multiple_internal1): Likewise.
3554
3555 2011-02-15  Nick Clifton  <nickc@redhat.com>
3556
3557         * config/mn10300/mn10300.c: Include tm-constrs.h.
3558         (struct liw_data): New data structure describing an LIW candidate
3559         instruction.
3560         (extract_bundle): Use struct liw_data.  Allow small integer
3561         operands for some instructions.
3562         (check_liw_constraints): Use struct liw_data.  Remove swapped
3563         parameter.  Add comments describing the checks.  Fix bug when
3564         assigning the source of liw1 to the source of liw2.
3565         (liw_candidate): Delete.  Code moved into extract_bundle.
3566         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
3567         before swapping.
3568         * config/mn10300/predicates.md (liw_operand): New predicate.
3569         Allows registers and small integer constants.
3570         * config/mn10300/constraints.md (O): New constraint.  Accetps
3571         integers in the range -8 to +7 inclusive.
3572         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
3573         for moving a small integer into a register.  Give this alternative
3574         LIW attributes.
3575         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
3576         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
3577         using the J,K,L and M constraints,
3578         (liw): Remove SI mode on second operands to allow for HI and QI
3579         mode values.
3580         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
3581         instruction.
3582
3583 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
3584
3585         PR middle-end/47725
3586         * combine.c (cant_combine_insn_p): Check zero/sign extended
3587         hard registers.
3588
3589 2011-02-15  Richard Guenther  <rguenther@suse.de>
3590
3591         PR tree-optimization/47743
3592         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
3593         for a non-type-compatible VN lookup bail out.
3594
3595 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
3596
3597         * config/fr30/constraints.md: New file.
3598         * config/fr30/fr30.md: Include it.
3599         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
3600         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3601         (EXTRA_CONSTRAINT): Delete.
3602
3603 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
3604
3605         * config/frv/constraints.md: New file.
3606         * config/frv/predicates.md: Include it.
3607         * config/frv/frv.c (reg_class_from_letter): Delete.
3608         (frv_option_override): Don't initialize it.
3609         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
3610         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
3611         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
3612         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
3613         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
3614         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3615         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
3616         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
3617         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
3618         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
3619         (REG_CLASS_FROM_CONSTRAINT): Delete.
3620
3621 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
3622
3623         PR middle-end/47581
3624         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
3625         if frame size is 0 in a leaf function.
3626
3627 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3628
3629         PR pch/14940
3630         * config/alpha/host-osf.c: New file.
3631         * config/alpha/x-osf: New file.
3632         * config.host (alpha*-dec-osf*): Use it.
3633
3634 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
3635
3636         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3637         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
3638         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
3639         (rx_mode_dependent_address_p): ...this. Make static. Change argument
3640         type to const_rtx.
3641         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3642
3643 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
3644
3645         * config/stormy16/constraints.md: New file.
3646         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
3647         Use satisfies_constraint_Q and satisfies_constraint_R.
3648         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
3649         Delete.
3650         (xstormy16_legitiamte_address_p): Declare.
3651         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
3652         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3653         (EXTRA_CONSTRAINT): Delete.
3654         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
3655         Un-staticize.
3656         (xstormy16_extra_constraint_p): Delete.
3657
3658 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
3659
3660         PR tree-optimization/46494
3661         * loop-unroll.c (split_edge_and_insert): Adjust comment.
3662         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
3663         (pass_rtl_loop_done): Add TODO_verify_flow.
3664         * fwprop.c (pass_rtl_fwprop): Likewise.
3665         * modulo-sched.c (pass_sms): Likewise.
3666         * tree-ssa-dom.c (pass_dominator): Likewise.
3667         * tree-ssa-loop-ch.c (pass_ch): Likewise.
3668         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
3669         (pass_tree_loop_done): Likewise.
3670         * tree-ssa-pre.c (execute_pre): Likewise.
3671         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
3672         * tree-ssa-sink.c (pass_sink_code): Likewise.
3673         * tree-vrp.c (pass_vrp): Likewise.
3674
3675 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
3676
3677         * config/v850/constraints.md: New file.
3678         * config/v850/v850.md: Include it.
3679         * config/v850/predicates.md (reg_or_0_operand): Use
3680         satisfies_constraint_G.
3681         (special_symbolref_operand): Use satisfies_constraint_K.
3682         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
3683         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
3684         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
3685         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
3686         (EXTRA_CONSTRAINT): Delete.
3687         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
3688         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
3689         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
3690
3691 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
3692
3693         PR target/47696
3694         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
3695         description.
3696
3697 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
3698
3699         * config/mcore/constraints.md: New file.
3700         * config/mcore/mcore.md: Include it.
3701         * config/mcore/mcore.c (reg_class_from_letter): Delete.
3702         * config/mcore/mcore.h (reg_class_from_letter): Delete.
3703         (REG_CLASS_FROM_LETTER): Delete.
3704         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
3705         insn_const_int_ok_for_constraint.
3706         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
3707         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
3708         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3709         (EXTRA_CONSTRAINT): Delete.
3710
3711 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3712
3713         PR ada/41929
3714         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
3715         (IS_SIGHANDLER): Define.
3716         (sparc64_is_sighandler): New function, split off from
3717         sparc64_fallback_frame_state.
3718         (sparc_is_sighandler): New function, split off from
3719         sparc_fallback_frame_state.
3720         (sparc64_fallback_frame_state): Merge with ...
3721         (sparc_fallback_frame_state): ... this into ...
3722         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
3723         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
3724         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
3725         stack instead of hardcoded offsets.
3726
3727 2011-02-14  Andriy Gapon  <avg@freebsd.org>
3728
3729         PR target/45808
3730         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
3731
3732 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3733
3734         * configure: Regenerate.
3735
3736 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
3737
3738         PR driver/45731
3739         * gcc.c (asm_options): Correct spec matching --target-help.
3740
3741 2011-02-12  Martin Jambor  <mjambor@suse.cz>
3742
3743         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
3744         to gimple call error.
3745
3746 2011-02-12  Mike Stump  <mikestump@comcast.net>
3747
3748         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
3749         comments in backslash regions.
3750
3751 2011-02-12  Mike Stump  <mikestump@comcast.net>
3752             Jakub Jelinek  <jakub@redhat.com>
3753             Iain Sandoe  <iains@gcc.gnu.org>
3754
3755         PR target/47324
3756         * dwarf2out.c (output_cfa_loc): When required, apply the
3757         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
3758         (output_loc_sequence): Likewise.
3759         (output_loc_operands_raw): Likewise.
3760         (output_loc_sequence_raw): Likewise.
3761         (output_cfa_loc): Likewise.
3762         (output_loc_list): Suppress register number adjustment when
3763         calling output_loc_sequence()
3764         (output_die): Likewise.
3765
3766 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
3767
3768         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
3769         Remove macros.
3770         * config/xtensa/xtensa.c (xtensa_register_move_cost,
3771         xtensa_memory_move_cost): New functions.
3772         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
3773
3774 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
3775
3776         PR lto/47225
3777         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
3778         in the current directory.
3779         * configure: Rebuilt.
3780
3781 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
3782
3783         * config/darwin.c (darwin_override_options): Add a hunk missed
3784         from the commit of r168571.  Trim comment line lengths and
3785         correct indents of the preceding block.
3786
3787 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
3788
3789         * gcc.c (driver_handle_option): Concatenate the argument to -F with
3790         the switch.
3791
3792 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
3793
3794         * common.opt (nostartfiles): New Driver option.
3795
3796 2011-02-11  Xinliang David Li  <davidxl@google.com>
3797
3798         PR tree-optimization/47707
3799         * tree-chrec.c (convert_affine_scev): Keep type precision.
3800
3801 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
3802
3803         PR tree-optimization/47420
3804         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
3805
3806 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
3807
3808         PR rtl-optimization/47614
3809         * rtl.h (check_for_inc_dec): Declare.
3810         * dse.c (check_for_inc_dec): Externalize...
3811         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
3812         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
3813
3814 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
3815
3816         PR driver/47678
3817         * gcc.c (main): Do not compile inputs if there were errors in
3818         option handling.
3819         * opts-common.c (read_cmdline_option): Check for wrong language
3820         after other error checks.
3821
3822 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
3823
3824         * cgraph.c: Fix comment typos.
3825         * cgraph.h: Likewise.
3826         * cgraphunit.c: Likewise.
3827         * ipa-cp.c: Likewise.
3828         * ipa-inline.c: Likewise.
3829         * ipa-prop.c: Likewise.
3830         * ipa-pure-const.c: Likewise.
3831         * ipa-ref.c: Likewise.
3832         * ipa-reference.c: Likewise.
3833
3834 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
3835
3836         PR debug/47684
3837         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
3838
3839 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3840
3841         PR testsuite/47400
3842         * doc/sourcebuild.texi (Require Support): Document
3843         dg-require-ascii-locale.
3844
3845 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
3846
3847         * doc/lto.texi (Write summary): Fix missing parentheses.
3848
3849 2011-02-10  DJ Delorie  <dj@redhat.com>
3850
3851         * config/m32c/m32c.c (m32c_option_override): Disable
3852         -fcombine-stack-adjustments until flag value tracking and compare
3853         optimization can be rewritten.
3854
3855 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
3856
3857         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
3858         PROCESSOR_POWER7.
3859         (PROCESSOR_DEFAULT64): Likewise.
3860
3861 2011-02-10  Richard Henderson  <rth@redhat.com>
3862
3863         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
3864         change from 2011-02-03.
3865         * config/rx/rx.c (flags_from_code): Likewise.
3866         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
3867         is valid, n/pz otherwise.
3868         (rx_select_cc_mode): Return CCmode if Y is not zero.
3869
3870 2011-02-10  Richard Guenther  <rguenther@suse.de>
3871
3872         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
3873
3874 2011-02-10  Richard Guenther  <rguenther@suse.de>
3875
3876         PR tree-optimization/47677
3877         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
3878
3879 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
3880
3881         PR target/47665
3882         * combine.c (make_compound_operation): Only change shifts into
3883         multiplication for SCALAR_INT_MODE_P.
3884
3885 2011-02-10  Jie Zhang  <jie@codesourcery.com>
3886
3887         PR testsuite/47622
3888         Revert
3889         2011-02-05  Jie Zhang  <jie@codesourcery.com>
3890         PR debug/42631
3891         * web.c (entry_register): Don't clobber the number of the
3892         first uninitialized reference in used[].
3893
3894 2011-02-09  Richard Guenther  <rguenther@suse.de>
3895
3896         PR tree-optimization/47664
3897         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
3898         all edges again.
3899
3900 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
3901
3902         PR target/46481
3903         PR target/47032
3904         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
3905         PROCESSOR_POWER7.
3906         (PROCESSOR_DEFAULT64): Same.
3907         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
3908
3909 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3910
3911         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
3912
3913 2011-02-09  Martin Jambor  <mjambor@suse.cz>
3914
3915         PR middle-end/45505
3916         * tree-sra.c (struct access): New flags grp_scalar_read and
3917         grp_scalar_write.  Changed description of assignment read and write
3918         flags.
3919         (dump_access): Dump new flags, reorder all of them.
3920         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
3921         to detect multiple scalar reads.
3922         (analyze_access_subtree): Use the new scalar read write flags instead
3923         of the old flags.  Adjusted comments.
3924
3925 2011-02-08  DJ Delorie  <dj@redhat.com>
3926
3927         PR target/47548
3928         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
3929         patterns.
3930
3931 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3932
3933         * config/m68k/uclinux.opt: New.
3934         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
3935
3936 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3937
3938         * config/cris/elf.opt (sim): New Driver option.
3939
3940 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3941
3942         * config/xtensa/elf.opt: New.
3943         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
3944
3945 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3946
3947         * config/vax/elf.opt: New.
3948         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
3949
3950 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3951
3952         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
3953
3954 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3955
3956         * config/gnu-user.opt: New.
3957         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
3958         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
3959         *-*-uclinux*): Use gnu-user.opt.
3960
3961 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
3962
3963         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
3964         * config/i386/gnu.h (CPP_SPEC): Likewise.
3965
3966 2011-02-08  Ian Lance Taylor  <iant@google.com>
3967
3968         * common.opt (fcx-limited-range): Add SetByCombined flag.
3969         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
3970         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
3971         (fassociative-math, freciprocal-math): Likewise.
3972         (funsafe-math-optimizations): Likewise.
3973         * opth-gen.awk: Handle SetByCombined.
3974         * optc-gen.awk: Likewise.
3975         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
3976         (set_unsafe_math_optimizations_flags): Likewise.
3977         * doc/options.texi (Option properties): Document SetByCombined.
3978
3979 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3980
3981         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
3982         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
3983         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
3984         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
3985         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
3986
3987 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
3988
3989         PR tree-optimization/46834
3990         PR tree-optimization/46994
3991         PR tree-optimization/46995
3992         * graphite-sese-to-poly.c (used_outside_reduction): New.
3993         (detect_commutative_reduction): Call used_outside_reduction.
3994         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
3995         translate_scalar_reduction_to_array only when at least one
3996         loop-phi/close-phi tuple has been detected.
3997
3998 2011-02-08  Richard Guenther  <rguenther@suse.de>
3999
4000         PR middle-end/47639
4001         * tree-vect-generic.c (expand_vector_operations_1): Update
4002         stmts here ...
4003         (expand_vector_operations): ... not here.  Cleanup EH info
4004         and the CFG if required.
4005
4006 2011-02-08  Richard Guenther  <rguenther@suse.de>
4007
4008         PR tree-optimization/47641
4009         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
4010         require type compatibility.
4011
4012 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4013
4014         * gimple-low.c (lower_function_body): Don't remove the location of
4015         the return statement here.
4016         (lower_gimple_return): Do it here instead but only if the return
4017         statement is actually used twice.
4018
4019 2011-02-08  Richard Guenther  <rguenther@suse.de>
4020
4021         PR tree-optimization/47632
4022         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
4023         unused up_to_stmt parameter, return whether cfg-cleanup is
4024         necessary, remove EH info properly.
4025         (forward_propagate_into_gimple_cond): Adjust caller.
4026         (forward_propagate_into_cond): Likewise.
4027         (forward_propagate_comparison): Likewise.
4028         (tree_ssa_forward_propagate_single_use_vars): Make
4029         forward_propagate_comparison case similar to the two others.
4030
4031 2011-02-08  Nick Clifton  <nickc@redhat.com>
4032
4033         * config/mn10300/mn10300.opt (mliw): New command line option.
4034         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
4035         (liw_bundling): New automaton.
4036         (liw): New attribute.
4037         (liw_op): New attribute.
4038         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
4039         (movsi_internal): Add LIW attributes.
4040         (andsi3): Likewise.
4041         (iorsi3): Likewise.
4042         (xorsi3): Likewise.
4043         (addsi3): Separate register and immediate alternatives.
4044         Add LIW attributes.
4045         (subsi3): Likewise.
4046         (cmpsi): Likewise.
4047         (aslsi3): Likewise.
4048         (lshrsi3): Likewise.
4049         (ashrsi3): Likewise.
4050         (liw): New pattern.
4051         * config/mn10300/mn10300.c (liw_op_names): New
4052         (mn10300_print_operand): Handle 'W' operand descriptor.
4053         (extract_bundle): New function.
4054         (check_liw_constraints): New function.
4055         (liw_candidate): New function.
4056         (mn10300_bundle_liw): New function.
4057         (mn10300_reorg): New function.
4058         (TARGET_MACHINE_DEPENDENT_REORG): Define.
4059         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
4060         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
4061         __LIW__ or __NO_LIW__.
4062         * doc/invoke.texi: Describe the -mliw command line option.
4063
4064 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4065
4066         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
4067         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4068         pthread_mutex_unlock): Remove.
4069         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
4070         * config/pa/t-pa64: Likewise.
4071         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
4072         shared libc if not linking against libpthread.
4073         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4074
4075 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
4076
4077         PR target/47558
4078         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
4079         on 10.6 and later to ensure that we always use the unwinder from
4080         the system.  Only add -no_compact_unwind when tarteting darwin
4081         10.6 or later.
4082
4083 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
4084
4085         PR target/46997
4086         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
4087         (vec_interleave_lowv2sf): Ditto.
4088         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
4089         (vec_extract_oddv2sf): Ditto.
4090
4091 2011-02-07  Mike Stump  <mikestump@comcast.net>
4092
4093         PR target/42333
4094         Add __ieee_divdc3 entry point.
4095         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
4096         entry point.
4097         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
4098         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
4099         * config/darwin.c (darwin_rename_builtins): Add.
4100         * config/darwin-protos.h (darwin_rename_builtins): Add.
4101
4102 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
4103
4104         PR target/47636
4105         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
4106         for the condition.
4107
4108 2011-02-07  Mike Stump  <mikestump@comcast.net>
4109
4110         * config/darwin.opt (mmacosx-version-min): Update default OS version.
4111
4112 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
4113
4114         PR target/47534
4115         * config/avr/libgcc.S (exit): Move .endfunc
4116
4117 2011-02-07  Richard Guenther  <rguenther@suse.de>
4118
4119         PR tree-optimization/47615
4120         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
4121         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
4122         (run_scc_vn): Initialize it.
4123         (visit_reference_op_load): Use it.
4124         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
4125
4126 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4127
4128         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
4129         DImode trapping arithmetic libfuncs.
4130
4131 2011-02-07  Richard Guenther  <rguenther@suse.de>
4132
4133         PR tree-optimization/47621
4134         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
4135         two duplicates ...
4136         (execute_update_addresses_taken): ... here.  Make it more
4137         conservative in what we accept.
4138
4139 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4140
4141         * config/sparc/freebsd.h (ASM_SPEC): Define.
4142         * config/sparc/vxworks.h (ASM_SPEC): Define.
4143
4144 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4145
4146         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4147
4148 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
4149
4150         * doc/invoke.texi: Remove reference to compiler internals from
4151         user documentation.
4152
4153         * reg-notes.def: Remove REG_VALUE_PROFILE.
4154         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
4155
4156 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
4157
4158         PR middle-end/47610
4159         * varasm.c (default_section_type_flags): If decl is NULL,
4160         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
4161
4162 2011-02-05  Jie Zhang  <jie@codesourcery.com>
4163
4164         PR debug/42631
4165         * web.c (entry_register): Don't clobber the number of the
4166         first uninitialized reference in used[].
4167
4168 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
4169
4170         PR tree-optimization/46194
4171         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
4172         (build_classic_dist_vector_1): Do not represent classic distance
4173         vectors when the access functions are variating in different loops.
4174
4175 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4176
4177         * config/mips/iris6.opt: New.
4178         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
4179
4180 2011-02-04  Richard Henderson  <rth@redhat.com>
4181             Steve Ellcey  <sje@cup.hp.com>
4182
4183         PR target/46997
4184         * config/ia64/predicates.md (mux1_brcst_element): New.
4185         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
4186         * config/ia64/ia64.c (ia64_unpack_assemble): New.
4187         (ia64_unpack_sign): New.
4188         (ia64_expand_unpack): Rewrite using new routines.
4189         (ia64_expand_widen_sum): Ditto.
4190         (ia64_expand_dot_prod_v8qi): Ditto.
4191         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
4192         routines, add endian check.
4193         (pmpy2_even): Rename from pmpy2_r, add endian check.
4194         (pmpy2_odd): Rename from pmpy2_l, add endian check.
4195         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
4196         (vec_widen_smult_hi_v4hi): Ditto.
4197         (vec_widen_umult_lo_v4hi): Ditto.
4198         (vec_widen_umult_hi_v4hi): Ditto.
4199         (mulv2si3): Change endian checks.
4200         (sdot_prodv4hi): Rewrite with new calls.
4201         (udot_prodv4hi): New.
4202         (vec_pack_ssat_v4hi): Add endian check.
4203         (vec_pack_usat_v4hi): Ditto.
4204         (vec_pack_ssat_v2si): Ditto.
4205         (max1_even): Rename from max1_r, add endian check.
4206         (max1_odd): Rename from max1_l, add endian check.
4207         (*mux1_rev): Format change.
4208         (*mux1_mix): Ditto.
4209         (*mux1_shuf): Ditto.
4210         (*mux1_alt): Ditto.
4211         (*mux1_brcst_v8qi): Use new predicate.
4212         (vec_extract_evenv8qi): Remove endian check.
4213         (vec_extract_oddv8qi): Ditto.
4214         (vec_interleave_lowv4hi): Format change.
4215         (vec_interleave_highv4hi): Ditto.
4216         (mix2_even): Rename from mix2_r, add endian check.
4217         (mix2_odd): Rename from mux2_l, add endian check.
4218         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
4219         (vec_extract_evenodd_helper): Format change.
4220         (vec_extract_evenv4hi): Remove endian check.
4221         (vec_extract_oddv4hi): Remove endian check.
4222         (vec_interleave_lowv2si): Format change.
4223         (vec_interleave_highv2si): Format change.
4224         (vec_initv2si): Remove endian check.
4225         (vecinit_v2si): Add endian check.
4226         (reduc_splus_v2sf): Add endian check.
4227         (reduc_smax_v2sf): Ditto.
4228         (reduc_smin_v2sf): Ditto.
4229         (vec_initv2sf): Remove endian check.
4230         (fpack): Add endian check.
4231         (fswap): Add endian check.
4232         (vec_interleave_highv2sf): Add endian check.
4233         (vec_interleave_lowv2sf): Add endian check.
4234         (fmix_lr): Add endian check.
4235         (vec_setv2sf): Format change.
4236         (*vec_extractv2sf_0_be): Use shift to extract operand.
4237         (*vec_extractv2sf_1_be): New.
4238         (vec_pack_trunc_v4hi): Add endian check.
4239         (vec_pack_trunc_v2si): Format change.
4240
4241 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
4242
4243         PR inline-asm/23200
4244         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
4245         do bb, locus and block comparison and disallow loads if it is not set.
4246         (stmt_is_replaceable_p): New function.
4247         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
4248         callers.
4249         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
4250         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
4251         SSA_NAME_DEF_STMT.
4252         * tree-flow.h (stmt_is_replaceable_p): New prototype.
4253
4254 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4255
4256         * config/rs6000/xilinx.opt: New.
4257         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
4258
4259 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4260
4261         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
4262
4263 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
4264
4265         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
4266         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4267         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
4268         secondary_reload_info, xtensa_secondary_reload): Remove.
4269         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
4270         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4271         (xtensa_preferred_reload_class): Make static. Change return and
4272         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
4273         Use CONST_DOUBLE_P predicate.
4274         (xtensa_preferred_output_reload_class): New function.
4275         (xtensa_secondary_reload): Make static.
4276
4277 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
4278
4279         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
4280         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
4281         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
4282
4283 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4284
4285         PR middle-end/31490
4286         * output.h (SECTION_RELRO): Define.
4287         (SECTION_MACH_DEP): Adjust.
4288         (get_variable_section): New prototype.
4289         * varpool.c (varpool_finalize_named_section_flags): New function.
4290         (varpool_assemble_pending_decls): Call it.
4291         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
4292         * cgraphunit.c (cgraph_output_in_order): Call
4293         varpool_finalize_named_section_flags.
4294         * varasm.c (get_section): Allow section flags conflicts between
4295         relro and read-only sections if the section hasn't been declared yet.
4296         Set SECTION_OVERRIDE after diagnosing section type conflict.
4297         (get_variable_section): No longer static.
4298         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
4299         readonly sections that need relocations.
4300         (decl_readonly_section_1): New function.
4301         (decl_readonly_section): Use it.
4302
4303         Revert:
4304         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
4305                     Steve Ellcey  <sje@cup.hp.com>
4306
4307         PR middle-end/31490
4308         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
4309         if section attribute used.
4310
4311 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4312
4313         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
4314         * config/darwin.c (SECTION_NO_ANCHOR): Define.
4315         (darwin_init_sections): Remove assertion.
4316
4317 2011-02-03  Nick Clifton  <nickc@redhat.com>
4318
4319         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
4320         lt and ge.
4321         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
4322         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
4323         instead of "n" and "pz".
4324         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
4325         CC_FLAG_S.
4326
4327 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4328
4329         PR target/47312
4330         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
4331         fma, expand FMA_EXPR as fma{,f,l} call.
4332
4333         PR lto/47274
4334         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
4335         copy them into a unsigned char variable and pass address of it to
4336         lto_output_data_stream.
4337
4338         PR target/47564
4339         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
4340         around backend_init_target and lang_dependent_init_target calls.
4341         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
4342         (verify_cgraph_node): Don't call set_cfun here.  Use
4343         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
4344         Set error_found for incorrectly represented calls to thunks.
4345
4346 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4347
4348         PR debug/43092
4349         PR rtl-optimization/43494
4350         * rtl.h (for_each_inc_dec_fn): New type.
4351         (for_each_inc_dec): Declare.
4352         * rtlanal.c (struct for_each_inc_dec_ops): New type.
4353         (for_each_inc_dec_find_inc_dec): New fn.
4354         (for_each_inc_dec_find_mem): New fn.
4355         (for_each_inc_dec): New fn.
4356         * dse.c (struct insn_size): Remove.
4357         (replace_inc_dec, replace_inc_dec_mem): Remove.
4358         (emit_inc_dec_insn_before): New fn.
4359         (check_for_inc_dec): Use it, along with for_each_inc_dec.
4360         (canon_address): Pass mem modes to cselib_lookup.
4361         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
4362         (cselib_lookup_from_insn): Likewise.
4363         (cselib_subst_to_values): Likewise.
4364         * cselib.c (find_slot_memmode): New var.
4365         (cselib_find_slot): New fn.  Use it instead of
4366         htab_find_slot_with_hash everywhere.
4367         (entry_and_rtx_equal_p): Use find_slot_memmode.
4368         (autoinc_split): New fn.
4369         (rtx_equal_for_cselib_p): Rename and implement in terms of...
4370         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
4371         Deal with autoinc.  Special-case recursion into MEMs.
4372         (cselib_hash_rtx): Likewise.
4373         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
4374         address and MEM modes.
4375         (cselib_subst_to_values): Add memmode, pass it on.
4376         Deal with autoinc.
4377         (cselib_lookup): Add memmode argument, pass it on.
4378         (cselib_lookup_from_insn): Add memmode.
4379         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
4380         (struct cselib_record_autoinc_data): New.
4381         (cselib_record_autoinc_cb): New fn.
4382         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
4383         mode to cselib_lookup.  Reset autoinced REGs here instead of...
4384         (cselib_process_insn): ... here.
4385         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
4386         to cselib_lookup.
4387         (add_uses): Likewise, also to cselib_subst_to_values.
4388         (add_stores): Likewise.
4389         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
4390         cselib_subst_to_values.
4391         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
4392         * gcse.c (do_local_cprop): Adjusted.
4393         * postreload.c (reload_cse_simplify_set): Adjusted.
4394         (reload_cse_simplify_operands): Adjusted.
4395         * sel-sched-dump (debug_mem_addr_value): Pass mode.
4396
4397 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4398
4399         PR tree-optimization/45122
4400         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
4401         unsafe assumptions when there's more than one loop exit.
4402
4403 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4404
4405         PR target/47272
4406         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4407         Document using vector double with the load/store builtins, and
4408         that the load/store builtins always use Altivec instructions.
4409
4410         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
4411         to use altivec memory instructions, even on VSX.
4412         (vector_altivec_store_<mode>): Ditto.
4413
4414         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
4415         function.
4416
4417         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
4418         V2DF, V2DI support to load/store overloaded builtins.
4419
4420         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
4421         altivec load/store builtins for V2DF/V2DI types.
4422
4423         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
4424         set avoid indexed addresses on power6 if -maltivec.
4425         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
4426         vector_altivec_load/vector_altivec_store builtins.
4427         (altivec_expand_st_builtin): Ditto.
4428         (altivec_expand_builtin): Add VSX memory builtins.
4429         (rs6000_init_builtins): Add V2DI types to internal types.
4430         (altivec_init_builtins): Add support for V2DF/V2DI altivec
4431         load/store builtins.
4432         (rs6000_address_for_altivec): Insure memory address is appropriate
4433         for Altivec.
4434
4435         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
4436         vec_vsx_ld and vec_vsx_st.
4437         (vsx_store_<mode>): Ditto.
4438
4439         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
4440         variables to hold long long types for VSX vector memory builtins.
4441         (RS6000_BTI_unsigned_long_long): Ditto.
4442         (long_long_integer_type_internal_node): Ditti.
4443         (long_long_unsigned_type_internal_node): Ditti.
4444
4445         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
4446         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
4447         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
4448
4449         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
4450         short cuts.
4451         (vec_vsx_st): Ditto.
4452
4453 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4454
4455         * config/pa/pa-hpux10.opt: New.
4456         * config/hpux11.opt (pthread): New Driver option.
4457         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
4458         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
4459
4460 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4461
4462         * config/ia64/vms.opt: New.
4463         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
4464
4465 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
4466
4467         PR target/47580
4468         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
4469         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
4470         generator functions.
4471         (vsx_floatuns<VSi><mode>2): Ditto.
4472         (vsx_fix_trunc<mode><VSi>2): Ditto.
4473         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
4474
4475 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4476
4477         * config/i386/djgpp.opt (posix): New Driver option.
4478
4479 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
4480
4481         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
4482         Move to the unsupported targets list.
4483
4484 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
4485
4486         PR rtl-optimization/47525
4487         * df-scan.c: Update copyright years.
4488         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
4489         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
4490
4491 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4492
4493         * config/i386/sysv4.h (TARGET_VERSION): Remove.
4494         (SUBTARGET_RETURN_IN_MEMORY): Remove.
4495         (ASM_OUTPUT_ASCII): Remove.
4496         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
4497
4498 2011-02-02  Jeff Law  <law@redhat.com>
4499
4500         PR middle-end/47543
4501         * reload.c (find_reloads_address): Handle reg+d address where both
4502         components are invalid by reloading the entire address.
4503
4504 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
4505             Richard Guenther  <rguenther@suse.de>
4506
4507         PR tree-optimization/40979
4508         PR bootstrap/47044
4509         * passes.c (init_optimization_passes): After LIM call copy_prop
4510         and DCE to clean up.
4511         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
4512
4513 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
4514
4515         PR tree-optimization/47576
4516         PR tree-optimization/47555
4517         * doc/invoke.texi (scev-max-expr-complexity): Documented.
4518         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
4519         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
4520         * tree-scalar-evolution.c (follow_ssa_edge): Use
4521         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
4522
4523 2011-02-02  Richard Guenther  <rguenther@suse.de>
4524
4525         PR tree-optimization/47566
4526         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
4527
4528 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
4529
4530         PR debug/47106
4531         PR debug/47402
4532         * tree-inline.c (declare_return_variable): Remove unused caller
4533         variable.
4534
4535         PR debug/47106
4536         PR debug/47402
4537         * tree-flow-inline.h (clear_is_used, is_used_p): New.
4538         * cfgexpand.c (account_used_vars_for_block): Use them.
4539         * tree-nrv.c (tree_nrv): Likewise.
4540         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
4541         (dump_scope_block): Likewise.
4542         (remove_unused_locals): Likewise.
4543
4544         PR debug/47106
4545         PR debug/47402
4546         * tree-inline.c (declare_return_variable): Add result decl to
4547         local decls only once.
4548         * gimple-low.c (record_vars_into): Mark newly-created variables
4549         as referenced.
4550
4551 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
4552
4553         PR debug/47498
4554         PR debug/47501
4555         PR debug/45136
4556         PR debug/45130
4557         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4558         debug insns.
4559         (no_real_insns_p, schedule_block, set_priorities): Drop special
4560         treatment of boundary debug insns.
4561         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
4562         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
4563         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4564         (BOUNDARY_DEBUG_INSN_P): Likewise.
4565         (SCHEDULE_DEBUG_INSN_P): Likewise.
4566         * sched-rgn.c (init_ready_list): Drop special treatment of
4567         boundary debug insns.
4568         * final.c (rest_of_clean_state): Clear notes' BB.
4569
4570 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4571
4572         * config/openbsd.opt (assert=): New Driver option.
4573
4574 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4575
4576         * config/i386/nto.opt: New.
4577         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
4578
4579 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4580
4581         * config/i386/netware.opt: New.
4582         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
4583
4584 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4585
4586         * config/interix.opt (posix): New Driver option.
4587
4588 2011-02-01  DJ Delorie  <dj@redhat.com>
4589
4590         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
4591
4592         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
4593         class for A0/A1.
4594
4595 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
4596
4597         PR tree-optimization/47561
4598         * toplev.c (process_options): Print the Graphite flags.  Add
4599         flag_loop_flatten to the list of options requiring Graphite.
4600
4601 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4602
4603         * config/i386/cygming.opt (posix): New Driver option.
4604
4605 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4606
4607         * config/arm/vxworks.opt: New.
4608         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
4609
4610 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
4611
4612         * config/alpha/elf.opt: New.
4613         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
4614         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
4615
4616 2011-02-01  Richard Guenther  <rguenther@suse.de>
4617
4618         PR tree-optimization/47559
4619         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
4620         store-motion on references that can throw.
4621
4622 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
4623
4624         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
4625         * tree-pass.h (TDF_CSELIB): New macro.
4626         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
4627         cselib_lookup): Check for it rather than for TDF_DETAILS.
4628
4629 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
4630
4631         PR driver/47547
4632         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
4633         is HOST_BIT_BUCKET.
4634
4635         * opts.c (finish_options): Don't add x_aux_base_name if it is
4636         HOST_BIT_BUCKET.
4637
4638 2011-02-01  Richard Guenther  <rguenther@suse.de>
4639
4640         PR tree-optimization/47555
4641         Revert
4642         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
4643
4644         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
4645
4646 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
4647
4648         PR gcc/46692
4649         * config/lm32/t-lm32: Add multilib for all CPU options.
4650
4651 2011-02-01  Richard Guenther  <rguenther@suse.de>
4652
4653         PR tree-optimization/47541
4654         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
4655         sure to have a field at offset zero.
4656
4657 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
4658
4659         * config/arc/arc.opt (EB, EL): New Driver options.
4660
4661 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
4662
4663         * config/alpha/osf5.opt: New.
4664         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
4665
4666 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
4667
4668         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
4669
4670 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
4671
4672         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
4673         -floop-interchange.
4674         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
4675         is an alias of -floop-interchange and that it requires the
4676         Graphite infrastructure.
4677         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
4678         flag_loop_interchange based on the value of flag_tree_loop_linear.
4679
4680 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
4681             Richard Guenther  <rguenther@suse.de>
4682
4683         PR tree-optimization/47538
4684         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
4685         type instead of r1type, except for comparisons.  For right
4686         shifts and comparisons punt if there are mismatches in
4687         sizetype vs. non-sizetype types.
4688
4689 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4690
4691         * doc/sourcebuild.texi (Effective-Target Keywords): Document
4692         avx_runtime.
4693
4694 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4695
4696         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
4697         version number.
4698         * configure: Regenerate.
4699
4700 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4701
4702         * configure.ac (gcc_cv_ld_static_option): Define.
4703         (gcc_cv_ld_dynamic_option): Define.
4704         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
4705         instead.
4706         (HAVE_LD_STATIC_DYNAMIC): Update message.
4707         (LD_STATIC_OPTION): Define.
4708         (LD_DYNAMIC_OPTION): Define.
4709         * configure: Regenerate.
4710         * config.in: Regenerate.
4711         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
4712         HAVE_LD_STATIC_DYNAMIC]: Use them.
4713
4714 2011-01-31  Nick Clifton  <nickc@redhat.com>
4715
4716         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
4717         registers inside interrupt handlers if the handler is not a leaf
4718         function.
4719
4720 2011-01-31  Nick Clifton  <nickc@redhat.com>
4721
4722         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
4723         reg_renumber returning an INVALID_REGNUM.
4724
4725 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
4726
4727         PR libgcj/44341
4728         * doc/install.texi: Document host options discarded when cross
4729         configuring target libraries.
4730
4731 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
4732
4733         Reverted:
4734         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
4735         PR debug/45136
4736         PR debug/45130
4737         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4738         debug insns.
4739         (no_real_insns_p, schedule_block, set_priorities): Drop special
4740         treatment of boundary debug insns.
4741         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
4742         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
4743         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4744         (BOUNDARY_DEBUG_INSN_P): Likewise.
4745         (SCHEDULE_DEBUG_INSN_P): Likewise.
4746         * sched-rgn.c (init_ready_list): Drop special treatment of
4747         boundary debug insns.
4748         * final.c (rest_of_clean-state): Clear notes' BB.
4749
4750 2011-01-31  Alan Modra  <amodra@gmail.com>
4751
4752         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
4753         toc relative expressions as we do in print_operand_address.
4754
4755 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
4756
4757         * doc/extend.texi: Follow spelling conventions.
4758         * doc/invoke.texi: Fix a typo.
4759
4760 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
4761
4762         * config/hpux11.opt: New.
4763         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
4764         ia64*-*-hpux*): Use hpux11.opt.
4765
4766 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
4767
4768         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
4769         to tmake_file.
4770
4771 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
4772
4773         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
4774         support sites.
4775
4776 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
4777
4778         * doc/install.texi (Binaries): Remove outdated reference for
4779         Motorola 68HC11/68HC12 downloads.
4780
4781 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
4782
4783         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
4784         Drepper's paper.
4785
4786 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
4787
4788         PR bootstrap/47147
4789         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
4790         used by NetBSD.
4791
4792 2011-01-28  Ahmad Sharif  <asharif@google.com>
4793
4794         * value-prof.c (check_counter): Corrected error message.
4795
4796 2011-01-29  Jie Zhang  <jie@codesourcery.com>
4797
4798         * config/arm/arm.c (arm_legitimize_reload_address): New.
4799         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4800         arm_legitimize_reload_address.
4801         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
4802
4803 2011-01-28  Ian Lance Taylor  <iant@google.com>
4804
4805         * godump.c (go_define): Ignore macros whose definitions include
4806         two adjacent operands.
4807
4808 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
4809
4810         PR target/42894
4811         * varasm.c (force_const_mem): Store copy of x in desc->constant
4812         instead of x itself.
4813         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
4814         itself into REG_EQUAL note.
4815
4816 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
4817
4818         * config/freebsd.opt (posix, rdynamic): New Driver options.
4819
4820 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4821
4822         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
4823         -Bstatic/-Bdynamic.
4824         * configure: Regenerate.
4825
4826 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
4827
4828         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
4829         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
4830
4831 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
4832
4833         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
4834         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
4835         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
4836         (s390_preferred_reload_class): Make static. Change return and
4837         'rclass' argument type to reg_class_t.
4838
4839 2011-01-27  Jan Hubicka  <jh@suse.cz>
4840
4841         PR middle-end/46949
4842         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
4843         (process_function_and_variable_attributes): Check defined weakrefs.
4844
4845 2011-01-27  Martin Jambor  <mjambor@suse.cz>
4846
4847         PR tree-optimization/47228
4848         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
4849         build_ref_for_offset.
4850
4851 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4852
4853         * config/spu/spu-elf.h (ASM_SPEC): Remove.
4854
4855 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
4856
4857         PR rtl-optimization/46856
4858         * postreload.c (reload_combine_recognize_const_pattern): Do not
4859         separate cc0 setter and user on cc0 targets.
4860
4861 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
4862
4863         PR c/43082
4864         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
4865         passed a VOID_TYPE expression, immediately emit an error and
4866         return error_mark_node.
4867
4868 2011-01-26  Jeff Law  <law@redhat.com>
4869
4870         PR rtl-optimization/47464
4871         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
4872         rather than may_trap_p as needed.
4873
4874 2011-01-26  DJ Delorie  <dj@redhat.com>
4875
4876         PR rtl-optimization/46878
4877         * combine.c (insn_a_feeds_b): Check for the implicit cc0
4878         setter/user dependency as well.
4879
4880 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
4881
4882         PR rtl-optimization/44469
4883         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
4884         after removing trivially dead basic blocks.
4885
4886 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
4887
4888         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
4889         * config/frv/frv.h (LINK_SPEC): Likewise.
4890         * config/i386/netware.h (LINK_SPEC): Likewise.
4891         * config/m68k/linux.h (ASM_SPEC): Likewise.
4892         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
4893         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4894         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4895         * config/sparc/linux.h (ASM_SPEC): Likewise.
4896         * config/sparc/linux64.h (ASM_SPEC): Likewise.
4897         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4898
4899 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
4900
4901         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
4902         * config/frv/frv.h (ASM_SPEC): Likewise.
4903         * config/m68k/linux.h (ASM_SPEC): Likewise.
4904         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4905         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
4906         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4907         * config/sparc/linux.h (ASM_SPEC): Likewise.
4908         * config/sparc/linux64.h (ASM_SPEC): Likewise.
4909         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4910
4911 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
4912
4913         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
4914         * config/frv/frv.h (LINK_SPEC): Likewise.
4915         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4916
4917 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
4918
4919         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
4920         * config/frv/frv.h (ASM_SPEC): Likewise.
4921         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
4922         * config/m68k/linux.h (ASM_SPEC): Likewise.
4923         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4924         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
4925         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4926         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
4927         * config/sparc/linux.h (ASM_SPEC): Likewise.
4928         * config/sparc/linux64.h (ASM_SPEC): Likewise.
4929         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4930         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
4931
4932 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
4933
4934         PR target/46997
4935         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
4936         (*mux2): Ditto.
4937         (vec_extract_evenodd_help): Ditto.
4938         (vec_extract_evenv4hi): Ditto.
4939         (vec_extract_oddv4hi): Ditto.
4940         (vec_interleave_lowv2si): Ditto.
4941         (vec_interleave_highv2si): Ditto.
4942         (vec_extract_evenv2si): Ditto.
4943         (vec_extract_oddv2si: Ditto.
4944         (vec_pack_trunc_v2si): Ditto.
4945
4946 2011-01-22  Jan Hubicka  <jh@suse.cz>
4947
4948         PR target/47237
4949         * cgraph.h (cgraph_local_info): New field can_change_signature.
4950         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
4951         signature can change.
4952         (ipcp_estimate_growth): Call sequence simplify only if calle signature
4953         can change.
4954         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
4955         (cgraph_function_versioning): We can not change signature of functions
4956         that don't allow that.
4957         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
4958         (lto_input_node): Likewise.
4959         * ipa-inline.c (compute_inline_parameters): Compute
4960         local.can_change_signature.
4961         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
4962         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
4963         functions that can not change signature.
4964         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
4965         init_cumulative_args): Do not use local calling conventions
4966         for functions that can not change signature.
4967
4968 2011-01-22  Jan Hubicka  <jh@suse.cz>
4969
4970         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
4971
4972 2011-01-26  Richard Guenther  <rguenther@suse.de>
4973
4974         PR tree-optimization/47190
4975         * cgraphunit.c (process_common_attributes): New function.
4976         (process_function_and_variable_attributes): Use it.
4977
4978 2011-01-26  Richard Guenther  <rguenther@suse.de>
4979
4980         PR lto/47423
4981         * cgraphbuild.c (record_eh_tables): Record reference to personality
4982         function.
4983
4984 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
4985
4986         PR debug/45454
4987         * sel-sched.c (moveup_expr): Don't let debug insns prevent
4988         non-debug insns from moving up.
4989
4990 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
4991
4992         PR target/40125
4993         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
4994         t-dlldir{,-x} fragment for build and add it to tmake_file.
4995         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
4996         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
4997         * config/i386/t-dlldir: New file.
4998         (SHLIB_DLLDIR): Define.
4999         * config/i386/t-dlldir-x: New file.
5000         (SHLIB_DLLDIR): Define.
5001         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
5002         (SHLIB_INSTALL): Use it.
5003
5004 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
5005
5006         PR target/47246
5007         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
5008         lower bound of the allowed Thumb-2 coprocessor load/store
5009         index range to -256. Add explaining comment.
5010
5011 2011-01-25  Ian Lance Taylor  <iant@google.com>
5012
5013         * godump.c (go_define): Improve lexing of macro expansion to only
5014         accept expressions which match Go spec.
5015
5016 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
5017
5018         PR c++/43601
5019         * tree.c (handle_dll_attribute): Handle it.
5020         * doc/extend.texi (@item dllexport): Mention it.
5021         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
5022
5023 2011-01-25  Ian Lance Taylor  <iant@google.com>
5024
5025         PR tree-optimization/26854
5026         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
5027         (decl_jump_unsafe): Move higher in file, with no other change.
5028         (bind): Set has_jump_unsafe_decl if appropriate.
5029         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
5030         (check_earlier_gotos): Likewise.
5031         (c_check_switch_jump_warnings): Likewise.
5032
5033 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
5034
5035         * doc/invoke.texi (Warning Options): Add missing hyphen.
5036         (-fprofile-dir): Minor grammatical fixes.
5037         (-fbranch-probabilities): Likewise.
5038
5039 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
5040
5041         PR debug/45136
5042         PR debug/45130
5043         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5044         debug insns.
5045         (no_real_insns_p, schedule_block, set_priorities): Drop special
5046         treatment of boundary debug insns.
5047         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5048         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5049         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5050         (BOUNDARY_DEBUG_INSN_P): Likewise.
5051         (SCHEDULE_DEBUG_INSN_P): Likewise.
5052         * sched-rgn.c (init_ready_list): Drop special treatment of
5053         boundary debug insns.
5054         * final.c (rest_of_clean-state): Clear notes' BB.
5055
5056 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5057
5058         * Makefile.in (LAMBDA_H): Removed.
5059         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
5060         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
5061         lambda-trans.o, and tree-loop-linear.o.
5062         (lto-symtab.o): Remove dependence on LAMBDA_H.
5063         (tree-loop-linear.o): Remove rule.
5064         (lambda-mat.o): Same.
5065         (lambda-trans.o): Same.
5066         (lambda-code.o): Same.
5067         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
5068         (tree-vect-slp.o): Same.
5069         * hwint.h (gcd): Moved here.
5070         (least_common_multiple): Same.
5071         * lambda-code.c: Removed.
5072         * lambda-mat.c: Removed.
5073         * lambda-trans.c: Removed.
5074         * lambda.h: Removed.
5075         * tree-loop-linear.c: Removed.
5076         * lto-symtab.c: Do not include lambda.h.
5077         * omega.c (gcd): Removed.
5078         * passes.c (init_optimization_passes): Remove pass_linear_transform.
5079         * tree-data-ref.c (print_lambda_vector): Moved here.
5080         (lambda_vector_copy): Same.
5081         (lambda_matrix_copy): Same.
5082         (lambda_matrix_id): Same.
5083         (lambda_vector_first_nz): Same.
5084         (lambda_matrix_row_add): Same.
5085         (lambda_matrix_row_exchange): Same.
5086         (lambda_vector_mult_const): Same.
5087         (lambda_vector_negate): Same.
5088         (lambda_matrix_row_negate): Same.
5089         (lambda_vector_equal): Same.
5090         (lambda_matrix_right_hermite): Same.
5091         * tree-data-ref.h: Do not include lambda.h.
5092         (lambda_vector): Moved here.
5093         (lambda_matrix): Same.
5094         (dependence_level): Same.
5095         (lambda_transform_legal_p): Removed declaration.
5096         (lambda_collect_parameters): Same.
5097         (lambda_compute_access_matrices): Same.
5098         (lambda_vector_gcd): Same.
5099         (lambda_vector_new): Same.
5100         (lambda_vector_clear): Same.
5101         (lambda_vector_lexico_pos): Same.
5102         (lambda_vector_zerop): Same.
5103         (lambda_matrix_new): Same.
5104         * tree-flow.h (least_common_multiple): Removed declaration.
5105         * tree-parloops.c (lambda_trans_matrix): Moved here.
5106         (LTM_MATRIX): Same.
5107         (LTM_ROWSIZE): Same.
5108         (LTM_COLSIZE): Same.
5109         (LTM_DENOMINATOR): Same.
5110         (lambda_trans_matrix_new): Same.
5111         (lambda_matrix_vector_mult): Same.
5112         (lambda_transform_legal_p): Same.
5113         * tree-pass.h (pass_linear_transform): Removed declaration.
5114         * tree-ssa-loop.c (tree_linear_transform): Removed.
5115         (gate_tree_linear_transform): Removed.
5116         (pass_linear_transform): Removed.
5117         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
5118         flag_loop_interchange.
5119
5120 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5121
5122         PR tree-optimization/47265
5123         PR tree-optimization/47443
5124         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
5125         if name still has some uses.
5126
5127 2011-01-25  Martin Jambor  <mjambor@suse.cz>
5128
5129         PR tree-optimization/47382
5130         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
5131         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
5132
5133 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
5134
5135         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
5136         sjlj_except_unwind_info.
5137
5138 2011-01-25  Richard Guenther  <rguenther@suse.de>
5139
5140         PR tree-optimization/47426
5141         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
5142         visible functions results escape.
5143
5144 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5145
5146         PR target/45701
5147         * config/arm/arm.c (any_sibcall_uses_r3): New function.
5148         (arm_get_frame_offsets): Use it.
5149
5150 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5151             Jakub Jelinek  <jakub@redhat.com>
5152
5153         PR tree-optimization/47271
5154         * tree-if-conv.c (bb_postdominates_preds): New.
5155         (if_convertible_bb_p): Call bb_postdominates_preds.
5156         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
5157         (predicate_scalar_phi): Call bb_postdominates_preds.
5158
5159 2011-01-25  Nick Clifton  <nickc@redhat.com>
5160
5161         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
5162         * config/rx/rx.c (rx_function_value): Likewise.
5163         (rx_promote_function_mode): Likewise.
5164         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
5165         in order to make it legitimate.
5166         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
5167         make sure that the first operand is the same as the result register.
5168         (addsi3_unspec): Delete.
5169         (subdi3): Do not accept immediate operands.
5170         (subdi3_internal): Likewise.
5171
5172 2011-01-25  Jeff Law  <law@redhat.com>
5173
5174         PR rtl-optimization/37273
5175         * ira-costs.c (scan_one_insn): Detect constants living in memory and
5176         handle them like argument loads from stack slots.  Do not double
5177         count memory for memory constants and argument loads from stack slots.
5178
5179 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5180
5181         PR tree-optimization/47427
5182         PR tree-optimization/47428
5183         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5184         coalesce if the new root var would be TREE_READONLY.
5185
5186 2011-01-25  Richard Guenther  <rguenther@suse.de>
5187
5188         PR middle-end/47414
5189         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
5190         correct type for TBAA.
5191
5192 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5193
5194         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
5195         (close_phi_written_to_memory): Call for_each_index with
5196         dr_indices_valid_in_loop.
5197
5198 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5199
5200         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
5201         when it is initialized.
5202
5203 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5204
5205         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
5206         call to graphite_find_data_references_in_stmt.
5207         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
5208         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
5209         call to graphite_find_data_references_in_stmt.
5210         (analyze_drs_in_stmts): Same.
5211         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
5212         in which the scalar analysis of indices is performed.
5213         (create_data_ref): Same.  Update call to dr_analyze_indices.
5214         (find_data_references_in_stmt): Update call to create_data_ref.
5215         (graphite_find_data_references_in_stmt): Same.
5216         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
5217         declaration.
5218         (create_data_ref): Same.
5219         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
5220         call to create_data_ref.
5221
5222 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5223
5224         * graphite-sese-to-poly.c (build_poly_scop): Move
5225         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
5226
5227 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5228
5229         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
5230         VAR_DECL, PARM_DECL, and RESULT_DECL.
5231
5232 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5233
5234         * graphite-dependences.c (reduction_dr_1): Allow several reductions
5235         in a reduction PBB.
5236         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
5237         that have already been marked as PBB_IS_REDUCTION.
5238
5239 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5240
5241         * graphite-scop-detection.c (same_close_phi_node): New.
5242         (remove_duplicate_close_phi): New.
5243         (make_close_phi_nodes_unique): New.
5244         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
5245
5246 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5247
5248         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
5249         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
5250         of both data references to be the same.
5251
5252 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5253
5254         * graphite-dependences.c (build_lexicographical_constraint): Remove
5255         the gdim parameter.
5256         (build_lexicographical_constraint): Adjust call to
5257         ppl_powerset_is_empty.
5258         (dependence_polyhedron): Same.
5259         (graphite_legal_transform_dr): Same.
5260         (graphite_carried_dependence_level_k): Same.
5261         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
5262         parameter.
5263         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
5264
5265 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5266
5267         * graphite-sese-to-poly.c
5268         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
5269         (close_phi_written_to_memory): New.
5270         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
5271         and unshare_expr.
5272
5273 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5274
5275         * doc/install.texi: Update the expected version number of PPL to 0.11.
5276         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
5277         #if PPL_VERSION_MINOR < 11.
5278
5279 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5280
5281         * graphite-dependences.c: Include graphite-cloog-util.h.
5282         (new_poly_ddr): Inlined into dependence_polyhedron.
5283         (free_poly_ddr): Moved close by new_poly_ddr.
5284         (dependence_polyhedron_1): Renamed dependence_polyhedron.
5285         Early return NULL when ppl_powerset_is_empty returns true.
5286         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
5287         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
5288         (graphite_legal_transform_dr): Call new_poly_ddr.
5289         (graphite_carried_dependence_level_k): Same.
5290         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
5291         (dot_transformed_deps_stmt_1): Removed.
5292         (dot_deps_stmt_1): Call dot_deps_stmt_2.
5293         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
5294         (dot_deps_1): Call dot_deps_2.
5295         * Makefile.in (graphite-dependences.o): Add missing dependence on
5296         graphite-cloog-util.h.
5297
5298 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5299
5300         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
5301         (build_lexicographical_constraint): Same.
5302         (dependence_polyhedron_1): Same.
5303         (graphite_legal_transform_dr): Same.
5304         (graphite_carried_dependence_level_k): Same.
5305         * graphite-ppl.c (ppl_powerset_is_empty): New.
5306         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
5307         * tree-data-ref.c (dump_data_reference): Print the basic block index.
5308
5309 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5310
5311         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
5312         the "a followed by b" relation and document it.
5313
5314 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5315
5316         * graphite-dependences.c (build_lexicographical_constraint): Stop the
5317         iteration when the bag of constraints is empty.
5318
5319 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5320
5321         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
5322
5323 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5324
5325         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
5326         nest and two loop depths as parameters.
5327         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
5328         lst_perfect_nestify.
5329
5330 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5331
5332         * graphite-dependences.c (print_pddr): Call
5333         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
5334
5335 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5336
5337         * graphite-ppl.c (debug_gmp_value): New.
5338         * graphite-ppl.h (debug_gmp_value): Declared.
5339
5340 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
5341
5342         * doc/install.texi: Document availability of cloog-0.16.
5343
5344 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
5345
5346         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
5347         invalid postdominance info.
5348
5349 2011-01-24  Jan Hubicka  <jh@suse.cz>
5350
5351         PR c/21659
5352         * doc/extend.texi (weak pragma): Drop claim that it must
5353         appear before definition.
5354         * varasm.c (merge_weak, declare_weak): Only sanity check
5355         that DECL is not output at a time it is declared weak.
5356
5357 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
5358
5359         * machmode.def: Fixed comments.
5360
5361 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
5362
5363         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
5364
5365 2011-01-24  Paul Koning  <ni1d@arrl.net>
5366
5367         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
5368         WORDS_BIG_ENDIAN.
5369
5370 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
5371
5372         PR target/46519
5373         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
5374         (block_info): Add scanned and prev.
5375         (move_or_delete_vzeroupper_2): Return if the basic block
5376         has been scanned and the upper 128bit state is unchanged
5377         from the last scan.
5378         (move_or_delete_vzeroupper_1): Return true if the exit
5379         state is changed.
5380         (move_or_delete_vzeroupper): Visit basic blocks using the
5381         work-list based algorithm based on vt_find_locations in
5382         var-tracking.c.
5383
5384         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
5385
5386 2011-01-24  Nick Clifton  <nickc@redhat.com>
5387
5388         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
5389         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
5390         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
5391         then define __v850e1__.
5392         * doc/invoke.texi: Document -mv850es.
5393
5394 2011-01-24  Richard Henderson  <rth@redhat.com>
5395
5396         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
5397         compound unordered comparisons.
5398         * config/rx/rx.c (rx_split_fp_compare): Remove.
5399         * config/rx/rx-protos.h: Update.
5400         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
5401         (cbranchsf4): Don't call rx_split_fp_compare.
5402         (*cbranchsf4): Use rx_split_cbranch.
5403         (*cmpsf): Don't accept "i" constraint.
5404         (*conditional_branch): Only valid after reload.
5405         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
5406
5407 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
5408
5409         PR target/47385
5410         * config/rs6000/altivec.md (vector constant splitters): Add
5411         support for creating vector single precision constants if -mvsx is
5412         used and we would create the constant using Altivec primitives.
5413
5414 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
5415             Richard Sandiford  <rdsandiford@googlemail.com>
5416
5417         PR rtl-optimization/47166
5418         * reload1.c (emit_reload_insns): Disable the spill_reg_store
5419         mechanism for PRE_MODIFY and POST_MODIFY.
5420         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
5421         reloadreg.
5422
5423 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
5424
5425         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
5426
5427 2011-01-22  Jan Hubicka  <jh@suse.cz>
5428
5429         PR lto/47333
5430         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
5431
5432 2011-01-22  Jan Hubicka  <jh@suse.cz>
5433
5434         PR tree-optimization/43884
5435         PR lto/44334
5436         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
5437         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
5438
5439 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
5440
5441         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
5442         * config/s390/s390.c (s390_register_move_cost,
5443         s390_memory_move_cost): New.
5444         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
5445
5446 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5447
5448         PR middle-end/47401
5449         * except.c (sjlj_assign_call_site_values): Move setting the
5450         crtl->uses_eh_lsda flag to ...
5451         (sjlj_mark_call_sites): ... here.
5452         (sjlj_emit_function_enter): Support NULL dispatch label.
5453         (sjlj_build_landing_pads): In a function with no landing pads
5454         that still has must-not-throw regions, generate code to register
5455         a personality function with empty LSDA.
5456
5457 2011-01-21  Richard Henderson  <rth@redhat.com>
5458
5459         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
5460
5461         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
5462
5463         * compare-elim.c: New file.
5464         * Makefile.in (OBJS-common): Add it.
5465         (compare-elim.o): New.
5466         * common.opt (fcompare-elim): New.
5467         * opts.c (default_options_table): Add OPT_fcompare_elim.
5468         * tree-pass.h (pass_compare_elim_after_reload): New.
5469         * passes.c (init_optimization_passes): Add it.
5470         * recog.h: Protect against re-inclusion.
5471         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
5472         * doc/invoke.texi (-fcompare-elim): Document it.
5473         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
5474         * doc/tm.texi: Rebuild.
5475
5476 2011-01-22  Nick Clifton  <nickc@redhat.com>
5477
5478         * config/rx/rx.md (cstoresf4): Pass comparison operator to
5479         rx_split_fp_compare.
5480
5481 2011-01-22  Nick Clifton  <nickc@redhat.com>
5482
5483         * config/rx/rx.md (UNSPEC_CONST): New.
5484         (deallocate_and_return): Wrap the amount popped off the stack in
5485         an UNSPEC_CONST in order to stop it being rejected by
5486         -mmax-constant-size.
5487         (pop_and_return): Add a "(return)" rtx.
5488         (call): Drop the immediate operand.
5489         (call_internal): Likewise.
5490         (call_value): Likewise.
5491         (call_value_internal): Likewise.
5492         (sibcall_internal): Likewise.
5493         (sibcall_value_internal): Likewise.
5494         (sibcall): Likewise.  Generate an explicit call using
5495         sibcall_internal.
5496         (sibcall_value): Likewise.
5497         (mov<>): FAIL if a constant operand is not legitimate.
5498         (addsi3_unpsec): New pattern.
5499
5500         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
5501         (ok_for_max_constant): New function.
5502         (gen_safe_add): New function.
5503         (rx_expand_prologue): Use gen_safe_add.
5504         (rx_expand_epilogue): Likewise.
5505         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
5506         UNSPEC CONSTs.
5507
5508 2011-01-21  Jeff Law  <law@redhat.com>
5509
5510         PR tree-optimization/47053
5511         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
5512         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
5513         statements are deleted.
5514         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
5515         is nonempty, then purge dead edges and cleanup the CFG.
5516
5517 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5518
5519         PR debug/47402
5520         Temporarily revert:
5521         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5522         PR debug/47106
5523         * tree-dfa.c (create_var_ann): Mark variable as used.
5524
5525 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
5526
5527         PR middle-end/45566
5528         * except.c (convert_to_eh_region_ranges): Emit queued no-region
5529         notes from other section in hot/cold partitioning even if
5530         last_action is -3.  Increment call_site_base.
5531
5532         PR rtl-optimization/47366
5533         * fwprop.c (forward_propagate_into): Return bool.  If
5534         any changes are made, -fnon-call-exceptions is used and
5535         REG_EH_REGION note is present, call purge_dead_edges
5536         and return true if it purged anything.
5537         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
5538         any EH edges were purged.
5539
5540 2011-01-21  Jeff Law  <law@redhat.com>
5541
5542         PR rtl-optimization/41619
5543         * caller-save.c (setup_save_areas): Break out code to determine
5544         which hard regs are live across calls by examining the reload chains
5545         so that it is always used.
5546         Eliminate code which checked REG_N_CALLS_CROSSED.
5547
5548 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
5549
5550         PR tree-optimization/47355
5551         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
5552         NOP has non-debug uses beyond PHIs in new_bb.
5553
5554 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5555
5556         PR debug/47106
5557         * cfgexpand.c (account_used_vars_for_block): Only account vars
5558         that are annotated as used.
5559         (estimated_stack_frame_size): Don't set TREE_USED.
5560         * tree-dfa.c (create_var_ann): Mark variable as used.
5561
5562 2011-01-21  Richard Guenther  <rguenther@suse.de>
5563
5564         PR middle-end/47395
5565         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
5566
5567 2011-01-21  Richard Guenther  <rguenther@suse.de>
5568
5569         PR tree-optimization/47365
5570         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
5571         (vn_reference_lookup_pieces): Adjust.
5572         (vn_reference_lookup): Likewise.
5573         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
5574         (vn_reference_lookup_3): Only look through kills if in
5575         VN_WALKREWRITE mode.
5576         (vn_reference_lookup_pieces): Adjust.
5577         (vn_reference_lookup): Likewise.
5578         (visit_reference_op_load): Likewise.
5579         (visit_reference_op_store): Likewise.
5580         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
5581         (compute_avail): Likewise.
5582         (eliminate): Likewise.
5583
5584 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
5585
5586         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
5587         DECL_IGNORED_P non-reg vars if they are used.
5588
5589         PR tree-optimization/47391
5590         * varpool.c (const_value_known_p): Return false if
5591         decl is volatile.
5592
5593 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
5594
5595         PR bootstrap/47215
5596         * config/i386/i386.c (ix86_local_alignment): Handle
5597         case for va_list_type_node is nil.
5598         (ix86_canonical_va_list_type): Likewise.
5599
5600 2011-01-21  Alan Modra  <amodra@gmail.com>
5601
5602         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
5603         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
5604
5605 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5606
5607         * config/arm/arm.md (define_attr type): Rename f_load
5608         and f_store to f_fpa_load and f_fpa_store. Update.
5609         (write_conflict): Deal with rename fallout.
5610         (*push_fp_multi): Likewise.
5611         * config/arm/fpa.md (f_load): Use f_fpa_load.
5612         (f_store): Use f_fpa_store.
5613         (*movsf_fpa): Likewise.
5614         (*movdf_fpa): Likewise.
5615         (*movxf_fpa): Likewise.
5616         (*thumb2_movsf_fpa): Likewise.
5617         (*thumb2_movdf_fpa): Likewise.
5618         (*thumb2_movxf_fpa): Likewise.
5619         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
5620         f_loadd and f_stored.
5621         (*thumb2_movdi_vfp): Likewise.
5622         (*thumb2_movsf_vfp): Fix attribute to f_loads.
5623         (*thumb2_movsi_vfp): Likewise.
5624         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
5625         Use f_loads instead of f_load.
5626         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
5627
5628 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
5629
5630         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5631         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
5632         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5633         (xtensa_mode_dependent_address_p): New function.
5634         (constantpool_address_p): Make static. Change return type to bool.
5635         Change argument type to const_rtx. Use CONST_INT_P predicate.
5636
5637 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
5638
5639         PR debug/46583
5640         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
5641
5642 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
5643
5644         PR debug/47283
5645         * cfgexpand.c (expand_debug_expr): Instead of generating
5646         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
5647         etc. handling.
5648
5649 2011-01-20  Richard Guenther  <rguenther@suse.de>
5650
5651         PR middle-end/47370
5652         * tree-inline.c (remap_gimple_op_r): Recurse manually for
5653         the pointer operand of MEM_REFs.
5654
5655 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
5656
5657         PR tree-optimization/46130
5658         * ipa-split.c (consider_split): If return_bb contains non-virtual
5659         PHIs other than for retval or if split_function would not adjust it,
5660         refuse to split.
5661
5662 2011-01-20  Richard Guenther  <rguenther@suse.de>
5663
5664         PR tree-optimization/47167
5665         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
5666         Revert previous change, only avoid enumeral type changes.
5667
5668 2011-01-19  Mike Stump  <mikestump@comcast.net>
5669
5670         * doc/tm.texi.in (BRANCH_COST): Englishify.
5671         * doc/tm.texi (BRANCH_COST): Likewise.
5672
5673 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
5674
5675         PR c++/47291
5676         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
5677         (gen_scheduled_generic_parms_dies): New functions.
5678         (gen_struct_or_union_type_die): Schedule template parameters DIEs
5679         generation for the end of CU compilation.
5680         (dwarf2out_finish): Generate template parameters DIEs here.
5681
5682 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
5683
5684         PR debug/46240
5685         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
5686         debug bind stmt on merge edges.
5687
5688 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
5689
5690         PR debug/47079
5691         PR debug/46724
5692         * function.c (instantiate_expr): Instantiate incoming rtl of
5693         implicit arguments, and recurse on VALUE_EXPRs.
5694         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
5695         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
5696
5697 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
5698
5699         * c-parser.c (c_parser_for_statement): Initialize
5700         collection_expression.
5701
5702 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
5703
5704         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
5705
5706 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
5707
5708         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
5709         (LINK_SHLIB_SPEC): Don't use %(link_path).
5710         (SUBTARGET_EXTRA_SPECS): Remove link_path.
5711
5712 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
5713
5714         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
5715         (NO_SHARED_LIB_SUPPORT): Remove.
5716         (LINK_SHLIB_SPEC): Remove one conditional definition.
5717
5718 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
5719
5720         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
5721         %{call_shared}.
5722         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
5723         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
5724         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
5725         %{call_shared} and conditionals on these options not being passed.
5726         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
5727         %{call_shared}.
5728
5729 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
5730
5731         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
5732         simplify.
5733
5734         * ipa-split.c: Spelling fixes.
5735
5736 2011-01-19  Richard Henderson  <rth@redhat.com>
5737
5738         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
5739         (*mulsi3): Likewise.
5740
5741         * longlong.h [__mn10300__] (count_leading_zeros): New.
5742         [__mn10300__] (umul_ppmm, smul_ppmm): New.
5743         [__mn10300__] (add_ssaaaa, subddmmss): New.
5744         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
5745         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
5746
5747 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5748
5749         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
5750
5751 2011-01-19  Richard Henderson  <rth@redhat.com>
5752
5753         * config/mn10300/mn10300.md (addsi3_flags): New.
5754         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
5755         (subsi3_flags, subc_internal, subdi3): New.
5756         (subdi3_internal, *subdi3_degenerate): New.
5757         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
5758
5759         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
5760         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
5761         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
5762         * config/mn10300/mn10300-protos.h: Update.
5763         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
5764         (return_ret): Likewise.  Rename from return_internal_regs.
5765         (return_internal): Remove.
5766
5767         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
5768         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
5769         (mn10300_legitimate_constant_p): Likewise.
5770         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
5771         (mn10300_frame_size): New.
5772         (mn10300_expand_prologue): Use it.
5773         (mn10300_expand_epilogue): Likewise.
5774         (mn10300_initial_offset): Likewise.
5775         * config/mn10300/mn10300-protos.h: Update.
5776         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
5777         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
5778         (prologue, epilogue, return_internal): Tidy output code.
5779         (mn10300_store_multiple_operation, return): Likewise.
5780         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
5781         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
5782         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
5783         (load_pic, am33_load_pic): New.
5784         (mn10300_load_pic0, mn10300_load_pic1): New.
5785
5786         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
5787         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
5788         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
5789         (cc_flags_for_mode, cc_flags_for_code): New.
5790         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
5791         overflow flag is not valid.  Validate that the flags we need
5792         for the comparison are valid.
5793         (mn10300_output_cmp): Remove.
5794         (mn10300_output_add): New.
5795         (mn10300_select_cc_mode): Use cc_flags_for_code.
5796         (mn10300_split_cbranch): New.
5797         (mn10300_match_ccmode): New.
5798         (mn10300_split_and_operand_count): New.
5799         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
5800         to the function.
5801         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
5802         (addsi3): ... here.  Use mn10300_output_add.
5803         (*addsi3_flags): New.
5804         (*am33_subsi3, *mn10300_subsi3): Merge...
5805         (subsi3): ... here.  Use attribute isa.
5806         (*subsi3_flags): New.
5807         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
5808         when possible.
5809         (*am33_andsi3, *mn10300_andsi3): Merge...
5810         (andsi3): ... here.
5811         (*andsi3_flags): New.
5812         (andsi3 splitters): New.
5813         (*am33_iorsi3, *mn10300_iorsi3): Merge...
5814         (iorsi3): ... here.
5815         (*iorsi3_flags): New.
5816         (*am33_xorsi3, *mn10300_xorsi3): Merge...
5817         (xorsi3): ... here.
5818         (*xorsi3_flags): New.
5819         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
5820         (one_cmplsi2): ... here.
5821         (*one_cmplsi2_flags): New.
5822         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
5823         instead of "dax" in constraints.  Use mn10300_split_cbranch.
5824         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
5825         use matching constraints to eliminate a self-comparison.
5826         (*integer_conditional_branch): Rename from integer_conditional_branch.
5827         Use int_mode_flags to match CC_REG.
5828         (*cbranchsi4_btst, *btstsi): New.
5829         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
5830         mn10300_split_cbranch.
5831         (*am33_cmpsf): Rename from am33_cmpsf.
5832         (*float_conditional_branch): Rename from float_conditional_branch.
5833         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
5834         (zero_extendqisi2): ... here.
5835         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
5836         (zero_extendhisi2): ... here.
5837         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
5838         (extendqisi2): ... here.
5839         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
5840         (extendhisi2): ... here.
5841         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
5842         (ashlsi3): ... here.
5843         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
5844         (lshrsi3): ... here.
5845         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
5846         (ashrsi3): ... here.
5847         (consecutive add peephole): Remove.
5848         * config/mn10300/predicates.md (label_ref_operand): New.
5849         (int_mode_flags): New.
5850         (CCZN_comparison_operator): New.
5851
5852         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
5853         (throughput_42_latency_43): New reservation.
5854         (mulsidi3, umulsidi3): New expanders.
5855         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
5856         the MDR register to allocation; separately allocate the low and
5857         high parts of the DImode result.
5858         (umulsidi3_internal): Similarly.
5859         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
5860         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
5861         (udivsi3, umodsi3): Remove.
5862         (udivmodsi4, divmodsi4): New expanders.
5863         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
5864         (*divmodsi4): Simiarly.
5865         (ext_internal): New.
5866
5867         * config/mn10300/constraints.md ("z"): New constraint.
5868         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
5869         (FIXED_REGISTERS): Don't fix MDR.
5870         (CALL_USED_REGSITERS): Reformat nicely.
5871         (REG_ALLOC_ORDER): Add MDR.
5872         (enum regclass): Add MDR_REGS.
5873         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
5874         (IRA_COVER_CLASSES): Add MDR_REGS.
5875         (REGNO_REG_CLASS): Handle MDR_REG.
5876         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
5877         (mn10300_register_move_cost): Likewise.
5878         * config/mn10300/mn10300.md (MDR_REG): New.
5879         (*movsi_internal): Handle moves to/from MDR_REGS.
5880
5881         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
5882         POST_MODIFY.
5883         (mn10300_secondary_reload): Tidy combination reload classes.
5884         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
5885         addresses for AM33.  Allow symbolic offsets for reg+imm.
5886         (mn10300_regno_in_class_p): New.
5887         (mn10300_legitimize_reload_address): New.
5888         * config/mn10300/mn10300.h (enum reg_class): Remove
5889         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
5890         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
5891         SP_OR_GENERAL_REGS.
5892         (REG_CLASS_NAMES): Update to match.
5893         (REG_CLASS_CONTENTS): Likewise.
5894         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
5895         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
5896         (REGNO_IN_RANGE_P): Remove.
5897         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
5898         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
5899         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
5900         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
5901         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
5902         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
5903         (REGNO_GENERAL_P): New.
5904         (HAVE_POST_MODIFY_DISP): New.
5905         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
5906         (LEGITIMIZE_RELOAD_ADDRESS): New.
5907         * config/mn10300/mn10300-protos.h: Update.
5908
5909         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
5910         DATA_REGS for AM33 stack-pointer destination.
5911         (mn10300_preferred_output_reload_class): Likewise.
5912         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
5913         into a form appropriate for ...
5914         (TARGET_SECONDARY_RELOAD): New.
5915         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
5916         * config/mn10300/mn10300-protos.h: Update.
5917         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
5918         reload_insi; use the "A" constraint for the scratch; handle AM33
5919         moves of sp to non-address registers.
5920
5921         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
5922         (*movqi_internal): ... here.
5923         (*am33_movhi, *mn10300_movhi): Merge into...
5924         (*movhi_internal): ... here.
5925         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
5926         as the source/destination of moves from/to SP.
5927         (movsf): Only allow for AM33-2.
5928         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
5929         any integer constant constraint.  Only allow for AM33-2.  Tidy
5930         all of the alternative outputs.
5931         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
5932         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
5933         for MN103.
5934         (udivsi3, umodsi3): New patterns for MN103 only.
5935
5936 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
5937
5938         * doc/tm.texi.in: Spell out that a lack of register class unions
5939         can lead to ICEs.
5940         * doc/tm.texi: Regenerate.
5941
5942 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
5943
5944         PR rtl-optimization/47337
5945         * dce.c (check_argument_store): New function.
5946         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
5947
5948         PR tree-optimization/47290
5949         * tree-eh.c (infinite_empty_loop_p): New function.
5950         (cleanup_empty_eh): Use it.
5951
5952 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
5953
5954         PR target/46997
5955         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
5956         (a64_expand_widen_sum): Ditto.
5957         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
5958         (vec_extract_evenodd_help): Ditto.
5959         (vec_extract_evenv4hi): Ditto.
5960         (vec_extract_oddv4hi): Ditto.
5961         (vec_extract_evenv2si): Ditto.
5962         (vec_extract_oddv2si): Ditto.
5963         (vec_extract_evenv2sf): Ditto.
5964         (vec_extract_oddv2sf): Ditto.
5965         (vec_pack_trunc_v4hi: Ditto.
5966         (vec_pack_trunc_v2si): Ditto.
5967         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
5968         (vec_interleave_highv8qi): Ditto.
5969         (mix1_r): Ditto.
5970         (vec_extract_oddv8qi): Ditto.
5971         (vec_interleave_lowv4hi): Ditto.
5972         (vec_interleave_highv4hi): Ditto.
5973         (vec_interleave_lowv2si): Ditto.
5974         (vec_interleave_highv2si): Ditto.
5975
5976 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5977
5978         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
5979         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
5980         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
5981         (pa_c_mode_for_suffix): New.
5982         (TARGET_EXPAND_BUILTIN): Define.
5983         (TARGET_C_MODE_FOR_SUFFIX): Define.
5984         (pa_builtins): Define.
5985         (pa_init_builtins): Register __float128 type and init new support
5986         builtins.
5987         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
5988         * config/pa/quadlib.c (_U_Qfcopysign): New.
5989
5990 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
5991
5992         PR middle-end/46894
5993         * explow.c (allocate_dynamic_stack_space): Do not assume more than
5994         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
5995         are defined.
5996
5997 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5998
5999         PR tree-optimization/47179
6000         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
6001         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
6002
6003 2011-01-18  Richard Guenther  <rguenther@suse.de>
6004
6005         PR rtl-optimization/47216
6006         * emit-rtl.c: Include tree-flow.h.
6007         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
6008         of replicating it with different semantics.
6009         * Makefile.in (emit-rtl.o): Adjust.
6010
6011 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6012
6013         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
6014         (cortex_a9_dp): Handle neon types correctly.
6015
6016 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
6017
6018         PR rtl-optimization/47299
6019         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
6020         subtarget.  Use normal multiplication if both operands are constants.
6021         * expmed.c (expand_widening_mult): Don't try to optimize constant
6022         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
6023         before using it.
6024
6025 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6026
6027         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
6028         spacing after 'e.g.', typos, comma, hyphenation.
6029
6030 2011-01-17  Richard Henderson  <rth@redhat.com>
6031
6032         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
6033         (rx_restricted_mem_operand): New.
6034         (rx_shift_operand): Use register_operand.
6035         (rx_source_operand, rx_compare_operand): Likewise.
6036         * config/rx/rx.md (addsi3_flags): New expander.
6037         (adddi3): Rewrite as expander.
6038         (adc_internal, *adc_flags, adddi3_internal): New patterns.
6039         (subsi3_flags): New expander.
6040         (subdi3): Rewrite as expander.
6041         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
6042
6043         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
6044         (rx_init_builtins): Remove sat builtin.
6045         (rx_expand_builtin): Likewise.
6046         * config/rx/rx.md (ssaddsi3): New.
6047         (*sat): Rename from sat.  Represent the CC_REG input.
6048
6049         * config/rx/predicates.md (rshift_operator): New.
6050         * config/rx/rx.c (rx_expand_insv): Remove.
6051         * config/rx/rx-protos.h: Update.
6052         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
6053         operand to the canonical position.
6054         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
6055         (*bitclr, *bitclr_in_memory): Similarly.
6056         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
6057         (insv): Retain the zero_extract in the expansion.
6058
6059         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
6060         (bswaphi2, bitinvert, revw): Likewise.
6061
6062         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
6063         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
6064         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
6065         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
6066         (bitset, bitset_in_memory): Likewise.
6067         (bitinvert, bitinvert_in_memory): Likewise.
6068         (bitclr, bitclr_in_memory): Likewise.
6069         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
6070         (rx_strend, rx_cmpstrn): Likewise.
6071         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
6072         (bitop peep2 patterns): Remove.
6073
6074         * config/rx/rx.c (rx_match_ccmode): New.
6075         * config/rx/rx-protos.h: Update.
6076         * config/rx/rx.md (abssi2): Clobber, don't set flags.
6077         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
6078         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
6079         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
6080         (fix_truncsfsi2, floatsisf2): Likewise.
6081         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
6082         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
6083         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
6084         (*subsi3_flags, *xorsi3_flags): New.
6085
6086         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
6087
6088         * config/rx/rx.c (rx_print_operand): Remove workaround for
6089         unsplit comparison operations.
6090
6091         * config/rx/rx.md (movsicc): Split after reload.
6092         (*movsicc): Merge *movsieq and *movsine via match_operator.
6093         (*stcc): New pattern.
6094
6095         * config/rx/rx.c (rx_float_compare_mode): Remove.
6096         * config/rx/rx.h (rx_float_compare_mode): Remove.
6097         * config/rx/rx.md (cstoresi4): Split after reload.
6098         (*sccc): New pattern.
6099
6100         * config/rx/predicates.md (label_ref_operand): New.
6101         (rx_z_comparison_operator): New.
6102         (rx_zs_comparison_operator): New.
6103         (rx_fp_comparison_operator): New.
6104         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
6105         Validate that the flags are set properly for the comparison.
6106         (rx_gen_cond_branch_template): Remove.
6107         (rx_cc_modes_compatible): Remove.
6108         (mode_from_flags): New.
6109         (flags_from_code): Rename from flags_needed_for_conditional.
6110         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
6111         (rx_select_cc_mode): Likewise.
6112         (rx_split_fp_compare): New.
6113         (rx_split_cbranch): New.
6114         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
6115         (*cbranchsi4): Use match_operator and rx_split_cbranch.
6116         (*cbranchsf4): Similarly.
6117         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
6118         match_operator and rx_split_cbranch.
6119         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
6120         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
6121         (*cmpsi): Rename from cmpsi.
6122         (*tstsi): Rename from tstsi.
6123         (*cmpsf): Rename from cmpsf; use CC_Fmode.
6124         (*conditional_branch): Rename from conditional_branch.
6125         (*reveresed_conditional_branch): Remove.
6126         (b<code>): Remove expander.
6127         * config/rx/rx-protos.h: Update.
6128
6129         * config/rx/rx.c (rx_compare_redundant): Remove.
6130         * config/rx/rx.md (cmpsi): Don't use it.
6131         * config/rx/rx-protos.h: Update.
6132
6133         * config/rx/rx-modes.def (CC_F): New mode.
6134         * config/rx/rx.c (rx_select_cc_mode): New.
6135         * config/rx/rx.h (SELECT_CC_MODE): Use it.
6136         * config/rx/rx-protos.h: Update.
6137
6138 2011-01-17  Richard Henderson  <rth@redhat.com>
6139
6140         * except.c (dump_eh_tree): Fix stray ; after for statement.
6141
6142 2011-01-17  Richard Guenther  <rguenther@suse.de>
6143
6144         PR tree-optimization/47313
6145         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
6146         handling before copying the body.  Properly deal with
6147         by-reference result in SSA form.
6148
6149 2011-01-17  Ian Lance Taylor  <iant@google.com>
6150
6151         PR target/47219
6152         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
6153         (struct_value_alias_set): Don't define.
6154         (sparc_option_override): Don't set sparc_sr_alias_set and
6155         struct_value_alias_set.
6156         (save_or_restore_regs): Use gen_frame_mem rather than calling
6157         set_mem_alias_set.
6158         (sparc_struct_value_rtx): Likewise.
6159
6160 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
6161
6162         PR target/47318
6163         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
6164         __m128i.
6165         (_mm_maskstore_pd): Likewise.
6166         (_mm_maskload_ps): Likewise.
6167         (_mm_maskstore_ps): Likewise.
6168         (_mm256_maskload_pd): Change mask to __m256i.
6169         (_mm256_maskstore_pd): Likewise.
6170         (_mm256_maskload_ps): Likewise.
6171         (_mm256_maskstore_ps): Likewise.
6172
6173         * config/i386/i386-builtin-types.def: Updated.
6174         (ix86_expand_special_args_builtin): Likewise.
6175
6176         * config/i386/i386.c (bdesc_special_args): Update
6177         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
6178         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
6179         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
6180         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
6181
6182         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
6183         Use <avxpermvecmode> on mask register.
6184         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
6185
6186 2011-01-17  Olivier Hainque  <hainque@adacore.com>
6187             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6188             Eric Botcazou  <ebotcazou@adacore.com>
6189
6190         PR target/46655
6191         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
6192         if <= USHRT_MAX in 32-bit mode.
6193
6194 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6195
6196         * doc/install.texi (Configuration, Specific): Wrap long
6197         lines in examples.  Allow line wrapping in long options
6198         and URLs where beneficial for PDF output.
6199
6200 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
6201
6202         * config/mips/mips.c (mips_classify_symbol): Don't return
6203         SYMBOL_PC_RELATIVE for nonlocal labels.
6204
6205 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
6206
6207         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
6208
6209 2011-01-15  Jan Hubicka  <jh@suse.cz>
6210
6211         PR tree-optimization/47276
6212         * ipa.c (function_and_variable_visibility): Do not try to mark alias
6213         declarations as needed.
6214
6215 2011-01-15  Martin Jambor  <mjambor@suse.cz>
6216
6217         * common.opt (fdevirtualize): New flag.
6218         * doc/invoke.texi (Option Summary): Document it.
6219         * opts.c (default_options_table): Add devirtualize flag.
6220         * ipa-prop.c (detect_type_change): Return immediately if
6221         devirtualize flag is not set.
6222         (detect_type_change_ssa): Likewise.
6223         (compute_known_type_jump_func): Likewise.
6224         (ipa_analyze_virtual_call_uses): Likewise.
6225
6226 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6227
6228         PR tree-optimization/45934
6229         PR tree-optimization/46302
6230         * ipa-prop.c (type_change_info): New type.
6231         (stmt_may_be_vtbl_ptr_store): New function.
6232         (check_stmt_for_type_change): Likewise.
6233         (detect_type_change): Likewise.
6234         (detect_type_change_ssa): Likewise.
6235         (compute_complex_assign_jump_func): Check for dynamic type change.
6236         (compute_complex_ancestor_jump_func): Likewise.
6237         (compute_known_type_jump_func): Likewise.
6238         (compute_scalar_jump_functions): Likewise.
6239         (ipa_analyze_virtual_call_uses): Likewise.
6240         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
6241
6242 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6243
6244         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
6245         * config/i386/i386.opt (msse5): New Alias.
6246
6247 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6248
6249         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
6250         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6251         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6252         * config/sparc/sparc.h (CC1_SPEC): Likewise.
6253
6254 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6255
6256         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
6257         -mcpu options.
6258         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6259         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6260         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
6261         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
6262         Likewise.
6263         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
6264
6265 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6266
6267         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
6268
6269 2011-01-14  Mike Stump  <mikestump@comcast.net>
6270
6271         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
6272         * config/fr30/fr30.md: Likweise
6273         (movsi_push): Likewise.
6274         (movsi_pop): Likewise.
6275         (enter_func): Likewise.
6276         * config/moxie/moxie.md (movsi_push): Likewise.
6277         (movsi_pop): Likewise.
6278
6279 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6280
6281         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
6282         %{no_archive} %{exact_version}.
6283         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
6284         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
6285         %{no_archive} %{exact_version}.
6286         * config/mips/openbsd.h (LINK_SPEC): Likewise.
6287         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
6288         * config/mips/vxworks.h: Likewise.
6289
6290 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6291
6292         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
6293
6294 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6295
6296         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
6297         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
6298
6299 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6300
6301         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
6302         -nodefaultlib.
6303
6304 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6305
6306         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
6307         for mcpu not cpu.
6308         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
6309         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
6310         not cpu.
6311         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
6312         Don't handle -shlib.
6313
6314 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6315
6316         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
6317         (CC1_SPEC): Don't handle -profile.
6318
6319 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6320
6321         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
6322         * config/mips/mips.h (CC1_SPEC): Likewise.
6323
6324 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6325
6326         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
6327         * config/mips/mips.h (CC1_SPEC): Likewise.
6328
6329 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6330
6331         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
6332         * config/m32r/linux.h (LINK_SPEC): Likewise.
6333         * config/mips/linux.h (LINK_SPEC): Likewise.
6334         * config/mips/linux64.h (LINK_SPEC): Likewise.
6335         * config/sparc/linux.h (LINK_SPEC): Likewise.
6336         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
6337         LINK_SPEC): Likewise.
6338         * config/xtensa/linux.h (LINK_SPEC): Likewise.
6339
6340 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6341
6342         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
6343         %{version:-v}.
6344         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
6345
6346 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6347
6348         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
6349         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
6350
6351 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6352
6353         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
6354
6355 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6356
6357         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
6358         supports -Bstatic/-Bdynamic.
6359         * configure: Regenerate.
6360
6361 2011-01-14  Jan Hubicka  <jh@suse.cz>
6362             Jack Howarth  <howarth@bromo.med.uc.edu>
6363
6364         PR target/46037
6365         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
6366         when checking debug_info_level. Test write_symbols instead of
6367         debug_hooks->var_location when setting flag_var_tracking_uninit.
6368
6369 2011-01-14  Richard Guenther  <rguenther@suse.de>
6370
6371         PR tree-optimization/47179
6372         * target.def (ref_may_alias_errno): New target hook.
6373         * targhooks.h (default_ref_may_alias_errno): Declare.
6374         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
6375         (default_ref_may_alias_errno): New function.
6376         * target.h (struct ao_ref_s): Declare.
6377         * tree-ssa-alias.c: Include target.h.
6378         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
6379         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
6380         (targhooks.o): Likewise.
6381         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
6382         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
6383
6384 2011-01-14  Richard Guenther  <rguenther@suse.de>
6385
6386         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
6387
6388 2011-01-14  Richard Guenther  <rguenther@suse.de>
6389
6390         PR tree-optimization/47280
6391         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
6392         return CFG changes.
6393         (tree_ssa_forward_propagate_single_use_vars): Deal with
6394         CFG changes from associate_plusminus.
6395
6396 2011-01-14  Richard Guenther  <rguenther@suse.de>
6397
6398         PR middle-end/47281
6399         Revert
6400         2011-01-11  Richard Guenther  <rguenther@suse.de>
6401
6402         PR tree-optimization/46076
6403         * tree-ssa.c (useless_type_conversion_p): Conversions from
6404         unprototyped to empty argument list function types are useless.
6405
6406 2011-01-14  Richard Guenther  <rguenther@suse.de>
6407
6408         PR tree-optimization/47286
6409         * tree-ssa-structalias.c (new_var_info): Register variables are global.
6410
6411 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6412
6413         PR middle-end/46823
6414         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
6415
6416 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
6417
6418         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
6419         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
6420         * config/xtensa/xtensa.c (xtensa_libcall_value,
6421         xtensa_function_value_regno_p): New functions.
6422         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
6423
6424 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
6425
6426         PR c++/47213
6427         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
6428         PE specific hook.
6429         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
6430         New function prototype.
6431         * config/i386/winnt.c (i386_pe_assemble_visibility):
6432         Warn only if attribute was specified by user.
6433
6434 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
6435
6436         PR target/47251
6437         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
6438         floating point.
6439         (floatunsdidf2_fcfidu): Ditto.
6440
6441 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6442
6443         * config/s390/s390.c (print_operand_address): Replace 'error' with
6444         'output_operand_lossage'.
6445         (print_operand): Likewise.
6446
6447 2011-01-13  Jeff Law  <law@redhat.com>
6448
6449         PR rtl-optimization/39077
6450         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
6451         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
6452         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
6453         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
6454         * gcse.c (prune_insertions_deletions): New function.
6455         (compute_pre_data): Use it.
6456
6457 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
6458
6459         PR debug/PR46973
6460         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
6461         static function.
6462         (prune_unused_types_mark): Use it.
6463
6464 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
6465
6466         PR rtl-optimization/45352
6467         * sel-sched.c: Update copyright years.
6468         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
6469         in the advancing loop when we have issued issue_rate insns.
6470
6471 2011-01-12  Richard Henderson  <rth@redhat.com>
6472
6473         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
6474         (TARGET_MD_ASM_CLOBBERS): New.
6475
6476         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
6477         (TARGET_DELEGITIMIZE_ADDRESS): New.
6478
6479         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
6480         (clzsi2, *bsch): New patterns.
6481
6482         * config/mn10300/mn10300.md (INT): New mode iterator.
6483         (*mov<INT>_clr): New pattern, and peep2 to generate it.
6484
6485         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
6486         flag_split_wide_types.
6487
6488         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
6489         (mn10300_trampoline_init): Rewrite without a template, an immediate
6490         load and a direct branch.
6491         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
6492
6493 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
6494
6495         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6496         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
6497         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
6498         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6499
6500 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
6501
6502         PR debug/47209
6503         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
6504         of type.
6505
6506 2011-01-12  Jan Hubicka  <jh@suse.cz>
6507
6508         PR driver/47244
6509         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
6510         (PLUGIN_COND_CLOSE): New macro.
6511         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
6512
6513 2011-01-12  Richard Guenther  <rguenther@suse.de>
6514
6515         PR lto/47259
6516         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
6517         register variables in a MEM_REF.
6518
6519 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
6520
6521         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
6522         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
6523         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
6524         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
6525         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
6526         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
6527         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
6528         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
6529         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
6530         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
6531         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
6532         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
6533         * config/gnu-user.h: New.  Copied from linux.h.
6534         (LINUX_TARGET_STARTFILE_SPEC): Rename to
6535         GNU_USER_TARGET_STARTFILE_SPEC.
6536         (LINUX_TARGET_ENDFILE_SPEC): Rename to
6537         GNU_USER_TARGET_ENDFILE_SPEC.
6538         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
6539         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
6540         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
6541         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
6542         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
6543         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
6544         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
6545         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
6546         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
6547         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
6548         * config/arm/linux-eabi.h (CC1_SPEC): Use
6549         GNU_USER_TARGET_CC1_SPEC.
6550         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
6551         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
6552         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
6553         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
6554         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
6555         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
6556         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
6557         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
6558
6559 2011-01-12  Richard Guenther  <rguenther@suse.de>
6560
6561         PR other/46946
6562         * doc/invoke.texi (ffast-math): Document it is turned on
6563         with -Ofast.
6564
6565 2011-01-12  Jan Hubicka  <jh@suse.cz>
6566
6567         PR tree-optimization/47233
6568         * opts.c (common_handle_option): Disable ipa-reference with profile
6569         feedback.
6570
6571 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
6572
6573         * c-parser.c (c_parser_objc_at_property_declaration): Improved
6574         error message.
6575
6576 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
6577
6578         * c-parser.c (c_lex_one_token): Updated and reindented some
6579         comments.  No changes in code.
6580
6581 2011-01-11  Ian Lance Taylor  <iant@google.com>
6582
6583         * godump.c (go_output_var): Don't output the variable if there is
6584         already a type with the same name.
6585
6586 2011-01-11  Ian Lance Taylor  <iant@google.com>
6587
6588         * godump.c (go_format_type): Don't generate float80.
6589
6590 2011-01-11  Richard Henderson  <rth@redhat.com>
6591
6592         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
6593         declaration.  Rewrite for both speed and size.
6594         (mn10300_address_cost_1): Remove.
6595         (mn10300_register_move_cost): New.
6596         (mn10300_memory_move_cost): New.
6597         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
6598         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
6599         extensions, shifts, BSWAP, CLZ.
6600         (mn10300_wide_const_load_uses_clr): Remove.
6601         (TARGET_REGISTER_MOVE_COST): New.
6602         (TARGET_MEMORY_MOVE_COST): New.
6603         * config/mn10300/mn10300-protos.h: Update.
6604         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
6605
6606         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
6607         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
6608         * config/mn10300/mn10300-protos.h: Update.
6609         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
6610         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
6611         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
6612         (*test_int_bitfield, *test_byte_bitfield): Remove.
6613         (*bit_test, *subreg_bit_test): Remove.
6614         * config/mn10300/predicates.md (const_8bit_operand): Remove.
6615
6616         * config/mn10300/constraints.md ("c"): Rename from "A".
6617         ("A", "D"): New constraint letters.
6618         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
6619         (fmssf4, fnmasf4, fnmssf4): Likewise.
6620
6621         * config/mn10300/mn10300.md (isa): New attribute.
6622         (enabled): New attribute.
6623
6624         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
6625         (abssf2, negsf2): Define only for hardware fp.
6626         (sqrtsf2): Reformat.
6627         (addsf3, subsf3, mulsf3): Merge expander and insn.
6628
6629         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
6630         (DEBUGGER_AUTO_OFFSET): Remove.
6631         (DEBUGGER_ARG_OFFSET): Remove.
6632
6633         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
6634         Emit register stores with the same offsets as the hardware.
6635         (mn10300_store_multiple_operation): Don't check that the register
6636         save offsets are monotonic.
6637         * config/mn10300/mn10300-protos.h: Update.
6638
6639         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
6640
6641         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
6642         in terms of the value on the stack, not the MDR register.
6643
6644 2011-01-11  Jan Hubicka  <jh@suse.cz>
6645
6646         PR lto/45721
6647         PR lto/45375
6648         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
6649         (symbol_alias_set_destroy, symbol_alias_set_contains,
6650         propagate_aliases_backward): Declare.
6651         * lto-streamer-out.c (struct sets): New sturcture.
6652         (trivally_defined_alias): New function.
6653         (output_alias_pair_p): Rewrite.
6654         (output_unreferenced_globals): Fix output of alias pairs.
6655         (produce_symtab): Likewise.
6656         * ipa.c (function_and_variable_visibility): Set weak alias destination
6657         as needed in lto.
6658         * varasm.c (symbol_alias_set_t): Remove.
6659         (symbol_alias_set_destroy): Export.
6660         (propagate_aliases_forward, propagate_aliases_backward): New functions
6661         based on ...
6662         (compute_visible_aliases): ... this one; remove.
6663         (trivially_visible_alias): New
6664         (trivially_defined_alias): New.
6665         (remove_unreachable_alias_pairs): Rewrite.
6666         (finish_aliases_1): Reorganize code checking if alias is defined.
6667         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
6668         in LTO mode.
6669
6670 2011-01-11  Richard Guenther  <rguenther@suse.de>
6671
6672         PR tree-optimization/46076
6673         * tree-ssa.c (useless_type_conversion_p): Conversions from
6674         unprototyped to empty argument list function types are useless.
6675
6676 2011-01-11  Richard Guenther  <rguenther@suse.de>
6677
6678         PR middle-end/45235
6679         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
6680         volatile MEMs as MEM_READONLY_P.
6681
6682 2011-01-11  Richard Guenther  <rguenther@suse.de>
6683
6684         PR tree-optimization/47239
6685         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
6686
6687 2011-01-11  Jeff Law  <law@redhat.com>
6688
6689         PR tree-optimization/47086
6690         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
6691         IVs from statements that might throw.
6692
6693 2011-01-10  Jan Hubicka  <jh@suse.cz>
6694
6695         PR lto/45375
6696         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
6697
6698 2011-01-10  Jan Hubicka  <jh@suse.cz>
6699
6700         PR lto/45375
6701         * profile.c (read_profile_edge_counts): Ignore profile inconistency
6702         when correcting profile.
6703
6704 2011-01-10  Jan Hubicka  <jh@suse.cz>
6705
6706         PR lto/46083
6707         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
6708         DECL_FINI_PRIORITY.
6709         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
6710         Restore DECL_FINI_PRIORITY.
6711
6712 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6713
6714         * doc/gimple.texi: Fix quoting of multi-word return values in
6715         @deftypefn statements.  Ensure presence of return value.  Wrap
6716         overlong @deftypefn lines.
6717         (is_gimple_operand, is_gimple_min_invariant_address): Remove
6718         descriptions of removed functions.
6719         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
6720         of multi-word return value in @deftypefn statement.
6721
6722 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6723
6724         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
6725         (Conditional Expressions, Logical Operators)
6726         (Statement and operand traversals): Do not indent smallexample
6727         code.  Fix duplicate function argument in example.
6728
6729 2011-01-10  Jeff Law  <law@redhat.com>
6730
6731         PR tree-optimization/47141
6732         * ipa-split.c (split_function): Handle case where we are
6733         returning a value and the return block has a virtual operand phi.
6734
6735 2011-01-10  Jan Hubicka  <jh@suse.cz>
6736
6737         PR tree-optimization/47234
6738         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
6739         (pass_feedback_split_functions): Declare.
6740         * passes.c (init_optimization_passes): Add ipa-split as subpass of
6741         tree-profile.
6742         * ipa-split.c (gate_split_functions): Update comments; disable
6743         split-functions for profile_arc_flag and branch_probabilities.
6744         (gate_feedback_split_functions): New function.
6745         (execute_feedback_split_functions): New function.
6746         (pass_feedback_split_functions): New global var.
6747
6748 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
6749
6750         PR lto/46760
6751         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
6752         calling gimple_call_set_cannot_inline.
6753
6754 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
6755
6756         * config/darwin-sections.def: Remove unused section.
6757
6758 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
6759
6760         PR c++/47218
6761         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
6762
6763 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
6764
6765         PR objc/47232
6766         * c-parser.c (c_parser_declaration_or_fndef): Improved
6767         error message.
6768
6769 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
6770
6771         * config/i386/winnt.c (i386_pe_start_function): Make sure
6772         to switch back to function's section.
6773
6774 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
6775
6776         PR gcc/46902
6777         PR testsuite/46912
6778         * plugin.c: Move include of dlfcn.h from here...
6779         * system.h: ... to here.
6780
6781 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6782
6783         * doc/cpp.texi (C++ Named Operators): Fix markup for header
6784         file name.
6785         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
6786         two extra empty pages in PDF output.
6787
6788 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
6789
6790         PR objc/47078
6791         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
6792         for error recovery purposes behave as if it was not specified so
6793         that the default type is usd.
6794
6795 2011-01-07  Jan Hubicka  <jh@suse.cz>
6796
6797         PR tree-optmization/46469
6798         * ipa.c (function_and_variable_visibility): Clear needed flags on
6799         nodes with external decls; handle weakrefs merging correctly.
6800
6801 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
6802
6803         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
6804         not false.
6805
6806 2011-01-07  Jan Hubicka  <jh@suse.cz>
6807
6808         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
6809         and no longer claim that gold is required for linker plugin.
6810         * configure: Regenerate.
6811         * gcc.c (PLUGIN_COND): New macro.
6812         (LINK_COMMAND_SPEC): Use it.
6813         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
6814         * config.in (HAVE_LTO_PLUGIN): New.
6815         * configure.ac (--with-lto-plugin): New parameter; autodetect
6816         HAVE_LTO_PLUGIN.
6817
6818 2011-01-07  Jan Hubicka  <jh@suse.cz>
6819
6820         PR tree-optimization/46367
6821         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
6822         when we can update original.
6823         (cgraph_mark_inline_edge): Sanity check.
6824         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
6825
6826 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6827
6828         * config/spu/spu.h (ASM_COMMENT_START): Define.
6829
6830 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
6831
6832         PR driver/42445
6833         * gcc.c (%>S): New.
6834         (SWITCH_KEEP_FOR_GCC): Likewise.
6835         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
6836         (do_spec_1): Handle "%>".
6837
6838         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
6839
6840 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
6841
6842         PR target/47201
6843         * config/i386/i386.c (ix86_delegitimize_address): If
6844         simplify_gen_subreg fails, return orig_x.
6845
6846         PR bootstrap/47187
6847         * value-prof.c (gimple_stringop_fixed_value): Handle
6848         lhs of the call properly.
6849
6850 2011-01-07  Jan Hubicka  <jh@suse.cz>
6851
6852         PR lto/45375
6853         * lto-opt.c (lto_reissue_options): Set flag_shlib.
6854
6855 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
6856
6857         * target.def (function_switched_text_sections): New hook.
6858         * doc/tm.texi: Regenerated.
6859         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
6860         * final.c (default_function_switched_text_sections): New.
6861         (final_scan_insn): Call function_switched_text_sections when a
6862         mid-function section change occurs.
6863         * output.h (default_function_switched_text_sections): Declare.
6864         * config/darwin-protos.h (darwin_function_switched_text_sections):
6865         Likewise.
6866         * config/darwin.c (darwin_function_switched_text_sections): New.
6867         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
6868
6869 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
6870
6871         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
6872         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
6873         the secondary code fragment when outputting for DWARF == 2.
6874
6875 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
6876
6877         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6878         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
6879         Remove.
6880         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
6881         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6882
6883 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
6884
6885         PR debug/46704
6886         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
6887         when it is not empty.
6888
6889 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
6890
6891         Bobcat Enablement
6892         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
6893         (case ${target}): Add btver1.
6894         * config/i386/driver-i386.c (host_detect_local_cpu): Let
6895         -march=native recognize btver1 processors.
6896         * config/i386/i386-c.c (ix86_target_macros_internal): Add
6897         btver1 def_and_undef
6898         * config/i386/i386.c (struct processor_costs btver1_cost): New
6899         btver1 cost table.
6900         (m_BTVER1): New definition.
6901         (m_AMD_MULTIPLE): Includes m_BTVER1.
6902         (initial_ix86_tune_features): Add btver1 tune.
6903         (processor_target_table): Add btver1 entry.
6904         (static const char *const cpu_names): Add btver1 entry.
6905         (software_prefetching_beneficial_p): Add btver1.
6906         (ix86_option_override_internal): Add btver1 instruction sets.
6907         (ix86_issue_rate): Add btver1.
6908         (ix86_adjust_cost): Add btver1.
6909         * config/i386/i386.h (TARGET_BTVER1): New definition.
6910         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
6911         (enum processor_type): Add PROCESSOR_BTVER1.
6912         * config/i386/i386.md (define_attr "cpu"): Add btver1.
6913
6914 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6915
6916         PR target/43309
6917         * config/i386/i386.c (legitimize_tls_address)
6918         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
6919         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
6920         (tls_initial_exec_64_sun): New pattern.
6921
6922 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
6923
6924         * doc/invoke.texi (Overall Options): Improve wording and markup
6925         of the description of -wrapper.
6926
6927 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
6928
6929         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
6930         rdynamic, threads): New Driver options.
6931
6932 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6933
6934         PR target/38118
6935         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
6936         if coming from .tdata.
6937         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
6938
6939 2011-01-06  Jan Hubicka  <jh@suse.cz>
6940
6941         PR lto/47188
6942         * collect2.c (main): Do not enable LTOmode when plugin is active.
6943
6944 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6945
6946         PR other/45915
6947         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
6948         --version output if supported.
6949         * configure: Regenerate.
6950
6951 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
6952
6953         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
6954         Driver options.
6955
6956 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
6957
6958         PR c/47150
6959         * c-convert.c (convert): When converting a complex expression
6960         other than COMPLEX_EXPR to a different complex type, ensure
6961         c_save_expr is called instead of save_expr, unless in_late_binary_op.
6962         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
6963         when converting COMPLEX_TYPE.
6964
6965 2011-01-06  Ira Rosen  <irar@il.ibm.com>
6966
6967         PR tree-optimization/47139
6968         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
6969         only the last reduction value is used outside the loop.  Update
6970         documentation.
6971
6972 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
6973
6974         * config/rtems.opt: New.
6975         * config.gcc (*-*-rtems*): Use rtems.opt.
6976
6977 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
6978
6979         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
6980         processors do not support 3DNow instructions.
6981
6982 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6983
6984         * config/spu/spu.c (spu_option_override): Set parameter
6985         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
6986
6987 2011-01-05  Jan Hubicka  <jh@suse.cz>
6988
6989         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
6990         at the command line.
6991
6992 2011-01-05  Martin Jambor  <mjambor@suse.cz>
6993
6994         PR lto/47162
6995         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
6996         deltas on streamed outgoing edges.
6997         (output_node_opt_summary): Output info for outgoing edges only when
6998         the node is in new parameter set.
6999         (output_cgraph_opt_summary): New parameter set, passed to the two
7000         aforementioned functions.  Update its forward declaration and its
7001         callee too.
7002
7003 2011-01-05  Tom Tromey  <tromey@redhat.com>
7004
7005         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
7006         operator to c_finish_omp_atomic.
7007         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
7008         (build_unary_op): Update.
7009         (build_modify_expr): Update.
7010         (build_asm_expr): Update.
7011
7012 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7013
7014         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
7015         newly inserted insns.
7016         (pad_bb): Likewise.
7017         (spu_emit_branch_hint): Likewise.
7018         (insert_hbrp_for_ilb_runout): Likewise.
7019         (spu_machine_dependent_reorg): Call df_finish_pass after
7020         schedule_insns returns.
7021
7022 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7023
7024         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
7025
7026 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
7027
7028         PR tree-optimization/47005
7029         * tree-sra.c (struct access): Add 'non_addressable' bit.
7030         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
7031         (decide_one_param_reduction): Return 0 if the parameter is passed by
7032         reference and one of the accesses in the group is non_addressable.
7033
7034 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7035
7036         PR tree-optimization/47056
7037         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
7038         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
7039         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
7040
7041 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7042
7043         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
7044         initializer.  Skip view conversions from aggregate types.
7045
7046 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
7047
7048         PR bootstrap/47055
7049         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
7050
7051 2011-01-04  Philipp Thomas  <pth@suse.de>
7052
7053         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
7054         obvious typo.
7055
7056 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7057
7058         * function.c (thread_prologue_and_epilogue_insns): Do not crash
7059         on empty epilogue sequences.
7060
7061 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
7062
7063         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
7064         non-static): New Driver options.
7065
7066 2011-01-04  Jie Zhang  <jie@codesourcery.com>
7067
7068         PR driver/47137
7069         * gcc.c (default_compilers[]): Set combinable field to 0
7070         for all assembly languages.
7071
7072 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
7073
7074         * config/mips/loongson3a.md: New file.
7075         * config/mips/mips.md: Include loongson3a.md.
7076         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
7077         TUNE_LOONGSON_3A.
7078
7079 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
7080
7081         PR middle-end/47017
7082         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
7083         instead of convert_memory_address_addr_space on the base expression.
7084
7085 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7086
7087         * config/spu/spu.c (spu_option_override): Update error text
7088         for bad -march= / -mtune= values.
7089
7090 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7091
7092         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
7093         if branch-hint optimization will be performed.
7094
7095 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7096
7097         PR tree-optimization/47148
7098         * ipa-split.c (split_function): Convert arguments to
7099         DECL_ARG_TYPE if possible.
7100
7101         PR tree-optimization/47155
7102         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
7103         when computing uns.
7104
7105         PR rtl-optimization/47157
7106         * combine.c (try_combine): If undobuf.other_insn becomes
7107         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
7108         and set *new_direct_jump_p too.
7109
7110 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
7111
7112         PR tree-optimization/47021
7113         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
7114
7115 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7116
7117         * gcc.c (process_command): Update copyright notice dates.
7118         * gcov.c (print_version): Likewise.
7119         * gcov-dump.c (print_version): Likewise.
7120         * mips-tfile.c (main): Likewise.
7121         * mips-tdump.c (main): Likewise.
7122
7123 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7124
7125         PR tree-optimization/46801
7126         * tree-sra.c (type_internals_preclude_sra_p): Check whether
7127         aggregate fields start at byte boundary instead of the bit-field flag.
7128
7129 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
7130
7131         PR driver/47137
7132         * gcc.c (main): Revert revision 168407.
7133
7134 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7135
7136         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
7137
7138 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7139
7140         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
7141         vector optab to expand vector/scalar shift, update gimple to vector.
7142
7143 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7144
7145         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
7146         a thunk.
7147
7148 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7149
7150         PR tree-optimization/46984
7151         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
7152         HOST_WIDE_INT.
7153         (cgraph_create_indirect_edge): Fixed line length.
7154         (cgraph_indirect_call_info): Declare.
7155         (cgraph_make_edge_direct) Update declaration.
7156         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
7157         (cgraph_create_indirect_edge): Use it.
7158         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
7159         callees.
7160         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
7161         the new thunk_delta representation.
7162         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
7163         HOST_WIDE_INT.
7164         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
7165         (ipa_read_indirect_edge_info): Likewise.
7166         * lto-cgraph.c (output_edge_opt_summary): New function.
7167         (output_node_opt_summary): Call it on all outgoing edges.
7168         (input_edge_opt_summary): New function.
7169         (input_node_opt_summary): Call it on all outgoing edges.
7170
7171 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
7172
7173         PR driver/47137
7174         * gcc.c (main): Don't check have_o when settting combine_inputs.
7175
7176 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
7177
7178         * regrename.c: Add general comment describing the pass.
7179         (struct du_head): Remove 'length' field.
7180         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
7181         (regrename_optimize): Do not sort chains.  Rework comments, add others.
7182         Force renaming to the preferred class (if any) in the first pass and do
7183         not consider registers that belong to it in the second pass.
7184         (create_new_chain): Do not set 'length' field.
7185         (scan_rtx_reg): Likewise.
7186
7187 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
7188
7189         PR tree-optimization/47140
7190         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
7191         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
7192         to bit_value_binop.
7193
7194         PR rtl-optimization/47028
7195         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
7196         parm_birth_insn instead of at the beginning of first bb.
7197
7198 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
7199
7200         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
7201         Remove the word "see" before "@pxref".
7202         * doc/rtl.texi: Remove the word "see" before "@pxref".
7203
7204 2011-01-01  Jan Hubicka  <jh@suse.cz>
7205
7206         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
7207         memory.
7208
7209 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
7210
7211         PR target/38662
7212         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
7213
7214 \f
7215 Copyright (C) 2011 Free Software Foundation, Inc.
7216
7217 Copying and distribution of this file, with or without modification,
7218 are permitted in any medium without royalty provided the copyright
7219 notice and this notice are preserved.