OSDN Git Service

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