OSDN Git Service

cf72ed68c64f5696b97446657e8ff52ff3075cf9
[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
3475         PR lto/41664
3476         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
3477         pointer-vs-decl case by swapping refs.  Handle some cases
3478         of pointer-vs-decl disambiguations more conservatively.
3479         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
3480         to false after expanding.
3481
3482 2010-02-11  Richard Guenther  <rguenther@suse.de>
3483
3484         PR driver/43021
3485         * gcc.c (process_command): Handle LTO file@offset case more
3486         appropriately.
3487
3488 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3489
3490         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
3491         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
3492         of DEBUG_INSNs.
3493         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
3494
3495         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
3496         if MEM's mode size isn't DWARF2_ADDR_SIZE.
3497         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
3498         Optimize eq/ne comparisons when both arguments are known to be
3499         zero-extended.
3500         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
3501         Don't mask operands unnecessarily if they are known to be already
3502         zero-extended.
3503
3504 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
3505
3506         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
3507         instead of loop.
3508
3509 2010-02-10  Richard Guenther  <rguenther@suse.de>
3510
3511         PR tree-optimization/43017
3512         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
3513         for wrapping signed arithmetic.
3514
3515 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3516
3517         PR debug/43010
3518         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
3519         if no debug info should be emitted for it.
3520
3521 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
3522
3523         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
3524         note when flag_exceptions is set.
3525
3526 2010-02-10  Duncan Sands  <baldrick@free.fr>
3527
3528         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
3529
3530 2010-02-10  Richard Guenther  <rguenther@suse.de>
3531
3532         PR c/43007
3533         * tree.c (get_unwidened): Handle constants.
3534         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
3535
3536 2010-02-10  Martin Jambor  <mjambor@suse.cz>
3537
3538         PR lto/42985
3539         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
3540         check for variable argument counts independently.
3541
3542 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3543
3544         PR target/42841
3545         * config/sh/sh.c (find_barrier): Increase length for non delayed
3546         conditional branches.
3547
3548 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3549
3550         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
3551
3552 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3553
3554         * builtins.c (set_builtin_user_assembler_name): Also handle
3555         ffs if int is smaller than word.
3556
3557 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
3558
3559         PR middle-end/42973
3560         * ira-conflicts.c (get_dup): Remove.
3561         (process_reg_shuffles): Add new parameter.  Use it as an
3562         additional guard for copy generation.
3563         (add_insn_allocno_copies): Rewrite.
3564
3565 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
3566
3567         * common.opt (fsched2-use-traces): Preserved for backward
3568         compatibility.
3569         * doc/invoke.texi: Remove the documentation about option
3570         -fsched2-use-traces.
3571         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
3572         flag_sched2_use_traces.
3573         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
3574         the backward compatibility flag section.
3575
3576 2010-02-09  Richard Guenther  <rguenther@suse.de>
3577
3578         PR tree-optimization/43008
3579         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
3580         make HEAP variables initialized from global memory if they
3581         are not known builtin functions.
3582         (find_func_aliases): Adjust.
3583
3584 2010-02-09  Richard Guenther  <rguenther@suse.de>
3585
3586         PR tree-optimization/43000
3587         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
3588         arithmetic manually.
3589
3590 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
3591
3592         PR tree-optimization/42931
3593         * tree-loop-linear.c (try_interchange_loops): Don't call
3594         double_int_mul if estimated_loop_iterations failed.
3595
3596 2010-02-08  Martin Jambor  <mjambor@suse.cz>
3597
3598         PR middle-end/42898
3599         * tree-sra.c (build_accesses_from_assign): Do not mark in
3600         should_scalarize_away_bitmap if stmt has volatile ops.
3601         (sra_modify_assign): Do not process assigns piecemeal if if stmt
3602         has volatile ops.
3603
3604 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
3605
3606         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
3607
3608 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
3609
3610         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
3611         before the pattern.
3612
3613 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
3614
3615         PR middle-end/42946
3616         * df-core.c (df_finish_pass): Change type of saved_flags to int.
3617
3618 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3619
3620         PR middle-end/42988
3621         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
3622         to unknown_dependence.
3623         (graphite_legal_transform_dr): Handle the unknown_dependence.
3624         (graphite_carried_dependence_level_k): Same.
3625
3626 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3627
3628         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
3629
3630 2010-02-07  Richard Guenther  <rguenther@suse.de>
3631
3632         PR middle-end/42991
3633         * expr.c (get_inner_reference): Always initialize *pbitsize.
3634
3635 2010-02-07  Richard Guenther  <rguenther@suse.de>
3636
3637         PR middle-end/42956
3638         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
3639         new ARRAY_REFs on variable size element or minimal index arrays.
3640         Complete.
3641         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
3642         gimple_fold_indirect_ref.
3643
3644 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
3645
3646         PR target/42957
3647         * arm.c (arm_override_options): Just return if the user has specified
3648         an invalid fpu name.
3649
3650 2010-02-03  Jason Merrill  <jason@redhat.com>
3651
3652         PR c++/42870
3653         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
3654         i386_pe_maybe_record_exported_symbol.
3655
3656 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
3657
3658         PR target/42924
3659         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3660         (pa_delegitimize_address): New function.
3661
3662 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
3663
3664         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
3665         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
3666
3667 2010-02-05  Richard Guenther  <rguenther@suse.de>
3668
3669         PR lto/42762
3670         * lto-streamer-in.c (get_resolution): Deal with references
3671         to undefined functions.
3672
3673 2010-02-05  Richard Guenther  <rguenther@suse.de>
3674
3675         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
3676         (fold_const_aggregate_ref): Likewise.
3677         (ccp_fold_stmt): Substitute loads.
3678         (maybe_fold_reference): Verify types before substituting.
3679         Unshare properly.
3680         (fold_gimple_assign): Unshare properly.
3681         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
3682
3683 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
3684
3685         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
3686         for rs6000_gen_cell_microcode.
3687
3688 2010-02-04  Richard Guenther  <rguenther@suse.de>
3689
3690         PR rtl-optimization/42952
3691         * dse.c (const_or_frame_p): Remove MEM handling.
3692
3693 2010-02-04  Nick Clifton  <nickc@redhat.com>
3694
3695         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3696         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3697         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
3698         (mn10300_asm_output_mi_thunk): New function.
3699         (mn10300_can_output_mu_thunk): New function.
3700         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
3701         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
3702         (FUNCTION_ARG): Delete incorrect comment.
3703
3704 2010-02-03  Jason Merrill  <jason@redhat.com>
3705
3706         PR c++/40138
3707         * fold-const.c (operand_equal_p): Handle erroneous types.
3708
3709 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3710
3711         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3712
3713 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3714
3715         PR rtl-optimization/42941
3716         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3717         of xmalloc.
3718
3719 2010-02-03  Jason Merrill  <jason@redhat.com>
3720
3721         PR c++/35652
3722         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3723
3724 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3725
3726         PR debug/42896
3727         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
3728         (cselib_reset_table): Renamed from...
3729         (cselib_reset_table_with_next_value): ... this.
3730         (cselib_get_next_uid): Renamed from...
3731         (cselib_get_next_unknown_value): ... this.
3732         * cselib.c (next_uid): Renamed from...
3733         (next_unknown_value): ... this.
3734         (cselib_clear_table): Adjust.
3735         (cselib_reset_table): Adjust.  Renamed from...
3736         (cselib_reset_table_with_next_value): ... this.
3737         (cselib_get_next_uid): Adjust.  Renamed from...
3738         (cselib_get_next_unknown_value): ... this.
3739         (get_value_hash): Use hash.
3740         (cselib_hash_rtx): Likewise.
3741         (new_cselib_val): Adjust.  Set and dump uid.
3742         (cselib_lookup_mem): Pass next_uid as hash.
3743         (cselib_subst_to_values): Likewise.
3744         (cselib_log_lookup): Dump uid.
3745         (cselib_lookup): Pass next_uid as hash.  Adjust.
3746         (cselib_process_insn): Adjust.
3747         (cselib_init): Initialize next_uid.
3748         (cselib_finish): Adjust.
3749         (dump_cselib_table): Likewise.
3750         * dse.c (canon_address): Dump value uid.
3751         * print-rtl.c (print_rtx): Print value uid.
3752         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
3753         (dvuid): New type.
3754         (dv_uid): New function, sort of renamed from...
3755         (dv_htab_hash): ... this, reimplemented in terms of it and...
3756         (dv_uid2hash): ... this.  New.
3757         (variable_htab_eq): Drop excess assertions.
3758         (tie_break_pointers): Removed.
3759         (canon_value_cmp): Compare uids.
3760         (variable_post_merge_New_vals): Print uids.
3761         (vt_add_function_parameters): Adjust.
3762         (vt_initialize): Reset table.  Adjust.
3763
3764 2010-02-03  Richard Guenther  <rguenther@suse.de>
3765
3766         PR tree-optimization/42944
3767         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
3768         (call_may_clobber_ref_p_1): Likewise.  Properly handle
3769         malloc and calloc clobbering errno.
3770
3771 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3772
3773         * doc/invoke.texi: Fix name of sched1 dump.
3774
3775         * opts.c (decode_options): Set flag_tree_switch_conversion
3776         only conditionally on optimize >= 2.
3777
3778         * gcse.c: Assorted comment fixes in pass description.
3779
3780 2010-02-03  Anthony Green  <green@moxielogic.com>
3781
3782         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
3783         nop padding in order to maintain alignment of storage location of
3784         target function address.
3785         (moxie_trampoline_init): Store target function address at newly
3786         aligned location.
3787         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
3788         to 32.
3789         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
3790
3791 2010-02-03  Richard Guenther  <rguenther@suse.de>
3792
3793         PR middle-end/42927
3794         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3795
3796 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3797
3798         * config.gcc: Reenable check for obsolete targets.
3799         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
3800         mips-sgi-irix6.[0-4]*.
3801
3802 2010-02-02  Nick Clifton  <nickc@redhat.com>
3803
3804         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
3805         constant size of 4 as being the same as 0.
3806         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
3807         can take values in the range 0..4.
3808
3809 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3810
3811         PR java/41991
3812         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3813         as _darwin10_Unwind_FindEnclosingFunction().
3814         * libgcc-libsystem.ver: New.
3815
3816 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3817
3818         PR target/41399
3819         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3820         implicitly set registers.
3821
3822 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3823
3824         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
3825         (arm_override_options): Allow automatic selection of the thread
3826         pointer register if thumb2.
3827         (legitimize_pic_address): Improve code sequences for Thumb2.
3828         (arm_call_tls_get_addr): Likewise.
3829         (legitimize_tls_address): Likewise.
3830         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
3831         (pic_load_addr_32bit): ... this.  New named pattern.
3832         * thumb2.md (pic_load_addr_thumb2): Delete.
3833         (pic_load_dot_plus_four): Delete.
3834         (tls_load_dot_plus_four): New named pattern.
3835
3836 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3837
3838         PR libgomp/29986
3839         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3840         Document fix for TLS bug.
3841
3842 2010-01-31  Richard Guenther  <rguenther@suse.de>
3843
3844         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3845         conservatively correct.
3846
3847 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3848
3849         PR target/42850
3850         Revert:
3851         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3852
3853         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3854
3855 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3856
3857         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3858
3859 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3860
3861         * config.gcc: Adjust order of makefile fragments for mingw targets.
3862
3863 2010-01-31  Richard Guenther  <rguenther@suse.de>
3864
3865         PR middle-end/42898
3866         * gimplify.c (gimplify_init_constructor): For volatile LHS
3867         initialize a temporary.
3868
3869 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3870
3871         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3872         --with-headers
3873         * configure: Regenerate.
3874
3875 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3876
3877         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3878         the same alias set and their sizes different constantness.
3879         (aliasing_component_refs_p): Revert 2009-10-24 change.
3880
3881 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3882
3883         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3884         unused.
3885
3886 2010-01-29  Richard Guenther  <rguenther@suse.de>
3887
3888         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3889         Assert we successfully updated the call.
3890
3891 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3892
3893         PR rtl-optimization/42889
3894         * df.h (df_set_bb_dirty_nonlr): New prototype.
3895         * df-core.c (df_set_bb_dirty_nonlr): New function.
3896         * df-scan.c (df_insn_rescan): Call it instead of
3897         df_set_bb_dirty for DEBUG_INSNs.
3898
3899 2010-01-29  Richard Guenther  <rguenther@suse.de>
3900
3901         PR middle-end/37448
3902         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3903         quadratic behavior in most cases.
3904
3905 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3906
3907         PR target/42891
3908         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3909         in the call to gen_x86_movsicc_0_m1.
3910
3911 2010-01-28  Richard Guenther  <rguenther@suse.de>
3912
3913         PR tree-optimization/42871
3914         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3915
3916 2010-01-28  Richard Guenther  <rguenther@suse.de>
3917
3918         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3919         into call arguments.
3920
3921 2010-01-28  Richard Guenther  <rguenther@suse.de>
3922
3923         PR middle-end/42883
3924         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3925         the forwarder if the destination is an EH landing pad.
3926
3927 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3928
3929         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3930         block list passed to gimple_duplicate_sese_tail.
3931         (parallelize_loops): Avoid parallelization when the function
3932         has_nonlocal_label.
3933         Avoid parallelization when the preheader is IRREDUCIBLE.
3934         Try to optimize when estimated_loop_iterations_int is unresolved.
3935         Add the loop's location to the dump file.
3936         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3937         (gimple_duplicate_sese_tail): Remove the check for the latch.
3938         Redirect nexits to the exit block.
3939         Remove handling of the incoming edges to the latch.
3940         Redirect the backedge from the copied latch to the exit bb.
3941
3942 2010-01-28  Michael Matz  <matz@suse.de>
3943
3944         PR target/42881
3945         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3946         Wrap force_reg into a sequence, emit it before user.
3947
3948 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3949
3950         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3951         (arm_rev): New.
3952         (arm_legacy_rev): Likewise.
3953         (thumb_legacy_rev): Likewise.
3954
3955 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3956
3957         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3958         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3959         on MEM's address failed, try avoid_constant_pool_reference and
3960         recurse if it returned something different.
3961         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3962         address, try avoid_constant_pool_reference and recurse if it
3963         returned something different.
3964         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3965         address and avoid_constant_pool_reference returned something
3966         different, don't set have_address.
3967
3968 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3969
3970         PR debug/42861
3971         * var-tracking.c (val_store): Add modified argument, obey it.
3972         Adjust callers.
3973         (count_uses): Move down logging of main.
3974         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3975         don't need resolution.
3976         (emit_notes_in_bb): Likewise.
3977
3978 2010-01-27  Richard Guenther  <rguenther@suse.de>
3979
3980         PR middle-end/42878
3981         * tree-inline.c (remap_decl): Delay remapping of SSA name
3982         default definitions until we need them.
3983
3984 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3985
3986         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3987         (rs6000_delegitimize_address): New function.
3988
3989         * config/s390/s390.c (s390_delegitimize_address): Call
3990         delegitimize_mem_from_attrs.
3991
3992         PR middle-end/42874
3993         * tree-inline.c (cannot_copy_type_1): Removed.
3994         (copy_forbidden): Don't forbid copying of functions containing
3995         records/unions with variable length fields.
3996
3997 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3998
3999         Revert:
4000         PR target/42841
4001         * config/sh/sh.c (find_barrier): Increase length for non delayed
4002         conditional branches.
4003
4004 2010-01-27  Matthias Klose  <doko@ubuntu.com>
4005
4006         * configure.ac (gnu-unique-object): Fix ldd version check.
4007         * configure: Regenerate.
4008
4009 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4010
4011         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
4012         HAVE_GNU_AS value.
4013         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
4014         Test for HAVE_GNU_AS value.
4015
4016 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4017
4018         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
4019         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
4020         INT64_TYPE): Define.
4021         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
4022         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
4023         INT_LEAST64_TYPE): Define.
4024         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
4025         UINT_LEAST64_TYPE): Define.
4026         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
4027         INT_FAST64_TYPE): Define.
4028         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
4029         UINT_FAST64_TYPE): Define.
4030         (INTMAX_TYPE, UINTMAX_TYPE): Define.
4031         (INTPTR_TYPE, UINTPTR_TYPE): Define.
4032         (SIG_ATOMIC_TYPE): Define.
4033
4034 2010-01-26  Richard Guenther  <rguenther@suse.de>
4035
4036         * df-scan.c (df_scan_set_bb_info): Remove assert.
4037         (df_insn_rescan_debug_internal): Merge asserts.
4038         (df_install_ref): Likewise.
4039         (df_mark_reg): Use bitmap_set_range.
4040         (df_hard_reg_used_p): Remove assert.
4041         (df_hard_reg_used_count): Likewise.
4042
4043 2010-01-26  Richard Guenther  <rguenther@suse.de>
4044
4045         PR rtl-optimization/42685
4046         * web.c (web_main): Ignore DEBUG_INSNs.
4047
4048 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
4049
4050         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
4051
4052         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
4053         Fix types of fndecl and arglist parameters.
4054
4055 2010-01-26  Richard Guenther  <rguenther@suse.de>
4056
4057         PR middle-end/42806
4058         * tree-eh.c (unsplit_eh): Skip debug insns.
4059
4060 2010-01-26  Richard Guenther  <rguenther@suse.de>
4061
4062         PR tree-optimization/42250
4063         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
4064
4065 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
4066
4067         PR fortran/42866
4068         * omp-low.c (expand_omp_sections): Only use single_pred if
4069         l2_bb is single_pred_p.
4070
4071 2010-01-25  Christian Bruel  <christian.bruel@st.com>
4072
4073         PR target/42841
4074         * config/sh/sh.c (find_barrier): Increase length for non delayed
4075         conditional branches.
4076         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
4077
4078 2010-01-24  David S. Miller  <davem@davemloft.net>
4079
4080         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
4081         define if not using GAS.
4082         * config/sparc/sparc.c (sparc_elf_asm_named_section):
4083         Likewise.  Delete SECTION_MERGE code, which is only applicable
4084         when using GAS.
4085
4086 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
4087
4088         PR c++/42748
4089         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
4090         mangling of va_list in system headers.
4091
4092 2010-01-23  Toon Moene  <toon@moene.org>
4093
4094         * tree-predcom.c (combine_chains): Return NULL, not false.
4095
4096 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
4097
4098         * tree-loop-distribution.c (distribute_loop): Fix declaration and
4099         initialization of variable res to agree with return type.
4100
4101 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
4102
4103         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
4104         * tree-sra.c: Add include of expr.h.
4105
4106 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
4107
4108         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
4109         insert the debug stmt on the single non-EH edge from the stmt.
4110
4111 2010-01-22  Richard Henderson  <rth@redhat.com>
4112
4113         PR tree-opt/42833
4114         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
4115         the RHS until after generate_subtree_copies has insertted its
4116         code before the current statement.
4117
4118 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
4119
4120         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
4121
4122         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
4123
4124 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4125
4126         PR tree-optimization/42585
4127         * tree-sra.c (struct access): New field grp_total_scalarization.
4128         (dump_access): Dump the new field.
4129         (should_scalarize_away_bitmap): New variable.
4130         (cannot_scalarize_away_bitmap): Likewise.
4131         (sra_initialize): Allocate new bitmaps.
4132         (sra_deinitialize): Free new bitmaps.
4133         (create_access_1): New function.
4134         (create_access): Parts moved to create_access_1.
4135         (type_consists_of_records_p): New function.
4136         (completely_scalarize_record): Likewise.
4137         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
4138         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
4139         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
4140         access.
4141         (analyze_all_variable_accesses): Completely scalarize small eligible
4142         records.
4143
4144 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4145
4146         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
4147
4148 2010-01-21  Andrew Haley  <aph@redhat.com>
4149
4150         * gcc.c (process_command): Move lang_specific_driver before
4151         setting cc_libexec_prefix.
4152
4153 2010-01-21  Richard Guenther  <rguenther@suse.de>
4154
4155         PR middle-end/19988
4156         * fold-const.c (negate_expr_p): Pretend only negative
4157         real constants are easily negatable.
4158
4159 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
4160             Jason Merrill  <jason@redhat.com>
4161
4162         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
4163         (TYPE_TRANSPARENT_AGGR): this, for union and record.
4164         * calls.c (initialize argument_information): Handle it.
4165         * c-common.c (handle_transparent_union_attribute): Use new name.
4166         * c-decl.c (finish_struct): Ditto.
4167         * c-typeck.c (type_lists_compatible_p): Ditto.
4168         (convert_for_assignment): Use new name and also handle record.
4169         * function.c (aggregate_value_p): Handle it.
4170         (pass_by_reference): Ditto.
4171         (assign_parm_data_types): Ditto.
4172         * print-tree.c (print_node): Ditto.
4173         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
4174         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
4175         * tree.c (first_field): New fn.
4176
4177 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
4178
4179         PR target/42818
4180         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
4181         even when linking statically, for now.
4182
4183 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4184
4185         PR debug/42715
4186         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
4187         without a cselib val.
4188         (count_uses): Accept MO_VAL_SET with no val on stores.
4189         (add_stores): Likewise.
4190
4191 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4192
4193         * var-tracking.c (check_value_val): Add a compile time assertion.
4194         (dv_is_decl_p): Simplify.
4195         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
4196         gcc_assert if ENABLE_CHECKING.
4197
4198 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4199
4200         PR debug/42782
4201         * var-tracking.c: Include tree-flow.h.
4202         (mem_dies_at_call): New.
4203         (dataflow_set_preserve_mem_locs): Use it.
4204         (dataflow_set_remove_mem_locs): Likewise.
4205         (dump_var): Renamed from dump_variable.  Adjust all callers.
4206         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
4207         * Makefile.in (var-tracking.o): Adjust deps.
4208
4209 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
4210
4211         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
4212
4213 2010-01-20  Richard Guenther  <rguenther@suse.de>
4214
4215         PR tree-optimization/42717
4216         * tree-ssa-dce.c (get_live_post_dom): Remove.
4217         (forward_edge_to_pdom): Take an arbitrary edge to copy
4218         degenerate PHI args from.
4219         (remove_dead_stmt): Use the first post-dominator even if it
4220         does not contain live statements as redirection destination.
4221
4222 2010-01-20  Richard Guenther  <rguenther@suse.de>
4223
4224         * tree-inline.c (estimate_num_insns): Handle EH builtins.
4225
4226 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4227
4228         * sel-sched.c (create_speculation_check): Remove set but not used
4229         variable twin.
4230         (try_transformation_cache): Remove set but not used variable ds.
4231         (calculate_privileged_insns): Remove set but not used variables
4232         cur_insn and min_spec_insn.
4233         (find_best_expr): Remove set but not used variable avail_n.
4234         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
4235         variable e.
4236         * cgraphunit.c (assemble_thunk): Remove set but not used variable
4237         false_label.
4238         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
4239         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
4240         new_scop_exit_edge.
4241
4242 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
4243
4244         PR bootstrap/42786
4245         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
4246         cpu types.  Add support for *-sse3 cpu types.
4247         (x86_64-*-*): Ditto.
4248
4249 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4250
4251         PR middle-end/42803
4252         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
4253         argument, call initializer_constant_valid_p_1 instead of
4254         initializer_constant_valid_p, pass CACHE to it, return NULL
4255         immediately if first call returns NULL.
4256         (initializer_constant_valid_p_1): New function.
4257         (initializer_constant_valid_p): Use it.
4258
4259 2010-01-20  Thomas Quinot  <quinot@adacore.com>
4260
4261         * tree.def (PLACEHOLDER_EXPR): Fix comment.
4262
4263 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4264
4265         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
4266         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
4267         (loc_list_from_tree): Don't handle unsigned division.  Handle
4268         signed modulo using DW_OP_{over,over,div,mul,minus}.
4269         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
4270         modulo instead of signed.
4271
4272 2010-01-20  DJ Delorie  <dj@redhat.com>
4273
4274         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
4275         (Fpa): Pass it
4276         (h8300_emit_stack_adjustment): Propogate it.
4277         (push): Pass it.
4278         (h8300_expand_prologue): Likewise.
4279         (h8300_expand_epilogue): Likewise.
4280
4281 2010-01-19  Michael Matz  <matz@suse.de>
4282
4283         PR tree-optimization/41783
4284         * tree-data-ref.c (toplevel): Include flags.h.
4285         (dump_data_dependence_relation):  Also dump the inputs if the
4286         result will be unknown.
4287         (split_constant_offset_1): Look through some conversions.
4288         * tree-predcom.c (determine_roots_comp): Restart a new chain if
4289         the offset from last element is too large.
4290         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
4291         (reassociate_to_the_same_stmt): Handle vector registers.
4292         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
4293         (e.g. conversions).
4294         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
4295         wide_prolog_niters argument, emit widening instructions.
4296         (vect_do_peeling_for_alignment): Adjust caller, use widened
4297         variant of the iteration cound.
4298         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
4299
4300 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4301
4302         PR target/38697
4303         * config/arm/neon-testgen.m (emit_automatics): New parameter
4304         features. Adjust for Fixed_return_reg feature.
4305         (test_intrinsic): Call emit_automatics with new feature.
4306         * config/arm/neon.ml: Update copyright years.
4307         (features): New Fixed_return_reg feature.
4308         (ops): Update feature for Vget_low.
4309
4310 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
4311
4312         PR tree-optimization/42719
4313         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
4314         stmt uses.
4315
4316         PR debug/42728
4317         * fwprop.c (all_uses_available_at): Return false if def_set dest
4318         is a REG that is used in def_insn.
4319
4320 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
4321
4322         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
4323
4324         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
4325         Add argument names.
4326
4327         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
4328
4329         * target.h (struct gcc_target) <secondary_reload>: Change type
4330         of last argument to secondary_reload_info *.
4331
4332 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
4333
4334         PR target/42774
4335         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
4336         memory references with unaligned offsets.  Remove CQImode handling.
4337         (unaligned_memory_operand): Return 1 for memory references with
4338         unaligned offsets.  Remove CQImode handling.
4339
4340 2010-01-18  Richard Guenther  <rguenther@suse.de>
4341
4342         PR middle-end/39954
4343         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
4344         builtin calls.
4345
4346 2010-01-18  Richard Guenther  <rguenther@suse.de>
4347
4348         PR tree-optimization/42781
4349         * tree-ssa-structalias.c (find_what_var_points_to): Skip
4350         restrict processing only if the original variable was artificial.
4351
4352 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
4353
4354         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
4355         find number of popped argument bytes.
4356
4357         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
4358         Fix the text that describes the return value for invalid insns.
4359
4360         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
4361
4362         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
4363         Clarify what 'cost of the -dependence' is.  Fix quoting.
4364
4365         * toplev.c (default_get_pch_validity): Rename argument to "sz".
4366         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
4367
4368 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
4369
4370         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4371         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
4372
4373 2010-01-17  Richard Guenther  <rguenther@suse.de>
4374
4375         PR middle-end/42248
4376         * function.c (split_complex_args): Take a VEC to modify.
4377         (assign_parms_augmented_arg_list): Build a VEC instead of
4378         a chain of PARM_DECLs.
4379         (assign_parms_unsplit_complex): Take a VEC of arguments.
4380         Do not fixup unmodified parms.
4381         (assign_parms): Deal with the VEC.
4382         (gimplify_parameters): Likewise.
4383
4384 2010-01-17  Richard Guenther  <rguenther@suse.de>
4385
4386         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
4387         node existence check.
4388         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
4389         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
4390         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
4391         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
4392         (gimple_execute_on_growing_pred): Likewise.
4393
4394 2010-01-17  Richard Guenther  <rguenther@suse.de>
4395
4396         PR tree-optimization/42773
4397         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
4398         (compute_antic_aux): Likewise.
4399         (compute_partial_antic_aux): Likewise.
4400
4401 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
4402
4403         PR debug/42767
4404         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
4405         and US_TRUNCATE.
4406
4407 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
4408
4409         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
4410         appearance.
4411
4412         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
4413         Fix markup for strict argument.
4414
4415         (TARGET_SCHED_REORDER2): Fix argument types.
4416
4417         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
4418         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
4419
4420         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
4421         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
4422
4423         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
4424         Add argument name.
4425
4426         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
4427         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
4428         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
4429         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
4430         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
4431
4432         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
4433
4434         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
4435
4436         (TARGET_ASM_RELOC_RW_MASK): Add return type.
4437         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
4438
4439         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
4440
4441         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
4442         Use prototype.
4443
4444         (TARGET_ASM_NAMED_SECTION): Fix argument list.
4445
4446         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
4447         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
4448
4449         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
4450
4451         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
4452
4453         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
4454         referring to it.  Fix language.
4455
4456         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
4457
4458         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
4459
4460         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
4461
4462         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
4463
4464         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
4465         '@var{stream}.  Remove stray 'and'.
4466
4467         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
4468
4469         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
4470
4471         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
4472
4473         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
4474         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
4475
4476         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
4477         Fix description of return value.
4478         Rename argument "sz" to "len."
4479
4480         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
4481         Clarify meaning of 'true' return value.
4482
4483         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
4484
4485         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
4486         rep_mode versus mode_rep.
4487
4488         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
4489
4490         (TARGET_BUILTIN_DECL): Fix name.
4491
4492         (TARGET_COMMUTATIVE_P): Fix type of first argument.
4493
4494         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
4495
4496         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
4497
4498         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
4499
4500         (TARGET_RELAXED_ORDERING): Use @deftypevr.
4501
4502         (TARGET_GET_DRAP_RTX): Note that this is a hook.
4503         Clarify language.
4504
4505         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
4506         Rename argument tm_fn to md_fn.
4507
4508         (TARGET_OPTION_PRINT): Fix argument list.
4509
4510 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
4511
4512         PR target/42664
4513         * config/i386/i386.c (ix86_fixup_binary_operands):
4514         Revert FMA4 fixup of operands.
4515
4516 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4517
4518         PR gcc/42525
4519         * Makefile.in (write_entries_to_file, install-plugin):
4520         Use \012 instead of \n with tr.
4521
4522 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
4523
4524         * configure.ac (HAVE_AS_REF): New C macro.
4525         * configure: Regenerate.
4526         * config.in: Likewise.
4527         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
4528         if HAVE_AS_REF.
4529         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
4530         if HAVE_AS_REF.
4531
4532 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
4533
4534         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
4535
4536         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
4537
4538         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
4539
4540         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
4541
4542         (TARGET_IN_SMALL_DATA_P): Fix argument type.
4543
4544         (TARGET_BINDS_LOCAL_P): Fix argument type.
4545
4546         (TARGET_ASM_FILE_END): Use prototype.
4547
4548         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
4549
4550         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
4551
4552         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
4553
4554         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
4555
4556         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
4557         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
4558
4559         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
4560         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
4561
4562         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
4563         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
4564         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
4565         (TARGET_ADDR_SPACE_CONVERT): Likewise.
4566
4567         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
4568
4569         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
4570
4571         (TARGET_INIT_BUILTINS): Use prototype.
4572
4573         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
4574         Put 'const char *' in braces.  Fix parameter types.
4575         (TARGET_INVALID_CONVERSION): Fix parameter types.
4576         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
4577         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
4578
4579         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
4580         Fix argument type.
4581
4582         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
4583
4584         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
4585
4586 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
4587
4588         * doc/tm.texi (TARGET_HELP): Fix return type.
4589
4590         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
4591         in braces.  Fix argument types.
4592
4593         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
4594
4595         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
4596
4597         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
4598
4599         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
4600         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
4601
4602         (TARGET_MANGLE_TYPE): Fix argument types.
4603
4604         (TARGET_IRA_COVER_CLASSES): Use prototype.
4605
4606         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
4607
4608         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
4609
4610         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
4611
4612         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
4613
4614         (TARGET_CALLEE_COPIES): Fix argument types.
4615
4616         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
4617
4618         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
4619
4620         (TARGET_FUNCTION_VALUE): Fix argument types.
4621
4622         (TARGET_RETURN_IN_MSB): Fix argument type.
4623
4624         (TARGET_RETURN_IN_MEMORY): Fix argument types.
4625
4626         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
4627
4628         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
4629
4630         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
4631         agree with return type.
4632
4633         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
4634
4635 2010-01-15  Jing Yu  <jingyu@google.com>
4636
4637         PR rtl-optimization/42691
4638         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
4639         a pseudo to a constant and are merged, and adjust comments.
4640
4641 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4642
4643         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
4644
4645 2010-01-15  Richard Guenther  <rguenther@suse.de>
4646
4647         PR middle-end/42739
4648         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
4649         labels of computed or non-local gotos to the destination.
4650         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
4651         landing pad label is the first label.
4652
4653 2010-01-15  Richard Guenther  <rguenther@suse.de>
4654
4655         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
4656
4657 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4658
4659         PR target/42747
4660         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
4661         to allow generation of the xssqrtdp instruction on power7.
4662         (sqrtdf2_fpr): Ditto.
4663
4664 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4665
4666         PR middle-end/42674
4667         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
4668         functions with noreturn attribute.
4669
4670         PR c++/42608
4671         * varasm.c (declare_weak): Add weak attribute to decl if it
4672         doesn't have one already.
4673         (assemble_external): Only add decls to weak_decls if they also
4674         have weak attribute.
4675
4676 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
4677
4678         * var-tracking.c (var_reg_delete): Don't delete the association
4679         between REGs and values or one-part variables if the register
4680         isn't clobbered.
4681
4682 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4683
4684         PR debug/42657
4685         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
4686         because its first operand is a non-localized variable.
4687
4688 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4689
4690         PR tree-optimization/42706
4691         * tree-sra.c (encountered_recursive_call): New variable.
4692         (encountered_unchangable_recursive_call): Likewise.
4693         (sra_initialize): Initialize both new variables.
4694         (callsite_has_enough_arguments_p): New function.
4695         (scan_function): Call decl and flags check only for IPA-SRA, check
4696         whether there is a recursive call and whether it has enough arguments.
4697         (all_callers_have_enough_arguments_p): New function.
4698         (convert_callers): Look for recursive calls only when
4699         encountered_recursive_call is set.
4700         (ipa_early_sra): Bail out either if
4701         !all_callers_have_enough_arguments_p or
4702         encountered_unchangable_recursive_call.
4703
4704 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4705
4706         * sel-sched.c: Add 2010 to copyright years.
4707         * sel-sched-ir.c: Likewise.
4708         * sel-sched-ir.h: Likewise.
4709
4710 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4711
4712         PR tree-optimization/42714
4713         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
4714         constructors specially.
4715
4716 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4717
4718         * config/i386/drivers-i386.c (detect_caches_intel):
4719         Add l2sizekb parameter and fill in.
4720         (host_detect_local_cpu): Add l2sizekb, fill in.
4721         Add Atom small cache heuristic.
4722
4723 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4724
4725         * config/i386/drivers-i386.c (detect_caches_cpuid4):
4726         Add level3 parameter and fill in.
4727         (detect_caches_intel): Handle level3 cache.
4728
4729 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4730
4731         * config/i386/drivers-i386.c (host_detect_local_cpu):
4732         Fix core duo detection.
4733
4734 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4735
4736         * config/i386/drivers-i386.c (host_detect_local_cpu):
4737         Fix Atom detection.
4738
4739 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4740
4741         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
4742         (rs6000_variable_issue_1): this.  Use...
4743         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
4744
4745 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4746
4747         * sel-sched-ir.c (sel_restore_other_notes): Rename to
4748         sel_restore_notes.  Update all callers.  Call reemit_notes
4749         for all insns.
4750
4751 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4752
4753         PR rtl-optimization/42246
4754         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
4755         loops.
4756
4757 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4758
4759         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
4760         all successors is the same as number of successors in current region.
4761
4762 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4763
4764         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
4765         to rename is not separable.  Otherwise check that its LHS is not NULL.
4766
4767 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4768
4769         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
4770
4771 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4772
4773         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
4774         available registers when failed to discover LHS register class.
4775         Fix indentation.  Update comment.
4776
4777 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4778             Alexander Monakov  <amonakov@ispras.ru>
4779
4780         PR rtl-optimization/42389
4781         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
4782         to can_issue_more.
4783         (advance_state_on_fence): Likewise.
4784         (sel_target_adjust_priority): Print debug output only when
4785         sched_verbose >= 4, not 2.
4786         (get_expr_cost): Do not issue all unique insns on the next cycle.
4787         (fill_insns): Initialize can_issue_more from the value saved
4788         with the fence.
4789         * sel-sched-ir.c (flist_add): New parameter issue_more.
4790         Init FENCE_ISSUE_MORE with it.
4791         (merge_fences): Likewise.
4792         (init_fences): Update call to flist_add.
4793         (add_to_fences, add_clean_fence_to_fences)
4794         (add_dirty_fence_to_fences): Likewise.
4795         (move_fence_to_fences): Update call to merge_fences.
4796         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
4797         sched groups.
4798         * sel-sched-ir.h (struct _fence): New field issue_more.
4799         (FENCE_ISSUE_MORE): New accessor macro.
4800
4801 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4802
4803         PR rtl-optimization/42388
4804         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
4805         that have no predecessors nor successors.  Do not call move_bb_info
4806         for empty blocks outside of current region.
4807
4808 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4809
4810         PR rtl-optimization/42294
4811         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
4812         * sel-sched.c (move_exprs_to_boundary): Transitively add all
4813         originators' originators.
4814
4815 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4816
4817         PR rtl-optimization/39453
4818         PR rtl-optimization/42246
4819         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
4820         for pipelining_p.
4821         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
4822
4823 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4824             Alexander Monakov  <amonakov@ispras.ru>
4825
4826         PR middle-end/42245
4827         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
4828         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
4829         argument.  Update all callers.
4830         (tidy_control_flow): ... and here.  Recompute topological order
4831         of basic blocks in region if necessary.
4832         (sel_redirect_edge_and_branch): Change return type.  Return true
4833         if topological order might have been invalidated.
4834         (purge_empty_blocks): Export and move from...
4835         * sel-sched.c (purge_empty_blocks): ... here.
4836         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
4837         (maybe_tidy_empty_bb): Delete prototype.
4838         (purge_empty_blocks): Declare.
4839
4840 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
4841
4842         PR rtl-optimization/42249
4843         * sel-sched.c (try_replace_dest_reg): When chosen register
4844         and original register is the same, do not bail out early, but
4845         still check all original insns for validity of replacing destination
4846         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
4847         in this case.
4848
4849 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4850
4851         PR c/42721
4852         Port from no-undefined-overflow branch:
4853         2009-03-09  Richard Guenther  <rguenther@suse.de>
4854
4855         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
4856
4857 2010-01-14  Richard Guenther  <rguenther@suse.de>
4858
4859         PR lto/42665
4860         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
4861
4862 2010-01-14  Ira Rosen  <irar@il.ibm.com>
4863
4864         PR tree-optimization/42709
4865         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
4866         as scalar type in creation of constant vector operand.
4867
4868 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4869
4870         PR testsuite/42414
4871         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
4872         (check-parallel-%): Match `testsuite' directory component only
4873         at the end.
4874
4875 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
4876
4877         PR translation/39521
4878         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
4879         strings with _().
4880
4881 2010-01-13  Richard Guenther  <rguenther@suse.de>
4882
4883         PR tree-optimization/42730
4884         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
4885         offset zero.
4886
4887 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
4888
4889         PR target/pr42542
4890         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
4891         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
4892         them signed.
4893
4894 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
4895
4896         * config/bfin/libgcc-bfin.ver: Regenerate based on current
4897         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
4898         ___umulsi3_highpart.
4899
4900         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
4901         rather than schedule_insns if the pass is enabled.
4902
4903 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4904
4905         PR tree-optimization/42704
4906         * tree-sra.c (sra_modify_assign): Do not delete assignments to
4907         SSA_NAMEs.
4908
4909 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4910
4911         PR tree-optimization/42703
4912         * tree-sra.c (analyze_access_subtree): Check that we can build a
4913         reference to the original data within the aggregate.
4914
4915 2010-01-13  Richard Guenther  <rguenther@suse.de>
4916
4917         PR tree-optimization/42705
4918         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
4919
4920 2010-01-13  Richard Guenther  <rguenther@suse.de>
4921
4922         PR middle-end/42716
4923         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
4924
4925 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
4926
4927         PR debug/41371
4928         * var-tracking.c (values_to_unmark): New variable.
4929         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
4930         values_to_unmark vector.  Moved body to...
4931         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
4932         instead queue it into values_to_unmark vector.
4933         (vt_find_locations): Free values_to_unmark vector.
4934
4935 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
4936
4937         * config/s390/s390.c (override_options): Set
4938         default of max-pending-list-length to 256
4939
4940 2010-01-13  Richard Guenther  <rguenther@suse.de>
4941
4942         PR lto/42678
4943         * tree-pass.h (PROP_gimple_lcx): New.
4944         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
4945         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
4946         before the final cleanup_eh.
4947         (dump_properties): Dump PROP_gimple_lcx.
4948         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
4949         (tree_lower_complex_O0): Remove.
4950         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
4951         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
4952         tree_lower_complex, schedule TODO_update_ssa.
4953         * lto-streamer-out.c (output_function): Stream the functions
4954         properties.
4955         * lto-streamer-in.c (input_function): Likewise.
4956         (lto_read_body): Do not override them here.
4957
4958 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
4959
4960         PR c/42708
4961         * c-typeck.c (build_c_cast): Fold value cast to union type before
4962         wrapping it in a CONSTRUCTOR.
4963
4964 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4965
4966         PR rtl-optimization/42699
4967         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
4968         involved.
4969
4970 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4971
4972         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4973         SUBTARGET_WARN_UNUSED_SPEC): Move ...
4974         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4975         SUBTARGET_WARN_UNUSED_SPEC): ... here
4976         * config/mips/iris5.h (LIBGCC_SPEC): Define.
4977
4978 2010-01-12  Julian Brown  <julian@codesourcery.com>
4979
4980         * config/arm/neon-schedgen.ml (Utils): Don't try to
4981         open missing module.
4982         (find_with_result): New.
4983
4984 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4985
4986         PR debug/42662
4987         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
4988         sharing when canonicalizing ({lt,ge}u (plus a b) b).
4989
4990         PR tree-optimization/42645
4991         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
4992         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
4993         decl_map, set processing_debug_stmt to -1 and return name without
4994         any remapping.
4995
4996 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
4997
4998         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
4999         binutils version, and reword target configuration description.
5000
5001 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5002
5003         * config/avr/avr.h (LINKER_NAME): Remove.
5004
5005 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
5006
5007         PR target/42416
5008         * config/rs6000/rs6000.c (rs6000_override_options): On targets
5009         that support VSX, warn for -mno-altivec if vsx is not disabled,
5010         and disable vsx.
5011
5012 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
5013             Shujing Zhao  <pearly.zhao@oracle.com>
5014
5015         PR translation/42469
5016         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
5017         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
5018         character between option name and help text.
5019         * c.opt (imultilib): Likewise.
5020
5021 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
5022
5023         * lto-streamer-out.c (output_unreferenced_globals): Output static
5024         variables.
5025
5026 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
5027
5028         PR rtl-optimization/42621
5029         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
5030         optimizing for size.
5031         (duplicate_computed_gotos): Remove now-redundant check.
5032
5033 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
5034
5035         PR target/37454
5036         * configure.ac: Save and restore LDFLAGS and LIBS
5037         * configure: Regenerate.
5038
5039 2010-01-10  Richard Guenther  <rguenther@suse.de>
5040
5041         PR middle-end/42667
5042         * builtins.c (fold_builtin_strlen): Add type argument and
5043         convert the resulting length to it.
5044         (fold_builtin_1): Adjust.
5045
5046 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5047
5048         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
5049         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
5050         1 insn.
5051         (num_insns_constant_wide): Adjust for that change.
5052
5053 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5054
5055         PR debug/42631
5056         * web.c (union_defs): Add used argument, to combine uses of
5057         uninitialized regs.
5058         (entry_register): Adjust type and tests of used argument.
5059         (web_main): Widen used for new use.  Pass it to union_defs.
5060         * df.h (union_defs): Adjust prototype.
5061
5062 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5063
5064         PR debug/42630
5065         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
5066         uses in new incoming argument.  Free body.
5067         (reset_debug_uses_in_loop): New.
5068         (analyze_insn_to_expand_var): Call the latter if the former found
5069         anything.  Fix whitespace.  Reject invalid dest overlaps before
5070         going through all insns in the loop.
5071
5072 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5073
5074         PR debug/42629
5075         * haifa-sched.c (dying_use_p): Debug insns don't count.
5076
5077 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5078
5079         PR middle-end/42363
5080         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
5081         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
5082         (verify_gimple_call): Reject LHS in noreturn calls.
5083
5084 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5085
5086         PR debug/42604
5087         PR debug/42395
5088         * tree-vect-loop-manip.c (adjust_info): New type.
5089         (adjust_vec): New pointer to vector.
5090         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
5091         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
5092         (slpeel_update_phis_for_duplicate_loop): Use them.
5093         (slpeel_update_phi_nodes_for_guard1): Likewise.
5094         (slpeel_update_phi_nodes_for_guard2): Likewise.
5095         (slpeel_tree_peel_loop_to_edge): Likewise.
5096         (vect_update_ivs_after_vectorizer): Likewise.
5097
5098 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5099
5100         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
5101         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
5102
5103 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5104
5105         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
5106         bogus uninitialized warning.
5107
5108 2010-01-09  Richard Guenther  <rguenther@suse.de>
5109
5110         PR middle-end/42512
5111         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
5112         the evolution is compatible with the initial condition.
5113
5114 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5115
5116         * gcc.c (process_command): Update copyright notice dates.
5117         * gcov.c (print_version): Likewise.
5118         * gcov-dump.c (print_version): Likewise.
5119         * mips-tfile.c (main): Likewise.
5120         * mips-tdump.c (main): Likewise.
5121
5122 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5123
5124         PR target/41885
5125         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
5126         (rotlhi3): Delete.
5127         (rotlhi3_8): Delete.
5128         (rotlsi3): Delete.
5129         (rotlsi3_8): Delete.
5130         (rotlsi3_16): Delete.
5131         (rotlsi3_24): Delete.
5132         (rotl<mode>3): New.
5133         (*rotw<mode>3): New.
5134         (*rotb<mode>3): New.
5135         * config/avr/avr.c (avr_rotate_bytes): New function.
5136         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
5137
5138 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
5139
5140         PR target/37454
5141         * configure.ac: Modify -rdynamic check.
5142         * configure: Regenerate.
5143
5144 2010-01-08  DJ Delorie  <dj@redhat.com>
5145
5146         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
5147         register popping order.
5148
5149 2010-01-08  Richard Guenther  <rguenther@suse.de>
5150
5151         PR lto/42528
5152         * c.opt (fsigned-char): Also let LTO handle this option.
5153         (funsigned-char): Likewise.
5154
5155 2010-01-07  Richard Guenther  <rguenther@suse.de>
5156
5157         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
5158         (gimple_op): Likewise.
5159         (gimple_op_ptr): Likewise.
5160         (gimple_assign_set_lhs): Remove gcc_assert.
5161         (gimple_assign_set_rhs1): Likewise.
5162         (gimple_assign_set_rhs2): Likewise.
5163         (gimple_call_set_lhs): Likewise.
5164         (gimple_call_set_fn): Likewise.
5165         (gimple_call_set_fndecl): Likewise.
5166         (gimple_call_fndecl): Likewise.
5167         (gimple_call_return_type): Likewise.
5168         (gimple_call_set_chain): Likewise.
5169         (gimple_call_num_args): Likewise.
5170         (gimple_call_set_arg): Likewise.
5171         (gimple_cond_set_code): Likewise.
5172         (gimple_cond_set_lhs): Likewise.
5173         (gimple_cond_set_rhs): Likewise.
5174         (gimple_cond_set_true_label): Likewise.
5175         (gimple_cond_set_false_label): Likewise.
5176         (gimple_label_set_label): Likewise.
5177         (gimple_goto_set_dest): Likewise.
5178         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
5179         (gimple_debug_bind_get_value): Likewise.
5180         (gimple_debug_bind_get_value_ptr): Likewise.
5181         (gimple_debug_bind_set_var): Likewise.
5182         (gimple_debug_bind_set_value): Likewise.
5183         (gimple_debug_bind_reset_value): Likewise.
5184         (gimple_debug_bind_has_value_p): Likewise.
5185         (gimple_return_retval_ptr): Remove gcc_assert.
5186         (gimple_return_retval): Likewise.
5187         (gimple_return_set_retval): Likewise.
5188         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
5189         (safe_referenced_var_iterator): Remove.
5190         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
5191         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
5192         (fill_referenced_var_vec): Remove.
5193         (first_readonly_imm_use): Remove redundant gcc_assert.
5194         (phi_arg_index_from_use): Combine gcc_asserts.
5195         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
5196         (first_imm_use_stmt): Remove redundant gcc_assert.
5197         * tree-cfg.c (verify_gimple_call): Verify function and chain
5198         operands.  Verify arguments.
5199         (verify_types_in_gimple_stmt): Verify condition code and labels.
5200
5201 2010-01-07  Richard Guenther  <rguenther@suse.de>
5202
5203         PR tree-optimization/42641
5204         * sese.c (rename_map_elt_info): Use the SSA name version, do
5205         not hash pointers.
5206
5207 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
5208
5209         PR tree-optimization/42625
5210         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
5211         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
5212
5213 2010-01-07  Duncan Sands  <baldrick@free.fr>
5214
5215         * Makefile.in (PLUGIN_HEADERS): Add version.h.
5216
5217 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
5218
5219         PR target/42511
5220         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
5221         note itself is not function_invariant_p.
5222
5223 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
5224
5225         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
5226         Do not add the DF_NOTE problem.
5227         * store-motion.c (execute_rtl_store_motion): Likewise.
5228
5229 2010-01-07  Martin Jambor  <mjambor@suse.cz>
5230
5231         PR tree-optimization/42157
5232         * tree-sra.c (compare_access_positions): Stabilize sort if both
5233         accesses have integer types, return zero immediately if they are the
5234         same.
5235
5236 2010-01-06  Richard Henderson  <rth@redhat.com>
5237
5238         PR middle-end/41883
5239         * haifa-sched.c (add_to_note_list): Merge into ...
5240         (concat_note_lists): ... here, and ...
5241         (unlink_other_notes, rm_other_notes): Merge into...
5242         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
5243         NOTE_INSN_EPILOGUE_BEG.
5244
5245 2010-01-06  Richard Guenther  <rguenther@suse.de>
5246
5247         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
5248         not inline regular functions into always-inline functions.
5249
5250 2010-01-06  Nick Clifton  <nickc@redhat.com>
5251
5252         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
5253         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
5254         used together.
5255         (OVERRIDE_OPTIONS): Delete.
5256         (OPTIMIZATION_OPTIONS): Define.
5257         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
5258         * config/rx/rx.c (rx_handle_option): Issue an error message if
5259         -mcpu=rx200 and -fpu are used together.
5260         (rx_set_optimization_options): New function.  Issue an error
5261         message if an optimization attribute attempts to reset the FPU/
5262         math optimization pairing.
5263         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
5264         * config/rx/rx.opt: Set the default to 32-bit doubles.
5265         * config/rx/t-rx: Add multilibs for -nofpu option.
5266         * doc/invoke.texi: Update documentation of RX options.
5267
5268 2010-01-06  Richard Guenther  <rguenther@suse.de>
5269
5270         * tree-ssa-pre.c (name_to_id): New global.
5271         (alloc_expression_id): Simplify SSA name handling.
5272         (lookup_expression_id): Likewise.
5273         (init_pre): Zero name_to_id.
5274         (fini_pre): Free it.
5275
5276 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
5277
5278         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
5279
5280 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5281
5282         PR target/42542
5283         * config/i386/sse.md (smaxv2di3): New.
5284         (umaxv2di3): Likewise.
5285         (sminv2di3): Likewise.
5286         (uminv2di3): Likewise.
5287
5288 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5289
5290         PR target/42564
5291         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
5292         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
5293         (legitimize_tls_address): Likewise.
5294         (sparc_tls_referenced_p): Likewise.
5295         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
5296         and adjust calls to legitimize_pic_address.
5297         (legitimate_constant_p) Use sparc_tls_referenced_p.
5298         (legitimate_pic_operand_p): Likewise.
5299         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
5300         (sparc_tls_symbol_ref_1): Delete.
5301         (sparc_tls_referenced_p): Make static, recognize specific patterns.
5302         (legitimize_tls_address): Make static, handle CONST patterns.
5303         (legitimize_pic_address): Make static, remove unused parameter and
5304         adjust recursive calls.
5305         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
5306         and adjust call to legitimize_pic_address.
5307         (sparc_output_mi_thunk): Likewise.
5308
5309 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
5310             H.J. Lu  <hongjiu.lu@intel.com>
5311
5312         PR target/42542
5313         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
5314         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
5315         operands to make them signed.
5316
5317         Revert:
5318         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5319
5320         PR target/42542
5321         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5322         GTU to GT for V4SI and V2DI.
5323
5324         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5325         (umin<mode>3): Removed.
5326         (uminv8hi3): New.
5327         (uminv4si3): Likewise.
5328
5329 2010-01-05  Martin Jambor  <mjambor@suse.cz>
5330
5331         PR tree-optimization/42462
5332         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
5333         current_function_decl to helper functions and macros.
5334
5335 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5336
5337         PR bootstrap/41771
5338         * flags.h: Don't include real.h.
5339         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
5340         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
5341         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
5342         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
5343         * dominance.c: Update copyright.
5344         * gimple.c (walk_gimple_op): Remove inline.
5345         * tree-ssa-reassoc.c: Include real.h.
5346         * Makefile.in (FLAGS_H): Remove $(REAL_H).
5347         (tree-ssa-reassoc.o): Depend on $(REAL_H).
5348
5349 2010-01-05  Nick Clifton  <nickc@redhat.com>
5350
5351         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
5352         register to push into the stack frame when the accumulator has to
5353         be saved during interrupts.
5354
5355 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
5356
5357         * doc/invoke.texi: Remove the documentation about option
5358         -Wunreachable-code.
5359         * common.opt (Wunreachable-code):  Preserved for backward
5360         compatibility.
5361         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
5362         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
5363         the backward compatibility flag section.
5364
5365 2010-01-05  Richard Guenther  <rguenther@suse.de>
5366
5367         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
5368
5369 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
5370
5371         PR other/42611
5372         * cfgexpand.c (expand_one_var): Diagnose too large variables.
5373
5374         PR tree-optimization/42508
5375         * tree-sra.c (convert_callers): Check for recursive call
5376         by comparing cgraph nodes instead of decls.
5377         (modify_function): Call ipa_modify_formal_parameters also
5378         on all same_body aliases.
5379
5380         * cgraphunit.c (cgraph_materialize_all_clones): Compare
5381         cgraph nodes when checking for same_body aliases.
5382
5383 2010-01-05  Richard Guenther  <rguenther@suse.de>
5384
5385         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
5386         allocation and lookup.
5387         (get_or_alloc_expr_for_constant): Likewise.
5388         (phi_translate): Sink allocation.
5389
5390 2010-01-04  Richard Guenther  <rguenther@suse.de>
5391
5392         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
5393         a new entry only if needed.
5394         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
5395         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
5396         hashtable lookup.
5397         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
5398         the result array.
5399         (phi_translate): Handle CONSTANTs early.
5400
5401 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5402
5403         PR tree-optimization/42398
5404         * tree-sra.c (struct access): Removed flag grp_different_types.
5405         (dump_access): Do not dump the removed flag.
5406         (sort_and_splice_var_accesses): Do not set the removed flag.
5407         (sra_modify_expr): Check for type compatibility directly.
5408
5409 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5410
5411         PR tree-optimization/42366
5412         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
5413         edges with variable number of parameters.
5414         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
5415         flag instead of asserting it.
5416         (ipa_read_node_info): Read uses_analysis_done flag.
5417
5418 2010-01-04  Richard Guenther  <rguenther@suse.de>
5419
5420         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
5421         iterative_hash_* as intended.
5422         (vn_reference_compute_hash): Likewise.  Simplify hashing
5423         SSA names.
5424         (vn_reference_lookup_2): Likewise.
5425         (vn_nary_op_compute_hash): Likewise.
5426         (vn_phi_compute_hash): Likewise.
5427         (expressions_equal_p): Remove strange code.
5428         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
5429         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
5430         (bitmap_insert_into_set_1): Take value-id as parameter.
5431         (add_to_value): Pass it.
5432         (bitmap_insert_into_set): Likewise.
5433         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
5434
5435 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
5436
5437         PR driver/42442
5438         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
5439         (do_self_spec): For switches with SWITCH_IGNORE set set also
5440         SWITCH_IGNORE_PERMANENTLY.
5441         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
5442         of SWITCH_IGNORE.
5443
5444 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
5445
5446         * lto-streamer-out.c (output_unreferenced_globals): Output the full
5447         tree of an unreferenced global var.
5448
5449 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5450
5451         PR target/42542
5452         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5453         GTU to GT for V4SI and V2DI.
5454
5455         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5456         (umin<mode>3): Removed.
5457         (uminv8hi3): New.
5458         (uminv4si3): Likewise.
5459
5460 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5461
5462         PR lto/42581
5463         * collect2.c (main): Turn on trace in collect2 if -v is passed
5464         to gcc with LTO.
5465
5466 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
5467
5468         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
5469         description of expression operand.
5470
5471 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
5472
5473         * configure.ac: Add install-html to target_list for Make-hooks.
5474         * configure: Regenerate.
5475         * fortran/Make-lang.in (F95_HTMLFILES): New.
5476         (fortran.html): Use it.
5477         (fortran.install-html): New.
5478         * Makefile.in (install-html): Add lang.install-html.
5479         * java/Make-lang.in (JAVA_HTMLFILES): New.
5480         (java.html): Use it.
5481         (java.install-html): New.
5482         * objc/Make-lang.in (objc.install-html): New.
5483         * objcp/Make-lang.in (obj-c++.install-html): New.
5484         * cp/Make-lang.in (c++.install-html): New.
5485         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
5486         * lto/Make-lang.in (lto.install-html): New.
5487
5488 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5489
5490         PR lto/42520
5491         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
5492
5493 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5494
5495         PR rtl-optimization/41862
5496         * store-motion.c (store_killed_in_insn, compute_store_table,
5497         remove_reachable_equiv_notes, replace_store_insn,
5498         build_store_vectors): Ignore all DEBUG_INSNs.
5499
5500 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5501
5502         PR lto/41564
5503         * common.opt: Add dumpdir.
5504
5505         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
5506         isn't specified.
5507         (option_map): Add --dumpdir.
5508
5509         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
5510
5511         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
5512
5513         * opts.c (decode_options): Try dump_dir_name first if
5514         dump_base_name isn't an absolute path.
5515         (common_handle_option): Handle OPT_dumpdir.
5516
5517         * toplev.c (dump_dir_name): New.
5518         (print_switch_values): Also ignore -dumpdir.
5519
5520         * toplev.h (dump_dir_name): New.
5521
5522 2010-01-03  Richard Guenther  <rguenther@suse.de>
5523
5524         PR tree-optimization/42589
5525         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
5526         double-word expansion of bswap32.
5527
5528 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5529
5530         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
5531         with BLOCK_FOR_INSN.
5532         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
5533         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
5534         noce_process_if_block): Likewise.
5535         * gcse.c (compute_local_properties, insert_expr_in_table,
5536         insert_set_in_table, canon_list_insert, find_avail_set,
5537         pre_insert_copy_insn): Likewise.
5538
5539         * basic-block.h (BLOCK_NUM): Move from here...
5540         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
5541
5542 2010-01-03  Richard Guenther  <rguenther@suse.de>
5543
5544         PR tree-optimization/42438
5545         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
5546         contains_may_not_return_call flag.
5547         (BB_MAY_NOTRETURN): New.
5548         (valid_in_sets): Trapping nary operations are not valid
5549         in blocks that may not return.
5550         (insert_into_preds_of_block): Remove check for trapping expressions.
5551         (compute_avail): Compute also BB_MAY_NOTRETURN.
5552
5553 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
5554
5555         * doc/invoke.texi: Add 2010 to copyright years.
5556
5557 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5558
5559         * config/sparc/sparc.c: Fix formatting nits.
5560
5561 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
5562             Alexander Monakov  <amonakov@ispras.ru>
5563
5564         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
5565
5566 2010-01-02  Richard Guenther  <rguenther@suse.de>
5567
5568         PR middle-end/42577
5569         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
5570         (simplify_switch_using_ranges): Mark to be removed edges
5571         as non-executable.
5572
5573 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5574
5575         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
5576
5577         * collect2.c (scan_libraries): Add missing argument in call to
5578         scan_prog_file.
5579
5580 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
5581
5582         PR target/42448
5583         * config/alpha/predicates.md (aligned_memory_operand): Return false
5584         for CQImode.
5585         (unaligned_memory_operand): Return true for CQImode.
5586         * config/alpha/alpha.c (get_aligned_mem): Assert that location
5587         doesn not cross aligned SImode word boundary.
5588
5589 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
5590
5591         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
5592         Remove.
5593         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
5594         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
5595
5596 2010-01-02  Richard Guenther  <rguenther@suse.de>
5597
5598         PR lto/41597
5599         * toplev.c (compile_file): Emit LTO marker properly.  Change
5600         it to __gnu_lto_v1.
5601         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5602
5603 2010-01-01  Richard Guenther  <rguenther@suse.de>
5604
5605         PR debug/42455
5606         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
5607
5608 2010-01-01  Richard Guenther  <rguenther@suse.de>
5609
5610         PR c/42570
5611         * c-decl.c (grokdeclarator): For zero-size arrays force
5612         structural equality checks as layout_type does.
5613
5614 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5615
5616         * builtins.c: Update copyright to 2010.
5617
5618 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5619
5620         PR lto/42531
5621         * lto-streamer-out.c (produce_asm): Revert the last change.
5622         (copy_function): Likewise.
5623
5624         * lto-streamer.c (lto_get_section_name): Skip any leading
5625         asterisk in name.
5626
5627 2010-01-01  Richard Guenther  <rguenther@suse.de>
5628
5629         PR middle-end/42559
5630         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
5631         for LABEL_DECLs.
5632
5633 \f
5634 Copyright (C) 2010 Free Software Foundation, Inc.
5635
5636 Copying and distribution of this file, with or without modification,
5637 are permitted in any medium without royalty provided the copyright
5638 notice and this notice are preserved.