OSDN Git Service

* doc/contrib.texi (Contributors, Rainer Orth): Update.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2
3         * doc/contrib.texi (Contributors, Rainer Orth): Update.
4
5 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
6
7         PR/43702
8         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
9         __thiscall convention.
10
11 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
12
13         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
14         orig_base.
15         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
16
17 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
18
19         * function.c (assign_parms_initialize_all): Add unused attribute
20         to fntype.
21
22 2010-04-12  Richard Guenther  <rguenther@suse.de>
23
24         * gsstruct.def (GSS_CALL): New.
25         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
26         * gimple.h: Include tree-ssa-alias.h.
27         (struct gimple_statement_call): New.
28         (union gimple_statement_struct_d): Add gimple_call member.
29         (gimple_call_reset_alias_info): Declare.
30         (gimple_call_use_set): New function.
31         (gimple_call_clobber_set): Likewise.
32         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
33         * gimple.c (gimple_call_reset_alias_info): New function.
34         (gimple_build_call_1): Call it.
35         * lto-streamer-in.c (input_gimple_stmt): Likewise.
36         * tree-inline.c (remap_gimple_stmt): Likewise.
37         (expand_call_inline): Remove callused handling.
38         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
39         * tree-dfa.c (dump_variable): Likewise.
40         * tree-parloops.c (parallelize_loops): Likewise.
41         * tree-ssa.c (init_tree_ssa): Likewise.
42         (delete_tree_ssa): Likewise.
43         * tree-flow-inline.h (is_call_used): Remove.
44         * tree-flow.h (struct gimple_df): Remove callused member.
45         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
46         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
47         (ref_maybe_used_by_call_p_1): Simplify.
48         (call_may_clobber_ref_p_1): Likewise.
49         * tree-ssa-structalias.c (compute_points_to_sets): Set
50         the call stmt used and clobbered sets.
51         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
52         (find_tail_calls): Verify the tail call.
53
54 2010-04-12  Richard Guenther  <rguenther@suse.de>
55
56         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
57         single-iteration always-inline inlining.
58         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
59         (cgraph_decide_inlining): Do not handle always-inline
60         specially.
61         (try_inline): Remove always-inline cycle detection special case.
62         Do not recurse on always-inlines.
63         (cgraph_early_inlining): Do not iterate if not optimizing.
64         (cgraph_gate_early_inlining): remove.
65         (pass_early_inline): Run unconditionally.
66         (gate_cgraph_decide_inlining): New function.
67         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
68         not inlining or optimizing.
69         (cgraph_decide_inlining_of_small_functions): Also consider
70         always-inline functions.
71         (cgraph_default_inline_p): Return true for nodes which should
72         disregard inline limits.
73         (estimate_function_body_sizes): Assume zero size and time for
74         nodes which are marked as disregarding inline limits.
75         (cgraph_decide_recursive_inlining): Do not perform recursive
76         inlining on always-inline nodes.
77
78 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
79
80         PR bootstrap/43699
81         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
82         for exprs satisfying handled_component_p.
83
84 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
85
86         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
87         non-constant aggregate elements.
88
89         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
90         is a real initialization.
91
92 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
93
94         PR c/36774
95         * c-decl.c (start_function): Move forward check for nested function.
96
97 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
98
99         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
100         * config/sh/sh.c: Include reload.h.
101         (sh_legitimize_reload_address): New.
102         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
103         sh_legitimize_reload_address.
104
105 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
106
107         * config/sh/sh.md (*movqi_pop): New insn pattern.
108         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
109
110 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
111
112         * config/i386/i386.md (any_shiftrt): New code iterator.
113         (shiftrt_insn): New code attribute.
114         (shiftrt): Ditto.
115         (<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
116         lshr<mode>3 using any_shiftrt code iterator.
117         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
118         *ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
119         any_shiftrt code iterator.
120         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
121         pattern from corresponding peephole2 patterns.
122         (*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
123         and *lshr<mode>3_1 using any_shiftrt code iterator.
124         (*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
125         and *lshrsi3_1_zext.
126         (*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
127         and *lshrqi3_1_slp.
128         (*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
129         and *lshr<mode>3_cmp.
130         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
131         and *lshr<mode>3_cmp_zext.
132         (*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
133         and *lshr<mode>3_cconly.
134
135 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
136
137         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
138         scratch register.
139         (*lshr<mode>3_cconly): Ditto.
140
141 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
142
143         * config/i386/i386.md (lshr<mode>3): Macroize expander from
144         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
145         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
146         pattern from *lshr{di,ti}3_1 and corresponding splitters using
147         DWI mode iterator.
148         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
149         from corresponding peephole2 patterns.
150         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
151         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
152         and *lshrdi3_cmp_rex64 using SWI mode iterator.
153         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
154         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
155         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
156         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
157         and *lshrdi3_cmp_rex64 using SWI mode iterator.
158         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
159         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
160         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
161         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
162         SWI mode iterator.
163
164 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
165
166         * config/i386/i386.md (ashr<mode>3): Macroize expander from
167         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
168         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
169         pattern from *ashr{di,ti}3_1 and corresponding splitters using
170         DWI mode iterator.
171         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
172         from corresponding peephole2 patterns.
173         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
174         (ashrsi3_cvt): Rename from ashrsi3_31.
175         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
176         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
177         and x86_64_shift_adj_3 using SWI48 mode iterator.
178         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
179         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
180         and *ashrdi3_cmp_rex64 using SWI mode iterator.
181         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
182         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
183         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
184         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
185         and *ashrdi3_cmp_rex64 using SWI mode iterator.
186         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
187         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
188         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
189         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
190         SWI mode iterator.
191         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
192         * config/i386/i386.c (ix86_split_ashr): Update for renamed
193         x86_shift<mode>_adj_3 expanders.
194
195 2010-04-10  Wei Guozhi  <carrot@google.com>
196
197         PR target/42601
198         * config/arm/arm.c (arm_pic_static_addr): New function.
199         (legitimize_pic_address): Call arm_pic_static_addr when it detects
200         a static symbol.
201         (arm_output_addr_const_extra): Output expression for new pattern.
202         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
203
204 2010-04-10  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
205
206         * ira-costs.c (record_reg_classes): Ignore alternatives that are
207         not enabled.
208
209         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
210         * web.c: Include "insn-config.h" and "recog.h".
211         (union_match_dups): New function.
212         (web_main): Call it.
213         (union_defs): Don't try to recognize match_dups.
214
215         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
216         if doing so would replace the entire pattern.
217
218 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
219
220         PR target/43707
221         PR target/43709
222         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
223         and splitter pattern.  Change splitter operand 1 predicate to
224         nonmemory_operand.
225
226 2010-04-09  Martin Jambor  <mjambor@suse.cz>
227
228         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
229         lattices are addresses of CONST_DECLs with the same initial value.
230         (ipcp_print_all_lattices): Print values of CONST_DECLs.
231         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
232
233 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
234             Bernd Schmidt  <bernd.schmidt@codesourcery.com>
235
236         * loop-invariant.c (replace_uses): New static function.
237         (move_invariant_reg): Use it to ensure we can replace the uses.
238
239 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
240
241         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
242         function template.
243         (picochip_override_options): Enable section anchors only above -O1.
244         (picochip_reorg): Fixed a couple of build warnings.
245
246 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
247
248         * configure.ac (plugin -rdynamic test): Log result.
249         * configure: Regenerate.
250         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
251         (RDYNAMIC_SPEC): Define.
252         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
253
254 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
255
256         * configure.ac: Determine Sun ld version numbers.
257         (comdat_group): Restrict GNU ld version checks to gld.
258         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
259         (enable_comdat): Support --enable-comdat.
260         * configure: Regenerate.
261         * doc/install.texi (Configuration): Document --enable-comdat.
262
263 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
264
265         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
266         * config/sol2-gld.h: ... here.
267         * config.gcc (sparc*-*-solaris2*): Reflect this.
268         (i[34567]86-*-solaris2*): Use it.
269
270 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
271
272         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
273         setup_clocks_p.
274         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
275
276 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
277
278         PR 42965
279         * diagnostic.c (diagnostic_initialize): Initialize
280         some_warnings_are_errors.
281         (diagnostic_finish): New.
282         (diagnostic_action_after_output): Call it before exiting.
283         (diagnostic_report_diagnostic): Do not print message here. Set
284         some_warnings_are_errors.
285         * diagnostic.h (diagnostic_context): Delete
286         issue_warnings_are_errors_message. Add some_warnings_are_errors.
287         (diagnostic_finish): Declare.
288         * toplev.c (toplev_main): Call it before exit.
289
290 2010-04-09  Jason Merrill  <jason@redhat.com>
291
292         PR c++/42623
293         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
294         for incomplete type.
295
296         PR c++/41788
297         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
298         based on a warning flag.
299
300 2010-04-09  Richard Guenther  <rguenther@suse.de>
301
302         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
303
304 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
305
306         PR bootstrap/43684
307         * varasm.c (default_assemble_visibility): Wrap vars that are
308         set, but unused, by targets without GAS.
309         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
310         Remove set, but unused, vars.
311         (rs6000_legitimize_tls_address): Likewise.
312         (altivec_expand_dst_builtin): Likewise.
313         * config/darwin.c (machopic_classify_symbol): Likewise.
314         (machopic_indirection_name): Likewise.
315
316 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
317
318         * config/i386/i386.md (DWI): New mode iterator.
319         (S): New mode attribute.
320         (shift_operand): Ditto.
321         (shift_immediate_operand): Ditto.
322         (ashl_input_operand): Ditto.
323         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
324         using SDWIM mode iterator.
325         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
326         pattern from *ashl{di,ti}3_1 and corresponding splitters using
327         DWI mode iterator.
328         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
329         from corresponding peephole2 patterns.
330         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
331         and x86_64_shift_adj_1 using SWI48 mode iterator.
332         (x86_shift<mode>_adj_2): Ditto.
333         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
334         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
335         using SWI48 mode iterator.
336         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
337         *ashldi3_cmp_rex64 using SWI mode iterator.
338         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
339         *ashldi3_cconly_rex64 using SWI mode iterator.
340         * config/i386/i386.c (ix86_split_ashl): Update for renamed
341         x86_shift<mode>_adj_{1,2}.
342         (ix86_split_ashr): Ditto.
343         (ix86_split_lshr): Ditto.
344
345 2010-04-09  Richard Guenther  <rguenther@suse.de>
346
347         * target.h (builtin_conversion): Pass in input and output types.
348         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
349         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
350         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
351         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
352
353         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
354         Handle AVX modes.
355         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
356
357 2010-04-09  Richard Guenther  <rguenther@suse.de>
358
359         PR target/43152
360         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
361
362 2010-04-09  Richard Guenther  <rguenther@suse.de>
363
364         * tree-vectorizer.h (struct _stmt_vec_info): Document
365         that vectype is the type of the LHS.
366         (supportable_widening_operation, supportable_narrowing_operation):
367         Get both input and output vector types as arguments.
368         (vect_is_simple_use_1): Declare.
369         (get_same_sized_vectype): Likewise.
370         * tree-vect-loop.c (vect_determine_vectorization_factor):
371         Set STMT_VINFO_VECTYPE to the vector type of the def.
372         (vectorizable_reduction): Adjust.
373         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
374         Adjust.  Specify the output vector type.
375         (vect_pattern_recog_1): Adjust.
376         * tree-vect-stmts.c (get_same_sized_vectype): New function.
377         (vectorizable_call): Adjust.
378         (vectorizable_conversion): Likewise.
379         (vectorizable_operation): Likewise.
380         (vectorizable_type_demotion): Likewise.
381         (vectorizable_type_promotion): Likewise.
382         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
383         the def.
384         (vect_is_simple_use_1): New function.
385         (supportable_widening_operation): Get both input and output
386         vector types.
387         (supportable_narrowing_operation): Likewise.
388         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
389
390 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
391
392         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
393         __thiscall and _thiscall as predefined macros.
394         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
395         thiscall attribute handling.
396         (ix86_comp_type_attributes): Likewise.
397         (ix86_function_regparm): Likewise.
398         (ix86_return_pops_args): Likewise.
399         (init_cumulative_args): Likewise.
400         (find_drap_reg): Likewise.
401         (ix86_static_chain): Likewise.
402         (x86_this_parameter): Likewise.
403         (x86_output_mi_thunk): Likewise.
404         (ix86_attribute_table): Add description for thiscall attribute.
405         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
406         * doc/extend.texi: Add documentation for thiscall.
407
408 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
409
410         PR c++/28584
411         * c.opt (Wint-to-pointer-cast): Available in C++.
412         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
413
414 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
415
416         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
417         * calls.c (expand_call): Pass the function type to aggregate_value_p.
418         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
419         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
420         function type instead.  Reorder and simplify checks.
421
422         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
423
424 2010-04-08  Jing Yu  <jingyu@google.com>
425             Zdenek Dvorak  <ook@ucw.cz>
426
427         PR tree-optimization/42720
428         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
429         loop unswitch conditions here from ...
430         (tree_unswitch_single_loop): ... here.
431
432 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
433
434         * tree-if-conv.c: Fix comments and simplify logic.
435
436 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
437
438         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
439         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
440         (main_tree_if_conversion): Update call to tree_if_conversion.
441
442 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
443
444         PR 42485
445         * doc/invoke.texi (-b,-V): Delete.
446         * doc/tm.texi: Do not mention -b.
447         * gcc.c (display_help): Delete -b and -V.
448         (process_command): Delete -b and -V.
449         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
450
451 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
452             Wolfgang Gellerich  <gellerich@de.ibm.com>
453
454         Implement target hook for loop unrolling
455         * target.h (loop_unroll_adjust): Add a new target hook function.
456         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
457         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
458         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
459         (s390_loop_unroll_adjust): Implement the new target hook for s390.
460         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
461         target hook.
462         (decide_unroll_stupid): Likewise.
463
464 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
465
466         PR target/43643
467         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
468
469 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
470
471         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
472         (Specific, *-*-solaris2*): Likewise.
473         Don't prefer Sun as over GNU as.
474
475 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
476
477         * config/s390/s390.c (override_options): Adjust the z10
478           defaults for max-unroll-times, max-completely-peeled-insns
479           and max-completely-peel-times.
480
481 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
482
483         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
484         instructions for z10.
485         (s390_expand_setmem): Likewise.
486         (s390_expand_cmpmem): Likewise.
487
488 2010-04-08  Richard Guenther  <rguenther@suse.de>
489
490         PR tree-optimization/43679
491         * tree-ssa-pre.c (eliminate): Only propagate copies.
492
493 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
494
495         PR bootstrap/43681
496         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
497         set but not used variable warning.
498
499 2010-04-08  Wei Guozhi  <carrot@google.com>
500
501         PR target/41653
502         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
503         (arm_size_rtx_costs): Call the new function when optimized for size.
504
505 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
506
507         PR debug/43670
508         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
509         op0 is not a MEM, just return NULL instead of assertion
510         failure.
511         (discover_nonconstant_array_refs): Don't walk debug stmts.
512
513 2010-04-08  Doug Kwan  <dougkwan@google.com>
514
515         * configure.ac: Recognize gold and do not use its version number
516         to test ld features.
517         * configure: Regenerate.
518
519 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
520
521         PR middle-end/40815
522         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
523         (negate_value): Move code to push elements to broken_up_substracts ...
524         (eliminate_plus_minus_pair): ... here.  Push operands that have no
525         negative pair to plus_negates.
526         (repropagate_negates, init_reassoc, fini_reassoc): Update.
527
528 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
529
530         * doc/install.texi (Configuration): Move description of
531         --enable-lto, --with-libelf*, --enable-gold from Java section to
532         general section.
533
534         * doc/generic.texi (Working with declarations)
535         (Function Properties, C and C++ Trees): Fix typos.
536         * doc/sourcebuild.texi (Top Level): Likewise.
537
538 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
539
540         PR c/18624
541         * tree.h (DECL_READ_P): Define.
542         (struct tree_decl_common): Add decl_read_flag.
543         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
544         a set but not used warning.
545         (merge_decls): Merge DECL_READ_P flag.
546         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
547         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
548         * c-common.c (handle_used_attribute, handle_unused_attribute):
549         Likewise.
550         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
551         New prototypes.
552         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
553         New functions.
554         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
555         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
556         c_parser_binary_expression, c_parser_cast_expression,
557         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
558         Call default_function_array_read_conversion instead of
559         default_function_array_conversion where needed.
560         (c_parser_unary_expression, c_parser_conditional_expression,
561         c_parser_postfix_expression_after_primary, c_parser_initelt):
562         Likewise.  Call mark_exp_read where needed.
563         (c_parser_statement_after_labels, c_parser_asm_operands,
564         c_parser_typeof_specifier, c_parser_sizeof_expression,
565         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
566         where needed.
567         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
568         New.
569         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
570         (warn_unused_but_set_parameter): Default to warn_unused
571         && extra_warnings.
572         * doc/invoke.texi: Document -Wunused-but-set-variable and
573         -Wunused-but-set-parameter.
574
575         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
576         used count variable.
577         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
578         when operandN variables aren't used in the body of the expander
579         or splitter.
580         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
581         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
582         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
583         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
584         FOR_EACH_IMM_USE_ON_STMT): Likewise.
585         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
586         * tree.c (PROCESS_ARG): Likewise.
587
588 2010-04-07  Simon Baldwin  <simonb@google.com>
589
590         * diagnostic.h (diagnostic_override_option_index): New macro to
591         set a diagnostic's option_index.
592         * c-tree.h (c_cpp_error): Add warning reason argument.
593         * opts.c (_warning_as_error_callback): New.
594         (register_warning_as_error_callback): Store callback for
595         warnings enabled via enable_warning_as_error.
596         (enable_warning_as_error): Call callback, minor code tidy.
597         * opts.h (register_warning_as_error_callback): Declare.
598         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
599         response to -Werror=.
600         (c_common_init_options): Register warning_as_error_callback in opts.c.
601         * common.opt: Add -Wno-cpp option.
602         * c-common.c (struct reason_option_codes_t): Map cpp warning
603         reason codes to gcc option indexes.
604         * (c_option_controlling_cpp_error): New function, lookup the gcc
605         option index for a cpp warning reason code.
606         * (c_cpp_error): Add warning reason argument, call
607         c_option_controlling_cpp_error for diagnostic_override_option_index.
608         * doc/invoke.texi: Document -Wno-cpp.
609
610 2010-04-07  Richard Guenther  <rguenther@suse.de>
611
612         * ipa-reference.c (mark_load): Use get_base_address.
613         (mark_store): Likewise.
614
615         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
616         inserting GIMPLE_NOPs into the IL.
617         * tree-ssa-structalias.c (get_constraint_for_component_ref):
618         Explicitly strip handled components and indirect references.
619
620         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
621         folding address expressions.
622         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
623         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
624         operand_equal_p to compare decls.
625         (ptr_deref_may_alias_decl_p): Likewise.
626         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
627         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
628         Handle reversed comparison ops.
629         * tree-sra.c (asm_visit_addr): Use get_base_address.
630         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
631         * ipa-reference.c (mark_address): Use get_base_address.
632
633 2010-04-07  Richard Guenther  <rguenther@suse.de>
634
635         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
636         Propagate constants everywhere.
637
638 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
639
640         PR debug/43516
641         * tree.c (MAX_INT_CACHED_PREC): Define.
642         (nonstandard_integer_type_cache): New array.
643         (build_nonstandard_integer_type): Cache results for precision
644         <= MAX_INT_CACHED_PREC.
645
646 2010-04-07  Richard Guenther  <rguenther@suse.de>
647
648         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
649         -fargument-noalias-global, -fargument-noalias-anything): Remove.
650         * common.opt: Likewise.
651         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
652         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
653         (nonoverlapping_memrefs_p): Likewise.
654         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
655         * opts.c (common_handle_option): Handle OPT_fargument_alias,
656         OPT_fargument_noalias, OPT_fargument_noalias_anything and
657         OPT_fargument_noalias_global for backward compatibility.
658
659 2010-04-07  Richard Guenther  <rguenther@suse.de>
660
661         PR tree-optimization/43270
662         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
663         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
664         * tree-ssa-pre.c (phi_translate_1): Adjust.
665         (fully_constant_expression): Split out vn_reference handling to ...
666         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
667         Fold reads from constant strings.
668         (vn_reference_lookup): Handle fully constant references.
669         (vn_reference_lookup_pieces): Likewise.
670         * Makefile.in (expmed.o-warn): Add -Wno-error.
671
672 2010-04-07  Martin Jambor  <mjambor@suse.cz>
673
674         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
675
676 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
677
678         PR driver/41594
679         * gcc.c: Add -static-libstdc++ to list of recognized options.
680
681 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
682
683         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
684
685 2010-04-07  Richard Guenther  <rguenther@suse.de>
686
687         PR middle-end/42617
688         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
689         bases build simple mem attributes to retain points-to information.
690
691 2010-04-07  Richard Guenther  <rguenther@suse.de>
692
693         PR middle-end/42617
694         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
695         preserve points-to related information.
696
697 2010-04-07  Richard Guenther  <rguenther@suse.de>
698
699         PR middle-end/42617
700         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
701         discard plain indirect references.
702         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
703         * tree.c (tree_nop_conversion): Likewise.
704
705 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
706
707         PR debug/43628
708         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
709
710 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
711
712         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
713         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
714
715 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
716
717         * tree-if-conv.c: Fix indentation and comments.
718
719 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
720
721         * tree-if-conv.c: Sort static functions in topological order.
722
723 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
724
725         * tree-if-conv.c: Fix indentation and comments.
726
727 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
728
729         PR middle-end/43519
730         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
731         lang_hooks.types.type_for_size instead of
732         build_nonstandard_integer_type.
733         When converting an unsigned type to signed, double its precision.
734         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
735         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
736         (graphite_create_new_loop_guard): When ub + 1 wraps around,
737         use lb <= ub.
738
739 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
740
741         PR middle-end/43519
742         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
743         POINTER_PLUS_EXPR for pointer types.
744
745 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
746
747         PR middle-end/43519
748         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
749         * graphite-clast-to-gimple.c: Include langhooks.h.
750         (max_signed_precision_type): New.
751         (max_precision_type): Takes two types as arguments.
752         (precision_for_value): New.
753         (precision_for_interval): New.
754         (gcc_type_for_interval): New.
755         (gcc_type_for_value): New.
756         (gcc_type_for_clast_term): New.
757         (gcc_type_for_clast_red): New.
758         (gcc_type_for_clast_bin): New.
759         (gcc_type_for_clast_expr): Split up into several functions.
760         (gcc_type_for_clast_eq): Rewritten.
761         (compute_bounds_for_level): New.
762         (compute_type_for_level_1): New.
763         (compute_type_for_level): New.
764         (gcc_type_for_cloog_iv): Removed.
765         (gcc_type_for_iv_of_clast_loop): Rewritten.
766         (graphite_create_new_loop): Compute the lower and upper bound types
767         with gcc_type_for_clast_expr.
768         (graphite_create_new_loop_guard): Same.
769         (find_cloog_iv_in_expr): Removed.
770         (compute_cloog_iv_types_1): Removed.
771         (compute_cloog_iv_types): Removed.
772         (gloog): Do not call compute_cloog_iv_types.
773         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
774         GBB_CLOOG_IV_TYPES.
775         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
776         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
777         (GBB_CLOOG_IV_TYPES): Removed.
778
779 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
780
781         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
782         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
783         (detect_commutative_reduction): Same.
784
785 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
786
787         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
788         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
789         argument.
790         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
791         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
792         (rewrite_commutative_reductions_out_of_ssa): Same.
793         * passes.c (execute_function_todo): Call verify_ssa for every pass
794         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
795         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
796         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
797         with an extra argument.
798         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
799         verify_ssa only when the extra argument is true.
800         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
801         with an extra argument.
802         (tree_transform_and_unroll_loop): Same.
803
804 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
805
806         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
807         for all the passes of the LNO having LOOP_CLOSED_SSA.
808         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
809         * tree-loop-distribution.c (pass_loop_distribution): Same.
810         * tree-pass.h (TODO_verify_loops): Removed.
811         * tree-ssa-loop.c (pass_tree_loop_init): Same.
812         (pass_lim): Same.
813         (pass_tree_unswitch): Same.
814         (pass_predcom): Same.
815         (pass_vectorize): Same.
816         (pass_linear_transform): Same.
817         (pass_graphite_transforms): Same.
818         (pass_iv_canon): Same.
819         (pass_complete_unroll): Same.
820         (pass_complete_unrolli): Same.
821         (pass_parallelize_loops): Same.
822         (pass_loop_prefetch): Same.
823         (pass_iv_optimize): Same.
824
825 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
826
827         PR middle-end/32824
828         * passes.c (init_optimization_passes): Move pass_lim before
829         pass_copy_prop and pass_dce_loop.
830
831 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
832
833         PR target/43667
834         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
835         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
836         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
837         MULTI_* defines for 4 argument vpermil2p* builtins.
838
839 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
840
841         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
842         * config/i386/i386.c (x86_maybe_negate_const_int): New.
843         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
844         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
845         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
846         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
847         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
848         Use x86_maybe_negate_const_int to output insn mnemonic.
849         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
850         check from instruction predicate.  Update comments.
851         * config/i386/sync.md (sync_add<mode>): Use
852         x86_maybe_negate_const_int to output insn mnemonic.
853
854 2010-04-06  Jan Hubicka  <jh@suse.cz>
855
856         PR tree-optimization/42906
857         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
858         IGNORE_SELF argument.  Set visited_control_parents for fully
859         processed BBs.
860         (find_obviously_necessary_stmts): Update call of
861         mark_control_dependent_edges_necessary.
862         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
863
864 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
865
866         * config/i386/i386.md: Remove comment about 'e' and 'E'
867         operand modifier.
868
869 2010-04-06  Richard Guenther  <rguenther@suse.de>
870
871         PR tree-optimization/43627
872         * tree-vrp.c (extract_range_from_unary_expr): Widenings
873         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
874         not varying.
875
876 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
877
878         * BASE-VER: Change to 4.6.0.
879
880         PR target/43638
881         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
882         handling.
883
884 2010-04-06  Richard Guenther  <rguenther@suse.de>
885
886         PR middle-end/43661
887         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
888
889 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
890
891         * doc/invoke.texi (Optimize Options): Document that LTO
892         won't remove object access purely due to incompatible
893         declarations.
894
895 2010-04-04  Matthias Klose  <doko@ubuntu.com>
896
897         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
898         Initialize variable.
899
900 2010-04-03  Richard Guenther  <rguenther@suse.de>
901
902         PR middle-end/42509
903         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
904         require a non-NULL MEM_OFFSET.
905
906 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
907
908         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
909         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
910         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
911         config/alpha/predicates.md, config/arm/arm.md,
912         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
913         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
914         config/darwin9.h, config/darwin.c, config/darwin.h,
915         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
916         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
917         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
918         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
919         config/mips/mips.md, config/mn10300/mn10300.c,
920         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
921         config/rs6000/aix.h, config/rs6000/dfp.md,
922         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
923         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
924         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
925         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
926         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
927         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
928         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
929         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
930         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
931         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
932         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
933         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
934         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
935         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
936         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
937         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
938         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
939         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
940         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
941         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
942         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
943         opt-functions.awk, opth-gen.awk, params.def, passes.c,
944         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
945         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
946         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
947         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
948         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
949         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
950         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
951         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
952         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
953         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
954         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
955         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
956         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
957         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
958
959 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
960
961         PR other/43620
962         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
963         * aclocal.m4: Regenerate.
964
965 2010-04-02  Richard Guenther  <rguenther@suse.de>
966
967         PR tree-optimization/43629
968         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
969         if we have seen a constant value.
970
971 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
972
973         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
974
975 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
976
977         PR target/43469
978         * arm.c (legitimize_tls_address): Adjust call to
979         gen_tls_load_dot_plus_four.
980         (arm_note_pic_base): New function.
981         (arm_cannot_copy_insn_p): Use it.
982         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
983         constraint.
984
985 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
986
987         PR bootstrap/43531
988
989         Revert:
990         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
991
992         * Makefile.in ($(out_object_file)): Depend on
993         gt-$(basename $(notdir $(out_file))).h.
994
995 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
996
997         * config.gcc (lm32-*-rtems*): Add t-lm32.
998
999 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
1000
1001         * config.gcc: Add lm32-*-rtems*.
1002         * config/lm32/rtems.h: New file.
1003
1004 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
1005
1006         PR target/42609
1007         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
1008
1009 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
1010
1011         * dwarf2out.c (output_compilation_unit_header): For
1012         -gdwarf-4 use version 4 instead of version 3.
1013         (output_line_info): For version 4 and above emit additional
1014         maximum ops per insn header field.
1015         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
1016
1017         * dwarf2out.c (is_c_family, is_java): Remove.
1018         (lower_bound_default): New function.
1019         (add_bound_info, gen_descr_array_type_die): Use it.
1020
1021 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
1022
1023         PR debug/43325
1024         * dwarf2out.c (gen_variable_die): Allow debug info for variable
1025         re-declaration when it happens in a function.
1026
1027 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
1028
1029         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
1030         (cgraph_remove_function_insertion_hook): Same.
1031         (cgraph_call_function_insertion_hooks): Same.
1032
1033 2010-04-01  Richard Guenther  <rguenther@suse.de>
1034
1035         PR middle-end/43614
1036         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
1037         and TREE_THIS_VOLATILE.
1038         (copy_ref_info): Likewise.
1039         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
1040         * tree.c (build6_stat): Ignore side-effects of all but arg5
1041         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
1042         TARGET_MEM_REF.
1043
1044 2010-04-01  Richard Guenther  <rguenther@suse.de>
1045
1046         PR tree-optimization/43607
1047         * ipa-type-escape.c (check_call): Do not access non-existing
1048         arguments.
1049
1050 2010-04-01  Richard Guenther  <rguenther@suse.de>
1051
1052         PR middle-end/43602
1053         Revert
1054         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1055                     Jack Howarth <howarth@bromo.med.uc.edu>
1056
1057         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1058         variables TLS.
1059
1060 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1061
1062         * doc/install.texi (Prerequisites): Document libelf usability on
1063         IRIX 5/6 and Solaris 2.
1064         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
1065         Update GNU as, GNU ld requirements.
1066         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
1067         Document Sun Studio compiler download.
1068         Update and simplify as, ld recommendations.
1069         (Specific, *-*-solaris2.7): Note obsoletion, removal.
1070
1071 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1072
1073         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
1074         with_tune_32 to pentium4.
1075
1076 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
1077
1078         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
1079
1080 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1081
1082         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
1083         obsoletion, removal.
1084         Update IDO URL.
1085         Document GNU as requirement.
1086         Update configure requirements.
1087         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
1088         Recomment IRIX 6.5.18+.
1089         Document IDF/IDL requirement.
1090         Document GNU as requirement.
1091         Document GNU ld bootstrap failure.
1092         Remove freeware.sgi.com reference.
1093
1094 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1095
1096         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
1097         UNIX V4.0, V5.0 obsoletion, removal.
1098         Remove --with-gc=simple reference.
1099         Update VM requirements during bootstrap.
1100         Remove -oldas bootstrap description.
1101         Update binutils reference.
1102         Remove comparison failure note.
1103
1104 2010-03-31  Richard Guenther  <rguenther@suse.de>
1105             Zdenek Dvorak  <ook@ucw.cz>
1106             Sebastian Pop  <sebastian.pop@amd.com>
1107
1108         PR middle-end/43464
1109         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
1110         with multiple arguments.
1111         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
1112
1113 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1114
1115         * graphite-dependences.c (print_pddr): Call print_pdr with an
1116         extra argument.
1117         * graphite-poly.c (debug_pdr): Add an extra argument for the
1118         verbosity level.
1119         (print_pdr): Same.
1120         (print_pbb_domain): Same.
1121         (print_pbb): Same.
1122         (print_scop_context): Same.
1123         (print_scop): Same.
1124         (print_cloog): Same.
1125         (debug_pbb_domain): Same.
1126         (debug_pbb): Same.
1127         (print_pdrs): Same.
1128         (debug_pdrs): Same.
1129         (debug_scop_context): Same.
1130         (debug_scop): Same.
1131         (debug_cloog): Same.
1132         (print_scop_params): Same.
1133         (debug_scop_params): Same.
1134         (print_iteration_domain): Same.
1135         (print_iteration_domains): Same.
1136         (debug_iteration_domain): Same.
1137         (debug_iteration_domains): Same.
1138         (print_scattering_function): Same.
1139         (print_scattering_functions): Same.
1140         (debug_scattering_function): Same.
1141         (debug_scattering_functions): Same.
1142         * graphite-poly.h (debug_pdr): Update declaration.
1143         (print_pdr): Same.
1144         (print_pbb_domain): Same.
1145         (print_pbb): Same.
1146         (print_scop_context): Same.
1147         (print_scop): Same.
1148         (print_cloog): Same.
1149         (debug_pbb_domain): Same.
1150         (debug_pbb): Same.
1151         (print_pdrs): Same.
1152         (debug_pdrs): Same.
1153         (debug_scop_context): Same.
1154         (debug_scop): Same.
1155         (debug_cloog): Same.
1156         (print_scop_params): Same.
1157         (debug_scop_params): Same.
1158         (print_iteration_domain): Same.
1159         (print_iteration_domains): Same.
1160         (debug_iteration_domain): Same.
1161         (debug_iteration_domains): Same.
1162         (print_scattering_function): Same.
1163         (print_scattering_functions): Same.
1164         (debug_scattering_function): Same.
1165         (debug_scattering_functions): Same.
1166
1167 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1168
1169         * graphite-poly.c (print_scattering_function_1): New.
1170         (print_scattering_function): Call it.
1171         (print_scop_params): Remove spaces at the end of lines.
1172         (print_cloog): New.
1173         (debug_cloog): New.
1174         * graphite-poly.h (print_cloog): Declared.
1175         (debug_cloog): Declared.
1176
1177 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1178
1179         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
1180         in loop->header.
1181         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
1182         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
1183         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
1184         to switch between adding the IV bump in loop->latch or in loop->header.
1185
1186 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1187
1188         * graphite-poly.c (print_scattering_function): Pretty print following
1189         the scoplib format.
1190         (print_pdr): Same.
1191         (print_pbb_domain): Same.
1192         (dump_gbb_cases): Same.
1193         (dump_gbb_conditions): Same.
1194         (print_pdrs): Same.
1195         (print_pbb): Same.
1196         (print_scop_params): Same.
1197         (print_scop_context): Same.
1198         (print_scop): Same.
1199         (print_pbb_body): New.
1200         (lst_indent_to): New.
1201         (print_lst): Start new lines with a #.
1202         * graphite-poly.h (pbb_bb): New.
1203         (pbb_index): Use pbb_bb.
1204         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
1205         disjuncts.
1206         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
1207
1208 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
1209
1210         * dwarf2out.c (size_of_die): For -gdwarf-4 use
1211         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
1212         and 0 instead of 1 for dw_val_class_flag.
1213         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
1214         dw_val_class_range_list, dw_val_class_loc_list,
1215         dw_val_class_lineptr and dw_val_class_macptr, use
1216         DW_FORM_flag_present for dw_val_class_flag and
1217         DW_FORM_exprloc for dw_val_class_loc.
1218         (output_die): For -gdwarf-4 print dw_val_class_loc
1219         size as uleb128 instead of 1 or 2 bytes and don't print
1220         anything for dw_val_class_flag.
1221
1222         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
1223         instead of cselib_lookup following by tweaking locs->setting_insn.
1224
1225         PR bootstrap/43596
1226         * cselib.c (cselib_process_insn): Clear cselib_current_insn
1227         even before returning from label, setjmp call or volatile asm
1228         handling.
1229
1230 2010-03-31  Richard Guenther  <rguenther@suse.de>
1231
1232         PR middle-end/43600
1233         * cgraphunit.c (cgraph_output_in_order): Do not allocate
1234         temporary data on stack.
1235
1236 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1237
1238         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
1239         (PUSHSECTION_ASM_OP): Remove.
1240         (POPSECTION_ASM_OP): Remove.
1241         (PUSHSECTION_FORMAT): Remove.
1242         * config/sol2.h (PUSHSECTION_FORMAT): Define.
1243         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
1244         * config/sol2.c (solaris_output_init_fini): Use it.
1245
1246 2010-03-31  Jie Zhang  <jie@codesourcery.com>
1247
1248         PR 43574
1249         * opt-functions.awk (var_type_struct): Use signed char type
1250         for simple variables.
1251
1252 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1253
1254         * config/sol2.c: Include output.h.
1255         (solaris_assemble_visibility): New function.
1256         * config/t-sol2 (sol2.o): Add output.h dependency.
1257         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
1258         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
1259         Redefine.
1260
1261 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
1262
1263         PR target/43580
1264         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
1265         V2SImode or XFmode on PRE_DEC.
1266
1267         PR debug/43557
1268         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
1269         BLKmode.
1270
1271 2010-03-31  Jie Zhang  <jie@codesourcery.com>
1272
1273         PR 43562
1274         * reload.h (caller_save_initialized_p): Declare.
1275         * toplev.c (backend_init_target): Don't call
1276         init_caller_save but set caller_save_initialized_p to false.
1277         * caller-save.c (caller_save_initialized_p): Define.
1278         (init_caller_save): Check caller_save_initialized_p.
1279         * ira.c (ira): Call init_caller_save if flag_caller_saves.
1280
1281 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1282
1283         PR target/39048
1284         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
1285         and soft-fp/t-softfp to tmake_file.
1286         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
1287         (LIBGCC2_TF_CEXT): Define.
1288         (TF_SIZE): Define.
1289
1290 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
1291
1292         PR debug/42977
1293         * cselib.c (n_useless_values): Document handling of debug locs.
1294         (n_useless_debug_values, n_debug_values): New variables.
1295         (new_elt_loc_list): Don't add to debug values, keep count.
1296         (promote_debug_loc): New.
1297         (cselib_reset_table): Zero new variables.
1298         (entry_and_rtx_equal_p): Promote debug locs.
1299         (discard_useless_locs): Increment n_useless_debug_values for
1300         debug values.
1301         (remove_useless_values): Adjust n_useless_values and n_debug_values
1302         with n_useless_debug_values.
1303         (add_mem_for_addr): Promote debug locs.
1304         (cselib_lookup_mem): Likewise.
1305         (cselib_lookup_addr): Renamed to...
1306         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
1307         (cselib_log_lookup): ... this.  Turn into...
1308         (cselib_lookup_addr): ... new wrapper.
1309         (cselib_lookup_from_insn): New.
1310         (cselib_invalidate_regno): Increment n_useless_debug_values for
1311         debug values.
1312         (cselib_invalidate_mem): Likewise.
1313         (cselib_process_insn): Take n_deleted and n_debug_values into
1314         account to guard remove_useless_value call.
1315         (cselib_finish): Zero n_useless_debug_values.
1316         * cselib.h (cselib_lookup_from_insn): Declare.
1317         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
1318         (sched_analyze_2): Likewise.
1319
1320 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
1321
1322         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
1323         functions.
1324         (adjust_mems): Replace narrowing SUBREG of expression containing
1325         just PLUS, MINUS, MULT and ASHIFT of registers and constants
1326         with operations in the narrower mode.
1327
1328         PR debug/43593
1329         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
1330         regs_invalidated_by_call instead all call_used_reg_set registers.
1331
1332 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
1333
1334         PR middle-end/43430
1335         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
1336         pointer comparisons with types_compatible_p.
1337         * tree-vect-stmts.c (vectorizable_call): Same.
1338         (vectorizable_condition): Same.
1339
1340 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1341
1342         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
1343         stack check if the mask would be zero.
1344
1345 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1346             Jack Howarth <howarth@bromo.med.uc.edu>
1347
1348         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1349         variables TLS.
1350
1351 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
1352
1353         PR other/25232
1354         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
1355         and __unordtf2.
1356         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
1357         Include ___unordxf2 and ___unordtf2.
1358         * config/i386/libgcc-glibc.ver: Do not define inheritance from
1359         GCC_4.4.0 here.
1360
1361 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
1362
1363         * config/lm32/t-lm32: New file.
1364         * config.gcc: Use the above file when targetting lm32.
1365
1366 2010-03-28  Duncan Sands  <baldrick@free.fr>
1367
1368         * Makefile.in (PLUGIN_HEADERS): Add except.h.
1369
1370 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1371
1372         PR middle-end/43431
1373         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
1374         Improve vectorization cost model diagnostic.
1375
1376 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1377
1378         PR middle-end/43436
1379         * tree-vect-data-refs.c (vect_analyze_data_refs): When
1380         compute_data_dependences_for_loop returns false, early exit
1381         and output an extra diagnostic for the failed data reference
1382         analysis.
1383
1384 2010-03-29  Richard Guenther  <rguenther@suse.de>
1385
1386         PR tree-optimization/43560
1387         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
1388         (can_sm_ref_p): Treat stores to readonly locations as trapping.
1389
1390 2010-03-29  Jie Zhang  <jie@codesourcery.com>
1391
1392         PR 43564
1393         * toplev.c (process_options): Set optimization_default_node
1394         and optimization_current_node.
1395         * opts.c (decode_options): Don't set optimization_default_node
1396         and optimization_current_node.
1397
1398 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
1399
1400         * config/rtems.h: Abandon -qrtems_debug.
1401
1402 2010-03-28  Jan Hubicka  <jh@suse.cz>
1403
1404         PR tree-optimization/43505
1405         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
1406         map should not be copied.
1407
1408 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1409
1410         PR middle-end/41674
1411         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
1412         cdtors, set DECL_PRESERVE_P.
1413         * ipa.c (cgraph_externally_visible_p): Return true if declaration
1414         should be preseved.
1415
1416 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
1417
1418         PR tree-optimization/43528
1419         * stor-layout.c (place_field): Check that constant fits into
1420         unsigned HWI when skipping calculation of MS bitfield layout.
1421
1422 2010-03-27  Jan Hubicka  <jh@suse.cz>
1423
1424         PR middle-end/43391
1425         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
1426         notice_global_symbol work.
1427
1428 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
1429
1430         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
1431         instead of dwarf2out_decl.
1432         (struct var_loc_node): Remove section_label field.
1433         (dwarf2out_function_decl): New function.
1434         (dwarf2out_var_location): Don't set section_label field.
1435         (dwarf2out_begin_function): Don't empty decl_loc_table here.
1436
1437 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
1438
1439         PR tree-optimization/43544
1440         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1441         First argument for builtin vectorized function hook is now a
1442         tree to be able to distinguish between machine specific and
1443         standard builtins.
1444         * targhooks.c (default_builtin_vectorized_function): Ditto.
1445         * targhooks.h (default_builtin_vectorized_function): Ditto.
1446         * target.h (struct gcc_target): Ditto.
1447         * tree-vect-stmts.c (vectorizable_function): Ditto.
1448         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
1449         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
1450         Ditto.
1451
1452 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
1453
1454         PR c/43381
1455         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
1456         nested binding iff it is a FUNCTION_DECL.
1457         (store_parm_decls_newstyle): Pass nested=true to bind for
1458         FUNCTION_DECLs amongst parameters.
1459
1460 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1461
1462         * var-tracking.c (vt_expand_loc_callback): Don't run
1463         cselib_expand_value_rtx_cb in dummy mode if
1464         cselib_dummy_expand_value_rtx_cb returned false.
1465
1466         * var-tracking.c (emit_note_insn_var_location): For one part
1467         notes with offset 0, don't add EXPR_LIST around the location.
1468         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
1469         add_location_or_const_value_attribute): Adjust for that change.
1470
1471         PR debug/43540
1472         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
1473         into first operand and location into second.
1474         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
1475         dw_cfi_oprnd_loc for DW_CFA_expression.
1476         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
1477         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
1478         assume first argument is regnum and second argument is location.
1479
1480 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1481
1482         PR target/42113
1483         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
1484         of scratch register to DImode.  Split to DImode comparison operator.
1485         Use SImode subreg of scratch register in the multiplication.
1486         (*cmp_sadd_sidi): Ditto.
1487         (*cmp_ssub_si): Ditto.
1488         (*cmp_ssub_sidi): Ditto.
1489
1490 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1491
1492         PR target/43524
1493         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
1494         Remove invalid assert and wrong comment.
1495
1496 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1497
1498         PR debug/43516
1499         * flags.h (final_insns_dump_p): New extern.
1500         * final.c (final_insns_dump_p): New variable.
1501         (rest_of_clean_state): Set it before -fdump-final-insns=
1502         dumping, clear afterwards.
1503         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
1504         MEM_ALIAS_SET on MEMs.
1505
1506 2010-03-26  David S. Miller  <davem@davemloft.net>
1507
1508         * configure.ac: Fix sparc GOTDATA_OP bug check.
1509         * configure: Rebuild.
1510
1511 2010-03-26  Alan Modra  <amodra@gmail.com>
1512
1513         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
1514
1515 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1516
1517         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
1518         TLS_SECTION_ASM_FLAG.
1519
1520 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
1521
1522         PR bootstrap/43511
1523         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
1524         Clear first_function_block_is_cold.
1525
1526         PR c/43385
1527         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
1528         argument if the argument is truth_value_p.
1529
1530 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1531
1532         * config/rs6000/constraints.md: Update copyright year for my changes.
1533
1534         PR target/43484
1535         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
1536         used in reg+reg addressing, swap registers.
1537
1538 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1539
1540         PR debug/43293
1541         * target.h (struct gcc_target): Add code_end hook.
1542         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
1543         if not yet defined.
1544         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
1545         * toplev.c (compile_file): Call targetm.asm_out.code_end
1546         hook before unwind info/debug info output.
1547         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
1548         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
1549         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1550         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
1551         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1552         * config/i386/i386.c (ix86_file_end): Renamed to...
1553         (ix86_code_end): ... this.  Make static.  Don't call
1554         file_end_indicate_exec_stack.  Emit unwind info using
1555         final_start_function/final_end_function.
1556         (darwin_x86_file_end): Remove.
1557         (TARGET_ASM_CODE_END): Define.
1558         * config/i386/i386.h (TARGET_ASM_FILE_END,
1559         NEED_INDICATE_EXEC_STACK): Don't define.
1560         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
1561         (TARGET_ASM_FILE_END): Define to darwin_file_end.
1562         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
1563         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
1564
1565         PR target/43498
1566         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
1567         at the beginning and final_end_function at the end.
1568         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1569
1570 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1571
1572         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
1573         and Sun as TLS syntax.
1574         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
1575         * configure: Regenerate.
1576         * config.in: Regenerate.
1577         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
1578         (default_elf_asm_named_section): Use it.
1579         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
1580         (i386_output_dwarf_dtprel): Likewise.
1581         (output_addr_const_extra): Likewise.
1582         (output_pic_addr_const): Lowercase @GOTTPOFF.
1583         (output_addr_const_extra): Likewise.
1584         (output_pic_addr_const): Lowercase @GOTNTPOFF.
1585         (output_addr_const_extra): Likewise.
1586         (output_pic_addr_const): Lowercase @INDNTPOFF.
1587         (output_addr_const_extra): Likewise.
1588         (output_pic_addr_const): Lowercase @NTPOFF.
1589         (output_addr_const_extra): Likewise.
1590         (output_pic_addr_const): Lowercase @TPOFF.
1591         (output_addr_const_extra): Likewise.
1592         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
1593         (*tls_global_dynamic_64): Likewise.
1594         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
1595         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
1596
1597         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
1598         (ASM_OUTPUT_TLS_COMMON): Use it.
1599         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
1600
1601         PR target/38118
1602         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
1603         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
1604         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
1605         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
1606         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1607         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
1608
1609 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1610
1611         * config/i386/i386.c (override_options): Don't accept
1612         -mtls-dialect=sun any longer.
1613         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
1614         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
1615         (*tls_local_dynamic_base_32_sun): Likewise.
1616         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1617
1618 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1619
1620         PR debug/43508
1621         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1622         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
1623
1624         PR debug/43479
1625         * ira.c (adjust_cleared_regs): New function.
1626         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
1627
1628         PR debug/19192
1629         PR debug/43479
1630         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
1631         from gimple_block.
1632         * expr.c (expand_expr_real): Restore previous
1633         curr_insn_source_location and curr_insn_block after
1634         expand_expr_real_1 call.
1635         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
1636         instead of expand_expr_real_1.
1637
1638 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
1639
1640         PR rtl-optimization/43413
1641         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
1642         hard regs too.
1643
1644 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
1645
1646         PR target/43348
1647         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
1648         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
1649
1650 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1651
1652         * config/i386/i386.c (ix86_target_string): Add -mfma.
1653         Fix a typo in comment.
1654
1655 2010-03-22  Mike Stump  <mikestump@comcast.net>
1656
1657         PR target/23071
1658         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
1659         Don't overly align based upon packed packed fields.
1660
1661 2010-03-22  Jason Merrill  <jason@redhat.com>
1662
1663         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
1664         Use () rather than [], and move before the element type.
1665
1666 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1667
1668         * doc/configfiles.texi (Configuration Files): Removed
1669         fixinc/Makefile*, intl/Makefile.*.
1670         * doc/makefile.texi: Fixed markup. Abstract from version
1671         control system used.
1672         (Makefile): Removed obsolete gcc/java/parse.y example.
1673         * doc/sourcebuild.texi: Likewise.
1674         (Top Level): Added config, gnattools, libdecnumber, libgcc,
1675         libgomp, libssp.  Removed fastjar.
1676         (Miscellaneous Docs): Clarify location.
1677         Added COPYING3, COPYING3.LIB.
1678         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
1679
1680 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1681
1682         PR target/38085
1683         * config/i386/i386.c (x86_function_profiler)
1684         [!NO_PROFILE_COUNTERS]: Fix typo.
1685         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
1686         instead of callq.
1687
1688 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
1689             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1690
1691         * doc/sourcebuild.texi (Test Directives): Split into six
1692         subsections, with most of the current text in new subsections
1693         Directives, Selectors, and Final Actions.
1694         (Directives): Split list of test directives into multiple
1695         subsubsections.
1696         (Selectors): Describe use and syntax of selectors.
1697         (Effective-Target Keywords): Describe all existing keywords.
1698         (Add Options): Describe features for dg-add-options.
1699         (Require Support): Describe variants of dg-require-support.
1700         (Final Actions): Describe commands to use in dg-final.
1701
1702 2010-03-22  Michael Matz  <matz@suse.de>
1703
1704         PR middle-end/43475
1705         * recog.c (validate_replace_rtx_group): Replace also in
1706         REG_EQUAL and REG_EQUIV notes.
1707
1708 2010-03-22  Richard Guenther  <rguenther@suse.de>
1709
1710         PR tree-optimization/43390
1711         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
1712         sure vector extracts are type correct.
1713
1714 2010-03-22  Richard Guenther  <rguenther@suse.de>
1715
1716         PR middle-end/40106
1717         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
1718         x * sqrt (x) even when optimizing for size if the target
1719         has native support for sqrt.
1720
1721 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
1722
1723         * varasm.c (make_decl_rtl_for_debug): Also clear
1724         flag_mudflap for the duration of make_decl_rtl call.
1725
1726         PR debug/43443
1727         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
1728         locs from preserved VALUEs.
1729
1730 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1731
1732         PR middle-end/42718
1733         * pa.md (movmemsi): Set align to one if zero.
1734         (movmemdi): Likewise.
1735
1736 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
1737
1738         PR target/42321
1739         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
1740         with their corresponding prologue pushes.
1741
1742 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
1743
1744         PR target/43156
1745         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
1746         at the begining or end.
1747         (spu_expand_epilogue): Likewise.
1748
1749 2010-03-20  Richard Guenther  <rguenther@suse.de>
1750
1751         PR rtl-optimization/43438
1752         * combine.c (make_extraction): Properly zero-/sign-extend an
1753         extraction of the low part of a CONST_INT.  Also handle
1754         CONST_DOUBLE.
1755
1756 2010-03-19  Mike Stump  <mikestump@comcast.net>
1757
1758         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
1759         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
1760         (override_options): Use SUBTARGET32_DEFAULT_CPU.
1761
1762 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1763
1764         PR c/43211
1765         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
1766         an error.
1767
1768 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
1769
1770         PR rtl-optimization/42258
1771         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
1772         use that may match DEF.
1773
1774         PR target/40697
1775         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
1776         the cost of loading the constant rather than assuming
1777         COSTS_N_INSNS (1).
1778         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
1779         outer code is AND, do the same tests as the andsi3 expander and
1780         return COSTS_N_INSNS (1) if and is cheap.
1781
1782         * optabs.c (avoid_expensive_constant): Fix formatting.
1783
1784 2010-03-19  Michael Matz  <matz@suse.de>
1785
1786         PR c++/43116
1787         * attribs.c (decl_attributes): When rebuilding a function pointer
1788         type use the same qualifiers as the original pointer type.
1789
1790 2010-03-19  Martin Jambor  <mjambor@suse.cz>
1791
1792         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
1793         and is_gimple_ip_invariant_address.
1794
1795 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1796
1797         Revert
1798         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1799
1800         * config/arm/arm.c (arm_override_options): Turn off
1801         flag_dwarf2_cfi_asm for AAPCS variants.
1802
1803 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1804
1805         PR target/43399
1806         * config/arm/arm.c (emit_multi_reg_push): Update comments.
1807         Use PRE_MODIFY instead of PRE_DEC.
1808         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
1809         (vfp_emit_fstmd): Likewise.
1810
1811 2010-03-19  Michael Matz  <matz@suse.de>
1812
1813         PR target/43305
1814         * builtins.c (expand_builtin_interclass_mathfn,
1815         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
1816         if that fails.
1817
1818 2010-03-19  Richard Guenther  <rguenther@suse.de>
1819
1820         PR tree-optimization/43415
1821         * tree-ssa-pre.c (phi_translate): Split out worker to ...
1822         (phi_translate_1): ... this.
1823         (phi_translate): Move all caching here.  Cache all NARY
1824         and REFERENCE translations.
1825
1826 2010-03-19  David S. Miller  <davem@davemloft.net>
1827
1828         With help from Eric Botcazou.
1829         * config/sparc/sparc.c: Include dwarf2out.h.
1830         (emit_pic_helper): Delete.
1831         (pic_helper_symbol_name): Delete.
1832         (pic_helper_emitted_p): Delete.
1833         (pic_helper_needed): New.
1834         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
1835         (get_pc_thunk_name): New.
1836         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
1837         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
1838         Set pic_helper_needed to true.  Don't call emit_pic_helper.
1839         (sparc_expand_prologue): Update load_pic_register call.
1840         (sparc_output_mi_thunk): Likewise.
1841         (sparc_file_end): Emit a hidden comdat symbol for the PIC
1842         thunk if possible.  Output CFI information as needed.
1843
1844 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1845             Jack Howarth <howarth@bromo.med.uc.edu>
1846
1847         PR target/36399
1848         * config/i386/i386.h: Fix ABI on darwin x86-32.
1849
1850 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
1851
1852         * tree.h: Declare make_decl_rtl_for_debug.
1853         * varasm.c (make_decl_rtl_for_debug): New.
1854         * dwarf2out.c (rtl_for_decl_location): Call it.
1855         * cfgexpand.c (expand_debug_expr): Call it.
1856
1857 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1858
1859         PR bootstrap/43399
1860         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
1861         mem_mode.
1862
1863         PR bootstrap/43403
1864         * var-tracking.c (vt_init_cfa_base): Do nothing if
1865         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
1866
1867 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
1868
1869         PR debug/42873
1870         * var-tracking.c (canonicalize_vars_star): New.
1871         (dataflow_post_merge_adjust): Use it.
1872
1873 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1874
1875         PR debug/43058
1876         * var-tracking.c (non_suitable_const): New function.
1877         (add_uses): For DEBUG_INSNs with constants, don't record any
1878         value, instead just the constant value itself.
1879         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
1880         is not VAR_LOC_UNKNOWN_P, set var to the constant.
1881         (emit_notes_in_bb): Likewise.
1882         (emit_note_insn_var_location): For onepart variables if
1883         cur_loc is a VOIDmode constant, use DECL_MODE.
1884
1885 2010-03-18  Martin Jambor  <mjambor@suse.cz>
1886
1887         PR middle-end/42450
1888         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
1889         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
1890         all non-clones.  Moved call redirection...
1891         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
1892         (cgraph_materialize_all_clones): Dispose of all
1893         combined_args_to_skip bitmaps.
1894         (verify_cgraph_node): Do not check for edges pointing to wrong
1895         nodes in inline clones.
1896         * tree-inline.c (copy_bb): Call
1897         cgraph_redirect_edge_call_stmt_to_callee.
1898         * ipa.c (cgraph_remove_unreachable_nodes): Call
1899         cgraph_node_remove_callees even when there are used clones.
1900
1901 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1902
1903         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
1904
1905 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1906
1907         PR target/43383
1908         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
1909         for 32bit.
1910
1911 2010-03-18  Michael Matz  <matz@suse.de>
1912
1913         PR middle-end/43419
1914         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
1915         into sqrt(x) if we need to preserve signed zeros.
1916
1917 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
1918             Eric Botcazou  <ebotcazou@adacore.com>
1919
1920         PR rtl-optimization/43360
1921         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
1922         note if we don't know its invariant status.
1923
1924 2010-03-18  Michael Matz  <matz@suse.de>
1925
1926         PR tree-optimization/43402
1927         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
1928         PHI chains of ssa names registered for update.
1929
1930 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
1931
1932         PR target/42427
1933         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
1934         non-offsettable and pre_modify update addressing.
1935         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
1936         and "2" alternatives "#".
1937         (*movdd_softfloat32): Make all alternatives "#";
1938         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
1939         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
1940         (*movdf_softfloat32): Make all alternatives "#";
1941         (movdi): Use the new DIFD mode iterator to create a common splitter
1942         for movdi, movdf and movdd patterns.
1943
1944 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1945
1946         * common.opt (dumpdir): Remove redundant tab.
1947
1948 2010-03-17  Martin Jambor  <mjambor@suse.cz>
1949
1950         PR tree-optimization/43347
1951         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
1952         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
1953
1954 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1955
1956         PR rtl-optimization/42216
1957         * regrename.c (create_new_chain): New function, broken out from...
1958         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
1959         appending a use to an empty chain.
1960         (build_def_use): Remove previous changes that convert OP_INOUT to
1961         OP_OUT operands; instead detect the case where an OP_INOUT operand
1962         uses a previously untracked register and create an empty chain for it.
1963
1964 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1965
1966         * doc/extend.texi (Function Attributes): Rewrite unfinished
1967         sentence in ms_abi documentation.
1968
1969 2010-03-17  Alan Modra  <amodra@gmail.com>
1970
1971         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
1972         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
1973         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
1974         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
1975
1976 2010-03-16  Richard Henderson  <rth@redhat.com>
1977
1978         PR middle-end/43365
1979         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
1980         (lower_try_finally): Save and restore eh_seq around the expansion
1981         of the try-finally.
1982
1983 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1984
1985         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
1986         statements before splitting block.
1987
1988 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1989
1990         * doc/sourcebuild.texi (Testsuites): Fix markup.
1991         Use pathnames relative to gcc/testsuite.
1992         (Test Directives): Move description of how timeout is determined.
1993         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
1994         (C Tests): Correct gcc.misc-tests directory.
1995         Framework tests now live in gcc.test-framework.
1996
1997 2010-03-16  Richard Guenther  <rguenther@suse.de>
1998
1999         PR middle-end/43379
2000         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
2001         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
2002
2003 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
2004             Alexandre Oliva  <aoliva@redhat.com>
2005
2006         PR tree-optimization/42917
2007         * lambda-code.c (remove_iv): Skip debug statements.
2008         (lambda_loopnest_to_gcc_loopnest): Likewise.
2009         (not_interesting_stmt): Debug statements are not interesting.
2010
2011 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
2012
2013         PR debug/43051
2014         PR debug/43092
2015         * cselib.c (cselib_preserve_constants,
2016         cfa_base_preserved_val): New static variables.
2017         (preserve_only_constants): New function.
2018         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
2019         clear its REG_VALUES.  If cselib_preserve_constants, don't
2020         empty the whole hash table, but preserve there VALUEs with constants,
2021         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
2022         (cselib_preserve_cfa_base_value): New function.
2023         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
2024         (cselib_init): Change argument to int bitfield.  Set
2025         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
2026         is in it.
2027         (cselib_finish): Clear cselib_preserve_constants and
2028         cfa_base_preserved_val.
2029         * cselib.h (enum cselib_record_what): New enum.
2030         (cselib_init): Change argument to int.
2031         (cselib_preserve_cfa_base_value): New prototype.
2032         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
2033         * dse.c (dse_step1): Likewise.
2034         * cfgcleanup.c (thread_jump): Likewise.
2035         * sched-deps.c (sched_analyze): Likewise.
2036         * gcse.c (local_cprop_pass): Likewise.
2037         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
2038         If FN is non-NULL, call the callback always and whenever it returns
2039         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
2040         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
2041         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
2042         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
2043         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
2044         * var-tracking.c: Include recog.h.
2045         (bb_stack_adjust_offset): Remove.
2046         (vt_stack_adjustments): Don't call it, instead just gather the
2047         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
2048         (adjust_stack_reference): Remove.
2049         (compute_cfa_pointer): New function.
2050         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
2051         (struct adjust_mem_data): New type.
2052         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
2053         functions.
2054         (get_address_mode): New function.
2055         (replace_expr_with_values): Use it.
2056         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
2057         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
2058         (adjust_sets): Remove.
2059         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
2060         Use get_address_mode.
2061         (get_adjusted_src): Remove.
2062         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
2063         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
2064         (add_with_sets): Don't call adjust_sets.
2065         (fp_setter, vt_init_cfa_base): New functions.
2066         (vt_initialize): Change return type to bool.  Move most of pool etc.
2067         initialization to the beginning of the function from end.  Pass
2068         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
2069         If !frame_pointer_needed, call vt_stack_adjustment before mos
2070         vector is filled, call vt_init_cfa_base if argp/framep has been
2071         eliminated to sp.  If frame_pointer_needed and argp/framep has
2072         been eliminated to hard frame pointer, set
2073         hard_frame_pointer_adjustment and call vt_init_cfa_base after
2074         encountering fp setter in the prologue.  For MO_ADJUST, call
2075         log_op_type before pusing the op into mos vector, not afterwards.
2076         Call adjust_insn before cselib_process_insn/add_with_sets,
2077         call cancel_changes (0) afterwards.
2078         (variable_tracking_main_1): Adjust for vt_initialize calling
2079         vt_stack_adjustments and returning whether it succeeded or not.
2080
2081 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
2082
2083         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
2084         debug statements.
2085
2086 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
2087
2088         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
2089         has been set.
2090         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
2091         drap_reg has not been set.
2092
2093 2010-03-15  Michael Matz  <matz@suse.de>
2094
2095         PR middle-end/43300
2096         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
2097         use it to expand block copies.
2098         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
2099         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
2100         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
2101
2102 2010-03-15  Richard Guenther  <rguenther@suse.de>
2103
2104         PR tree-optimization/43367
2105         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
2106         elimination check.
2107
2108 2010-03-15  Richard Guenther  <rguenther@suse.de>
2109
2110         PR tree-optimization/43317
2111         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
2112
2113 2010-03-15  Martin Jambor  <mjambor@suse.cz>
2114
2115         PR tree-optimization/43141
2116         * tree-sra.c (create_abstract_origin): New function.
2117         (modify_function): Call create_abstract_origin.
2118
2119 2010-03-15  Chris Demetriou  <cgd@google.com>
2120
2121         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
2122         wasn't copied.
2123
2124 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2125
2126         PR middle-end/43354
2127         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
2128         call insert_out_of_ssa_copy for default definitions.
2129
2130 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2131
2132         * graphite-clast-to-gimple.c (my_long_long): Defined.
2133         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
2134         * graphite-sese-to-poly.c (my_long_long): Defined.
2135         (scop_ivs_can_be_represented): Use it.
2136
2137 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2138
2139         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
2140         graphite-max-bbs-per-function, and loop-block-tile-size.
2141         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
2142         with "maximum".
2143         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
2144
2145 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2146
2147         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
2148         forward declaration.
2149         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
2150         (add_upper_bounds_from_estimated_nit): New.
2151         (build_loop_iteration_domains): Use it.
2152
2153 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2154
2155         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
2156
2157 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2158
2159         PR middle-end/43306
2160         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
2161         should be an INTEGER_CST.  Also handle CASE_CONVERT.
2162
2163 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2164
2165         * graphite.c (graphite_initialize): To bound the number of bbs per
2166         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
2167         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
2168         * doc/invoke.texi: Document it.
2169
2170 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2171
2172         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
2173         * graphite-sese-to-poly.h (build_poly_scop): Same.
2174
2175 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2176
2177         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
2178         the number of parameters in the scop.  Use as an upper bound
2179         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
2180         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
2181         * doc/invoke.texi: Document it.
2182
2183 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
2184
2185         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
2186         * doc/c-tree.texi: Remove.
2187         * doc/generic.texi: Merge c-tree.texi here.
2188         * doc/gccint.texi (Trees): Remove menu entry.
2189         (c-tree.texi): Remove @include.
2190         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
2191         * doc/languages.texi (Reading RTL): Ditto.
2192
2193 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
2194
2195         PR target/42869
2196         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
2197
2198 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2199
2200         PR middle-end/42431
2201         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
2202         code added to work around reload clobbering CONST insns.
2203
2204 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
2205
2206         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
2207         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
2208         (cselib_preserve_only_values): Remove retain argument, don't
2209         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
2210         * cselib.h (cselib_preserve_only_values): Remove retain argument.
2211         * var-tracking.c (micro_operation): Move insn field before union.
2212         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
2213         (struct variable_tracking_info_def): Remove n_mos field, change
2214         mos into a vector of micro_operations.
2215         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
2216         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
2217         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
2218         changing into a vector.
2219         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
2220         come before all other uops generated by add_stores.
2221         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
2222         argument removal.
2223         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
2224         a vector.  Run just one pass over the bbs instead of separate counting
2225         and computation phase.
2226         (vt_finalize): Free VTI (bb)->mos vector instead of array.
2227
2228         PR debug/43329
2229         * tree-inline.c (remap_decls): Put old_var rather than origin_var
2230         into *nonlocalized_list vector.
2231         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
2232         even if origin is non-NULL.
2233         (gen_variable_die): Likewise.
2234         (process_scope_var): Don't change origin.
2235         (gen_decl_die): Likewise.
2236         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
2237         before adding new edges instead of after it, fix moving over
2238         debug stmts.
2239
2240 2010-03-11  David S. Miller  <davem@davemloft.net>
2241
2242         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
2243         of four.
2244         * configure: Rebuild.
2245
2246 2010-03-11  Martin Jambor  <mjambor@suse.cz>
2247
2248         PR tree-optimization/43257
2249         * tree.c (assign_assembler_name_if_neeeded): New function.
2250         (free_lang_data_in_cgraph): Assembler name assignment moved to the
2251         above new function.
2252         * tree.h (assign_assembler_name_if_neeeded): Declare.
2253         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
2254         the function if needed.
2255
2256 2010-03-11  Chris Demetriou  <cgd@google.com>
2257
2258         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
2259         include/stdint-gcc.h, and include/stdint.h world-readable.
2260
2261 2010-03-11  Richard Guenther  <rguenther@suse.de>
2262
2263         PR tree-optimization/43255
2264         * tree-vrp.c (process_assert_insertions_for): Do not insert
2265         asserts for trivial conditions.
2266
2267 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2268
2269         PR tree-optimization/43280
2270         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
2271         generation.  Move calculation of size out of the if branch.
2272         (find_bswap): Modify compare number generation.
2273
2274 2010-03-11  Richard Guenther  <rguenther@suse.de>
2275
2276         PR lto/43200
2277         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
2278         (input_gimple_stmt): Fixup handled component types during
2279         operand read.  Also fix up decls in ADDR_EXPRs.
2280
2281 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
2282
2283         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
2284         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
2285
2286 2010-03-10  Jan Hubicka  <jh@suse.cz>
2287
2288         PR c/43288
2289         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
2290         * varasm.c (get_variable_section): Don't do that here...
2291         (make_decl_rtl): ... and here.
2292         (do_assemble_alias): Produce decl RTL.
2293         (assemble_alias): Likewise.
2294
2295 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2296
2297         PR debug/43290
2298         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
2299         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
2300         of fde->vdrap_reg.
2301         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
2302         (based_loc_descr): Only express drap or vdrap regno based expressions
2303         using DW_OP_fbreg when not optimizing.
2304         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
2305         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
2306         REG_CFA_SET_VDRAP note.
2307
2308 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
2309
2310         PR tree-optimization/43236
2311         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
2312         error in calculation of base address in reverse iteration case.
2313         (generate_builtin): Take number of latch executions if the statement
2314         is in the latch.
2315
2316 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
2317
2318         PR middle-end/42859
2319         * tree-eh.c: Include pointer-set.h.
2320         (lower_eh_dispatch): Filter out duplicate case labels and
2321         remove the unneeded edge when the label is unused.  Return
2322         true when some edges are removed.
2323         (execute_lower_eh_dispatch): When any lowering resulted in
2324         removing an edge, also delete unreachable blocks.
2325
2326 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2327
2328         PR bootstrap/43287
2329         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2330         UNSPEC_MACHOPIC_OFFSET.
2331
2332 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2333
2334         PR target/43294
2335         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
2336         (m68k_delegitimize_address): New function.
2337
2338 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
2339
2340         PR debug/43299
2341         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
2342
2343         PR debug/43299
2344         * var-tracking.c (adjust_sets): New function.
2345         (count_with_sets, add_with_sets): Use it.
2346         (get_adjusted_src): New inline function.
2347         (add_stores): Use it.
2348
2349         PR debug/43304
2350         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
2351         call cselib_dummy_expand_value_rtx_cb instead of
2352         cselib_expand_value_rtx_cb.
2353
2354         PR debug/43293
2355         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
2356         * config/i386/i386.c: Include debug.h and dwarf2out.h.
2357         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
2358         and .cfi_endproc around the pic thunks.
2359         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
2360         all queued unwind info register saves are saved before the call.
2361         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
2362         considered as sp-=4 for unwind info and the pop as sp+=4 which
2363         also clobbers dest, but doesn't actually restore it.
2364
2365         PR debug/43290
2366         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
2367         RTX_FRAME_RELATED_P.
2368
2369 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2370
2371         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
2372         whitespaces in output template.
2373
2374 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2375
2376         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
2377         out array boundary.
2378
2379 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2380
2381         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
2382         builtins.exp in a separate job.
2383
2384 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2385
2386         * graphite-sese-to-poly.c (add_param_constraints): Use
2387         lower_bound_in_type and upper_bound_in_type.
2388
2389 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2390
2391         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
2392         instead of unsigned_type_node.
2393
2394 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2395             Reza Yazdani  <reza.yazdani@amd.com>
2396
2397         PR middle-end/43065
2398         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
2399         on pointer type parameters.
2400
2401 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2402
2403         PR middle-end/42644
2404         PR middle-end/42130
2405         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
2406         handle conversions from pointer to integers.
2407         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
2408         induction variable, to be able to work with code generated by CLooG.
2409         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
2410         (build_poly_scop): Bail out if we cannot codegen a loop.
2411
2412 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2413
2414         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
2415         code generation with gloog_error.
2416
2417 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2418
2419         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
2420         Call fold_convert on all the returned values.
2421         (expand_scalar_variables_expr): Pass to
2422         expand_scalar_variables_ssa_name the type of the resulting expression.
2423
2424 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2425
2426         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
2427         ppl_min_for_le_pointset.
2428         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
2429         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
2430
2431 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2432
2433         * graphite-dependences.c (map_into_dep_poly): Removed.
2434         (dependence_polyhedron_1): Use combine_context_id_scat.
2435
2436 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2437
2438         * graphite-poly.h (struct poly_scattering): Add layout documentation.
2439         (struct poly_bb): Same.
2440         (combine_context_id_scat): New.
2441
2442 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2443
2444         PR middle-end/42326
2445         * sese.c (name_defined_in_loop_p): Return false for default
2446         definitions.
2447
2448 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2449
2450         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
2451         and clean up the logic.
2452
2453 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2454
2455         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
2456         early return.
2457
2458 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2459
2460         * var-tracking.c (remove_cselib_value_chains): Define only for
2461         ENABLE_CHECKING.
2462         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
2463         delete_slot_part, emit_notes_for_differences_1): Don't call
2464         remove_cselib_value_chains here.
2465         (set_slot_part, emit_notes_for_differences_2): Don't call
2466         add_cselib_value_chains here.
2467         (preserved_values): New vector.
2468         (preserve_value): New function.
2469         (add_uses, add_stores, vt_add_function_parameters): Use it
2470         instead of cselib_preserve_value.
2471         (changed_values_stack): New vector.
2472         (check_changed_vars_0): New function.
2473         (check_changed_vars_1, check_changed_vars_2): Use it.
2474         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
2475         changed_values_stack VALUEs.
2476         (vt_emit_notes): For all preserved_values call
2477         add_cselib_value_chains.  If ENABLE_CHECKING call
2478         remove_cselib_value_chains before verifying value_chains is empty.
2479         Initialize and free changed_values_stack.
2480         (vt_initialize): Initialize preserved_values.
2481         (vt_finalize): Free preserved_values.
2482
2483 2010-03-08  Richard Guenther  <rguenther@suse.de>
2484
2485         PR tree-optimization/43269
2486         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
2487         region detection.
2488
2489 2010-03-08  Martin Jambor  <mjambor@suse.cz>
2490
2491         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
2492         (ipa_is_param_called): Removed.
2493         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
2494         (ipa_print_node_params): Do not print the called flag.
2495         (ipa_write_node_info): Do not stream the called flag.
2496         (ipa_read_node_info): Likewise.
2497
2498 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
2499
2500         PR debug/43176
2501         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
2502         * cselib.c (struct expand_value_data): Add dummy field.
2503         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
2504         dummy to false.
2505         (cselib_dummy_expand_value_rtx_cb): New function.
2506         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
2507         any rtl.
2508         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
2509         * var-tracking.c: Include pointer-set.h.
2510         (variable): Change n_var_parts to char from int.  Add
2511         cur_loc_changed and in_changed_variables fields.
2512         (variable_canonicalize): Remove.
2513         (shared_var_p): New inline function.
2514         (unshare_variable): Maintain cur_loc_changed and
2515         in_changed_variables fields.  If var was in changed_variables,
2516         replace it there with new_var.  Just copy cur_loc instead of
2517         resetting it to something else.
2518         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
2519         (dataflow_set_union): Don't call variable_canonicalize.
2520         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
2521         of their DEBUG_EXPR_TREE_DECLs.
2522         (canonicalize_loc_order_check): Verify that cur_loc is NULL
2523         and in_changed_variables and cur_loc_changed is false.
2524         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
2525         and cur_loc_changed.  Don't update cur_loc here.
2526         (variable_merge_over_src): Don't call variable_canonicalize.
2527         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
2528         removing loc that is equal to cur_loc, clear cur_loc,
2529         set cur_loc_changed and ensure variable_was_changed is called.
2530         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
2531         compare pointers in cur_loc check, if it is equal to loc,
2532         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
2533         (variable_different_p): Remove compare_current_location argument,
2534         don't compare cur_loc.
2535         (dataflow_set_different_1): Adjust variable_different_p caller.
2536         (variable_was_changed): If dv had some var in changed_variables
2537         already, reset in_changed_variables flag for it and propagate
2538         cur_loc_changed over to the new variable.  On empty var
2539         always set cur_loc_changed.  Set in_changed_variables on whatever
2540         var is added to changed_variables.
2541         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
2542         Use shared_var_p.  When removing loc that is equal to cur_loc,
2543         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
2544         end, don't set it to something else, just call variable_was_changed.
2545         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
2546         loc being removed, clear cur_loc and set cur_loc_changed.
2547         Set cur_loc_changed if all locations have been removed.
2548         (struct expand_loc_callback_data): New type.
2549         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
2550         allocated.  Always create SUBREGs if simplify_subreg failed.
2551         Prefer to use cur_loc, when that fails and still in
2552         changed_variables (and seen first time) recompute it.  Set
2553         cur_loc_changed of variables which had to change cur_loc and
2554         compute elcd->cur_loc_changed if any of the subexpressions used
2555         had to change cur_loc.
2556         (vt_expand_loc): Adjust to pass arguments in
2557         expand_loc_callback_data structure.
2558         (vt_expand_loc_dummy): New function.
2559         (emitted_notes): New variable.
2560         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
2561         that weren't used for any other decl in current
2562         emit_notes_for_changes call call vt_expand_loc_dummy to update
2563         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
2564         first loc_chain location if NULL before.  Always use just
2565         cur_loc instead of first loc_chain location.  When cur_loc_changed
2566         is false, when not --enable-checking=rtl just don't emit any note.
2567         When rtl checking, compute the note and assert it is the same
2568         as previous note.  Clear cur_loc_changed and in_changed_variables
2569         at the end before removing from changed_variables.
2570         (check_changed_vars_3): New function.
2571         (emit_notes_for_changes): Traverse changed_vars to call
2572         check_changed_vars_3 on each changed var.
2573         (emit_notes_for_differences_1): Clear cur_loc_changed and
2574         in_changed_variables.  Recompute cur_loc of new_var.
2575         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
2576         (vt_emit_notes): Initialize and destroy emitted_notes.
2577
2578 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
2579
2580         PR rtl-optimization/42220
2581         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
2582         Use verify_reg_tracked to determine if we should use OP_OUT rather
2583         than OP_INOUT.
2584         (build_def_use): If we see an in-out operand for a register that we
2585         know nothing about, treat is an output if possible, fail the block if
2586         not.
2587
2588 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2589
2590         PR debug/42897
2591         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
2592         permanently.
2593
2594 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2595
2596         PR debug/42897
2597         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
2598         uses of relevant DEFs that are dead outside the loop too.
2599
2600 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
2601
2602         * var-tracking.c (dataflow_set_merge): Swap src and src2.
2603         Reverted:
2604         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
2605         PR debug/41371
2606         * var-tracking.c (values_to_unmark): New variable.
2607         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
2608         values_to_unmark vector.  Moved body to...
2609         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
2610         instead queue it into values_to_unmark vector.
2611         (vt_find_locations): Free values_to_unmark vector.
2612
2613 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
2614
2615         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
2616         (site.exp): Export them when plugins are enabled.
2617
2618 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
2619
2620         PR middle-end/42326
2621         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
2622         that contain scevs.
2623         (chrec_fold_multiply): Same.
2624
2625 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2626
2627         PR c/43248
2628         * c-decl.c (build_compound_literal): Return early if init is
2629         an error_mark_node.
2630
2631 2010-03-04  Martin Jambor  <mjambor@suse.cz>
2632
2633         PR tree-optimization/43164
2634         PR tree-optimization/43191
2635         * tree-sra.c (type_consists_of_records_p): Reject records with
2636         zero-size bit-fields at the end.
2637
2638 2010-03-04  Mike Stump  <mikestump@comcast.net>
2639
2640         * Makefile.in (TAGS): Remove *.y.
2641
2642 2010-03-04  Richard Guenther  <rguenther@suse.de>
2643
2644         PR tree-optimization/40761
2645         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
2646         in reverse order.
2647         (my_rev_post_order_compute): New function.
2648         (init_pre): Call it.
2649
2650 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
2651
2652         PR middle-end/43209
2653         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
2654         decrease the cost of an IV candidate when the cost is infinite.
2655
2656 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2657
2658         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
2659         Use '3DNow!' for the extension of that name, ensure normal space
2660         after the string.
2661         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
2662
2663 2010-03-03  Jeff Law  <law@redhat.com>
2664
2665         * PR middle-end/32693
2666         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
2667         than gen_rtx_SUBREG.
2668         (extract_bit_field_1): Likewise.
2669
2670 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
2671
2672         * doc/sourcebuild.texi (Test directives): Document that arguments
2673         include-opts and exclude-opts are now optional for dg-skip-if,
2674         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
2675
2676 2010-03-03  Jason Merrill  <jason@redhat.com>
2677
2678         PR c++/12909
2679         * cgraph.h (varpool_node): Add extra_name field.
2680         * varpool.c (varpool_extra_name_alias): New.
2681         (varpool_assemble_decl): Emit extra name aliases.
2682         (varpool_mark_needed_node): Look past an extra name alias.
2683         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
2684         * lto-streamer-in.c (lto_input_tree): Read it.
2685         * lto-streamer-out.c (output_unreferenced_globals): Write it.
2686
2687 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
2688
2689         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
2690         (sparc*-*-solaris2*): ...this.
2691
2692 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
2693
2694         PR debug/43229
2695         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
2696         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
2697         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
2698         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
2699
2700         PR debug/43237
2701         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
2702         fallthrough to default handling, just with want_address 0 instead of 2.
2703         For single element lists, add_AT_loc directly, otherwise create an
2704         artificial variable DIE and stick location list to it.
2705
2706         PR debug/43177
2707         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
2708         (VAL_EXPR_HAS_REVERSE): Define.
2709         (reverse_op): New function.
2710         (add_stores): For reversible operations add an extra MO_VAL_USE.
2711
2712 2010-03-02  Jason Merrill  <jason@redhat.com>
2713
2714         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
2715
2716 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
2717
2718         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
2719         (sparc64-*-linux*): Likewise.
2720         (sparc64-*-solaris2*): Include assembler files before linker ones.
2721         (sparc-*-solaris2*): Simplify and reorder to match previous case.
2722         * config/sparc/gas.h: Delete.
2723         * config/sparc/sol2-64.h: Add copyright notice.
2724         * config/sparc/sol2-gas-bi.h: Likewise.
2725         * config/sparc/sol2-gld.h: Likewise.
2726         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
2727         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
2728         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
2729         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
2730         (sparc_elf_asm_named_section): Rename into...
2731         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
2732
2733 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
2734
2735         * config/alpha/alpha.c (override_options): Fix -mtune error message.
2736
2737 2010-03-02  Jeff Law  <law@redhat.com>
2738
2739         PR middle-end/42431
2740         * reload1.c (rtx_p, substitute_stack): Declare.
2741         (substitute): Record addresses of changed rtxs.
2742         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
2743         Restore the original rtx when complete.
2744         (reload): Free subsitute_stack when complete.
2745
2746 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
2747
2748         * doc/gccint.texi (menu): Add Testsuites as a chapter.
2749         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
2750         new chapter.
2751         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
2752         LTO Testing, gcov Testing, profopt Testing, compat Testing,
2753         Torture Tests): Change from subsection to section.
2754
2755 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
2756             Steven Bosscher  <steven@gcc.gnu.org>
2757
2758         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
2759         instead of bb.
2760
2761 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
2762
2763         PR middle-end/42640
2764         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
2765         the assignment from the new induction variable to the assignment
2766         of the value from the original loop PHI function.
2767
2768 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
2769             Daniel Jacobowitz  <dan@codesourcery.com>
2770
2771         * doc/sourcebuild.texi (Test directives): Clarify options to
2772         dg-skip-if.
2773
2774 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2775
2776         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
2777         Disable cfi directives unless GCC and gas agree on using read-only
2778         .eh_frame sections for 64-bit.
2779         * configure: Regenerate.
2780
2781 2010-03-01  Richard Guenther  <rguenther@suse.de>
2782
2783         PR tree-optimization/43220
2784         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
2785         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
2786
2787 2010-03-01  Richard Guenther  <rguenther@suse.de>
2788             Martin Jambor  <mjambor@suse.cz>
2789
2790         PR middle-end/41250
2791         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
2792         gimplified parameters.
2793
2794 2010-03-01  Christian Bruel  <christian.bruel@st.com>
2795
2796         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
2797
2798 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
2799
2800         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
2801
2802 2010-03-01  Richard Guenther  <rguenther@suse.de>
2803
2804         PR middle-end/43213
2805         * expr.c (expand_assignment): Use the alias-oracle to tell
2806         if the rhs aliases the result decl.
2807
2808 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2809
2810         PR pch/14940
2811         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
2812         to sol_gt_pch_get_address.
2813         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
2814         64-bit, SPARC and x86.
2815         (sol_gt_pch_get_address): New function.
2816
2817 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
2818
2819         * toplev.h (inform_n, error_n): Declare.
2820         * diagnostic.c (inform_n, error_n): New function.
2821
2822 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
2823
2824         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
2825         has no rtl yet when processing local_decls, queue it and recheck
2826         if deferred stack allocation hasn't assigned it rtl.
2827
2828 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2829
2830         * config/sh/sh.c (unspec_bbr_uid): New.
2831         (gen_block_redirect): Use it instead of INSN_UID.
2832         (gen_far_branch): Likewise.
2833
2834 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
2835
2836         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
2837         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
2838
2839 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2840
2841         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
2842         (Warning Options): -Wno-conversion-null is valid for
2843         Objective-C++ as well.
2844         * doc/tm.texi (Named Address Spaces): Likewise.
2845         * doc/plugins.texi (Plugins): Replace TABs with spaces.
2846         * doc/tree-ssa.texi (Tree SSA): Likewise.
2847
2848 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2849
2850         PR bootstrap/43202
2851         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
2852         by default.  Don't set the default arch for
2853         i[34567]86-*-darwin*|x86_64-*-darwin*.
2854
2855 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2856
2857         PR bootstrap/43202
2858         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
2859         default.  Set the default 32bit/64bit archs with $with_arch
2860         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
2861
2862 2010-02-27  Richard Guenther  <rguenther@suse.de>
2863
2864         PR tree-optimization/43186
2865         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
2866         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
2867         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
2868         unroller iterations.
2869
2870 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2871
2872         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
2873         required and i[34567]86-*-* targets don't support 64bit ISA.
2874
2875 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
2876
2877         PR ada/43096
2878         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2879         the same alias set.
2880
2881 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2882
2883         * config.gcc: Set the default arch at least to Prescott for
2884         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
2885         if SSE math is enabled.
2886
2887 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2888
2889         * diagnostic.c (diagnostic_initialize): Update.
2890         (diagnostic_report_diagnostic): Test inhibit_notes_p for
2891         informative notes.
2892         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
2893         (diagnostic_inhibit_notes): New.
2894         * toplev.c (process_options): inhibit notes with -fcompare-debug.
2895
2896 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2897
2898         PR c/20631
2899         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
2900         * doc/standards.texi: Likewise.
2901         * doc/extend.texi: Likewise.
2902         * doc/trouble.texi: Likewise.
2903         * doc/cppopts.texi: Likewise.
2904         * doc/install.texi: Likewise.
2905         * c.opt (std=c90,std=gnu90): New options.
2906         * c-opts.c (c_common_handle_option): Handle them.
2907
2908 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2909
2910         PR c/24577
2911         * c-decl.c (undeclared_variable): Use an informative note.
2912
2913 2010-02-26  Richard Guenther  <rguenther@suse.de>
2914
2915         PR tree-optimization/43186
2916         * gimple.h (gimple_fold): Remove.
2917         * gimple.c (gimple_fold): Remove.  Inline into single user ...
2918         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
2919         Try harder for conditions.
2920
2921 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2922
2923         PR debug/43190
2924         * function.c (used_types_insert): Don't skip through named pointer
2925         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
2926         and it is different from the main variant's type.
2927
2928 2010-02-26  Nick Clifton  <nickc@redhat.com>
2929
2930         * config/rx/rx.md (sminsi3): Remove bogus alternative.
2931
2932 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2933
2934         * config.gcc: Support --with-fpmath=sse for x86.
2935
2936         * config/i386/ssemath.h: New.
2937
2938         * doc/install.texi (--with-fpmath=sse): Documented.
2939
2940 2010-02-26  Richard Guenther  <rguenther@suse.de>
2941
2942         PR tree-optimization/43188
2943         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
2944         vector types of over-aligned element type.
2945
2946 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
2947
2948         PR target/43175
2949         * config/i386/i386.c (expand_vec_perm_blend): Use correct
2950         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
2951
2952 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
2953
2954         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
2955
2956 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2957
2958         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
2959         * var-tracking.c: Include diagnostic.h.
2960         (debug_dv): New function.
2961         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
2962
2963         PR debug/43160
2964         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
2965         (add_value_chain, add_value_chains, remove_value_chain,
2966         remove_value_chains): Handle DEBUG_EXPRs.
2967         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
2968
2969         PR debug/43161
2970         * regcprop.c (struct queued_debug_insn_change): New type.
2971         (struct value_data_entry): Add debug_insn_changes field.
2972         (struct value_data): Add n_debug_insn_changes field.
2973         (debug_insn_changes_pool): New variable.
2974         (free_debug_insn_changes, apply_debug_insn_changes,
2975         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
2976         (kill_value_one_regno): Call free_debug_insn_changes if needed.
2977         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
2978         fields.
2979         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
2980         changes for them.
2981         (copyprop_hardreg_forward_1): Don't call apply_change_group for
2982         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
2983         changes, call cprop_find_used_regs via note_stores.
2984         (copyprop_hardreg_forward): When copying vd from predecessor
2985         which has any queued DEBUG_INSN changes, make sure the pointers are
2986         cleared.  At the end call df_analyze and then if there are any
2987         DEBUG_INSN changes queued at the end of some basic block for still
2988         live registers, apply them.
2989         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
2990
2991 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
2992
2993         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
2994         (arm*-*-*): Ditto.
2995
2996 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2997
2998         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
2999         targets.  Set the default with_cpu/with_arch from arch/cpu.
3000         Allow x86-64 and native for with_cpu/with_arch.
3001
3002 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
3003
3004         * ebitmap.c: Change calls to verify_popcount with calls to
3005         sbitmap_verify_popcount.
3006         (ebitmap_clear_bit): Fixed map->cacheindex test and
3007         map>cache update when bit clearing results in an empty
3008         element.
3009
3010 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
3011
3012         PR target/43154
3013         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
3014         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
3015         and support both V2DF and V2DI modes.
3016         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
3017         support both V2DF and V2DI modes.
3018         (general): Delete trailing whitespace from a few patterns.
3019
3020         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3021         V2DF/V2DI interleave high/low builtins.
3022
3023         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
3024         new VSX builtins.
3025
3026         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
3027         interleave high/low functions.
3028
3029 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
3030
3031         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
3032         #pragma extern_prefix.
3033
3034 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
3035
3036         PR debug/43166
3037         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
3038         BLKmode, assert op0 is a MEM and just adjust its mode.
3039
3040         PR debug/43165
3041         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
3042         if bitpos isn't multiple of mode's bitsize.
3043
3044 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3045
3046         * c.opt (-ftemplate-depth=): New.
3047         (-ftemplate-depth-): Deprecate.
3048         * optc-gen.awk: Handle -ftemplate-depth=.
3049         * opth-gen.awk: Likewise.
3050         * c-opts.c (c_common_handle_option): Likewise.
3051         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
3052
3053 2010-02-24  Jason Merrill  <jason@redhat.com>
3054
3055         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
3056
3057 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3058
3059         * cfg.c (alloc_aux_for_block): Remove inline.
3060         (alloc_aux_for_edge): Likewise.
3061
3062 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3063
3064         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
3065
3066 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3067
3068         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
3069         * config/i386/sol2-gas.h: New file.
3070         * config.gcc (i[34567]86-*-solaris2*): Use it.
3071
3072 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3073
3074         PR c/43128
3075         * c-typeck.c (ep_convert_and_check): New.
3076         (build_conditional_expr): Use it.
3077         (build_binary_op): Likewise.
3078
3079 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
3080
3081         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
3082
3083         PR debug/43150
3084         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
3085         bounds even for -O+.
3086         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
3087         expr needs to have DECL_NAME set.
3088
3089 2010-02-24  Nick Clifton  <nickc@redhat.com>
3090
3091         * config/mep/mep.c: Include gimple.h.
3092         (mep_function_uses_sp): Delete unused function.
3093         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
3094         parameters.  Use unsigned integers to count args.  Return a
3095         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
3096
3097 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
3098
3099         PR target/43107
3100         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
3101         greater or equal to nelt instead of 2 * nelt.
3102         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
3103         with nelt - 1.
3104
3105 2010-02-23  Jason Merrill  <jason@redhat.com>
3106
3107         PR debug/42800
3108         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
3109         in cfun->local_decls even if they have register types.
3110
3111         PR c++/42837
3112         * stor-layout.c (place_field): Don't warn about unnecessary
3113         DECL_PACKED if the type is packed.
3114
3115 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
3116
3117         PR target/43139
3118         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
3119         GOTOFF relocs, even when the base reg isn't pic pointer.
3120
3121 2010-02-23  Michael Matz  <matz@suse.de>
3122
3123         PR debug/43077
3124         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
3125         (expand_gimple_basic_block): Generate and use debug temps if there
3126         are debug uses left after the last real use of TERed ssa names.
3127         Unlink debug immediate uses when they are expanded.
3128
3129 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3130
3131         PR 43123
3132         * config/i386/i386.c (override_options): Reorganise to provide
3133         better error messages.
3134
3135 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3136
3137         PR middle-end/43083
3138         * graphite-scop-detection.c (create_single_exit_edge): Move
3139         the call to find_single_exit_edge to....
3140         (create_sese_edges): ...here.  Don't handle multiple edges
3141         exiting the function.
3142         (build_graphite_scops): Don't handle multiple edges
3143         exiting the function.
3144
3145 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3146
3147         PR middle-end/43097
3148         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
3149         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
3150
3151 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3152
3153         PR middle-end/43026
3154         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
3155
3156 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3157
3158         PR c++/43126
3159         * c-typeck.c (convert_arguments): Print declaration location.
3160         * c-common.c (validate_nargs): Rename as
3161         builtin_function_validate_nargs.
3162         (check_builtin_function_arguments): Update.
3163
3164 2010-02-22  Richard Guenther  <rguenther@suse.de>
3165
3166         PR lto/43045
3167         * tree-inline.c (declare_return_variable): Use the type of
3168         the call stmt lhs if available.
3169
3170 2010-02-22  Duncan Sands  <baldrick@free.fr>
3171
3172         * passes.c (register_pass): Always consider all pass lists when
3173         ref_pass_instance_number is zero.
3174
3175 2010-02-22  Richard Guenther  <rguenther@suse.de>
3176
3177         PR tree-optimization/42749
3178         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
3179         parameter.  Do arithmetic in the original type.
3180         (update_accumulator_with_ops): Likewise.
3181         (adjust_accumulator_values): Adjust.
3182
3183 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3184
3185         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
3186         (QI to BLKmode splitter): New splitter.
3187
3188 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
3189
3190         * config/i386/i386.c (initial_ix86_tune_features): Turn on
3191         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
3192
3193 2010-02-22  Richard Guenther  <rguenther@suse.de>
3194
3195         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
3196
3197 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
3198
3199         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
3200         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
3201         ($(T)crti.o, $(T)crtn.o): Remove rules.
3202
3203 2010-02-21  Tobias Burnus  <burnus@net-b.de>
3204
3205         PR fortran/35259
3206         * doc/invoke.texi (-fassociative-math): Document that this
3207         option is automatically enabled for Fortran.
3208
3209 2010-02-20  David S. Miller  <davem@davemloft.net>
3210
3211         * configure.ac: Test if linker and assembler properly support
3212         GOTDATA_OP relocations.
3213         * configure: Rebuild.
3214         * config.in: Likewise.
3215         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
3216         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
3217         (movsi_high_pic): Likewise.
3218         (movdi_lo_sum_pic): Likewise.
3219         (movdi_high_pic): Likewise.
3220         (movsi_pic_gotdata_op): New pattern.
3221         (movdi_pic_gotdata_op): Likewise.
3222         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
3223         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
3224
3225 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
3226
3227         PR target/43067
3228         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
3229         attribute to ssemul.
3230         (xop_mulv2div2di3_high): Ditto.
3231
3232 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3233
3234         PR c++/35669
3235         * c.opt (Wconversion-null): New option.
3236         * doc/invoke.texi (Wconversion-null): Document.
3237
3238 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3239
3240         * common.opt (Wlarger-than-): Add Undocumented.
3241
3242 2010-02-19  Mike Stump  <mikestump@comcast.net>
3243
3244         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
3245
3246 2010-02-19  Jason Merrill  <jason@redhat.com>
3247
3248         PR target/40332
3249         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
3250         * configure: Likewise.
3251
3252 2010-02-20  Alan Modra  <amodra@gmail.com>
3253
3254         PR middle-end/42344
3255         * cgraph.h (cgraph_make_decl_local): Declare.
3256         * cgraph.c (cgraph_make_decl_local): New function.
3257         (cgraph_make_node_local): Use it.
3258         * cgraphunit.c (cgraph_function_versioning): Likewise.
3259         * ipa.c (function_and_variable_visibility): Likewise.
3260
3261 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3262
3263         PR bootstrap/43121
3264         * except.c (sjlj_emit_function_enter): Don't call
3265         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
3266         directly.
3267         * rtl.h (add_reg_br_prob_note): Remove prototype.
3268
3269 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3270
3271         PR 41779
3272         * c-common.c (conversion_warning): Remove widening conversions
3273         before checking the conversion of integers to reals.
3274
3275 2010-02-19  Mike Stump  <mikestump@comcast.net>
3276
3277         PR middle-end/43125
3278         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
3279
3280         PR objc/43061
3281         * cgraphunit.c (process_function_and_variable_attributes): Check
3282         DECL_PRESERVE_P instead of looking up attribute "used".
3283         * ipa-pure-const.c (check_decl): Likewise.
3284         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
3285         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
3286         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
3287         instead of attribute "used".
3288         * config/sol2-c.c (solaris_pragma_init): Likewise.
3289         (solaris_pragma_fini): Likewise.
3290
3291 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3292
3293         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
3294         Use XCNEW instead of xcalloc.
3295         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
3296         XNEW instead of xmalloc.
3297         (get_fields): Use XNEWVEC instead of xmalloc.
3298
3299         PR debug/43084
3300         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
3301         populate vars array.
3302         (create_new_general_access): For debug stmts just reset value.
3303         (get_stmt_accesses): For accesses within debug stmts just record them
3304         using add_access_to_acc_sites instead of preventing the peeling or
3305         counting them as accesses.
3306
3307         PR middle-end/42233
3308         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
3309
3310 2010-02-19  Richard Guenther  <rguenther@suse.de>
3311
3312         PR tree-optimization/42916
3313         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
3314         instructions.
3315
3316 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
3317
3318         * configure.ac: Replace all uses of changequote in macro arguments
3319         with proper quoting.
3320
3321 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3322
3323         PR middle-end/42233
3324         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
3325
3326 2010-02-19  Richard Guenther  <rguenther@suse.de>
3327
3328         PR tree-optimization/42944
3329         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
3330         test for aliasing with errno.
3331
3332 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3333
3334         PR middle-end/42233
3335         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
3336         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
3337         * dojump.c: Include output.h.
3338         (inv): New inline function.
3339         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
3340         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
3341         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
3342         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
3343         argument, pass it down to other calls.
3344         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
3345         add REG_BR_PROB note to the conditional jump.
3346         * cfgexpand.c (add_reg_br_prob_note): Removed.
3347         (expand_gimple_cond): Don't call it, add the probability
3348         as last argument to jumpif_1/jumpifnot_1.
3349         * Makefile.in (dojump.o): Depend on output.h.
3350         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
3351         callers.
3352         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
3353         * stmt.c (do_jump_if_equal): Likewise.
3354         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
3355         * loop-unswitch.c (compare_and_jump_seq): Likewise.
3356         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
3357         Likewise.
3358         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
3359         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
3360         jumpifnot_1 callers.
3361         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
3362         callers.
3363         (store_expr): Adjust jumpifnot caller.
3364         (store_constructor): Adjust jumpif caller.
3365
3366         PR middle-end/42233
3367         * gimplify.c (gimple_boolify): For __builtin_expect call
3368         gimple_boolify also on its first argument.
3369
3370 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
3371
3372         * configure.ac (gnu-unique-object): Wrap regexps using [] in
3373         changequote block.
3374         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
3375         * configure: Regenerated.
3376
3377 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3378
3379         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
3380         lang_hooks.types_compatible_p instead of comptypes.
3381
3382 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
3383
3384         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
3385         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
3386         if __prefer_thumb__ is defined.
3387
3388 2010-02-18  Martin Jambor  <mjambor@suse.cz>
3389
3390         PR tree-optimization/43066
3391         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
3392         array with zero-sized element type.
3393
3394 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
3395
3396         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
3397         rtx, allocate struct var_loc_node here and return it to the
3398         caller, and only if it is actually needed.
3399         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
3400         move it earlier and return immediately if it returns NULL.
3401
3402 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
3403
3404         * config/sparc/gas.h: New file.  Restore
3405         TARGET_ASM_NAMED_SECTION to its ELF default.
3406         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
3407         check !HAVE_GNU_AS.
3408         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3409         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
3410         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
3411         after sparc/sysv4.h.
3412
3413 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
3414
3415         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
3416
3417 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
3418
3419         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
3420         patterns from predicated pattern.
3421
3422 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
3423
3424         PR target/43103
3425         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
3426         for insn mnemonic suffix.
3427
3428 2010-02-17  Richard Guenther  <rguenther@suse.de>
3429
3430         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
3431         to loop PHI nodes.
3432
3433 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
3434
3435         PR debug/42918
3436         * caller-save.c (save_call_clobbered_regs): If BB ends with
3437         a DEBUG_INSN, move any notes in between last real insn and the last
3438         DEBUG_INSN after the last DEBUG_INSN.
3439
3440 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
3441
3442         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
3443         Fix return type.  Fix argument type.  Explain meaning of return value.
3444
3445 2010-02-16  Richard Guenther  <rguenther@suse.de>
3446
3447         PR tree-optimization/41043
3448         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
3449         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
3450         statements ...
3451         (vrp_visit_phi_node): ... but only for loop PHI nodes.
3452
3453 2010-02-16  Ira Rosen <irar@il.ibm.com>
3454
3455         PR tree-optimization/43074
3456         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
3457         * tree-vect-loop.c (vect_analyze_loop_operations): Add
3458         vectorizable cycles in hybrid SLP check.
3459         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
3460
3461 2010-02-16  Richard Guenther  <rguenther@suse.de>
3462
3463         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
3464         (true_dependence): If memrefs_conflict_p computes must-alias
3465         trust it.  Move TBAA check after offset-based disambiguation.
3466         (canon_true_dependence): Likewise.
3467
3468 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
3469