OSDN Git Service

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