OSDN Git Service

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