OSDN Git Service

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