OSDN Git Service

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