OSDN Git Service

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