PR c++/42623
[official-gcc/constexpr.git] / gcc / ChangeLog
blob2b3338e2c9a57c3d4e9fe80fad8135c5e3654c2f
1 2010-04-09  Jason Merrill  <jason@redhat.com>
3         PR c++/42623
4         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
5         for incomplete type.
7         PR c++/41788
8         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
9         based on a warning flag.
11 2010-04-09  Richard Guenther  <rguenther@suse.de>
13         * tree-pretty-print.c (dump_generic_node): Dump
14         TYPE_VECTOR_SUBPARTS.
16 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
18         PR bootstrap/43684
19         * varasm.c (default_assemble_visibility): Wrap vars that are 
20         set, but unused, by targets without GAS.
21         * config/rs6000/rs6000.c: (paired_emit_vector_compare): 
22         Remove set, but unused, vars.
23         (rs6000_legitimize_tls_address): Likewise.
24         (altivec_expand_dst_builtin): Likewise.
25         * config/darwin.c (machopic_classify_symbol): Likewise.
26         (machopic_indirection_name): Likewise.
27         
28 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
30         * config/i386/i386.md (DWI): New mode iterator.
31         (S): New mode attribute.
32         (shift_operand): Ditto.
33         (shift_immediate_operand): Ditto.
34         (ashl_input_operand): Ditto.
35         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
36         using SDWIM mode iterator.
37         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
38         pattern from *ashl{di,ti}3_1 and corresponding splitters using
39         DWI mode iterator.
40         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
41         from corresponding peephole2 patterns.
42         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
43         and x86_64_shift_adj_1 using SWI48 mode iterator.
44         (x86_shift<mode>_adj_2): Ditto.
45         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
46         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
47         using SWI48 mode iterator.
48         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
49         *ashldi3_cmp_rex64 using SWI mode iterator.
50         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
51         *ashldi3_cconly_rex64 using SWI mode iterator.
52         * config/i386/i386.c (ix86_split_ashl): Update for renamed
53         x86_shift<mode>_adj_{1,2}.
54         (ix86_split_ashr): Ditto.
55         (ix86_split_lshr): Ditto.
57 2010-04-09  Richard Guenther  <rguenther@suse.de>
59         * target.h (builtin_conversion): Pass in input and output types.
60         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
61         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
62         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
63         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
65         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
66         Handle AVX modes.
67         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
69 2010-04-09  Richard Guenther  <rguenther@suse.de>
71         PR target/43152
72         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
74 2010-04-09  Richard Guenther  <rguenther@suse.de>
76         * tree-vectorizer.h (struct _stmt_vec_info): Document
77         that vectype is the type of the LHS.
78         (supportable_widening_operation, supportable_narrowing_operation): 
79         Get both input and output vector types as arguments.
80         (vect_is_simple_use_1): Declare.
81         (get_same_sized_vectype): Likewise.
82         * tree-vect-loop.c (vect_determine_vectorization_factor):
83         Set STMT_VINFO_VECTYPE to the vector type of the def.
84         (vectorizable_reduction): Adjust.
85         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
86         Adjust.  Specify the output vector type.
87         (vect_pattern_recog_1): Adjust.
88         * tree-vect-stmts.c (get_same_sized_vectype): New function.
89         (vectorizable_call): Adjust.
90         (vectorizable_conversion): Likewise.
91         (vectorizable_operation): Likewise.
92         (vectorizable_type_demotion): Likewise.
93         (vectorizable_type_promotion): Likewise.
94         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
95         the def.
96         (vect_is_simple_use_1): New function.
97         (supportable_widening_operation): Get both input and output
98         vector types.
99         (supportable_narrowing_operation): Likewise.
100         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
102 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
104         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
105         __thiscall and _thiscall as predefined macros.
106         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
107         thiscall attribute handling.
108         (ix86_comp_type_attributes): Likewise.
109         (ix86_function_regparm): Likewise.
110         (ix86_return_pops_args): Likewise.
111         (init_cumulative_args): Likewise.
112         (find_drap_reg): Likewise.
113         (ix86_static_chain): Likewise.
114         (x86_this_parameter): Likewise.
115         (x86_output_mi_thunk): Likewise.
116         (ix86_attribute_table): Add description for thiscall attribute.
117         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
118         * doc/extend.texi: Add documentation for thiscall.
119         
120 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
122         PR c++/28584
123         * c.opt (Wint-to-pointer-cast): Available in C++.
124         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
126 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
128         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
129         * calls.c (expand_call): Pass the function type to aggregate_value_p.
130         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
131         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
132         function type instead.  Reorder and simplify checks.
134         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
136 2010-04-08  Jing Yu  <jingyu@google.com>
137             Zdenek Dvorak  <ook@ucw.cz>
139         PR tree-optimization/42720
140         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
141         loop unswitch conditions here from ...
142         (tree_unswitch_single_loop): ... here.
144 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
146         * tree-if-conv.c: Fix comments and simplify logic.
148 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
150         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
151         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
152         (main_tree_if_conversion): Update call to tree_if_conversion.
154 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
156         PR 42485
157         * doc/invoke.texi (-b,-V): Delete.
158         * doc/tm.texi: Do not mention -b.
159         * gcc.c (display_help): Delete -b and -V.
160         (process_command): Delete -b and -V.
161         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
163 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
164             Wolfgang Gellerich  <gellerich@de.ibm.com>
166         Implement target hook for loop unrolling
167         * target.h (loop_unroll_adjust): Add a new target hook function.
168         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
169         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
170         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
171         (s390_loop_unroll_adjust): Implement the new target hook for s390.
172         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
173         target hook.
174         (decide_unroll_stupid): Likewise.
176 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
178         PR target/43643
179         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
181 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
183         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
184         (Specific, *-*-solaris2*): Likewise.
185         Don't prefer Sun as over GNU as.
187 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
189         * config/s390/s390.c (override_options): Adjust the z10
190           defaults for max-unroll-times, max-completely-peeled-insns
191           and max-completely-peel-times.
193 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
195         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
196         instructions for z10.
197         (s390_expand_setmem): Likewise.
198         (s390_expand_cmpmem): Likewise.
200 2010-04-08  Richard Guenther  <rguenther@suse.de>
202         PR tree-optimization/43679
203         * tree-ssa-pre.c (eliminate): Only propagate copies.
205 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
207         PR bootstrap/43681
208         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
209         set but not used variable warning.
211 2010-04-08  Wei Guozhi  <carrot@google.com>
213         PR target/41653
214         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
215         (arm_size_rtx_costs): Call the new function when optimized for size.
217 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
219         PR debug/43670
220         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
221         op0 is not a MEM, just return NULL instead of assertion
222         failure.
223         (discover_nonconstant_array_refs): Don't walk debug stmts.
225 2010-04-08  Doug Kwan  <dougkwan@google.com>
227         * configure.ac: Recognize gold and do not use its version number
228         to test ld features.
229         * configure: Regenerate.
231 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
233         PR middle-end/40815
234         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
235         (negate_value): Move code to push elements to broken_up_substracts ...
236         (eliminate_plus_minus_pair): ... here.  Push operands that have no
237         negative pair to plus_negates.
238         (repropagate_negates, init_reassoc, fini_reassoc): Update.
240 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
242         * doc/install.texi (Configuration): Move description of
243         --enable-lto, --with-libelf*, --enable-gold from Java section to
244         general section.
246         * doc/generic.texi (Working with declarations)
247         (Function Properties, C and C++ Trees): Fix typos.
248         * doc/sourcebuild.texi (Top Level): Likewise.
250 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
252         PR c/18624
253         * tree.h (DECL_READ_P): Define.
254         (struct tree_decl_common): Add decl_read_flag.
255         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
256         a set but not used warning.
257         (merge_decls): Merge DECL_READ_P flag.
258         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
259         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
260         * c-common.c (handle_used_attribute, handle_unused_attribute):
261         Likewise.
262         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
263         New prototypes.
264         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
265         New functions.
266         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
267         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
268         c_parser_binary_expression, c_parser_cast_expression,
269         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
270         Call default_function_array_read_conversion instead of
271         default_function_array_conversion where needed.
272         (c_parser_unary_expression, c_parser_conditional_expression,
273         c_parser_postfix_expression_after_primary, c_parser_initelt):
274         Likewise.  Call mark_exp_read where needed.
275         (c_parser_statement_after_labels, c_parser_asm_operands,
276         c_parser_typeof_specifier, c_parser_sizeof_expression,
277         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
278         where needed.
279         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
280         New.
281         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
282         (warn_unused_but_set_parameter): Default to warn_unused
283         && extra_warnings.
284         * doc/invoke.texi: Document -Wunused-but-set-variable and
285         -Wunused-but-set-parameter.
287         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
288         used count variable.
289         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
290         when operandN variables aren't used in the body of the expander
291         or splitter.
292         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
293         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
294         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
295         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
296         FOR_EACH_IMM_USE_ON_STMT): Likewise.
297         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
298         * tree.c (PROCESS_ARG): Likewise.
300 2010-04-07  Simon Baldwin  <simonb@google.com>
302         * diagnostic.h (diagnostic_override_option_index): New macro to
303         set a diagnostic's option_index.
304         * c-tree.h (c_cpp_error): Add warning reason argument.
305         * opts.c (_warning_as_error_callback): New.
306         (register_warning_as_error_callback): Store callback for
307         warnings enabled via enable_warning_as_error.
308         (enable_warning_as_error): Call callback, minor code tidy.
309         * opts.h (register_warning_as_error_callback): Declare.
310         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
311         response to -Werror=.
312         (c_common_init_options): Register warning_as_error_callback in opts.c.
313         * common.opt: Add -Wno-cpp option.
314         * c-common.c (struct reason_option_codes_t): Map cpp warning
315         reason codes to gcc option indexes.
316         * (c_option_controlling_cpp_error): New function, lookup the gcc
317         option index for a cpp warning reason code.
318         * (c_cpp_error): Add warning reason argument, call
319         c_option_controlling_cpp_error for diagnostic_override_option_index.
320         * doc/invoke.texi: Document -Wno-cpp.
322 2010-04-07  Richard Guenther  <rguenther@suse.de>
324         * ipa-reference.c (mark_load): Use get_base_address.
325         (mark_store): Likewise.
327         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
328         inserting GIMPLE_NOPs into the IL.
329         * tree-ssa-structalias.c (get_constraint_for_component_ref):
330         Explicitly strip handled components and indirect references.
331   
332         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
333         folding address expressions.
334         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
335         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
336         operand_equal_p to compare decls.
337         (ptr_deref_may_alias_decl_p): Likewise.
338         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
339         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
340         Handle reversed comparison ops.
341         * tree-sra.c (asm_visit_addr): Use get_base_address.
342         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
343         * ipa-reference.c (mark_address): Use get_base_address.
345 2010-04-07  Richard Guenther  <rguenther@suse.de>
347         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
348         Propagate constants everywhere.
350 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
352         PR debug/43516
353         * tree.c (MAX_INT_CACHED_PREC): Define.
354         (nonstandard_integer_type_cache): New array.
355         (build_nonstandard_integer_type): Cache results for precision
356         <= MAX_INT_CACHED_PREC.
358 2010-04-07  Richard Guenther  <rguenther@suse.de>
360         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
361         -fargument-noalias-global, -fargument-noalias-anything): Remove.
362         * common.opt: Likewise.
363         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
364         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
365         (nonoverlapping_memrefs_p): Likewise.
366         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
367         * opts.c (common_handle_option): Handle OPT_fargument_alias,
368         OPT_fargument_noalias, OPT_fargument_noalias_anything and
369         OPT_fargument_noalias_global for backward compatibility.
371 2010-04-07  Richard Guenther  <rguenther@suse.de>
373         PR tree-optimization/43270
374         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
375         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
376         * tree-ssa-pre.c (phi_translate_1): Adjust.
377         (fully_constant_expression): Split out vn_reference handling to ...
378         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
379         Fold reads from constant strings.
380         (vn_reference_lookup): Handle fully constant references.
381         (vn_reference_lookup_pieces): Likewise.
382         * Makefile.in (expmed.o-warn): Add -Wno-error.
384 2010-04-07  Martin Jambor  <mjambor@suse.cz>
386         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
388 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
390         PR driver/41594
391         * gcc.c: Add -static-libstdc++ to list of recognized options.
393 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
395         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
397 2010-04-07  Richard Guenther  <rguenther@suse.de>
399         PR middle-end/42617
400         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
401         bases build simple mem attributes to retain points-to information.
403 2010-04-07  Richard Guenther  <rguenther@suse.de>
405         PR middle-end/42617
406         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
407         preserve points-to related information.
409 2010-04-07  Richard Guenther  <rguenther@suse.de>
411         PR middle-end/42617
412         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
413         discard plain indirect references.
414         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
415         * tree.c (tree_nop_conversion): Likewise.
417 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
419         PR debug/43628
420         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
422 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
424         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
425         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
427 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
429         * tree-if-conv.c: Fix indentation and comments.
431 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
433         * tree-if-conv.c: Sort static functions in topological order.
435 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
437         * tree-if-conv.c: Fix indentation and comments.
439 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
441         PR middle-end/43519
442         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
443         lang_hooks.types.type_for_size instead of
444         build_nonstandard_integer_type.
445         When converting an unsigned type to signed, double its precision.
446         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
447         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
448         (graphite_create_new_loop_guard): When ub + 1 wraps around,
449         use lb <= ub.
451 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
453         PR middle-end/43519
454         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
455         POINTER_PLUS_EXPR for pointer types.
457 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
459         PR middle-end/43519
460         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
461         * graphite-clast-to-gimple.c: Include langhooks.h.
462         (max_signed_precision_type): New.
463         (max_precision_type): Takes two types as arguments.
464         (precision_for_value): New.
465         (precision_for_interval): New.
466         (gcc_type_for_interval): New.
467         (gcc_type_for_value): New.
468         (gcc_type_for_clast_term): New.
469         (gcc_type_for_clast_red): New.
470         (gcc_type_for_clast_bin): New.
471         (gcc_type_for_clast_expr): Split up into several functions.
472         (gcc_type_for_clast_eq): Rewritten.
473         (compute_bounds_for_level): New.
474         (compute_type_for_level_1): New.
475         (compute_type_for_level): New.
476         (gcc_type_for_cloog_iv): Removed.
477         (gcc_type_for_iv_of_clast_loop): Rewritten.
478         (graphite_create_new_loop): Compute the lower and upper bound types
479         with gcc_type_for_clast_expr.
480         (graphite_create_new_loop_guard): Same.
481         (find_cloog_iv_in_expr): Removed.
482         (compute_cloog_iv_types_1): Removed.
483         (compute_cloog_iv_types): Removed.
484         (gloog): Do not call compute_cloog_iv_types.
485         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
486         GBB_CLOOG_IV_TYPES.
487         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
488         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
489         (GBB_CLOOG_IV_TYPES): Removed.
491 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
493         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
494         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
495         (detect_commutative_reduction): Same.
497 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
499         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
500         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
501         argument.
502         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
503         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
504         (rewrite_commutative_reductions_out_of_ssa): Same.
505         * passes.c (execute_function_todo): Call verify_ssa for every pass
506         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
507         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
508         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
509         with an extra argument.
510         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
511         verify_ssa only when the extra argument is true.
512         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
513         with an extra argument.
514         (tree_transform_and_unroll_loop): Same.
516 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
518         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
519         for all the passes of the LNO having LOOP_CLOSED_SSA.
520         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
521         * tree-loop-distribution.c (pass_loop_distribution): Same.
522         * tree-pass.h (TODO_verify_loops): Removed.
523         * tree-ssa-loop.c (pass_tree_loop_init): Same.
524         (pass_lim): Same.
525         (pass_tree_unswitch): Same.
526         (pass_predcom): Same.
527         (pass_vectorize): Same.
528         (pass_linear_transform): Same.
529         (pass_graphite_transforms): Same.
530         (pass_iv_canon): Same.
531         (pass_complete_unroll): Same.
532         (pass_complete_unrolli): Same.
533         (pass_parallelize_loops): Same.
534         (pass_loop_prefetch): Same.
535         (pass_iv_optimize): Same.
537 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
539         PR middle-end/32824
540         * passes.c (init_optimization_passes): Move pass_lim before
541         pass_copy_prop and pass_dce_loop.
543 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
545         PR target/43667
546         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
547         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
548         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
549         MULTI_* defines for 4 argument vpermil2p* builtins.
551 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
553         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
554         * config/i386/i386.c (x86_maybe_negate_const_int): New.
555         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
556         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
557         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
558         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
559         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
560         Use x86_maybe_negate_const_int to output insn mnemonic.
561         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
562         check from instruction predicate.  Update comments.
563         * config/i386/sync.md (sync_add<mode>): Use
564         x86_maybe_negate_const_int to output insn mnemonic.
566 2010-04-06  Jan Hubicka  <jh@suse.cz>
568         PR tree-optimization/42906
569         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
570         IGNORE_SELF argument.  Set visited_control_parents for fully
571         processed BBs.
572         (find_obviously_necessary_stmts): Update call of
573         mark_control_dependent_edges_necessary.
574         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
576 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
578         * config/i386/i386.md: Remove comment about 'e' and 'E'
579         operand modifier.
581 2010-04-06  Richard Guenther  <rguenther@suse.de>
583         PR tree-optimization/43627
584         * tree-vrp.c (extract_range_from_unary_expr): Widenings
585         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
586         not varying.
588 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
590         * BASE-VER: Change to 4.6.0.
592         PR target/43638
593         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
594         handling.
596 2010-04-06  Richard Guenther  <rguenther@suse.de>
598         PR middle-end/43661
599         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
601 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
603         * doc/invoke.texi (Optimize Options): Document that LTO
604         won't remove object access purely due to incompatible
605         declarations.
607 2010-04-04  Matthias Klose  <doko@ubuntu.com>
609         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
610         Initialize variable.
612 2010-04-03  Richard Guenther  <rguenther@suse.de>
614         PR middle-end/42509
615         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
616         require a non-NULL MEM_OFFSET.
618 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
620         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
621         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
622         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
623         config/alpha/predicates.md, config/arm/arm.md,
624         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
625         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
626         config/darwin9.h, config/darwin.c, config/darwin.h,
627         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
628         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
629         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
630         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
631         config/mips/mips.md, config/mn10300/mn10300.c,
632         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
633         config/rs6000/aix.h, config/rs6000/dfp.md,
634         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
635         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
636         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
637         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
638         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
639         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
640         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
641         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
642         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
643         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
644         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
645         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
646         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
647         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
648         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
649         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
650         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
651         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
652         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
653         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
654         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
655         opt-functions.awk, opth-gen.awk, params.def, passes.c,
656         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
657         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
658         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
659         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
660         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
661         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
662         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
663         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
664         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
665         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
666         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
667         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
668         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
669         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
671 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
673         PR other/43620
674         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
675         * aclocal.m4: Regenerate.
677 2010-04-02  Richard Guenther  <rguenther@suse.de>
679         PR tree-optimization/43629
680         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
681         if we have seen a constant value.
683 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
685         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
687 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
689         PR target/43469
690         * arm.c (legitimize_tls_address): Adjust call to
691         gen_tls_load_dot_plus_four.
692         (arm_note_pic_base): New function.
693         (arm_cannot_copy_insn_p): Use it.
694         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
695         constraint.
697 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
699         PR bootstrap/43531
701         Revert:
702         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
704         * Makefile.in ($(out_object_file)): Depend on
705         gt-$(basename $(notdir $(out_file))).h.
707 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
709         * config.gcc (lm32-*-rtems*): Add t-lm32.
711 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
713         * config.gcc: Add lm32-*-rtems*.
714         * config/lm32/rtems.h: New file.
716 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
718         PR target/42609
719         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
721 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
723         * dwarf2out.c (output_compilation_unit_header): For
724         -gdwarf-4 use version 4 instead of version 3.
725         (output_line_info): For version 4 and above emit additional
726         maximum ops per insn header field.
727         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
729         * dwarf2out.c (is_c_family, is_java): Remove.
730         (lower_bound_default): New function.
731         (add_bound_info, gen_descr_array_type_die): Use it.
733 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
735         PR debug/43325
736         * dwarf2out.c (gen_variable_die): Allow debug info for variable
737         re-declaration when it happens in a function.
739 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
741         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
742         (cgraph_remove_function_insertion_hook): Same.
743         (cgraph_call_function_insertion_hooks): Same.
745 2010-04-01  Richard Guenther  <rguenther@suse.de>
747         PR middle-end/43614
748         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
749         and TREE_THIS_VOLATILE.
750         (copy_ref_info): Likewise.
751         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
752         * tree.c (build6_stat): Ignore side-effects of all but arg5
753         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
754         TARGET_MEM_REF.
756 2010-04-01  Richard Guenther  <rguenther@suse.de>
758         PR tree-optimization/43607
759         * ipa-type-escape.c (check_call): Do not access non-existing
760         arguments.
762 2010-04-01  Richard Guenther  <rguenther@suse.de>
764         PR middle-end/43602
765         Revert
766         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
767                     Jack Howarth <howarth@bromo.med.uc.edu>
769         * tree-profile.c (tree_init_ic_make_global_vars): Make static
770         variables TLS.
772 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
774         * doc/install.texi (Prerequisites): Document libelf usability on
775         IRIX 5/6 and Solaris 2.
776         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
777         Update GNU as, GNU ld requirements.
778         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
779         Document Sun Studio compiler download.
780         Update and simplify as, ld recommendations.
781         (Specific, *-*-solaris2.7): Note obsoletion, removal.
783 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
785         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
786         with_tune_32 to pentium4.
788 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
790         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
792 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
794         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
795         obsoletion, removal.
796         Update IDO URL.
797         Document GNU as requirement.
798         Update configure requirements.
799         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
800         Recomment IRIX 6.5.18+.
801         Document IDF/IDL requirement.
802         Document GNU as requirement.
803         Document GNU ld bootstrap failure.
804         Remove freeware.sgi.com reference.
806 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
808         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
809         UNIX V4.0, V5.0 obsoletion, removal.
810         Remove --with-gc=simple reference.
811         Update VM requirements during bootstrap.
812         Remove -oldas bootstrap description.
813         Update binutils reference.
814         Remove comparison failure note.
816 2010-03-31  Richard Guenther  <rguenther@suse.de>
817             Zdenek Dvorak  <ook@ucw.cz>
818             Sebastian Pop  <sebastian.pop@amd.com>
820         PR middle-end/43464
821         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
822         with multiple arguments.
823         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
825 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
827         * graphite-dependences.c (print_pddr): Call print_pdr with an
828         extra argument.
829         * graphite-poly.c (debug_pdr): Add an extra argument for the
830         verbosity level.
831         (print_pdr): Same.
832         (print_pbb_domain): Same.
833         (print_pbb): Same.
834         (print_scop_context): Same.
835         (print_scop): Same.
836         (print_cloog): Same.
837         (debug_pbb_domain): Same.
838         (debug_pbb): Same.
839         (print_pdrs): Same.
840         (debug_pdrs): Same.
841         (debug_scop_context): Same.
842         (debug_scop): Same.
843         (debug_cloog): Same.
844         (print_scop_params): Same.
845         (debug_scop_params): Same.
846         (print_iteration_domain): Same.
847         (print_iteration_domains): Same.
848         (debug_iteration_domain): Same.
849         (debug_iteration_domains): Same.
850         (print_scattering_function): Same.
851         (print_scattering_functions): Same.
852         (debug_scattering_function): Same.
853         (debug_scattering_functions): Same.
854         * graphite-poly.h (debug_pdr): Update declaration.
855         (print_pdr): Same.
856         (print_pbb_domain): Same.
857         (print_pbb): Same.
858         (print_scop_context): Same.
859         (print_scop): Same.
860         (print_cloog): Same.
861         (debug_pbb_domain): Same.
862         (debug_pbb): Same.
863         (print_pdrs): Same.
864         (debug_pdrs): Same.
865         (debug_scop_context): Same.
866         (debug_scop): Same.
867         (debug_cloog): Same.
868         (print_scop_params): Same.
869         (debug_scop_params): Same.
870         (print_iteration_domain): Same.
871         (print_iteration_domains): Same.
872         (debug_iteration_domain): Same.
873         (debug_iteration_domains): Same.
874         (print_scattering_function): Same.
875         (print_scattering_functions): Same.
876         (debug_scattering_function): Same.
877         (debug_scattering_functions): Same.
879 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
881         * graphite-poly.c (print_scattering_function_1): New.
882         (print_scattering_function): Call it.
883         (print_scop_params): Remove spaces at the end of lines.
884         (print_cloog): New.
885         (debug_cloog): New.
886         * graphite-poly.h (print_cloog): Declared.
887         (debug_cloog): Declared.
889 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
891         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
892         in loop->header.
893         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
894         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
895         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
896         to switch between adding the IV bump in loop->latch or in loop->header.
898 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
900         * graphite-poly.c (print_scattering_function): Pretty print following
901         the scoplib format.
902         (print_pdr): Same.
903         (print_pbb_domain): Same.
904         (dump_gbb_cases): Same.
905         (dump_gbb_conditions): Same.
906         (print_pdrs): Same.
907         (print_pbb): Same.
908         (print_scop_params): Same.
909         (print_scop_context): Same.
910         (print_scop): Same.
911         (print_pbb_body): New.
912         (lst_indent_to): New.
913         (print_lst): Start new lines with a #.
914         * graphite-poly.h (pbb_bb): New.
915         (pbb_index): Use pbb_bb.
916         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
917         disjuncts.
918         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
920 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
922         * dwarf2out.c (size_of_die): For -gdwarf-4 use
923         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
924         and 0 instead of 1 for dw_val_class_flag.
925         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
926         dw_val_class_range_list, dw_val_class_loc_list,
927         dw_val_class_lineptr and dw_val_class_macptr, use
928         DW_FORM_flag_present for dw_val_class_flag and
929         DW_FORM_exprloc for dw_val_class_loc.
930         (output_die): For -gdwarf-4 print dw_val_class_loc
931         size as uleb128 instead of 1 or 2 bytes and don't print
932         anything for dw_val_class_flag.
934         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
935         instead of cselib_lookup following by tweaking locs->setting_insn.
937         PR bootstrap/43596
938         * cselib.c (cselib_process_insn): Clear cselib_current_insn
939         even before returning from label, setjmp call or volatile asm
940         handling.
942 2010-03-31  Richard Guenther  <rguenther@suse.de>
944         PR middle-end/43600
945         * cgraphunit.c (cgraph_output_in_order): Do not allocate
946         temporary data on stack.
948 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
950         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
951         (PUSHSECTION_ASM_OP): Remove.
952         (POPSECTION_ASM_OP): Remove.
953         (PUSHSECTION_FORMAT): Remove.
954         * config/sol2.h (PUSHSECTION_FORMAT): Define.
955         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
956         * config/sol2.c (solaris_output_init_fini): Use it.
958 2010-03-31  Jie Zhang  <jie@codesourcery.com>
960         PR 43574
961         * opt-functions.awk (var_type_struct): Use signed char type
962         for simple variables.
964 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
966         * config/sol2.c: Include output.h.
967         (solaris_assemble_visibility): New function.
968         * config/t-sol2 (sol2.o): Add output.h dependency.
969         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
970         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
971         Redefine.
973 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
975         PR target/43580
976         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
977         V2SImode or XFmode on PRE_DEC.
979         PR debug/43557
980         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
981         BLKmode.
983 2010-03-31  Jie Zhang  <jie@codesourcery.com>
985         PR 43562
986         * reload.h (caller_save_initialized_p): Declare.
987         * toplev.c (backend_init_target): Don't call
988         init_caller_save but set caller_save_initialized_p to false.
989         * caller-save.c (caller_save_initialized_p): Define.
990         (init_caller_save): Check caller_save_initialized_p.
991         * ira.c (ira): Call init_caller_save if flag_caller_saves.
993 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
995         PR target/39048
996         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
997         and soft-fp/t-softfp to tmake_file.
998         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
999         (LIBGCC2_TF_CEXT): Define.
1000         (TF_SIZE): Define.
1002 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
1004         PR debug/42977
1005         * cselib.c (n_useless_values): Document handling of debug locs.
1006         (n_useless_debug_values, n_debug_values): New variables.
1007         (new_elt_loc_list): Don't add to debug values, keep count.
1008         (promote_debug_loc): New.
1009         (cselib_reset_table): Zero new variables.
1010         (entry_and_rtx_equal_p): Promote debug locs.
1011         (discard_useless_locs): Increment n_useless_debug_values for
1012         debug values.
1013         (remove_useless_values): Adjust n_useless_values and n_debug_values
1014         with n_useless_debug_values.
1015         (add_mem_for_addr): Promote debug locs.
1016         (cselib_lookup_mem): Likewise.
1017         (cselib_lookup_addr): Renamed to...
1018         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
1019         (cselib_log_lookup): ... this.  Turn into...
1020         (cselib_lookup_addr): ... new wrapper.
1021         (cselib_lookup_from_insn): New.
1022         (cselib_invalidate_regno): Increment n_useless_debug_values for
1023         debug values.
1024         (cselib_invalidate_mem): Likewise.
1025         (cselib_process_insn): Take n_deleted and n_debug_values into
1026         account to guard remove_useless_value call.
1027         (cselib_finish): Zero n_useless_debug_values.
1028         * cselib.h (cselib_lookup_from_insn): Declare.
1029         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
1030         (sched_analyze_2): Likewise.
1032 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
1034         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
1035         functions.
1036         (adjust_mems): Replace narrowing SUBREG of expression containing
1037         just PLUS, MINUS, MULT and ASHIFT of registers and constants
1038         with operations in the narrower mode.
1040         PR debug/43593
1041         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
1042         regs_invalidated_by_call instead all call_used_reg_set registers.
1044 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
1046         PR middle-end/43430
1047         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
1048         pointer comparisons with types_compatible_p.
1049         * tree-vect-stmts.c (vectorizable_call): Same.
1050         (vectorizable_condition): Same.
1052 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1054         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
1055         stack check if the mask would be zero.
1057 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1058             Jack Howarth <howarth@bromo.med.uc.edu>
1060         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1061         variables TLS.
1063 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
1065         PR other/25232
1066         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
1067         and __unordtf2.
1068         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
1069         Include ___unordxf2 and ___unordtf2.
1070         * config/i386/libgcc-glibc.ver: Do not define inheritance from
1071         GCC_4.4.0 here.
1073 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
1075         * config/lm32/t-lm32: New file.
1076         * config.gcc: Use the above file when targetting lm32.
1078 2010-03-28  Duncan Sands  <baldrick@free.fr>
1080         * Makefile.in (PLUGIN_HEADERS): Add except.h.
1082 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1084         PR middle-end/43431
1085         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
1086         Improve vectorization cost model diagnostic.
1088 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1090         PR middle-end/43436
1091         * tree-vect-data-refs.c (vect_analyze_data_refs): When
1092         compute_data_dependences_for_loop returns false, early exit
1093         and output an extra diagnostic for the failed data reference
1094         analysis.
1096 2010-03-29  Richard Guenther  <rguenther@suse.de>
1098         PR tree-optimization/43560
1099         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
1100         (can_sm_ref_p): Treat stores to readonly locations as trapping.
1102 2010-03-29  Jie Zhang  <jie@codesourcery.com>
1104         PR 43564
1105         * toplev.c (process_options): Set optimization_default_node
1106         and optimization_current_node.
1107         * opts.c (decode_options): Don't set optimization_default_node
1108         and optimization_current_node.
1110 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
1112         * config/rtems.h: Abandon -qrtems_debug.
1114 2010-03-28  Jan Hubicka  <jh@suse.cz>
1116         PR tree-optimization/43505
1117         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
1118         map should not be copied.
1120 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1122         PR middle-end/41674
1123         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
1124         cdtors, set DECL_PRESERVE_P.
1125         * ipa.c (cgraph_externally_visible_p): Return true if declaration
1126         should be preseved.
1128 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
1130         PR tree-optimization/43528
1131         * stor-layout.c (place_field): Check that constant fits into
1132         unsigned HWI when skipping calculation of MS bitfield layout.
1134 2010-03-27  Jan Hubicka  <jh@suse.cz>
1136         PR middle-end/43391
1137         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
1138         notice_global_symbol work.
1140 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
1142         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
1143         instead of dwarf2out_decl.
1144         (struct var_loc_node): Remove section_label field.
1145         (dwarf2out_function_decl): New function.
1146         (dwarf2out_var_location): Don't set section_label field.
1147         (dwarf2out_begin_function): Don't empty decl_loc_table here.
1149 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
1151         PR tree-optimization/43544
1152         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1153         First argument for builtin vectorized function hook is now a
1154         tree to be able to distinguish between machine specific and
1155         standard builtins.
1156         * targhooks.c (default_builtin_vectorized_function): Ditto.
1157         * targhooks.h (default_builtin_vectorized_function): Ditto.
1158         * target.h (struct gcc_target): Ditto.
1159         * tree-vect-stmts.c (vectorizable_function): Ditto.
1160         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
1161         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
1162         Ditto.
1164 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
1166         PR c/43381
1167         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
1168         nested binding iff it is a FUNCTION_DECL.
1169         (store_parm_decls_newstyle): Pass nested=true to bind for
1170         FUNCTION_DECLs amongst parameters.
1172 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1174         * var-tracking.c (vt_expand_loc_callback): Don't run
1175         cselib_expand_value_rtx_cb in dummy mode if
1176         cselib_dummy_expand_value_rtx_cb returned false.
1178         * var-tracking.c (emit_note_insn_var_location): For one part
1179         notes with offset 0, don't add EXPR_LIST around the location.
1180         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
1181         add_location_or_const_value_attribute): Adjust for that change.
1183         PR debug/43540
1184         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
1185         into first operand and location into second.
1186         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
1187         dw_cfi_oprnd_loc for DW_CFA_expression.
1188         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
1189         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
1190         assume first argument is regnum and second argument is location.
1192 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1194         PR target/42113
1195         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
1196         of scratch register to DImode.  Split to DImode comparison operator.
1197         Use SImode subreg of scratch register in the multiplication.
1198         (*cmp_sadd_sidi): Ditto.
1199         (*cmp_ssub_si): Ditto.
1200         (*cmp_ssub_sidi): Ditto.
1202 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1204         PR target/43524
1205         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
1206         Remove invalid assert and wrong comment.
1208 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1210         PR debug/43516
1211         * flags.h (final_insns_dump_p): New extern.
1212         * final.c (final_insns_dump_p): New variable.
1213         (rest_of_clean_state): Set it before -fdump-final-insns=
1214         dumping, clear afterwards.
1215         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
1216         MEM_ALIAS_SET on MEMs.
1218 2010-03-26  David S. Miller  <davem@davemloft.net>
1220         * configure.ac: Fix sparc GOTDATA_OP bug check.
1221         * configure: Rebuild.
1223 2010-03-26  Alan Modra  <amodra@gmail.com>
1225         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
1227 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1229         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
1230         TLS_SECTION_ASM_FLAG.
1232 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
1234         PR bootstrap/43511
1235         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
1236         Clear first_function_block_is_cold.
1238         PR c/43385
1239         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
1240         argument if the argument is truth_value_p.
1242 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1244         * config/rs6000/constraints.md: Update copyright year for my changes.
1246         PR target/43484
1247         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
1248         used in reg+reg addressing, swap registers.
1250 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1252         PR debug/43293
1253         * target.h (struct gcc_target): Add code_end hook.
1254         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
1255         if not yet defined.
1256         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
1257         * toplev.c (compile_file): Call targetm.asm_out.code_end
1258         hook before unwind info/debug info output.
1259         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
1260         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
1261         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1262         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
1263         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1264         * config/i386/i386.c (ix86_file_end): Renamed to...
1265         (ix86_code_end): ... this.  Make static.  Don't call
1266         file_end_indicate_exec_stack.  Emit unwind info using
1267         final_start_function/final_end_function.
1268         (darwin_x86_file_end): Remove.
1269         (TARGET_ASM_CODE_END): Define.
1270         * config/i386/i386.h (TARGET_ASM_FILE_END,
1271         NEED_INDICATE_EXEC_STACK): Don't define.
1272         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
1273         (TARGET_ASM_FILE_END): Define to darwin_file_end.
1274         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
1275         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
1277         PR target/43498
1278         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
1279         at the beginning and final_end_function at the end.
1280         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1282 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1284         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
1285         and Sun as TLS syntax.
1286         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
1287         * configure: Regenerate.
1288         * config.in: Regenerate.
1289         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
1290         (default_elf_asm_named_section): Use it.
1291         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
1292         (i386_output_dwarf_dtprel): Likewise.
1293         (output_addr_const_extra): Likewise.
1294         (output_pic_addr_const): Lowercase @GOTTPOFF.
1295         (output_addr_const_extra): Likewise.
1296         (output_pic_addr_const): Lowercase @GOTNTPOFF.
1297         (output_addr_const_extra): Likewise.
1298         (output_pic_addr_const): Lowercase @INDNTPOFF.
1299         (output_addr_const_extra): Likewise.
1300         (output_pic_addr_const): Lowercase @NTPOFF.
1301         (output_addr_const_extra): Likewise.
1302         (output_pic_addr_const): Lowercase @TPOFF.
1303         (output_addr_const_extra): Likewise.
1304         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
1305         (*tls_global_dynamic_64): Likewise.
1306         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
1307         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
1309         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
1310         (ASM_OUTPUT_TLS_COMMON): Use it.
1311         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
1313         PR target/38118
1314         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
1315         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
1316         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
1317         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
1318         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1319         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
1321 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1323         * config/i386/i386.c (override_options): Don't accept
1324         -mtls-dialect=sun any longer.
1325         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
1326         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
1327         (*tls_local_dynamic_base_32_sun): Likewise.
1328         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1330 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1332         PR debug/43508
1333         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1334         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
1336         PR debug/43479
1337         * ira.c (adjust_cleared_regs): New function.
1338         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
1340         PR debug/19192
1341         PR debug/43479
1342         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
1343         from gimple_block.
1344         * expr.c (expand_expr_real): Restore previous
1345         curr_insn_source_location and curr_insn_block after
1346         expand_expr_real_1 call.
1347         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
1348         instead of expand_expr_real_1.
1350 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
1352         PR rtl-optimization/43413
1353         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
1354         hard regs too.
1356 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
1358         PR target/43348
1359         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
1360         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
1362 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1364         * config/i386/i386.c (ix86_target_string): Add -mfma.
1365         Fix a typo in comment.
1367 2010-03-22  Mike Stump  <mikestump@comcast.net>
1369         PR target/23071
1370         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
1371         Don't overly align based upon packed packed fields.
1373 2010-03-22  Jason Merrill  <jason@redhat.com>
1375         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
1376         Use () rather than [], and move before the element type.
1378 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1380         * doc/configfiles.texi (Configuration Files): Removed
1381         fixinc/Makefile*, intl/Makefile.*.
1382         * doc/makefile.texi: Fixed markup. Abstract from version
1383         control system used.
1384         (Makefile): Removed obsolete gcc/java/parse.y example.
1385         * doc/sourcebuild.texi: Likewise.
1386         (Top Level): Added config, gnattools, libdecnumber, libgcc,
1387         libgomp, libssp.  Removed fastjar.
1388         (Miscellaneous Docs): Clarify location.
1389         Added COPYING3, COPYING3.LIB.
1390         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
1392 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1394         PR target/38085
1395         * config/i386/i386.c (x86_function_profiler)
1396         [!NO_PROFILE_COUNTERS]: Fix typo.
1397         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
1398         instead of callq.
1400 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
1401             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1403         * doc/sourcebuild.texi (Test Directives): Split into six
1404         subsections, with most of the current text in new subsections
1405         Directives, Selectors, and Final Actions.
1406         (Directives): Split list of test directives into multiple
1407         subsubsections.
1408         (Selectors): Describe use and syntax of selectors.
1409         (Effective-Target Keywords): Describe all existing keywords.
1410         (Add Options): Describe features for dg-add-options.
1411         (Require Support): Describe variants of dg-require-support.
1412         (Final Actions): Describe commands to use in dg-final.
1414 2010-03-22  Michael Matz  <matz@suse.de>
1416         PR middle-end/43475
1417         * recog.c (validate_replace_rtx_group): Replace also in
1418         REG_EQUAL and REG_EQUIV notes.
1420 2010-03-22  Richard Guenther  <rguenther@suse.de>
1422         PR tree-optimization/43390
1423         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
1424         sure vector extracts are type correct.
1426 2010-03-22  Richard Guenther  <rguenther@suse.de>
1428         PR middle-end/40106
1429         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
1430         x * sqrt (x) even when optimizing for size if the target
1431         has native support for sqrt.
1433 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
1435         * varasm.c (make_decl_rtl_for_debug): Also clear
1436         flag_mudflap for the duration of make_decl_rtl call.
1438         PR debug/43443
1439         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
1440         locs from preserved VALUEs.
1442 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1444         PR middle-end/42718
1445         * pa.md (movmemsi): Set align to one if zero.
1446         (movmemdi): Likewise.
1448 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
1450         PR target/42321
1451         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
1452         with their corresponding prologue pushes.
1454 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
1456         PR target/43156
1457         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
1458         at the begining or end.
1459         (spu_expand_epilogue): Likewise.
1461 2010-03-20  Richard Guenther  <rguenther@suse.de>
1463         PR rtl-optimization/43438
1464         * combine.c (make_extraction): Properly zero-/sign-extend an
1465         extraction of the low part of a CONST_INT.  Also handle
1466         CONST_DOUBLE.
1468 2010-03-19  Mike Stump  <mikestump@comcast.net>
1470         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
1471         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
1472         (override_options): Use SUBTARGET32_DEFAULT_CPU.
1474 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1476         PR c/43211
1477         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
1478         an error.
1480 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
1482         PR rtl-optimization/42258
1483         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
1484         use that may match DEF.
1486         PR target/40697
1487         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
1488         the cost of loading the constant rather than assuming
1489         COSTS_N_INSNS (1).
1490         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
1491         outer code is AND, do the same tests as the andsi3 expander and
1492         return COSTS_N_INSNS (1) if and is cheap.
1494         * optabs.c (avoid_expensive_constant): Fix formatting.
1496 2010-03-19  Michael Matz  <matz@suse.de>
1498         PR c++/43116
1499         * attribs.c (decl_attributes): When rebuilding a function pointer
1500         type use the same qualifiers as the original pointer type.
1502 2010-03-19  Martin Jambor  <mjambor@suse.cz>
1504         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
1505         and is_gimple_ip_invariant_address.
1507 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1509         Revert
1510         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1512         * config/arm/arm.c (arm_override_options): Turn off
1513         flag_dwarf2_cfi_asm for AAPCS variants.
1515 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1517         PR target/43399
1518         * config/arm/arm.c (emit_multi_reg_push): Update comments.
1519         Use PRE_MODIFY instead of PRE_DEC.
1520         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
1521         (vfp_emit_fstmd): Likewise.
1523 2010-03-19  Michael Matz  <matz@suse.de>
1525         PR target/43305
1526         * builtins.c (expand_builtin_interclass_mathfn,
1527         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
1528         if that fails.
1530 2010-03-19  Richard Guenther  <rguenther@suse.de>
1532         PR tree-optimization/43415
1533         * tree-ssa-pre.c (phi_translate): Split out worker to ...
1534         (phi_translate_1): ... this.
1535         (phi_translate): Move all caching here.  Cache all NARY
1536         and REFERENCE translations.
1538 2010-03-19  David S. Miller  <davem@davemloft.net>
1540         With help from Eric Botcazou.
1541         * config/sparc/sparc.c: Include dwarf2out.h.
1542         (emit_pic_helper): Delete.
1543         (pic_helper_symbol_name): Delete.
1544         (pic_helper_emitted_p): Delete.
1545         (pic_helper_needed): New.
1546         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
1547         (get_pc_thunk_name): New.
1548         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
1549         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
1550         Set pic_helper_needed to true.  Don't call emit_pic_helper.
1551         (sparc_expand_prologue): Update load_pic_register call.
1552         (sparc_output_mi_thunk): Likewise.
1553         (sparc_file_end): Emit a hidden comdat symbol for the PIC
1554         thunk if possible.  Output CFI information as needed.
1556 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1557             Jack Howarth <howarth@bromo.med.uc.edu>
1559         PR target/36399
1560         * config/i386/i386.h: Fix ABI on darwin x86-32.
1562 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
1564         * tree.h: Declare make_decl_rtl_for_debug.
1565         * varasm.c (make_decl_rtl_for_debug): New.
1566         * dwarf2out.c (rtl_for_decl_location): Call it.
1567         * cfgexpand.c (expand_debug_expr): Call it.
1569 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1571         PR bootstrap/43399
1572         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
1573         mem_mode.
1575         PR bootstrap/43403
1576         * var-tracking.c (vt_init_cfa_base): Do nothing if
1577         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
1579 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
1581         PR debug/42873
1582         * var-tracking.c (canonicalize_vars_star): New.
1583         (dataflow_post_merge_adjust): Use it.
1585 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1587         PR debug/43058
1588         * var-tracking.c (non_suitable_const): New function.
1589         (add_uses): For DEBUG_INSNs with constants, don't record any
1590         value, instead just the constant value itself.
1591         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
1592         is not VAR_LOC_UNKNOWN_P, set var to the constant.
1593         (emit_notes_in_bb): Likewise.
1594         (emit_note_insn_var_location): For onepart variables if
1595         cur_loc is a VOIDmode constant, use DECL_MODE.
1597 2010-03-18  Martin Jambor  <mjambor@suse.cz>
1599         PR middle-end/42450
1600         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
1601         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
1602         all non-clones.  Moved call redirection...
1603         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
1604         (cgraph_materialize_all_clones): Dispose of all
1605         combined_args_to_skip bitmaps.
1606         (verify_cgraph_node): Do not check for edges pointing to wrong
1607         nodes in inline clones.
1608         * tree-inline.c (copy_bb): Call
1609         cgraph_redirect_edge_call_stmt_to_callee.
1610         * ipa.c (cgraph_remove_unreachable_nodes): Call
1611         cgraph_node_remove_callees even when there are used clones.
1613 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1615         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
1617 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1619         PR target/43383
1620         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
1621         for 32bit.
1623 2010-03-18  Michael Matz  <matz@suse.de>
1625         PR middle-end/43419
1626         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
1627         into sqrt(x) if we need to preserve signed zeros.
1629 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
1630             Eric Botcazou  <ebotcazou@adacore.com>
1632         PR rtl-optimization/43360
1633         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
1634         note if we don't know its invariant status.
1636 2010-03-18  Michael Matz  <matz@suse.de>
1638         PR tree-optimization/43402
1639         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
1640         PHI chains of ssa names registered for update.
1642 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
1644         PR target/42427
1645         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
1646         non-offsettable and pre_modify update addressing.
1647         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
1648         and "2" alternatives "#".
1649         (*movdd_softfloat32): Make all alternatives "#";
1650         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
1651         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
1652         (*movdf_softfloat32): Make all alternatives "#";
1653         (movdi): Use the new DIFD mode iterator to create a common splitter
1654         for movdi, movdf and movdd patterns.
1656 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1658         * common.opt (dumpdir): Remove redundant tab.
1660 2010-03-17  Martin Jambor  <mjambor@suse.cz>
1662         PR tree-optimization/43347
1663         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
1664         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
1666 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1668         PR rtl-optimization/42216
1669         * regrename.c (create_new_chain): New function, broken out from...
1670         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
1671         appending a use to an empty chain.
1672         (build_def_use): Remove previous changes that convert OP_INOUT to
1673         OP_OUT operands; instead detect the case where an OP_INOUT operand
1674         uses a previously untracked register and create an empty chain for it.
1676 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1678         * doc/extend.texi (Function Attributes): Rewrite unfinished
1679         sentence in ms_abi documentation.
1681 2010-03-17  Alan Modra  <amodra@gmail.com>
1683         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
1684         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
1685         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
1686         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
1688 2010-03-16  Richard Henderson  <rth@redhat.com>
1690         PR middle-end/43365
1691         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
1692         (lower_try_finally): Save and restore eh_seq around the expansion
1693         of the try-finally.
1695 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1697         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
1698         statements before splitting block.
1700 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1702         * doc/sourcebuild.texi (Testsuites): Fix markup.
1703         Use pathnames relative to gcc/testsuite.
1704         (Test Directives): Move description of how timeout is determined.
1705         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
1706         (C Tests): Correct gcc.misc-tests directory.
1707         Framework tests now live in gcc.test-framework.
1709 2010-03-16  Richard Guenther  <rguenther@suse.de>
1711         PR middle-end/43379
1712         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
1713         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
1715 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1716             Alexandre Oliva  <aoliva@redhat.com>
1718         PR tree-optimization/42917
1719         * lambda-code.c (remove_iv): Skip debug statements.
1720         (lambda_loopnest_to_gcc_loopnest): Likewise.
1721         (not_interesting_stmt): Debug statements are not interesting.
1723 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
1725         PR debug/43051
1726         PR debug/43092
1727         * cselib.c (cselib_preserve_constants,
1728         cfa_base_preserved_val): New static variables.
1729         (preserve_only_constants): New function.
1730         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
1731         clear its REG_VALUES.  If cselib_preserve_constants, don't
1732         empty the whole hash table, but preserve there VALUEs with constants,
1733         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
1734         (cselib_preserve_cfa_base_value): New function.
1735         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
1736         (cselib_init): Change argument to int bitfield.  Set
1737         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
1738         is in it.
1739         (cselib_finish): Clear cselib_preserve_constants and
1740         cfa_base_preserved_val.
1741         * cselib.h (enum cselib_record_what): New enum.
1742         (cselib_init): Change argument to int.
1743         (cselib_preserve_cfa_base_value): New prototype.
1744         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
1745         * dse.c (dse_step1): Likewise.
1746         * cfgcleanup.c (thread_jump): Likewise.
1747         * sched-deps.c (sched_analyze): Likewise.
1748         * gcse.c (local_cprop_pass): Likewise.
1749         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
1750         If FN is non-NULL, call the callback always and whenever it returns
1751         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
1752         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
1753         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
1754         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
1755         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
1756         * var-tracking.c: Include recog.h.
1757         (bb_stack_adjust_offset): Remove.
1758         (vt_stack_adjustments): Don't call it, instead just gather the
1759         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
1760         (adjust_stack_reference): Remove.
1761         (compute_cfa_pointer): New function.
1762         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
1763         (struct adjust_mem_data): New type.
1764         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
1765         functions.
1766         (get_address_mode): New function.
1767         (replace_expr_with_values): Use it.
1768         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
1769         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
1770         (adjust_sets): Remove.
1771         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
1772         Use get_address_mode.
1773         (get_adjusted_src): Remove.
1774         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
1775         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
1776         (add_with_sets): Don't call adjust_sets.
1777         (fp_setter, vt_init_cfa_base): New functions.
1778         (vt_initialize): Change return type to bool.  Move most of pool etc.
1779         initialization to the beginning of the function from end.  Pass
1780         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
1781         If !frame_pointer_needed, call vt_stack_adjustment before mos
1782         vector is filled, call vt_init_cfa_base if argp/framep has been
1783         eliminated to sp.  If frame_pointer_needed and argp/framep has
1784         been eliminated to hard frame pointer, set
1785         hard_frame_pointer_adjustment and call vt_init_cfa_base after
1786         encountering fp setter in the prologue.  For MO_ADJUST, call
1787         log_op_type before pusing the op into mos vector, not afterwards.
1788         Call adjust_insn before cselib_process_insn/add_with_sets,
1789         call cancel_changes (0) afterwards.
1790         (variable_tracking_main_1): Adjust for vt_initialize calling
1791         vt_stack_adjustments and returning whether it succeeded or not.
1793 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
1795         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
1796         debug statements.
1798 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
1800         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
1801         has been set.
1802         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
1803         drap_reg has not been set.
1805 2010-03-15  Michael Matz  <matz@suse.de>
1807         PR middle-end/43300
1808         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
1809         use it to expand block copies.
1810         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
1811         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
1812         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
1814 2010-03-15  Richard Guenther  <rguenther@suse.de>
1816         PR tree-optimization/43367
1817         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
1818         elimination check.
1820 2010-03-15  Richard Guenther  <rguenther@suse.de>
1822         PR tree-optimization/43317
1823         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
1825 2010-03-15  Martin Jambor  <mjambor@suse.cz>
1827         PR tree-optimization/43141
1828         * tree-sra.c (create_abstract_origin): New function.
1829         (modify_function): Call create_abstract_origin.
1831 2010-03-15  Chris Demetriou  <cgd@google.com>
1833         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
1834         wasn't copied.
1836 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1838         PR middle-end/43354
1839         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
1840         call insert_out_of_ssa_copy for default definitions.
1842 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1844         * graphite-clast-to-gimple.c (my_long_long): Defined.
1845         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
1846         * graphite-sese-to-poly.c (my_long_long): Defined.
1847         (scop_ivs_can_be_represented): Use it.
1849 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1851         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
1852         graphite-max-bbs-per-function, and loop-block-tile-size.
1853         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
1854         with "maximum".
1855         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
1857 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1859         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
1860         forward declaration.
1861         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
1862         (add_upper_bounds_from_estimated_nit): New.
1863         (build_loop_iteration_domains): Use it.
1865 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1867         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
1869 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1871         PR middle-end/43306
1872         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
1873         should be an INTEGER_CST.  Also handle CASE_CONVERT.
1875 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1877         * graphite.c (graphite_initialize): To bound the number of bbs per
1878         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
1879         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
1880         * doc/invoke.texi: Document it.
1882 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1884         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
1885         * graphite-sese-to-poly.h (build_poly_scop): Same.
1887 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1889         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
1890         the number of parameters in the scop.  Use as an upper bound
1891         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
1892         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
1893         * doc/invoke.texi: Document it.
1895 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
1897         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
1898         * doc/c-tree.texi: Remove.
1899         * doc/generic.texi: Merge c-tree.texi here.
1900         * doc/gccint.texi (Trees): Remove menu entry.
1901         (c-tree.texi): Remove @include.
1902         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
1903         * doc/languages.texi (Reading RTL): Ditto.
1905 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
1907         PR target/42869
1908         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
1910 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
1912         PR middle-end/42431
1913         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
1914         code added to work around reload clobbering CONST insns.
1916 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
1918         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
1919         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
1920         (cselib_preserve_only_values): Remove retain argument, don't
1921         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
1922         * cselib.h (cselib_preserve_only_values): Remove retain argument.
1923         * var-tracking.c (micro_operation): Move insn field before union.
1924         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
1925         (struct variable_tracking_info_def): Remove n_mos field, change
1926         mos into a vector of micro_operations.
1927         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
1928         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
1929         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
1930         changing into a vector.
1931         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
1932         come before all other uops generated by add_stores.
1933         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
1934         argument removal.
1935         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
1936         a vector.  Run just one pass over the bbs instead of separate counting
1937         and computation phase.
1938         (vt_finalize): Free VTI (bb)->mos vector instead of array.
1940         PR debug/43329
1941         * tree-inline.c (remap_decls): Put old_var rather than origin_var
1942         into *nonlocalized_list vector.
1943         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
1944         even if origin is non-NULL.
1945         (gen_variable_die): Likewise.
1946         (process_scope_var): Don't change origin.
1947         (gen_decl_die): Likewise.
1948         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
1949         before adding new edges instead of after it, fix moving over
1950         debug stmts.
1952 2010-03-11  David S. Miller  <davem@davemloft.net>
1954         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
1955         of four.
1956         * configure: Rebuild.
1958 2010-03-11  Martin Jambor  <mjambor@suse.cz>
1960         PR tree-optimization/43257
1961         * tree.c (assign_assembler_name_if_neeeded): New function.
1962         (free_lang_data_in_cgraph): Assembler name assignment moved to the
1963         above new function.
1964         * tree.h (assign_assembler_name_if_neeeded): Declare.
1965         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
1966         the function if needed.
1968 2010-03-11  Chris Demetriou  <cgd@google.com>
1970         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
1971         include/stdint-gcc.h, and include/stdint.h world-readable.
1973 2010-03-11  Richard Guenther  <rguenther@suse.de>
1975         PR tree-optimization/43255
1976         * tree-vrp.c (process_assert_insertions_for): Do not insert
1977         asserts for trivial conditions.
1979 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1981         PR tree-optimization/43280
1982         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
1983         generation.  Move calculation of size out of the if branch.
1984         (find_bswap): Modify compare number generation.
1986 2010-03-11  Richard Guenther  <rguenther@suse.de>
1988         PR lto/43200
1989         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
1990         (input_gimple_stmt): Fixup handled component types during
1991         operand read.  Also fix up decls in ADDR_EXPRs.
1993 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1995         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
1996         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
1998 2010-03-10  Jan Hubicka  <jh@suse.cz>
2000         PR c/43288
2001         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
2002         * varasm.c (get_variable_section): Don't do that here...
2003         (make_decl_rtl): ... and here.
2004         (do_assemble_alias): Produce decl RTL.
2005         (assemble_alias): Likewise.
2007 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2009         PR debug/43290
2010         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
2011         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
2012         of fde->vdrap_reg.
2013         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
2014         (based_loc_descr): Only express drap or vdrap regno based expressions
2015         using DW_OP_fbreg when not optimizing.
2016         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
2017         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
2018         REG_CFA_SET_VDRAP note.
2020 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
2022         PR tree-optimization/43236
2023         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
2024         error in calculation of base address in reverse iteration case.
2025         (generate_builtin): Take number of latch executions if the statement
2026         is in the latch.
2028 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
2030         PR middle-end/42859
2031         * tree-eh.c: Include pointer-set.h.
2032         (lower_eh_dispatch): Filter out duplicate case labels and
2033         remove the unneeded edge when the label is unused.  Return
2034         true when some edges are removed.
2035         (execute_lower_eh_dispatch): When any lowering resulted in
2036         removing an edge, also delete unreachable blocks.
2038 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2040         PR bootstrap/43287
2041         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2042         UNSPEC_MACHOPIC_OFFSET.
2044 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2046         PR target/43294
2047         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
2048         (m68k_delegitimize_address): New function.
2050 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
2052         PR debug/43299
2053         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
2055         PR debug/43299
2056         * var-tracking.c (adjust_sets): New function.
2057         (count_with_sets, add_with_sets): Use it.
2058         (get_adjusted_src): New inline function.
2059         (add_stores): Use it.
2061         PR debug/43304
2062         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
2063         call cselib_dummy_expand_value_rtx_cb instead of
2064         cselib_expand_value_rtx_cb.
2066         PR debug/43293
2067         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
2068         * config/i386/i386.c: Include debug.h and dwarf2out.h.
2069         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
2070         and .cfi_endproc around the pic thunks.
2071         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
2072         all queued unwind info register saves are saved before the call.
2073         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
2074         considered as sp-=4 for unwind info and the pop as sp+=4 which
2075         also clobbers dest, but doesn't actually restore it.
2077         PR debug/43290
2078         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
2079         RTX_FRAME_RELATED_P.
2081 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2083         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
2084         whitespaces in output template.
2086 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2088         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
2089         out array boundary.
2091 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2093         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
2094         builtins.exp in a separate job.
2096 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2098         * graphite-sese-to-poly.c (add_param_constraints): Use
2099         lower_bound_in_type and upper_bound_in_type.
2101 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2103         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
2104         instead of unsigned_type_node.
2106 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2107             Reza Yazdani  <reza.yazdani@amd.com>
2109         PR middle-end/43065
2110         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
2111         on pointer type parameters.
2113 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2115         PR middle-end/42644
2116         PR middle-end/42130
2117         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
2118         handle conversions from pointer to integers.
2119         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
2120         induction variable, to be able to work with code generated by CLooG.
2121         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
2122         (build_poly_scop): Bail out if we cannot codegen a loop.
2124 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2126         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
2127         code generation with gloog_error.
2129 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2131         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
2132         Call fold_convert on all the returned values.
2133         (expand_scalar_variables_expr): Pass to
2134         expand_scalar_variables_ssa_name the type of the resulting expression.
2136 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2138         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
2139         ppl_min_for_le_pointset.
2140         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
2141         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
2143 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2145         * graphite-dependences.c (map_into_dep_poly): Removed.
2146         (dependence_polyhedron_1): Use combine_context_id_scat.
2148 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2150         * graphite-poly.h (struct poly_scattering): Add layout documentation.
2151         (struct poly_bb): Same.
2152         (combine_context_id_scat): New.
2154 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2156         PR middle-end/42326
2157         * sese.c (name_defined_in_loop_p): Return false for default
2158         definitions.
2160 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2162         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
2163         and clean up the logic.
2165 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2167         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
2168         early return.
2170 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2172         * var-tracking.c (remove_cselib_value_chains): Define only for
2173         ENABLE_CHECKING.
2174         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
2175         delete_slot_part, emit_notes_for_differences_1): Don't call
2176         remove_cselib_value_chains here.
2177         (set_slot_part, emit_notes_for_differences_2): Don't call
2178         add_cselib_value_chains here.
2179         (preserved_values): New vector.
2180         (preserve_value): New function.
2181         (add_uses, add_stores, vt_add_function_parameters): Use it
2182         instead of cselib_preserve_value.
2183         (changed_values_stack): New vector.
2184         (check_changed_vars_0): New function.
2185         (check_changed_vars_1, check_changed_vars_2): Use it.
2186         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
2187         changed_values_stack VALUEs.
2188         (vt_emit_notes): For all preserved_values call
2189         add_cselib_value_chains.  If ENABLE_CHECKING call
2190         remove_cselib_value_chains before verifying value_chains is empty.
2191         Initialize and free changed_values_stack.
2192         (vt_initialize): Initialize preserved_values.
2193         (vt_finalize): Free preserved_values.
2195 2010-03-08  Richard Guenther  <rguenther@suse.de>
2197         PR tree-optimization/43269
2198         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
2199         region detection.
2201 2010-03-08  Martin Jambor  <mjambor@suse.cz>
2203         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
2204         (ipa_is_param_called): Removed.
2205         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
2206         (ipa_print_node_params): Do not print the called flag.
2207         (ipa_write_node_info): Do not stream the called flag.
2208         (ipa_read_node_info): Likewise.
2210 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
2212         PR debug/43176
2213         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
2214         * cselib.c (struct expand_value_data): Add dummy field.
2215         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
2216         dummy to false.
2217         (cselib_dummy_expand_value_rtx_cb): New function.
2218         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
2219         any rtl.
2220         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
2221         * var-tracking.c: Include pointer-set.h.
2222         (variable): Change n_var_parts to char from int.  Add
2223         cur_loc_changed and in_changed_variables fields.
2224         (variable_canonicalize): Remove.
2225         (shared_var_p): New inline function.
2226         (unshare_variable): Maintain cur_loc_changed and
2227         in_changed_variables fields.  If var was in changed_variables,
2228         replace it there with new_var.  Just copy cur_loc instead of
2229         resetting it to something else.
2230         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
2231         (dataflow_set_union): Don't call variable_canonicalize.
2232         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
2233         of their DEBUG_EXPR_TREE_DECLs.
2234         (canonicalize_loc_order_check): Verify that cur_loc is NULL
2235         and in_changed_variables and cur_loc_changed is false.
2236         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
2237         and cur_loc_changed.  Don't update cur_loc here.
2238         (variable_merge_over_src): Don't call variable_canonicalize.
2239         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
2240         removing loc that is equal to cur_loc, clear cur_loc,
2241         set cur_loc_changed and ensure variable_was_changed is called.
2242         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
2243         compare pointers in cur_loc check, if it is equal to loc,
2244         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
2245         (variable_different_p): Remove compare_current_location argument,
2246         don't compare cur_loc.
2247         (dataflow_set_different_1): Adjust variable_different_p caller.
2248         (variable_was_changed): If dv had some var in changed_variables
2249         already, reset in_changed_variables flag for it and propagate
2250         cur_loc_changed over to the new variable.  On empty var
2251         always set cur_loc_changed.  Set in_changed_variables on whatever
2252         var is added to changed_variables.
2253         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
2254         Use shared_var_p.  When removing loc that is equal to cur_loc,
2255         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
2256         end, don't set it to something else, just call variable_was_changed.
2257         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
2258         loc being removed, clear cur_loc and set cur_loc_changed.
2259         Set cur_loc_changed if all locations have been removed.
2260         (struct expand_loc_callback_data): New type.
2261         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
2262         allocated.  Always create SUBREGs if simplify_subreg failed.
2263         Prefer to use cur_loc, when that fails and still in
2264         changed_variables (and seen first time) recompute it.  Set
2265         cur_loc_changed of variables which had to change cur_loc and
2266         compute elcd->cur_loc_changed if any of the subexpressions used
2267         had to change cur_loc.
2268         (vt_expand_loc): Adjust to pass arguments in
2269         expand_loc_callback_data structure.
2270         (vt_expand_loc_dummy): New function.
2271         (emitted_notes): New variable.
2272         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
2273         that weren't used for any other decl in current
2274         emit_notes_for_changes call call vt_expand_loc_dummy to update
2275         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
2276         first loc_chain location if NULL before.  Always use just
2277         cur_loc instead of first loc_chain location.  When cur_loc_changed
2278         is false, when not --enable-checking=rtl just don't emit any note.
2279         When rtl checking, compute the note and assert it is the same
2280         as previous note.  Clear cur_loc_changed and in_changed_variables
2281         at the end before removing from changed_variables.
2282         (check_changed_vars_3): New function.
2283         (emit_notes_for_changes): Traverse changed_vars to call
2284         check_changed_vars_3 on each changed var.
2285         (emit_notes_for_differences_1): Clear cur_loc_changed and
2286         in_changed_variables.  Recompute cur_loc of new_var.
2287         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
2288         (vt_emit_notes): Initialize and destroy emitted_notes.
2290 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
2292         PR rtl-optimization/42220
2293         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
2294         Use verify_reg_tracked to determine if we should use OP_OUT rather
2295         than OP_INOUT.
2296         (build_def_use): If we see an in-out operand for a register that we
2297         know nothing about, treat is an output if possible, fail the block if
2298         not.
2300 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2302         PR debug/42897
2303         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
2304         permanently.
2306 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2308         PR debug/42897
2309         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
2310         uses of relevant DEFs that are dead outside the loop too.
2312 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
2314         * var-tracking.c (dataflow_set_merge): Swap src and src2.
2315         Reverted:
2316         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
2317         PR debug/41371
2318         * var-tracking.c (values_to_unmark): New variable.
2319         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
2320         values_to_unmark vector.  Moved body to...
2321         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
2322         instead queue it into values_to_unmark vector.
2323         (vt_find_locations): Free values_to_unmark vector.
2325 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
2327         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
2328         (site.exp): Export them when plugins are enabled.
2330 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
2332         PR middle-end/42326
2333         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
2334         that contain scevs.
2335         (chrec_fold_multiply): Same.
2337 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2339         PR c/43248
2340         * c-decl.c (build_compound_literal): Return early if init is
2341         an error_mark_node.
2343 2010-03-04  Martin Jambor  <mjambor@suse.cz>
2345         PR tree-optimization/43164
2346         PR tree-optimization/43191
2347         * tree-sra.c (type_consists_of_records_p): Reject records with
2348         zero-size bit-fields at the end.
2350 2010-03-04  Mike Stump  <mikestump@comcast.net>
2352         * Makefile.in (TAGS): Remove *.y.
2354 2010-03-04  Richard Guenther  <rguenther@suse.de>
2356         PR tree-optimization/40761
2357         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
2358         in reverse order.
2359         (my_rev_post_order_compute): New function.
2360         (init_pre): Call it.
2362 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
2364         PR middle-end/43209
2365         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
2366         decrease the cost of an IV candidate when the cost is infinite.
2368 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2370         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
2371         Use '3DNow!' for the extension of that name, ensure normal space
2372         after the string.
2373         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
2375 2010-03-03  Jeff Law  <law@redhat.com>
2377         * PR middle-end/32693
2378         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
2379         than gen_rtx_SUBREG.
2380         (extract_bit_field_1): Likewise.
2382 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
2384         * doc/sourcebuild.texi (Test directives): Document that arguments
2385         include-opts and exclude-opts are now optional for dg-skip-if,
2386         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
2388 2010-03-03  Jason Merrill  <jason@redhat.com>
2390         PR c++/12909
2391         * cgraph.h (varpool_node): Add extra_name field.
2392         * varpool.c (varpool_extra_name_alias): New.
2393         (varpool_assemble_decl): Emit extra name aliases.
2394         (varpool_mark_needed_node): Look past an extra name alias.
2395         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
2396         * lto-streamer-in.c (lto_input_tree): Read it.
2397         * lto-streamer-out.c (output_unreferenced_globals): Write it.
2399 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
2401         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
2402         (sparc*-*-solaris2*): ...this.
2404 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
2406         PR debug/43229
2407         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
2408         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
2409         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
2410         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
2412         PR debug/43237
2413         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
2414         fallthrough to default handling, just with want_address 0 instead of 2.
2415         For single element lists, add_AT_loc directly, otherwise create an
2416         artificial variable DIE and stick location list to it.
2418         PR debug/43177
2419         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
2420         (VAL_EXPR_HAS_REVERSE): Define.
2421         (reverse_op): New function.
2422         (add_stores): For reversible operations add an extra MO_VAL_USE.
2424 2010-03-02  Jason Merrill  <jason@redhat.com>
2426         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
2428 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
2430         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
2431         (sparc64-*-linux*): Likewise.
2432         (sparc64-*-solaris2*): Include assembler files before linker ones.
2433         (sparc-*-solaris2*): Simplify and reorder to match previous case.
2434         * config/sparc/gas.h: Delete.
2435         * config/sparc/sol2-64.h: Add copyright notice.
2436         * config/sparc/sol2-gas-bi.h: Likewise.
2437         * config/sparc/sol2-gld.h: Likewise.
2438         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
2439         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
2440         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
2441         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
2442         (sparc_elf_asm_named_section): Rename into...
2443         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
2445 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
2447         * config/alpha/alpha.c (override_options): Fix -mtune error message.
2449 2010-03-02  Jeff Law  <law@redhat.com>
2451         PR middle-end/42431
2452         * reload1.c (rtx_p, substitute_stack): Declare.
2453         (substitute): Record addresses of changed rtxs.
2454         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
2455         Restore the original rtx when complete.
2456         (reload): Free subsitute_stack when complete.
2458 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
2460         * doc/gccint.texi (menu): Add Testsuites as a chapter.
2461         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
2462         new chapter.
2463         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
2464         LTO Testing, gcov Testing, profopt Testing, compat Testing,
2465         Torture Tests): Change from subsection to section.
2467 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
2468             Steven Bosscher  <steven@gcc.gnu.org>
2470         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
2471         instead of bb.
2473 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
2475         PR middle-end/42640
2476         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
2477         the assignment from the new induction variable to the assignment
2478         of the value from the original loop PHI function.
2480 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
2481             Daniel Jacobowitz  <dan@codesourcery.com>
2483         * doc/sourcebuild.texi (Test directives): Clarify options to
2484         dg-skip-if.
2486 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2488         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
2489         Disable cfi directives unless GCC and gas agree on using read-only
2490         .eh_frame sections for 64-bit.
2491         * configure: Regenerate.
2493 2010-03-01  Richard Guenther  <rguenther@suse.de>
2495         PR tree-optimization/43220
2496         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
2497         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
2499 2010-03-01  Richard Guenther  <rguenther@suse.de>
2500             Martin Jambor  <mjambor@suse.cz>
2502         PR middle-end/41250
2503         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
2504         gimplified parameters.
2506 2010-03-01  Christian Bruel  <christian.bruel@st.com>
2508         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
2510 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
2512         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
2514 2010-03-01  Richard Guenther  <rguenther@suse.de>
2516         PR middle-end/43213
2517         * expr.c (expand_assignment): Use the alias-oracle to tell
2518         if the rhs aliases the result decl.
2520 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2522         PR pch/14940
2523         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
2524         to sol_gt_pch_get_address.
2525         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
2526         64-bit, SPARC and x86.
2527         (sol_gt_pch_get_address): New function.
2529 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
2531         * toplev.h (inform_n, error_n): Declare.
2532         * diagnostic.c (inform_n, error_n): New function.
2534 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
2536         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
2537         has no rtl yet when processing local_decls, queue it and recheck
2538         if deferred stack allocation hasn't assigned it rtl.
2540 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2542         * config/sh/sh.c (unspec_bbr_uid): New.
2543         (gen_block_redirect): Use it instead of INSN_UID.
2544         (gen_far_branch): Likewise.
2546 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
2548         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
2549         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
2551 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2553         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
2554         (Warning Options): -Wno-conversion-null is valid for
2555         Objective-C++ as well.
2556         * doc/tm.texi (Named Address Spaces): Likewise.
2557         * doc/plugins.texi (Plugins): Replace TABs with spaces.
2558         * doc/tree-ssa.texi (Tree SSA): Likewise.
2560 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2562         PR bootstrap/43202
2563         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
2564         by default.  Don't set the default arch for
2565         i[34567]86-*-darwin*|x86_64-*-darwin*.
2567 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2569         PR bootstrap/43202
2570         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
2571         default.  Set the default 32bit/64bit archs with $with_arch
2572         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
2574 2010-02-27  Richard Guenther  <rguenther@suse.de>
2576         PR tree-optimization/43186
2577         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
2578         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
2579         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
2580         unroller iterations.
2582 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2584         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
2585         required and i[34567]86-*-* targets don't support 64bit ISA.
2587 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
2589         PR ada/43096
2590         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2591         the same alias set.
2593 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2595         * config.gcc: Set the default arch at least to Prescott for
2596         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
2597         if SSE math is enabled.
2599 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2601         * diagnostic.c (diagnostic_initialize): Update.
2602         (diagnostic_report_diagnostic): Test inhibit_notes_p for
2603         informative notes.
2604         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
2605         (diagnostic_inhibit_notes): New.
2606         * toplev.c (process_options): inhibit notes with -fcompare-debug.
2608 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2610         PR c/20631
2611         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
2612         * doc/standards.texi: Likewise.
2613         * doc/extend.texi: Likewise.
2614         * doc/trouble.texi: Likewise.
2615         * doc/cppopts.texi: Likewise.
2616         * doc/install.texi: Likewise.
2617         * c.opt (std=c90,std=gnu90): New options.
2618         * c-opts.c (c_common_handle_option): Handle them.
2620 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2622         PR c/24577
2623         * c-decl.c (undeclared_variable): Use an informative note.
2625 2010-02-26  Richard Guenther  <rguenther@suse.de>
2627         PR tree-optimization/43186
2628         * gimple.h (gimple_fold): Remove.
2629         * gimple.c (gimple_fold): Remove.  Inline into single user ...
2630         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
2631         Try harder for conditions.
2633 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2635         PR debug/43190
2636         * function.c (used_types_insert): Don't skip through named pointer
2637         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
2638         and it is different from the main variant's type.
2640 2010-02-26  Nick Clifton  <nickc@redhat.com>
2642         * config/rx/rx.md (sminsi3): Remove bogus alternative.
2644 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2646         * config.gcc: Support --with-fpmath=sse for x86.
2648         * config/i386/ssemath.h: New.
2650         * doc/install.texi (--with-fpmath=sse): Documented.
2652 2010-02-26  Richard Guenther  <rguenther@suse.de>
2654         PR tree-optimization/43188
2655         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
2656         vector types of over-aligned element type.
2658 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
2660         PR target/43175
2661         * config/i386/i386.c (expand_vec_perm_blend): Use correct
2662         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
2664 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
2666         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
2668 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2670         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
2671         * var-tracking.c: Include diagnostic.h.
2672         (debug_dv): New function.
2673         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
2675         PR debug/43160
2676         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
2677         (add_value_chain, add_value_chains, remove_value_chain,
2678         remove_value_chains): Handle DEBUG_EXPRs.
2679         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
2681         PR debug/43161
2682         * regcprop.c (struct queued_debug_insn_change): New type.
2683         (struct value_data_entry): Add debug_insn_changes field.
2684         (struct value_data): Add n_debug_insn_changes field.
2685         (debug_insn_changes_pool): New variable.
2686         (free_debug_insn_changes, apply_debug_insn_changes,
2687         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
2688         (kill_value_one_regno): Call free_debug_insn_changes if needed.
2689         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
2690         fields.
2691         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
2692         changes for them.
2693         (copyprop_hardreg_forward_1): Don't call apply_change_group for
2694         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
2695         changes, call cprop_find_used_regs via note_stores.
2696         (copyprop_hardreg_forward): When copying vd from predecessor
2697         which has any queued DEBUG_INSN changes, make sure the pointers are
2698         cleared.  At the end call df_analyze and then if there are any
2699         DEBUG_INSN changes queued at the end of some basic block for still
2700         live registers, apply them.
2701         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
2703 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
2705         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
2706         (arm*-*-*): Ditto.
2708 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2710         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
2711         targets.  Set the default with_cpu/with_arch from arch/cpu.
2712         Allow x86-64 and native for with_cpu/with_arch.
2714 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
2716         * ebitmap.c: Change calls to verify_popcount with calls to
2717         sbitmap_verify_popcount.
2718         (ebitmap_clear_bit): Fixed map->cacheindex test and
2719         map>cache update when bit clearing results in an empty
2720         element.
2722 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
2724         PR target/43154
2725         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
2726         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
2727         and support both V2DF and V2DI modes.
2728         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
2729         support both V2DF and V2DI modes.
2730         (general): Delete trailing whitespace from a few patterns.
2732         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2733         V2DF/V2DI interleave high/low builtins.
2735         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
2736         new VSX builtins.
2738         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
2739         interleave high/low functions.
2741 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
2743         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
2744         #pragma extern_prefix.
2746 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
2748         PR debug/43166
2749         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
2750         BLKmode, assert op0 is a MEM and just adjust its mode.
2752         PR debug/43165
2753         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
2754         if bitpos isn't multiple of mode's bitsize.
2756 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2758         * c.opt (-ftemplate-depth=): New.
2759         (-ftemplate-depth-): Deprecate.
2760         * optc-gen.awk: Handle -ftemplate-depth=.
2761         * opth-gen.awk: Likewise.
2762         * c-opts.c (c_common_handle_option): Likewise.
2763         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
2765 2010-02-24  Jason Merrill  <jason@redhat.com>
2767         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
2769 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2771         * cfg.c (alloc_aux_for_block): Remove inline.
2772         (alloc_aux_for_edge): Likewise.
2774 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2776         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
2778 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2780         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
2781         * config/i386/sol2-gas.h: New file.
2782         * config.gcc (i[34567]86-*-solaris2*): Use it.
2784 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2786         PR c/43128
2787         * c-typeck.c (ep_convert_and_check): New.
2788         (build_conditional_expr): Use it.
2789         (build_binary_op): Likewise.
2791 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
2793         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
2795         PR debug/43150
2796         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
2797         bounds even for -O+.
2798         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
2799         expr needs to have DECL_NAME set.
2801 2010-02-24  Nick Clifton  <nickc@redhat.com>
2803         * config/mep/mep.c: Include gimple.h.
2804         (mep_function_uses_sp): Delete unused function.
2805         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
2806         parameters.  Use unsigned integers to count args.  Return a
2807         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
2809 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2811         PR target/43107
2812         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
2813         greater or equal to nelt instead of 2 * nelt.
2814         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
2815         with nelt - 1.
2817 2010-02-23  Jason Merrill  <jason@redhat.com>
2819         PR debug/42800
2820         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
2821         in cfun->local_decls even if they have register types.
2823         PR c++/42837
2824         * stor-layout.c (place_field): Don't warn about unnecessary
2825         DECL_PACKED if the type is packed.
2827 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2829         PR target/43139
2830         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
2831         GOTOFF relocs, even when the base reg isn't pic pointer.
2833 2010-02-23  Michael Matz  <matz@suse.de>
2835         PR debug/43077
2836         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
2837         (expand_gimple_basic_block): Generate and use debug temps if there
2838         are debug uses left after the last real use of TERed ssa names.
2839         Unlink debug immediate uses when they are expanded.
2841 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2843         PR 43123
2844         * config/i386/i386.c (override_options): Reorganise to provide
2845         better error messages.
2847 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2849         PR middle-end/43083
2850         * graphite-scop-detection.c (create_single_exit_edge): Move
2851         the call to find_single_exit_edge to....
2852         (create_sese_edges): ...here.  Don't handle multiple edges
2853         exiting the function.
2854         (build_graphite_scops): Don't handle multiple edges
2855         exiting the function.
2857 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2859         PR middle-end/43097
2860         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
2861         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
2863 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2865         PR middle-end/43026
2866         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
2868 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2870         PR c++/43126
2871         * c-typeck.c (convert_arguments): Print declaration location.
2872         * c-common.c (validate_nargs): Rename as
2873         builtin_function_validate_nargs.
2874         (check_builtin_function_arguments): Update.
2876 2010-02-22  Richard Guenther  <rguenther@suse.de>
2878         PR lto/43045
2879         * tree-inline.c (declare_return_variable): Use the type of
2880         the call stmt lhs if available.
2882 2010-02-22  Duncan Sands  <baldrick@free.fr>
2884         * passes.c (register_pass): Always consider all pass lists when
2885         ref_pass_instance_number is zero.
2887 2010-02-22  Richard Guenther  <rguenther@suse.de>
2889         PR tree-optimization/42749
2890         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
2891         parameter.  Do arithmetic in the original type.
2892         (update_accumulator_with_ops): Likewise.
2893         (adjust_accumulator_values): Adjust.
2895 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2897         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
2898         (QI to BLKmode splitter): New splitter.
2900 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2902         * config/i386/i386.c (initial_ix86_tune_features): Turn on
2903         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
2905 2010-02-22  Richard Guenther  <rguenther@suse.de>
2907         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
2909 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
2911         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
2912         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
2913         ($(T)crti.o, $(T)crtn.o): Remove rules.
2915 2010-02-21  Tobias Burnus  <burnus@net-b.de>
2917         PR fortran/35259
2918         * doc/invoke.texi (-fassociative-math): Document that this
2919         option is automatically enabled for Fortran.
2921 2010-02-20  David S. Miller  <davem@davemloft.net>
2923         * configure.ac: Test if linker and assembler properly support
2924         GOTDATA_OP relocations.
2925         * configure: Rebuild.
2926         * config.in: Likewise.
2927         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
2928         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
2929         (movsi_high_pic): Likewise.
2930         (movdi_lo_sum_pic): Likewise.
2931         (movdi_high_pic): Likewise.
2932         (movsi_pic_gotdata_op): New pattern.
2933         (movdi_pic_gotdata_op): Likewise.
2934         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
2935         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
2937 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
2939         PR target/43067
2940         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
2941         attribute to ssemul.
2942         (xop_mulv2div2di3_high): Ditto.
2944 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2946         PR c++/35669
2947         * c.opt (Wconversion-null): New option.
2948         * doc/invoke.texi (Wconversion-null): Document.
2950 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2952         * common.opt (Wlarger-than-): Add Undocumented.
2954 2010-02-19  Mike Stump  <mikestump@comcast.net>
2956         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
2958 2010-02-19  Jason Merrill  <jason@redhat.com>
2960         PR target/40332
2961         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
2962         * configure: Likewise.
2964 2010-02-20  Alan Modra  <amodra@gmail.com>
2966         PR middle-end/42344
2967         * cgraph.h (cgraph_make_decl_local): Declare.
2968         * cgraph.c (cgraph_make_decl_local): New function.
2969         (cgraph_make_node_local): Use it.
2970         * cgraphunit.c (cgraph_function_versioning): Likewise.
2971         * ipa.c (function_and_variable_visibility): Likewise.
2973 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2975         PR bootstrap/43121
2976         * except.c (sjlj_emit_function_enter): Don't call
2977         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
2978         directly.
2979         * rtl.h (add_reg_br_prob_note): Remove prototype.
2981 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2983         PR 41779
2984         * c-common.c (conversion_warning): Remove widening conversions
2985         before checking the conversion of integers to reals.
2987 2010-02-19  Mike Stump  <mikestump@comcast.net>
2989         PR middle-end/43125
2990         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
2992         PR objc/43061
2993         * cgraphunit.c (process_function_and_variable_attributes): Check
2994         DECL_PRESERVE_P instead of looking up attribute "used".
2995         * ipa-pure-const.c (check_decl): Likewise.
2996         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
2997         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
2998         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
2999         instead of attribute "used".
3000         * config/sol2-c.c (solaris_pragma_init): Likewise.
3001         (solaris_pragma_fini): Likewise.
3003 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3005         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
3006         Use XCNEW instead of xcalloc.
3007         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
3008         XNEW instead of xmalloc.
3009         (get_fields): Use XNEWVEC instead of xmalloc.
3011         PR debug/43084
3012         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
3013         populate vars array.
3014         (create_new_general_access): For debug stmts just reset value.
3015         (get_stmt_accesses): For accesses within debug stmts just record them
3016         using add_access_to_acc_sites instead of preventing the peeling or
3017         counting them as accesses.
3019         PR middle-end/42233
3020         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
3022 2010-02-19  Richard Guenther  <rguenther@suse.de>
3024         PR tree-optimization/42916
3025         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
3026         instructions.
3028 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
3030         * configure.ac: Replace all uses of changequote in macro arguments
3031         with proper quoting.
3033 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3035         PR middle-end/42233
3036         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
3038 2010-02-19  Richard Guenther  <rguenther@suse.de>
3040         PR tree-optimization/42944
3041         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
3042         test for aliasing with errno.
3044 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3046         PR middle-end/42233
3047         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
3048         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
3049         * dojump.c: Include output.h.
3050         (inv): New inline function.
3051         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
3052         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
3053         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
3054         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
3055         argument, pass it down to other calls.
3056         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
3057         add REG_BR_PROB note to the conditional jump.
3058         * cfgexpand.c (add_reg_br_prob_note): Removed.
3059         (expand_gimple_cond): Don't call it, add the probability
3060         as last argument to jumpif_1/jumpifnot_1.
3061         * Makefile.in (dojump.o): Depend on output.h.
3062         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
3063         callers.
3064         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
3065         * stmt.c (do_jump_if_equal): Likewise.
3066         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
3067         * loop-unswitch.c (compare_and_jump_seq): Likewise.
3068         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
3069         Likewise.
3070         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
3071         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
3072         jumpifnot_1 callers.
3073         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
3074         callers.
3075         (store_expr): Adjust jumpifnot caller.
3076         (store_constructor): Adjust jumpif caller.
3078         PR middle-end/42233
3079         * gimplify.c (gimple_boolify): For __builtin_expect call
3080         gimple_boolify also on its first argument.
3082 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
3084         * configure.ac (gnu-unique-object): Wrap regexps using [] in
3085         changequote block.
3086         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
3087         * configure: Regenerated.
3089 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3091         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
3092         lang_hooks.types_compatible_p instead of comptypes.
3094 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
3096         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
3097         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
3098         if __prefer_thumb__ is defined.
3100 2010-02-18  Martin Jambor  <mjambor@suse.cz>
3102         PR tree-optimization/43066
3103         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
3104         array with zero-sized element type.
3106 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
3108         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
3109         rtx, allocate struct var_loc_node here and return it to the
3110         caller, and only if it is actually needed.
3111         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
3112         move it earlier and return immediately if it returns NULL.
3114 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
3116         * config/sparc/gas.h: New file.  Restore
3117         TARGET_ASM_NAMED_SECTION to its ELF default.
3118         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
3119         check !HAVE_GNU_AS.
3120         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3121         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
3122         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
3123         after sparc/sysv4.h.
3125 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
3127         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
3129 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
3131         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
3132         patterns from predicated pattern.
3134 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
3136         PR target/43103
3137         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
3138         for insn mnemonic suffix.
3140 2010-02-17  Richard Guenther  <rguenther@suse.de>
3142         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
3143         to loop PHI nodes.
3145 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
3147         PR debug/42918
3148         * caller-save.c (save_call_clobbered_regs): If BB ends with
3149         a DEBUG_INSN, move any notes in between last real insn and the last
3150         DEBUG_INSN after the last DEBUG_INSN.
3152 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
3154         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
3155         Fix return type.  Fix argument type.  Explain meaning of return value.
3157 2010-02-16  Richard Guenther  <rguenther@suse.de>
3159         PR tree-optimization/41043
3160         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
3161         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
3162         statements ...
3163         (vrp_visit_phi_node): ... but only for loop PHI nodes.
3165 2010-02-16  Ira Rosen <irar@il.ibm.com>
3167         PR tree-optimization/43074
3168         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
3169         * tree-vect-loop.c (vect_analyze_loop_operations): Add
3170         vectorizable cycles in hybrid SLP check.
3171         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
3173 2010-02-16  Richard Guenther  <rguenther@suse.de>
3175         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
3176         (true_dependence): If memrefs_conflict_p computes must-alias
3177         trust it.  Move TBAA check after offset-based disambiguation.
3178         (canon_true_dependence): Likewise.
3180 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
3182         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
3183         * doc/invoke.texi: Document it.
3184         * var-tracking.c: Include toplev.h and params.h.
3185         (vt_find_locations): Return bool indicating success.  Compute
3186         hash sizes unconditionally.  Check new parameter, report.
3187         (variable_tracking_main_1): Check vt_find_locations results and
3188         retry.  Renamed from...
3189         (variable_tracking_main): ... this.  New wrapper to preserve
3190         flag_var_tracking_assignments.
3191         * Makefile.in (var-tracking.o): Adjust dependencies.
3193 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
3194             Jakub Jelinek <jakub@redhat.com>
3196         PR target/42854
3197         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
3198         if weak_import attribute is present.
3199         * config/darwin.c (machopic_select_section): Likewise.
3201 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
3203         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
3204         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
3205         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
3206         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
3208         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
3210         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
3211         Fix argument types.
3213         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
3214         Rewrite text to refer to the names.
3216 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
3218         * config/i386/i386-builtin-types.def
3219         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
3220         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
3221         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
3222         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
3223         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
3224         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
3225         IX86_BUILTIN_VPERMIL2PS256.
3226         (MULTI_ARG_4_DF2_DI_I): Defined.
3227         (MULTI_ARG_4_DF2_DI_I1): Defined.
3228         (MULTI_ARG_4_SF2_SI_I): Defined.
3229         (MULTI_ARG_4_SF2_SI_I1): Defined.
3230         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
3231         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
3232         __builtin_ia32_vpermil2ps256.
3233         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
3234         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
3235         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
3236         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
3237         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
3238         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
3239         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
3240         CODE_FOR_xop_vpermil2v8sf3.
3241         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
3242         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
3243         * config/i386/xopintrin.h (_mm_permute2_pd): New.
3244         (_mm256_permute2_pd): New.
3245         (_mm_permute2_ps): New.
3246         (_mm256_permute2_ps): New.
3248 2010-02-15  Nick Clifton  <nickc@redhat.com>
3250         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
3251         boolean parameters.  Use emit_jump_insn when emitting a pop
3252         instruction containing a return insn.
3253         (push): Use 'true' rather than '1' as second parameter to F.
3254         (h8300_expand_prologue): Likewise.
3255         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
3256         (h8300_expand_epilogue): Likewise.
3258 2010-02-15  Richard Guenther  <rguenther@suse.de>
3260         PR middle-end/43068
3261         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
3262         if that is zero.
3264 2010-02-15  Nick Clifton  <nickc@redhat.com>
3266         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
3267         delta.
3269 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
3271         * intl.c (fake_ngettext): New function.
3272         * intl.h (fake_ngettext): Declare.
3273         (ngettext): Define macro.
3274         * collect2.c (notice_translated): New function.
3275         (main): Use notice_translated and ngettext.
3276         * collect2.h (notice_translated): Declare.
3278 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
3280         * reorg.c (delete_computation): Comment fixes.
3281         * caller-save.c (setup_save_areas): Idem.
3282         * sel-sched-dump.c (dump_lv_set): Idem.
3283         * rtl.def: Idem.
3285 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3287         * config/s390/s390.c (s390_sched_init): New function.
3288         (TARGET_SCHED_INIT): Target hook defined.
3290 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
3291             Jack Howarth  <howarth@bromo.med.uc.edu>
3292             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3294         PR target/42982
3295         Partial revert of unintended change in fix for PR41605.
3296         * config/darwin.h: Fix typo.
3297         * config/darwin9.h: Same.
3299 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3301         * c-pch.c (pch_init): Clear v.
3303 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3305         PR middle-end/42930
3306         * graphite-scop-detection.c (graphite_can_represent_scev): Call
3307         graphite_can_represent_init for MULT_EXPR.
3309 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3311         PR middle-end/42914
3312         PR middle-end/42530
3313         * graphite-sese-to-poly.c (remove_phi): New.
3314         (translate_scalar_reduction_to_array): Call remove_phi.
3316 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3318         PR middle-end/42771
3319         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
3320         * graphite-clast-to-gimple.h (gloog): Update declaration.
3321         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
3322         * graphite-poly.h (struct poly_bb): Add missing comments.
3323         (struct scop): Add poly_scop_p field.
3324         (POLY_SCOP_P): New.
3325         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
3326         * graphite.c (graphite_transform_loops): Build the polyhedral
3327         representation for each scop before code generation.
3328         * sese.c (rename_variables_in_operand): Removed.
3329         (rename_variables_in_expr): Return the renamed expression.
3330         (rename_sese_parameters): New.
3331         * sese.h (rename_sese_parameters): Declared.
3333 2010-02-11  Richard Guenther  <rguenther@suse.de>
3335         PR tree-optimization/42998
3336         * tree-ssa-pre.c (create_expression_by_pieces): Treat
3337         POINTER_PLUS_EXPR properly.
3339 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3340             Changpeng Fang  <changpeng.fang@amd.com>
3342         PR middle-end/40886
3343         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
3344         the cost of an IV candidate when the IV is used in a test against zero.
3346         * gcc.dg/tree-ssa/ivopts-3.c: New.
3348 2010-02-11  Richard Guenther  <rguenther@suse.de>
3350         PR lto/41664
3351         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
3352         pointer-vs-decl case by swapping refs.  Handle some cases
3353         of pointer-vs-decl disambiguations more conservatively.
3354         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
3355         to false after expanding.
3357 2010-02-11  Richard Guenther  <rguenther@suse.de>
3359         PR driver/43021
3360         * gcc.c (process_command): Handle LTO file@offset case more
3361         appropriately.
3363 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3365         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
3366         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
3367         of DEBUG_INSNs.
3368         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
3370         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
3371         if MEM's mode size isn't DWARF2_ADDR_SIZE.
3372         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
3373         Optimize eq/ne comparisons when both arguments are known to be
3374         zero-extended.
3375         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
3376         Don't mask operands unnecessarily if they are known to be already
3377         zero-extended.
3379 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
3381         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
3382         instead of loop.
3384 2010-02-10  Richard Guenther  <rguenther@suse.de>
3386         PR tree-optimization/43017
3387         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
3388         for wrapping signed arithmetic.
3390 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3392         PR debug/43010
3393         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
3394         if no debug info should be emitted for it.
3396 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
3398         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
3399         note when flag_exceptions is set.
3401 2010-02-10  Duncan Sands  <baldrick@free.fr>
3403         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
3405 2010-02-10  Richard Guenther  <rguenther@suse.de>
3407         PR c/43007
3408         * tree.c (get_unwidened): Handle constants.
3409         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
3411 2010-02-10  Martin Jambor  <mjambor@suse.cz>
3413         PR lto/42985
3414         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
3415         check for variable argument counts independently.
3417 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3419         PR target/42841
3420         * config/sh/sh.c (find_barrier): Increase length for non delayed
3421         conditional branches.
3423 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3425         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
3427 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3429         * builtins.c (set_builtin_user_assembler_name): Also handle
3430         ffs if int is smaller than word.
3432 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
3434         PR middle-end/42973
3435         * ira-conflicts.c (get_dup): Remove.
3436         (process_reg_shuffles): Add new parameter.  Use it as an
3437         additional guard for copy generation.
3438         (add_insn_allocno_copies): Rewrite.
3440 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
3442         * common.opt (fsched2-use-traces): Preserved for backward
3443         compatibility.
3444         * doc/invoke.texi: Remove the documentation about option
3445         -fsched2-use-traces.
3446         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
3447         flag_sched2_use_traces.
3448         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
3449         the backward compatibility flag section.
3451 2010-02-09  Richard Guenther  <rguenther@suse.de>
3453         PR tree-optimization/43008
3454         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
3455         make HEAP variables initialized from global memory if they
3456         are not known builtin functions.
3457         (find_func_aliases): Adjust.
3459 2010-02-09  Richard Guenther  <rguenther@suse.de>
3461         PR tree-optimization/43000
3462         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
3463         arithmetic manually.
3465 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
3467         PR tree-optimization/42931
3468         * tree-loop-linear.c (try_interchange_loops): Don't call
3469         double_int_mul if estimated_loop_iterations failed.
3471 2010-02-08  Martin Jambor  <mjambor@suse.cz>
3473         PR middle-end/42898
3474         * tree-sra.c (build_accesses_from_assign): Do not mark in
3475         should_scalarize_away_bitmap if stmt has volatile ops.
3476         (sra_modify_assign): Do not process assigns piecemeal if if stmt
3477         has volatile ops.
3479 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
3481         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
3483 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
3485         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
3486         before the pattern.
3488 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
3490         PR middle-end/42946
3491         * df-core.c (df_finish_pass): Change type of saved_flags to int.
3493 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3495         PR middle-end/42988
3496         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
3497         to unknown_dependence.
3498         (graphite_legal_transform_dr): Handle the unknown_dependence.
3499         (graphite_carried_dependence_level_k): Same.
3501 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3503         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
3505 2010-02-07  Richard Guenther  <rguenther@suse.de>
3507         PR middle-end/42991
3508         * expr.c (get_inner_reference): Always initialize *pbitsize.
3510 2010-02-07  Richard Guenther  <rguenther@suse.de>
3512         PR middle-end/42956
3513         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
3514         new ARRAY_REFs on variable size element or minimal index arrays.
3515         Complete.
3516         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
3517         gimple_fold_indirect_ref.
3519 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
3521         PR target/42957
3522         * arm.c (arm_override_options): Just return if the user has specified
3523         an invalid fpu name.
3525 2010-02-03  Jason Merrill  <jason@redhat.com>
3527         PR c++/42870
3528         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
3529         i386_pe_maybe_record_exported_symbol.
3531 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
3533         PR target/42924
3534         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3535         (pa_delegitimize_address): New function.
3537 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
3539         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
3540         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
3542 2010-02-05  Richard Guenther  <rguenther@suse.de>
3544         PR lto/42762
3545         * lto-streamer-in.c (get_resolution): Deal with references
3546         to undefined functions.
3548 2010-02-05  Richard Guenther  <rguenther@suse.de>
3550         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
3551         (fold_const_aggregate_ref): Likewise.
3552         (ccp_fold_stmt): Substitute loads.
3553         (maybe_fold_reference): Verify types before substituting.
3554         Unshare properly.
3555         (fold_gimple_assign): Unshare properly.
3556         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
3558 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
3560         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
3561         for rs6000_gen_cell_microcode.
3563 2010-02-04  Richard Guenther  <rguenther@suse.de>
3565         PR rtl-optimization/42952
3566         * dse.c (const_or_frame_p): Remove MEM handling.
3568 2010-02-04  Nick Clifton  <nickc@redhat.com>
3570         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3571         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3572         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
3573         (mn10300_asm_output_mi_thunk): New function.
3574         (mn10300_can_output_mu_thunk): New function.
3575         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
3576         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
3577         (FUNCTION_ARG): Delete incorrect comment.
3579 2010-02-03  Jason Merrill  <jason@redhat.com>
3581         PR c++/40138
3582         * fold-const.c (operand_equal_p): Handle erroneous types.
3584 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3586         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3588 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3590         PR rtl-optimization/42941
3591         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3592         of xmalloc.
3594 2010-02-03  Jason Merrill  <jason@redhat.com>
3596         PR c++/35652
3597         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3599 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3601         PR debug/42896
3602         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
3603         (cselib_reset_table): Renamed from...
3604         (cselib_reset_table_with_next_value): ... this.
3605         (cselib_get_next_uid): Renamed from...
3606         (cselib_get_next_unknown_value): ... this.
3607         * cselib.c (next_uid): Renamed from...
3608         (next_unknown_value): ... this.
3609         (cselib_clear_table): Adjust.
3610         (cselib_reset_table): Adjust.  Renamed from...
3611         (cselib_reset_table_with_next_value): ... this.
3612         (cselib_get_next_uid): Adjust.  Renamed from...
3613         (cselib_get_next_unknown_value): ... this.
3614         (get_value_hash): Use hash.
3615         (cselib_hash_rtx): Likewise.
3616         (new_cselib_val): Adjust.  Set and dump uid.
3617         (cselib_lookup_mem): Pass next_uid as hash.
3618         (cselib_subst_to_values): Likewise.
3619         (cselib_log_lookup): Dump uid.
3620         (cselib_lookup): Pass next_uid as hash.  Adjust.
3621         (cselib_process_insn): Adjust.
3622         (cselib_init): Initialize next_uid.
3623         (cselib_finish): Adjust.
3624         (dump_cselib_table): Likewise.
3625         * dse.c (canon_address): Dump value uid.
3626         * print-rtl.c (print_rtx): Print value uid.
3627         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
3628         (dvuid): New type.
3629         (dv_uid): New function, sort of renamed from...
3630         (dv_htab_hash): ... this, reimplemented in terms of it and...
3631         (dv_uid2hash): ... this.  New.
3632         (variable_htab_eq): Drop excess assertions.
3633         (tie_break_pointers): Removed.
3634         (canon_value_cmp): Compare uids.
3635         (variable_post_merge_New_vals): Print uids.
3636         (vt_add_function_parameters): Adjust.
3637         (vt_initialize): Reset table.  Adjust.
3639 2010-02-03  Richard Guenther  <rguenther@suse.de>
3641         PR tree-optimization/42944
3642         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
3643         (call_may_clobber_ref_p_1): Likewise.  Properly handle
3644         malloc and calloc clobbering errno.
3646 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3648         * doc/invoke.texi: Fix name of sched1 dump.
3650         * opts.c (decode_options): Set flag_tree_switch_conversion
3651         only conditionally on optimize >= 2.
3653         * gcse.c: Assorted comment fixes in pass description.
3655 2010-02-03  Anthony Green  <green@moxielogic.com>
3657         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
3658         nop padding in order to maintain alignment of storage location of
3659         target function address.
3660         (moxie_trampoline_init): Store target function address at newly
3661         aligned location.
3662         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
3663         to 32.
3664         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
3666 2010-02-03  Richard Guenther  <rguenther@suse.de>
3668         PR middle-end/42927
3669         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3671 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3673         * config.gcc: Reenable check for obsolete targets.
3674         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
3675         mips-sgi-irix6.[0-4]*.
3677 2010-02-02  Nick Clifton  <nickc@redhat.com>
3679         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
3680         constant size of 4 as being the same as 0.
3681         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
3682         can take values in the range 0..4.
3684 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3686         PR java/41991
3687         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3688         as _darwin10_Unwind_FindEnclosingFunction().
3689         * libgcc-libsystem.ver: New.
3691 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3693         PR target/41399
3694         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3695         implicitly set registers.
3697 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3699         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
3700         (arm_override_options): Allow automatic selection of the thread
3701         pointer register if thumb2.
3702         (legitimize_pic_address): Improve code sequences for Thumb2.
3703         (arm_call_tls_get_addr): Likewise.
3704         (legitimize_tls_address): Likewise.
3705         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
3706         (pic_load_addr_32bit): ... this.  New named pattern.
3707         * thumb2.md (pic_load_addr_thumb2): Delete.
3708         (pic_load_dot_plus_four): Delete.
3709         (tls_load_dot_plus_four): New named pattern.
3711 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3713         PR libgomp/29986
3714         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3715         Document fix for TLS bug.
3717 2010-01-31  Richard Guenther  <rguenther@suse.de>
3719         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3720         conservatively correct.
3722 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3724         PR target/42850
3725         Revert:
3726         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3728         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3730 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3732         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3734 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3736         * config.gcc: Adjust order of makefile fragments for mingw targets.
3738 2010-01-31  Richard Guenther  <rguenther@suse.de>
3740         PR middle-end/42898
3741         * gimplify.c (gimplify_init_constructor): For volatile LHS
3742         initialize a temporary.
3744 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3746         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3747         --with-headers
3748         * configure: Regenerate.
3750 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3752         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3753         the same alias set and their sizes different constantness.
3754         (aliasing_component_refs_p): Revert 2009-10-24 change.
3756 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3758         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3759         unused.
3761 2010-01-29  Richard Guenther  <rguenther@suse.de>
3763         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3764         Assert we successfully updated the call.
3766 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3768         PR rtl-optimization/42889
3769         * df.h (df_set_bb_dirty_nonlr): New prototype.
3770         * df-core.c (df_set_bb_dirty_nonlr): New function.
3771         * df-scan.c (df_insn_rescan): Call it instead of
3772         df_set_bb_dirty for DEBUG_INSNs.
3774 2010-01-29  Richard Guenther  <rguenther@suse.de>
3776         PR middle-end/37448
3777         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3778         quadratic behavior in most cases.
3780 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3782         PR target/42891
3783         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3784         in the call to gen_x86_movsicc_0_m1.
3786 2010-01-28  Richard Guenther  <rguenther@suse.de>
3788         PR tree-optimization/42871
3789         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3791 2010-01-28  Richard Guenther  <rguenther@suse.de>
3793         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3794         into call arguments.
3796 2010-01-28  Richard Guenther  <rguenther@suse.de>
3798         PR middle-end/42883
3799         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3800         the forwarder if the destination is an EH landing pad.
3802 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3804         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3805         block list passed to gimple_duplicate_sese_tail.
3806         (parallelize_loops): Avoid parallelization when the function
3807         has_nonlocal_label.
3808         Avoid parallelization when the preheader is IRREDUCIBLE.
3809         Try to optimize when estimated_loop_iterations_int is unresolved.
3810         Add the loop's location to the dump file.
3811         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3812         (gimple_duplicate_sese_tail): Remove the check for the latch.
3813         Redirect nexits to the exit block.
3814         Remove handling of the incoming edges to the latch.
3815         Redirect the backedge from the copied latch to the exit bb.
3817 2010-01-28  Michael Matz  <matz@suse.de>
3819         PR target/42881
3820         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3821         Wrap force_reg into a sequence, emit it before user.
3823 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3825         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3826         (arm_rev): New.
3827         (arm_legacy_rev): Likewise.
3828         (thumb_legacy_rev): Likewise.
3830 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3832         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3833         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3834         on MEM's address failed, try avoid_constant_pool_reference and
3835         recurse if it returned something different.
3836         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3837         address, try avoid_constant_pool_reference and recurse if it
3838         returned something different.
3839         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3840         address and avoid_constant_pool_reference returned something
3841         different, don't set have_address.
3843 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3845         PR debug/42861
3846         * var-tracking.c (val_store): Add modified argument, obey it.
3847         Adjust callers.
3848         (count_uses): Move down logging of main.
3849         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3850         don't need resolution.
3851         (emit_notes_in_bb): Likewise.
3853 2010-01-27  Richard Guenther  <rguenther@suse.de>
3855         PR middle-end/42878
3856         * tree-inline.c (remap_decl): Delay remapping of SSA name
3857         default definitions until we need them.
3859 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3861         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3862         (rs6000_delegitimize_address): New function.
3864         * config/s390/s390.c (s390_delegitimize_address): Call
3865         delegitimize_mem_from_attrs.
3867         PR middle-end/42874
3868         * tree-inline.c (cannot_copy_type_1): Removed.
3869         (copy_forbidden): Don't forbid copying of functions containing
3870         records/unions with variable length fields.
3872 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3874         Revert:
3875         PR target/42841
3876         * config/sh/sh.c (find_barrier): Increase length for non delayed
3877         conditional branches.
3879 2010-01-27  Matthias Klose  <doko@ubuntu.com>
3881         * configure.ac (gnu-unique-object): Fix ldd version check.
3882         * configure: Regenerate.
3884 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3886         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
3887         HAVE_GNU_AS value.
3888         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
3889         Test for HAVE_GNU_AS value.
3891 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3893         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
3894         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
3895         INT64_TYPE): Define.
3896         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
3897         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
3898         INT_LEAST64_TYPE): Define.
3899         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
3900         UINT_LEAST64_TYPE): Define.
3901         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
3902         INT_FAST64_TYPE): Define.
3903         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
3904         UINT_FAST64_TYPE): Define.
3905         (INTMAX_TYPE, UINTMAX_TYPE): Define.
3906         (INTPTR_TYPE, UINTPTR_TYPE): Define.
3907         (SIG_ATOMIC_TYPE): Define.
3909 2010-01-26  Richard Guenther  <rguenther@suse.de>
3911         * df-scan.c (df_scan_set_bb_info): Remove assert.
3912         (df_insn_rescan_debug_internal): Merge asserts.
3913         (df_install_ref): Likewise.
3914         (df_mark_reg): Use bitmap_set_range.
3915         (df_hard_reg_used_p): Remove assert.
3916         (df_hard_reg_used_count): Likewise.
3918 2010-01-26  Richard Guenther  <rguenther@suse.de>
3920         PR rtl-optimization/42685
3921         * web.c (web_main): Ignore DEBUG_INSNs.
3923 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
3925         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
3927         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
3928         Fix types of fndecl and arglist parameters.
3930 2010-01-26  Richard Guenther  <rguenther@suse.de>
3932         PR middle-end/42806
3933         * tree-eh.c (unsplit_eh): Skip debug insns.
3935 2010-01-26  Richard Guenther  <rguenther@suse.de>
3937         PR tree-optimization/42250
3938         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3940 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3942         PR fortran/42866
3943         * omp-low.c (expand_omp_sections): Only use single_pred if
3944         l2_bb is single_pred_p.
3946 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3948         PR target/42841
3949         * config/sh/sh.c (find_barrier): Increase length for non delayed
3950         conditional branches.
3951         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
3953 2010-01-24  David S. Miller  <davem@davemloft.net>
3955         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
3956         define if not using GAS.
3957         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3958         Likewise.  Delete SECTION_MERGE code, which is only applicable
3959         when using GAS.
3961 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3963         PR c++/42748
3964         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
3965         mangling of va_list in system headers.
3967 2010-01-23  Toon Moene  <toon@moene.org>
3969         * tree-predcom.c (combine_chains): Return NULL, not false.
3971 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3973         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3974         initialization of variable res to agree with return type.
3976 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3978         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3979         * tree-sra.c: Add include of expr.h.
3981 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3983         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
3984         insert the debug stmt on the single non-EH edge from the stmt.
3986 2010-01-22  Richard Henderson  <rth@redhat.com>
3988         PR tree-opt/42833
3989         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
3990         the RHS until after generate_subtree_copies has insertted its
3991         code before the current statement.
3993 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3995         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3997         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3999 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4001         PR tree-optimization/42585
4002         * tree-sra.c (struct access): New field grp_total_scalarization.
4003         (dump_access): Dump the new field.
4004         (should_scalarize_away_bitmap): New variable.
4005         (cannot_scalarize_away_bitmap): Likewise.
4006         (sra_initialize): Allocate new bitmaps.
4007         (sra_deinitialize): Free new bitmaps.
4008         (create_access_1): New function.
4009         (create_access): Parts moved to create_access_1.
4010         (type_consists_of_records_p): New function.
4011         (completely_scalarize_record): Likewise.
4012         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
4013         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
4014         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
4015         access.
4016         (analyze_all_variable_accesses): Completely scalarize small eligible
4017         records.
4019 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4021         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
4023 2010-01-21  Andrew Haley  <aph@redhat.com>
4025         * gcc.c (process_command): Move lang_specific_driver before
4026         setting cc_libexec_prefix.
4028 2010-01-21  Richard Guenther  <rguenther@suse.de>
4030         PR middle-end/19988
4031         * fold-const.c (negate_expr_p): Pretend only negative
4032         real constants are easily negatable.
4034 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
4035             Jason Merrill  <jason@redhat.com>
4037         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
4038         (TYPE_TRANSPARENT_AGGR): this, for union and record.
4039         * calls.c (initialize argument_information): Handle it.
4040         * c-common.c (handle_transparent_union_attribute): Use new name.
4041         * c-decl.c (finish_struct): Ditto.
4042         * c-typeck.c (type_lists_compatible_p): Ditto.
4043         (convert_for_assignment): Use new name and also handle record.
4044         * function.c (aggregate_value_p): Handle it.
4045         (pass_by_reference): Ditto.
4046         (assign_parm_data_types): Ditto.
4047         * print-tree.c (print_node): Ditto.
4048         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
4049         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
4050         * tree.c (first_field): New fn.
4052 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
4054         PR target/42818
4055         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
4056         even when linking statically, for now.
4058 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4060         PR debug/42715
4061         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
4062         without a cselib val.
4063         (count_uses): Accept MO_VAL_SET with no val on stores.
4064         (add_stores): Likewise.
4066 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4068         * var-tracking.c (check_value_val): Add a compile time assertion.
4069         (dv_is_decl_p): Simplify.
4070         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
4071         gcc_assert if ENABLE_CHECKING.
4073 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4075         PR debug/42782
4076         * var-tracking.c: Include tree-flow.h.
4077         (mem_dies_at_call): New.
4078         (dataflow_set_preserve_mem_locs): Use it.
4079         (dataflow_set_remove_mem_locs): Likewise.
4080         (dump_var): Renamed from dump_variable.  Adjust all callers.
4081         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
4082         * Makefile.in (var-tracking.o): Adjust deps.
4084 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
4086         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
4088 2010-01-20  Richard Guenther  <rguenther@suse.de>
4090         PR tree-optimization/42717
4091         * tree-ssa-dce.c (get_live_post_dom): Remove.
4092         (forward_edge_to_pdom): Take an arbitrary edge to copy
4093         degenerate PHI args from.
4094         (remove_dead_stmt): Use the first post-dominator even if it
4095         does not contain live statements as redirection destination.
4097 2010-01-20  Richard Guenther  <rguenther@suse.de>
4099         * tree-inline.c (estimate_num_insns): Handle EH builtins.
4101 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4103         * sel-sched.c (create_speculation_check): Remove set but not used
4104         variable twin.
4105         (try_transformation_cache): Remove set but not used variable ds.
4106         (calculate_privileged_insns): Remove set but not used variables
4107         cur_insn and min_spec_insn.
4108         (find_best_expr): Remove set but not used variable avail_n.
4109         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
4110         variable e.
4111         * cgraphunit.c (assemble_thunk): Remove set but not used variable
4112         false_label.
4113         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
4114         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
4115         new_scop_exit_edge.
4117 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
4119         PR bootstrap/42786
4120         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
4121         cpu types.  Add support for *-sse3 cpu types.
4122         (x86_64-*-*): Ditto.
4124 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4126         PR middle-end/42803
4127         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
4128         argument, call initializer_constant_valid_p_1 instead of
4129         initializer_constant_valid_p, pass CACHE to it, return NULL
4130         immediately if first call returns NULL.
4131         (initializer_constant_valid_p_1): New function.
4132         (initializer_constant_valid_p): Use it.
4134 2010-01-20  Thomas Quinot  <quinot@adacore.com>
4136         * tree.def (PLACEHOLDER_EXPR): Fix comment.
4138 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4140         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
4141         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
4142         (loc_list_from_tree): Don't handle unsigned division.  Handle
4143         signed modulo using DW_OP_{over,over,div,mul,minus}.
4144         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
4145         modulo instead of signed.
4147 2010-01-20  DJ Delorie  <dj@redhat.com>
4149         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
4150         (Fpa): Pass it
4151         (h8300_emit_stack_adjustment): Propogate it.
4152         (push): Pass it.
4153         (h8300_expand_prologue): Likewise.
4154         (h8300_expand_epilogue): Likewise.
4156 2010-01-19  Michael Matz  <matz@suse.de>
4158         PR tree-optimization/41783
4159         * tree-data-ref.c (toplevel): Include flags.h.
4160         (dump_data_dependence_relation):  Also dump the inputs if the
4161         result will be unknown.
4162         (split_constant_offset_1): Look through some conversions.
4163         * tree-predcom.c (determine_roots_comp): Restart a new chain if
4164         the offset from last element is too large.
4165         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
4166         (reassociate_to_the_same_stmt): Handle vector registers.
4167         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
4168         (e.g. conversions).
4169         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
4170         wide_prolog_niters argument, emit widening instructions.
4171         (vect_do_peeling_for_alignment): Adjust caller, use widened
4172         variant of the iteration cound.
4173         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
4175 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4177         PR target/38697
4178         * config/arm/neon-testgen.m (emit_automatics): New parameter
4179         features. Adjust for Fixed_return_reg feature.
4180         (test_intrinsic): Call emit_automatics with new feature.
4181         * config/arm/neon.ml: Update copyright years.
4182         (features): New Fixed_return_reg feature.
4183         (ops): Update feature for Vget_low.
4185 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
4187         PR tree-optimization/42719
4188         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
4189         stmt uses.
4191         PR debug/42728
4192         * fwprop.c (all_uses_available_at): Return false if def_set dest
4193         is a REG that is used in def_insn.
4195 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
4197         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
4199         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
4200         Add argument names.
4202         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
4204         * target.h (struct gcc_target) <secondary_reload>: Change type
4205         of last argument to secondary_reload_info *.
4207 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
4209         PR target/42774
4210         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
4211         memory references with unaligned offsets.  Remove CQImode handling.
4212         (unaligned_memory_operand): Return 1 for memory references with
4213         unaligned offsets.  Remove CQImode handling.
4215 2010-01-18  Richard Guenther  <rguenther@suse.de>
4217         PR middle-end/39954
4218         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
4219         builtin calls.
4221 2010-01-18  Richard Guenther  <rguenther@suse.de>
4223         PR tree-optimization/42781
4224         * tree-ssa-structalias.c (find_what_var_points_to): Skip
4225         restrict processing only if the original variable was artificial.
4227 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
4229         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
4230         find number of popped argument bytes.
4232         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
4233         Fix the text that describes the return value for invalid insns.
4235         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
4237         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
4238         Clarify what 'cost of the -dependence' is.  Fix quoting.
4240         * toplev.c (default_get_pch_validity): Rename argument to "sz".
4241         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
4243 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
4245         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4246         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
4248 2010-01-17  Richard Guenther  <rguenther@suse.de>
4250         PR middle-end/42248
4251         * function.c (split_complex_args): Take a VEC to modify.
4252         (assign_parms_augmented_arg_list): Build a VEC instead of
4253         a chain of PARM_DECLs.
4254         (assign_parms_unsplit_complex): Take a VEC of arguments.
4255         Do not fixup unmodified parms.
4256         (assign_parms): Deal with the VEC.
4257         (gimplify_parameters): Likewise.
4259 2010-01-17  Richard Guenther  <rguenther@suse.de>
4261         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
4262         node existence check.
4263         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
4264         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
4265         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
4266         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
4267         (gimple_execute_on_growing_pred): Likewise.
4269 2010-01-17  Richard Guenther  <rguenther@suse.de>
4271         PR tree-optimization/42773
4272         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
4273         (compute_antic_aux): Likewise.
4274         (compute_partial_antic_aux): Likewise.
4276 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
4278         PR debug/42767
4279         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
4280         and US_TRUNCATE.
4282 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
4284         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
4285         appearance.
4287         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
4288         Fix markup for strict argument.
4290         (TARGET_SCHED_REORDER2): Fix argument types.
4292         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
4293         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
4295         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
4296         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
4298         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
4299         Add argument name.
4301         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
4302         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
4303         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
4304         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
4305         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
4307         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
4309         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
4311         (TARGET_ASM_RELOC_RW_MASK): Add return type.
4312         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
4314         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
4316         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
4317         Use prototype.
4319         (TARGET_ASM_NAMED_SECTION): Fix argument list.
4321         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
4322         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
4324         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
4326         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
4328         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
4329         referring to it.  Fix language.
4331         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
4333         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
4335         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
4337         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
4339         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
4340         '@var{stream}.  Remove stray 'and'.
4342         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
4344         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
4346         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
4348         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
4349         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
4351         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
4352         Fix description of return value.
4353         Rename argument "sz" to "len."
4355         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
4356         Clarify meaning of 'true' return value.
4358         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
4360         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
4361         rep_mode versus mode_rep.
4363         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
4365         (TARGET_BUILTIN_DECL): Fix name.
4367         (TARGET_COMMUTATIVE_P): Fix type of first argument.
4369         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
4371         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
4373         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
4375         (TARGET_RELAXED_ORDERING): Use @deftypevr.
4377         (TARGET_GET_DRAP_RTX): Note that this is a hook.
4378         Clarify language.
4380         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
4381         Rename argument tm_fn to md_fn.
4383         (TARGET_OPTION_PRINT): Fix argument list.
4385 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
4387         PR target/42664
4388         * config/i386/i386.c (ix86_fixup_binary_operands):
4389         Revert FMA4 fixup of operands.
4391 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4393         PR gcc/42525
4394         * Makefile.in (write_entries_to_file, install-plugin):
4395         Use \012 instead of \n with tr.
4397 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
4399         * configure.ac (HAVE_AS_REF): New C macro.
4400         * configure: Regenerate.
4401         * config.in: Likewise.
4402         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
4403         if HAVE_AS_REF.
4404         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
4405         if HAVE_AS_REF.
4407 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
4409         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
4411         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
4413         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
4415         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
4417         (TARGET_IN_SMALL_DATA_P): Fix argument type.
4419         (TARGET_BINDS_LOCAL_P): Fix argument type.
4421         (TARGET_ASM_FILE_END): Use prototype.
4423         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
4425         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
4427         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
4429         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
4431         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
4432         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
4434         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
4435         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
4437         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
4438         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
4439         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
4440         (TARGET_ADDR_SPACE_CONVERT): Likewise.
4442         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
4444         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
4446         (TARGET_INIT_BUILTINS): Use prototype.
4448         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
4449         Put 'const char *' in braces.  Fix parameter types.
4450         (TARGET_INVALID_CONVERSION): Fix parameter types.
4451         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
4452         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
4454         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
4455         Fix argument type.
4457         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
4459         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
4461 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
4463         * doc/tm.texi (TARGET_HELP): Fix return type.
4465         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
4466         in braces.  Fix argument types.
4468         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
4470         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
4472         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
4474         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
4475         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
4477         (TARGET_MANGLE_TYPE): Fix argument types.
4479         (TARGET_IRA_COVER_CLASSES): Use prototype.
4481         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
4483         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
4485         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
4487         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
4489         (TARGET_CALLEE_COPIES): Fix argument types.
4491         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
4493         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
4495         (TARGET_FUNCTION_VALUE): Fix argument types.
4497         (TARGET_RETURN_IN_MSB): Fix argument type.
4499         (TARGET_RETURN_IN_MEMORY): Fix argument types.
4501         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
4503         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
4505         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
4506         agree with return type.
4508         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
4510 2010-01-15  Jing Yu  <jingyu@google.com>
4512         PR rtl-optimization/42691
4513         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
4514         a pseudo to a constant and are merged, and adjust comments.
4516 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4518         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
4520 2010-01-15  Richard Guenther  <rguenther@suse.de>
4522         PR middle-end/42739
4523         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
4524         labels of computed or non-local gotos to the destination.
4525         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
4526         landing pad label is the first label.
4528 2010-01-15  Richard Guenther  <rguenther@suse.de>
4530         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
4532 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4534         PR target/42747
4535         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
4536         to allow generation of the xssqrtdp instruction on power7.
4537         (sqrtdf2_fpr): Ditto.
4539 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4541         PR middle-end/42674
4542         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
4543         functions with noreturn attribute.
4545         PR c++/42608
4546         * varasm.c (declare_weak): Add weak attribute to decl if it
4547         doesn't have one already.
4548         (assemble_external): Only add decls to weak_decls if they also
4549         have weak attribute.
4551 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
4553         * var-tracking.c (var_reg_delete): Don't delete the association
4554         between REGs and values or one-part variables if the register
4555         isn't clobbered.
4557 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4559         PR debug/42657
4560         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
4561         because its first operand is a non-localized variable.
4563 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4565         PR tree-optimization/42706
4566         * tree-sra.c (encountered_recursive_call): New variable.
4567         (encountered_unchangable_recursive_call): Likewise.
4568         (sra_initialize): Initialize both new variables.
4569         (callsite_has_enough_arguments_p): New function.
4570         (scan_function): Call decl and flags check only for IPA-SRA, check
4571         whether there is a recursive call and whether it has enough arguments.
4572         (all_callers_have_enough_arguments_p): New function.
4573         (convert_callers): Look for recursive calls only when
4574         encountered_recursive_call is set.
4575         (ipa_early_sra): Bail out either if
4576         !all_callers_have_enough_arguments_p or
4577         encountered_unchangable_recursive_call.
4579 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4581         * sel-sched.c: Add 2010 to copyright years.
4582         * sel-sched-ir.c: Likewise.
4583         * sel-sched-ir.h: Likewise.
4585 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4587         PR tree-optimization/42714
4588         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
4589         constructors specially.
4591 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4593         * config/i386/drivers-i386.c (detect_caches_intel):
4594         Add l2sizekb parameter and fill in.
4595         (host_detect_local_cpu): Add l2sizekb, fill in.
4596         Add Atom small cache heuristic.
4598 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4600         * config/i386/drivers-i386.c (detect_caches_cpuid4):
4601         Add level3 parameter and fill in.
4602         (detect_caches_intel): Handle level3 cache.
4604 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4606         * config/i386/drivers-i386.c (host_detect_local_cpu):
4607         Fix core duo detection.
4609 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4611         * config/i386/drivers-i386.c (host_detect_local_cpu):
4612         Fix Atom detection.
4614 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4616         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
4617         (rs6000_variable_issue_1): this.  Use...
4618         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
4620 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4622         * sel-sched-ir.c (sel_restore_other_notes): Rename to
4623         sel_restore_notes.  Update all callers.  Call reemit_notes
4624         for all insns.
4626 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4628         PR rtl-optimization/42246
4629         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
4630         loops.
4632 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4634         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
4635         all successors is the same as number of successors in current region.
4637 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4639         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
4640         to rename is not separable.  Otherwise check that its LHS is not NULL.
4642 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4644         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
4646 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4648         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
4649         available registers when failed to discover LHS register class.
4650         Fix indentation.  Update comment.
4652 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4653             Alexander Monakov  <amonakov@ispras.ru>
4655         PR rtl-optimization/42389
4656         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
4657         to can_issue_more.
4658         (advance_state_on_fence): Likewise.
4659         (sel_target_adjust_priority): Print debug output only when
4660         sched_verbose >= 4, not 2.
4661         (get_expr_cost): Do not issue all unique insns on the next cycle.
4662         (fill_insns): Initialize can_issue_more from the value saved
4663         with the fence.
4664         * sel-sched-ir.c (flist_add): New parameter issue_more.
4665         Init FENCE_ISSUE_MORE with it.
4666         (merge_fences): Likewise.
4667         (init_fences): Update call to flist_add.
4668         (add_to_fences, add_clean_fence_to_fences)
4669         (add_dirty_fence_to_fences): Likewise.
4670         (move_fence_to_fences): Update call to merge_fences.
4671         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
4672         sched groups.
4673         * sel-sched-ir.h (struct _fence): New field issue_more.
4674         (FENCE_ISSUE_MORE): New accessor macro.
4676 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4678         PR rtl-optimization/42388
4679         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
4680         that have no predecessors nor successors.  Do not call move_bb_info
4681         for empty blocks outside of current region.
4683 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4685         PR rtl-optimization/42294
4686         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
4687         * sel-sched.c (move_exprs_to_boundary): Transitively add all
4688         originators' originators.
4690 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4692         PR rtl-optimization/39453
4693         PR rtl-optimization/42246
4694         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
4695         for pipelining_p.
4696         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
4698 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4699             Alexander Monakov  <amonakov@ispras.ru>
4701         PR middle-end/42245
4702         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
4703         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
4704         argument.  Update all callers.
4705         (tidy_control_flow): ... and here.  Recompute topological order
4706         of basic blocks in region if necessary.
4707         (sel_redirect_edge_and_branch): Change return type.  Return true
4708         if topological order might have been invalidated.
4709         (purge_empty_blocks): Export and move from...
4710         * sel-sched.c (purge_empty_blocks): ... here.
4711         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
4712         (maybe_tidy_empty_bb): Delete prototype.
4713         (purge_empty_blocks): Declare.
4715 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
4717         PR rtl-optimization/42249
4718         * sel-sched.c (try_replace_dest_reg): When chosen register
4719         and original register is the same, do not bail out early, but
4720         still check all original insns for validity of replacing destination
4721         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
4722         in this case.
4724 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4726         PR c/42721
4727         Port from no-undefined-overflow branch:
4728         2009-03-09  Richard Guenther  <rguenther@suse.de>
4730         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
4732 2010-01-14  Richard Guenther  <rguenther@suse.de>
4734         PR lto/42665
4735         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
4737 2010-01-14  Ira Rosen  <irar@il.ibm.com>
4739         PR tree-optimization/42709
4740         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
4741         as scalar type in creation of constant vector operand.
4743 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4745         PR testsuite/42414
4746         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
4747         (check-parallel-%): Match `testsuite' directory component only
4748         at the end.
4750 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
4752         PR translation/39521
4753         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
4754         strings with _().
4756 2010-01-13  Richard Guenther  <rguenther@suse.de>
4758         PR tree-optimization/42730
4759         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
4760         offset zero.
4762 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
4764         PR target/pr42542
4765         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
4766         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
4767         them signed.
4769 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
4771         * config/bfin/libgcc-bfin.ver: Regenerate based on current
4772         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
4773         ___umulsi3_highpart.
4775         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
4776         rather than schedule_insns if the pass is enabled.
4778 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4780         PR tree-optimization/42704
4781         * tree-sra.c (sra_modify_assign): Do not delete assignments to
4782         SSA_NAMEs.
4784 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4786         PR tree-optimization/42703
4787         * tree-sra.c (analyze_access_subtree): Check that we can build a
4788         reference to the original data within the aggregate.
4790 2010-01-13  Richard Guenther  <rguenther@suse.de>
4792         PR tree-optimization/42705
4793         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
4795 2010-01-13  Richard Guenther  <rguenther@suse.de>
4797         PR middle-end/42716
4798         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
4800 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
4802         PR debug/41371
4803         * var-tracking.c (values_to_unmark): New variable.
4804         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
4805         values_to_unmark vector.  Moved body to...
4806         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
4807         instead queue it into values_to_unmark vector.
4808         (vt_find_locations): Free values_to_unmark vector.
4810 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
4812         * config/s390/s390.c (override_options): Set
4813         default of max-pending-list-length to 256
4815 2010-01-13  Richard Guenther  <rguenther@suse.de>
4817         PR lto/42678
4818         * tree-pass.h (PROP_gimple_lcx): New.
4819         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
4820         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
4821         before the final cleanup_eh.
4822         (dump_properties): Dump PROP_gimple_lcx.
4823         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
4824         (tree_lower_complex_O0): Remove.
4825         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
4826         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
4827         tree_lower_complex, schedule TODO_update_ssa.
4828         * lto-streamer-out.c (output_function): Stream the functions
4829         properties.
4830         * lto-streamer-in.c (input_function): Likewise.
4831         (lto_read_body): Do not override them here.
4833 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
4835         PR c/42708
4836         * c-typeck.c (build_c_cast): Fold value cast to union type before
4837         wrapping it in a CONSTRUCTOR.
4839 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4841         PR rtl-optimization/42699
4842         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
4843         involved.
4845 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4847         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4848         SUBTARGET_WARN_UNUSED_SPEC): Move ...
4849         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4850         SUBTARGET_WARN_UNUSED_SPEC): ... here
4851         * config/mips/iris5.h (LIBGCC_SPEC): Define.
4853 2010-01-12  Julian Brown  <julian@codesourcery.com>
4855         * config/arm/neon-schedgen.ml (Utils): Don't try to
4856         open missing module.
4857         (find_with_result): New.
4859 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4861         PR debug/42662
4862         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
4863         sharing when canonicalizing ({lt,ge}u (plus a b) b).
4865         PR tree-optimization/42645
4866         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
4867         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
4868         decl_map, set processing_debug_stmt to -1 and return name without
4869         any remapping.
4871 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
4873         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
4874         binutils version, and reword target configuration description.
4876 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4878         * config/avr/avr.h (LINKER_NAME): Remove.
4880 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
4882         PR target/42416
4883         * config/rs6000/rs6000.c (rs6000_override_options): On targets
4884         that support VSX, warn for -mno-altivec if vsx is not disabled,
4885         and disable vsx.
4887 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
4888             Shujing Zhao  <pearly.zhao@oracle.com>
4890         PR translation/42469
4891         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
4892         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
4893         character between option name and help text.
4894         * c.opt (imultilib): Likewise.
4896 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
4898         * lto-streamer-out.c (output_unreferenced_globals): Output static
4899         variables.
4901 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
4903         PR rtl-optimization/42621
4904         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
4905         optimizing for size.
4906         (duplicate_computed_gotos): Remove now-redundant check.
4908 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
4910         PR target/37454
4911         * configure.ac: Save and restore LDFLAGS and LIBS
4912         * configure: Regenerate.
4914 2010-01-10  Richard Guenther  <rguenther@suse.de>
4916         PR middle-end/42667
4917         * builtins.c (fold_builtin_strlen): Add type argument and
4918         convert the resulting length to it.
4919         (fold_builtin_1): Adjust.
4921 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4923         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
4924         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
4925         1 insn.
4926         (num_insns_constant_wide): Adjust for that change.
4928 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4930         PR debug/42631
4931         * web.c (union_defs): Add used argument, to combine uses of
4932         uninitialized regs.
4933         (entry_register): Adjust type and tests of used argument.
4934         (web_main): Widen used for new use.  Pass it to union_defs.
4935         * df.h (union_defs): Adjust prototype.
4937 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4939         PR debug/42630
4940         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
4941         uses in new incoming argument.  Free body.
4942         (reset_debug_uses_in_loop): New.
4943         (analyze_insn_to_expand_var): Call the latter if the former found
4944         anything.  Fix whitespace.  Reject invalid dest overlaps before
4945         going through all insns in the loop.
4947 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4949         PR debug/42629
4950         * haifa-sched.c (dying_use_p): Debug insns don't count.
4952 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4954         PR middle-end/42363
4955         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
4956         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
4957         (verify_gimple_call): Reject LHS in noreturn calls.
4959 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4961         PR debug/42604
4962         PR debug/42395
4963         * tree-vect-loop-manip.c (adjust_info): New type.
4964         (adjust_vec): New pointer to vector.
4965         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
4966         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
4967         (slpeel_update_phis_for_duplicate_loop): Use them.
4968         (slpeel_update_phi_nodes_for_guard1): Likewise.
4969         (slpeel_update_phi_nodes_for_guard2): Likewise.
4970         (slpeel_tree_peel_loop_to_edge): Likewise.
4971         (vect_update_ivs_after_vectorizer): Likewise.
4973 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4975         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
4976         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
4978 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4980         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
4981         bogus uninitialized warning.
4983 2010-01-09  Richard Guenther  <rguenther@suse.de>
4985         PR middle-end/42512
4986         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
4987         the evolution is compatible with the initial condition.
4989 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4991         * gcc.c (process_command): Update copyright notice dates.
4992         * gcov.c (print_version): Likewise.
4993         * gcov-dump.c (print_version): Likewise.
4994         * mips-tfile.c (main): Likewise.
4995         * mips-tdump.c (main): Likewise.
4997 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4999         PR target/41885
5000         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
5001         (rotlhi3): Delete.
5002         (rotlhi3_8): Delete.
5003         (rotlsi3): Delete.
5004         (rotlsi3_8): Delete.
5005         (rotlsi3_16): Delete.
5006         (rotlsi3_24): Delete.
5007         (rotl<mode>3): New.
5008         (*rotw<mode>3): New.
5009         (*rotb<mode>3): New.
5010         * config/avr/avr.c (avr_rotate_bytes): New function.
5011         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
5013 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
5015         PR target/37454
5016         * configure.ac: Modify -rdynamic check.
5017         * configure: Regenerate.
5019 2010-01-08  DJ Delorie  <dj@redhat.com>
5021         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
5022         register popping order.
5024 2010-01-08  Richard Guenther  <rguenther@suse.de>
5026         PR lto/42528
5027         * c.opt (fsigned-char): Also let LTO handle this option.
5028         (funsigned-char): Likewise.
5030 2010-01-07  Richard Guenther  <rguenther@suse.de>
5032         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
5033         (gimple_op): Likewise.
5034         (gimple_op_ptr): Likewise.
5035         (gimple_assign_set_lhs): Remove gcc_assert.
5036         (gimple_assign_set_rhs1): Likewise.
5037         (gimple_assign_set_rhs2): Likewise.
5038         (gimple_call_set_lhs): Likewise.
5039         (gimple_call_set_fn): Likewise.
5040         (gimple_call_set_fndecl): Likewise.
5041         (gimple_call_fndecl): Likewise.
5042         (gimple_call_return_type): Likewise.
5043         (gimple_call_set_chain): Likewise.
5044         (gimple_call_num_args): Likewise.
5045         (gimple_call_set_arg): Likewise.
5046         (gimple_cond_set_code): Likewise.
5047         (gimple_cond_set_lhs): Likewise.
5048         (gimple_cond_set_rhs): Likewise.
5049         (gimple_cond_set_true_label): Likewise.
5050         (gimple_cond_set_false_label): Likewise.
5051         (gimple_label_set_label): Likewise.
5052         (gimple_goto_set_dest): Likewise.
5053         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
5054         (gimple_debug_bind_get_value): Likewise.
5055         (gimple_debug_bind_get_value_ptr): Likewise.
5056         (gimple_debug_bind_set_var): Likewise.
5057         (gimple_debug_bind_set_value): Likewise.
5058         (gimple_debug_bind_reset_value): Likewise.
5059         (gimple_debug_bind_has_value_p): Likewise.
5060         (gimple_return_retval_ptr): Remove gcc_assert.
5061         (gimple_return_retval): Likewise.
5062         (gimple_return_set_retval): Likewise.
5063         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
5064         (safe_referenced_var_iterator): Remove.
5065         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
5066         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
5067         (fill_referenced_var_vec): Remove.
5068         (first_readonly_imm_use): Remove redundant gcc_assert.
5069         (phi_arg_index_from_use): Combine gcc_asserts.
5070         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
5071         (first_imm_use_stmt): Remove redundant gcc_assert.
5072         * tree-cfg.c (verify_gimple_call): Verify function and chain
5073         operands.  Verify arguments.
5074         (verify_types_in_gimple_stmt): Verify condition code and labels.
5076 2010-01-07  Richard Guenther  <rguenther@suse.de>
5078         PR tree-optimization/42641
5079         * sese.c (rename_map_elt_info): Use the SSA name version, do
5080         not hash pointers.
5082 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
5084         PR tree-optimization/42625
5085         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
5086         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
5088 2010-01-07  Duncan Sands  <baldrick@free.fr>
5090         * Makefile.in (PLUGIN_HEADERS): Add version.h.
5092 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
5094         PR target/42511
5095         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
5096         note itself is not function_invariant_p.
5098 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
5100         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
5101         Do not add the DF_NOTE problem.
5102         * store-motion.c (execute_rtl_store_motion): Likewise.
5104 2010-01-07  Martin Jambor  <mjambor@suse.cz>
5106         PR tree-optimization/42157
5107         * tree-sra.c (compare_access_positions): Stabilize sort if both
5108         accesses have integer types, return zero immediately if they are the
5109         same.
5111 2010-01-06  Richard Henderson  <rth@redhat.com>
5113         PR middle-end/41883
5114         * haifa-sched.c (add_to_note_list): Merge into ...
5115         (concat_note_lists): ... here, and ...
5116         (unlink_other_notes, rm_other_notes): Merge into...
5117         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
5118         NOTE_INSN_EPILOGUE_BEG.
5120 2010-01-06  Richard Guenther  <rguenther@suse.de>
5122         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
5123         not inline regular functions into always-inline functions.
5125 2010-01-06  Nick Clifton  <nickc@redhat.com>
5127         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
5128         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
5129         used together.
5130         (OVERRIDE_OPTIONS): Delete.
5131         (OPTIMIZATION_OPTIONS): Define.
5132         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
5133         * config/rx/rx.c (rx_handle_option): Issue an error message if
5134         -mcpu=rx200 and -fpu are used together.
5135         (rx_set_optimization_options): New function.  Issue an error
5136         message if an optimization attribute attempts to reset the FPU/
5137         math optimization pairing.
5138         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
5139         * config/rx/rx.opt: Set the default to 32-bit doubles.
5140         * config/rx/t-rx: Add multilibs for -nofpu option.
5141         * doc/invoke.texi: Update documentation of RX options.
5143 2010-01-06  Richard Guenther  <rguenther@suse.de>
5145         * tree-ssa-pre.c (name_to_id): New global.
5146         (alloc_expression_id): Simplify SSA name handling.
5147         (lookup_expression_id): Likewise.
5148         (init_pre): Zero name_to_id.
5149         (fini_pre): Free it.
5151 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
5153         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
5155 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5157         PR target/42542
5158         * config/i386/sse.md (smaxv2di3): New.
5159         (umaxv2di3): Likewise.
5160         (sminv2di3): Likewise.
5161         (uminv2di3): Likewise.
5163 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5165         PR target/42564
5166         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
5167         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
5168         (legitimize_tls_address): Likewise.
5169         (sparc_tls_referenced_p): Likewise.
5170         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
5171         and adjust calls to legitimize_pic_address.
5172         (legitimate_constant_p) Use sparc_tls_referenced_p.
5173         (legitimate_pic_operand_p): Likewise.
5174         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
5175         (sparc_tls_symbol_ref_1): Delete.
5176         (sparc_tls_referenced_p): Make static, recognize specific patterns.
5177         (legitimize_tls_address): Make static, handle CONST patterns.
5178         (legitimize_pic_address): Make static, remove unused parameter and
5179         adjust recursive calls.
5180         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
5181         and adjust call to legitimize_pic_address.
5182         (sparc_output_mi_thunk): Likewise.
5184 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
5185             H.J. Lu  <hongjiu.lu@intel.com>
5187         PR target/42542
5188         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
5189         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
5190         operands to make them signed.
5192         Revert:
5193         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5195         PR target/42542
5196         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5197         GTU to GT for V4SI and V2DI.
5199         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5200         (umin<mode>3): Removed.
5201         (uminv8hi3): New.
5202         (uminv4si3): Likewise.
5204 2010-01-05  Martin Jambor  <mjambor@suse.cz>
5206         PR tree-optimization/42462
5207         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
5208         current_function_decl to helper functions and macros.
5210 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5212         PR bootstrap/41771
5213         * flags.h: Don't include real.h.
5214         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
5215         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
5216         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
5217         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
5218         * dominance.c: Update copyright.
5219         * gimple.c (walk_gimple_op): Remove inline.
5220         * tree-ssa-reassoc.c: Include real.h.
5221         * Makefile.in (FLAGS_H): Remove $(REAL_H).
5222         (tree-ssa-reassoc.o): Depend on $(REAL_H).
5224 2010-01-05  Nick Clifton  <nickc@redhat.com>
5226         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
5227         register to push into the stack frame when the accumulator has to
5228         be saved during interrupts.
5230 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
5232         * doc/invoke.texi: Remove the documentation about option
5233         -Wunreachable-code.
5234         * common.opt (Wunreachable-code):  Preserved for backward
5235         compatibility.
5236         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
5237         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
5238         the backward compatibility flag section.
5240 2010-01-05  Richard Guenther  <rguenther@suse.de>
5242         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
5244 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
5246         PR other/42611
5247         * cfgexpand.c (expand_one_var): Diagnose too large variables.
5249         PR tree-optimization/42508
5250         * tree-sra.c (convert_callers): Check for recursive call
5251         by comparing cgraph nodes instead of decls.
5252         (modify_function): Call ipa_modify_formal_parameters also
5253         on all same_body aliases.
5255         * cgraphunit.c (cgraph_materialize_all_clones): Compare
5256         cgraph nodes when checking for same_body aliases.
5258 2010-01-05  Richard Guenther  <rguenther@suse.de>
5260         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
5261         allocation and lookup.
5262         (get_or_alloc_expr_for_constant): Likewise.
5263         (phi_translate): Sink allocation.
5265 2010-01-04  Richard Guenther  <rguenther@suse.de>
5267         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
5268         a new entry only if needed.
5269         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
5270         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
5271         hashtable lookup.
5272         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
5273         the result array.
5274         (phi_translate): Handle CONSTANTs early.
5276 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5278         PR tree-optimization/42398
5279         * tree-sra.c (struct access): Removed flag grp_different_types.
5280         (dump_access): Do not dump the removed flag.
5281         (sort_and_splice_var_accesses): Do not set the removed flag.
5282         (sra_modify_expr): Check for type compatibility directly.
5284 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5286         PR tree-optimization/42366
5287         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
5288         edges with variable number of parameters.
5289         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
5290         flag instead of asserting it.
5291         (ipa_read_node_info): Read uses_analysis_done flag.
5293 2010-01-04  Richard Guenther  <rguenther@suse.de>
5295         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
5296         iterative_hash_* as intended.
5297         (vn_reference_compute_hash): Likewise.  Simplify hashing
5298         SSA names.
5299         (vn_reference_lookup_2): Likewise.
5300         (vn_nary_op_compute_hash): Likewise.
5301         (vn_phi_compute_hash): Likewise.
5302         (expressions_equal_p): Remove strange code.
5303         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
5304         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
5305         (bitmap_insert_into_set_1): Take value-id as parameter.
5306         (add_to_value): Pass it.
5307         (bitmap_insert_into_set): Likewise.
5308         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
5310 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
5312         PR driver/42442
5313         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
5314         (do_self_spec): For switches with SWITCH_IGNORE set set also
5315         SWITCH_IGNORE_PERMANENTLY.
5316         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
5317         of SWITCH_IGNORE.
5319 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
5321         * lto-streamer-out.c (output_unreferenced_globals): Output the full
5322         tree of an unreferenced global var.
5324 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5326         PR target/42542
5327         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5328         GTU to GT for V4SI and V2DI.
5330         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5331         (umin<mode>3): Removed.
5332         (uminv8hi3): New.
5333         (uminv4si3): Likewise.
5335 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5337         PR lto/42581
5338         * collect2.c (main): Turn on trace in collect2 if -v is passed
5339         to gcc with LTO.
5341 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
5343         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
5344         description of expression operand.
5346 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
5348         * configure.ac: Add install-html to target_list for Make-hooks.
5349         * configure: Regenerate.
5350         * fortran/Make-lang.in (F95_HTMLFILES): New.
5351         (fortran.html): Use it.
5352         (fortran.install-html): New.
5353         * Makefile.in (install-html): Add lang.install-html.
5354         * java/Make-lang.in (JAVA_HTMLFILES): New.
5355         (java.html): Use it.
5356         (java.install-html): New.
5357         * objc/Make-lang.in (objc.install-html): New.
5358         * objcp/Make-lang.in (obj-c++.install-html): New.
5359         * cp/Make-lang.in (c++.install-html): New.
5360         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
5361         * lto/Make-lang.in (lto.install-html): New.
5363 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5365         PR lto/42520
5366         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
5368 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5370         PR rtl-optimization/41862
5371         * store-motion.c (store_killed_in_insn, compute_store_table,
5372         remove_reachable_equiv_notes, replace_store_insn,
5373         build_store_vectors): Ignore all DEBUG_INSNs.
5375 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5377         PR lto/41564
5378         * common.opt: Add dumpdir.
5380         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
5381         isn't specified.
5382         (option_map): Add --dumpdir.
5384         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
5386         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
5388         * opts.c (decode_options): Try dump_dir_name first if
5389         dump_base_name isn't an absolute path.
5390         (common_handle_option): Handle OPT_dumpdir.
5392         * toplev.c (dump_dir_name): New.
5393         (print_switch_values): Also ignore -dumpdir.
5395         * toplev.h (dump_dir_name): New.
5397 2010-01-03  Richard Guenther  <rguenther@suse.de>
5399         PR tree-optimization/42589
5400         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
5401         double-word expansion of bswap32.
5403 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5405         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
5406         with BLOCK_FOR_INSN.
5407         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
5408         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
5409         noce_process_if_block): Likewise.
5410         * gcse.c (compute_local_properties, insert_expr_in_table,
5411         insert_set_in_table, canon_list_insert, find_avail_set,
5412         pre_insert_copy_insn): Likewise.
5414         * basic-block.h (BLOCK_NUM): Move from here...
5415         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
5417 2010-01-03  Richard Guenther  <rguenther@suse.de>
5419         PR tree-optimization/42438
5420         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
5421         contains_may_not_return_call flag.
5422         (BB_MAY_NOTRETURN): New.
5423         (valid_in_sets): Trapping nary operations are not valid
5424         in blocks that may not return.
5425         (insert_into_preds_of_block): Remove check for trapping expressions.
5426         (compute_avail): Compute also BB_MAY_NOTRETURN.
5428 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
5430         * doc/invoke.texi: Add 2010 to copyright years.
5432 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5434         * config/sparc/sparc.c: Fix formatting nits.
5436 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
5437             Alexander Monakov  <amonakov@ispras.ru>
5439         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
5441 2010-01-02  Richard Guenther  <rguenther@suse.de>
5443         PR middle-end/42577
5444         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
5445         (simplify_switch_using_ranges): Mark to be removed edges
5446         as non-executable.
5448 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5450         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
5452         * collect2.c (scan_libraries): Add missing argument in call to
5453         scan_prog_file.
5455 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
5457         PR target/42448
5458         * config/alpha/predicates.md (aligned_memory_operand): Return false
5459         for CQImode.
5460         (unaligned_memory_operand): Return true for CQImode.
5461         * config/alpha/alpha.c (get_aligned_mem): Assert that location
5462         doesn not cross aligned SImode word boundary.
5464 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
5466         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
5467         Remove.
5468         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
5469         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
5471 2010-01-02  Richard Guenther  <rguenther@suse.de>
5473         PR lto/41597
5474         * toplev.c (compile_file): Emit LTO marker properly.  Change
5475         it to __gnu_lto_v1.
5476         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5478 2010-01-01  Richard Guenther  <rguenther@suse.de>
5480         PR debug/42455
5481         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
5483 2010-01-01  Richard Guenther  <rguenther@suse.de>
5485         PR c/42570
5486         * c-decl.c (grokdeclarator): For zero-size arrays force
5487         structural equality checks as layout_type does.
5489 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5491         * builtins.c: Update copyright to 2010.
5493 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5495         PR lto/42531
5496         * lto-streamer-out.c (produce_asm): Revert the last change.
5497         (copy_function): Likewise.
5499         * lto-streamer.c (lto_get_section_name): Skip any leading
5500         asterisk in name.
5502 2010-01-01  Richard Guenther  <rguenther@suse.de>
5504         PR middle-end/42559
5505         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
5506         for LABEL_DECLs.
5509 Copyright (C) 2010 Free Software Foundation, Inc.
5511 Copying and distribution of this file, with or without modification,
5512 are permitted in any medium without royalty provided the copyright
5513 notice and this notice are preserved.