OSDN Git Service

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