OSDN Git Service

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