OSDN Git Service

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