OSDN Git Service

PR c++/42623
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-09  Jason Merrill  <jason@redhat.com>
2
3         PR c++/42623
4         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
5         for incomplete type.
6
7         PR c++/41788
8         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
9         based on a warning flag.
10
11 2010-04-09  Richard Guenther  <rguenther@suse.de>
12
13         * tree-pretty-print.c (dump_generic_node): Dump
14         TYPE_VECTOR_SUBPARTS.
15
16 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
17
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>
29
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.
56
57 2010-04-09  Richard Guenther  <rguenther@suse.de>
58
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.
64
65         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
66         Handle AVX modes.
67         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
68
69 2010-04-09  Richard Guenther  <rguenther@suse.de>
70
71         PR target/43152
72         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
73
74 2010-04-09  Richard Guenther  <rguenther@suse.de>
75
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.
101
102 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
103
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>
121
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++.
125
126 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
127
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.
133
134         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
135
136 2010-04-08  Jing Yu  <jingyu@google.com>
137             Zdenek Dvorak  <ook@ucw.cz>
138
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.
143
144 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
145
146         * tree-if-conv.c: Fix comments and simplify logic.
147
148 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
149
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.
153
154 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
155
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.
162
163 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
164             Wolfgang Gellerich  <gellerich@de.ibm.com>
165
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.
175
176 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
177
178         PR target/43643
179         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
180
181 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
182
183         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
184         (Specific, *-*-solaris2*): Likewise.
185         Don't prefer Sun as over GNU as.
186
187 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
188
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.
192
193 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
194
195         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
196         instructions for z10.
197         (s390_expand_setmem): Likewise.
198         (s390_expand_cmpmem): Likewise.
199
200 2010-04-08  Richard Guenther  <rguenther@suse.de>
201
202         PR tree-optimization/43679
203         * tree-ssa-pre.c (eliminate): Only propagate copies.
204
205 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
206
207         PR bootstrap/43681
208         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
209         set but not used variable warning.
210
211 2010-04-08  Wei Guozhi  <carrot@google.com>
212
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.
216
217 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
218
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.
224
225 2010-04-08  Doug Kwan  <dougkwan@google.com>
226
227         * configure.ac: Recognize gold and do not use its version number
228         to test ld features.
229         * configure: Regenerate.
230
231 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
232
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.
239
240 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
241
242         * doc/install.texi (Configuration): Move description of
243         --enable-lto, --with-libelf*, --enable-gold from Java section to
244         general section.
245
246         * doc/generic.texi (Working with declarations)
247         (Function Properties, C and C++ Trees): Fix typos.
248         * doc/sourcebuild.texi (Top Level): Likewise.
249
250 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
251
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.
286
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.
299
300 2010-04-07  Simon Baldwin  <simonb@google.com>
301
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.
321
322 2010-04-07  Richard Guenther  <rguenther@suse.de>
323
324         * ipa-reference.c (mark_load): Use get_base_address.
325         (mark_store): Likewise.
326
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.
344
345 2010-04-07  Richard Guenther  <rguenther@suse.de>
346
347         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
348         Propagate constants everywhere.
349
350 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
351
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.
357
358 2010-04-07  Richard Guenther  <rguenther@suse.de>
359
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.
370
371 2010-04-07  Richard Guenther  <rguenther@suse.de>
372
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.
383
384 2010-04-07  Martin Jambor  <mjambor@suse.cz>
385
386         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
387
388 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
389
390         PR driver/41594
391         * gcc.c: Add -static-libstdc++ to list of recognized options.
392
393 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
394
395         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
396
397 2010-04-07  Richard Guenther  <rguenther@suse.de>
398
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.
402
403 2010-04-07  Richard Guenther  <rguenther@suse.de>
404
405         PR middle-end/42617
406         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
407         preserve points-to related information.
408
409 2010-04-07  Richard Guenther  <rguenther@suse.de>
410
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.
416
417 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
418
419         PR debug/43628
420         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
421
422 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
423
424         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
425         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
426
427 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
428
429         * tree-if-conv.c: Fix indentation and comments.
430
431 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
432
433         * tree-if-conv.c: Sort static functions in topological order.
434
435 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
436
437         * tree-if-conv.c: Fix indentation and comments.
438
439 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
440
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.
450
451 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
452
453         PR middle-end/43519
454         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
455         POINTER_PLUS_EXPR for pointer types.
456
457 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
458
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.
490
491 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
492
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.
496
497 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
498
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.
515
516 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
517
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.
536
537 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
538
539         PR middle-end/32824
540         * passes.c (init_optimization_passes): Move pass_lim before
541         pass_copy_prop and pass_dce_loop.
542
543 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
544
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.
550
551 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
552
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.
565
566 2010-04-06  Jan Hubicka  <jh@suse.cz>
567
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.
575
576 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
577
578         * config/i386/i386.md: Remove comment about 'e' and 'E'
579         operand modifier.
580
581 2010-04-06  Richard Guenther  <rguenther@suse.de>
582
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.
587
588 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
589
590         * BASE-VER: Change to 4.6.0.
591
592         PR target/43638
593         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
594         handling.
595
596 2010-04-06  Richard Guenther  <rguenther@suse.de>
597
598         PR middle-end/43661
599         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
600
601 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
602
603         * doc/invoke.texi (Optimize Options): Document that LTO
604         won't remove object access purely due to incompatible
605         declarations.
606
607 2010-04-04  Matthias Klose  <doko@ubuntu.com>
608
609         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
610         Initialize variable.
611
612 2010-04-03  Richard Guenther  <rguenther@suse.de>
613
614         PR middle-end/42509
615         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
616         require a non-NULL MEM_OFFSET.
617
618 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
619
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.
670
671 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
672
673         PR other/43620
674         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
675         * aclocal.m4: Regenerate.
676
677 2010-04-02  Richard Guenther  <rguenther@suse.de>
678
679         PR tree-optimization/43629
680         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
681         if we have seen a constant value.
682
683 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
684
685         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
686
687 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
688
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.
696
697 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
698
699         PR bootstrap/43531
700
701         Revert:
702         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
703
704         * Makefile.in ($(out_object_file)): Depend on
705         gt-$(basename $(notdir $(out_file))).h.
706
707 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
708
709         * config.gcc (lm32-*-rtems*): Add t-lm32.
710
711 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
712
713         * config.gcc: Add lm32-*-rtems*.
714         * config/lm32/rtems.h: New file.
715
716 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
717
718         PR target/42609
719         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
720
721 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
722
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.
728
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.
732
733 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
734
735         PR debug/43325
736         * dwarf2out.c (gen_variable_die): Allow debug info for variable
737         re-declaration when it happens in a function.
738
739 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
740
741         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
742         (cgraph_remove_function_insertion_hook): Same.
743         (cgraph_call_function_insertion_hooks): Same.
744
745 2010-04-01  Richard Guenther  <rguenther@suse.de>
746
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.
755
756 2010-04-01  Richard Guenther  <rguenther@suse.de>
757
758         PR tree-optimization/43607
759         * ipa-type-escape.c (check_call): Do not access non-existing
760         arguments.
761
762 2010-04-01  Richard Guenther  <rguenther@suse.de>
763
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>
768
769         * tree-profile.c (tree_init_ic_make_global_vars): Make static
770         variables TLS.
771
772 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
773
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.
782
783 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
784
785         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
786         with_tune_32 to pentium4.
787
788 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
789
790         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
791
792 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
793
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.
805
806 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
807
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.
815
816 2010-03-31  Richard Guenther  <rguenther@suse.de>
817             Zdenek Dvorak  <ook@ucw.cz>
818             Sebastian Pop  <sebastian.pop@amd.com>
819
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.
824
825 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
826
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.
878
879 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
880
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.
888
889 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
890
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.
897
898 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
899
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 #.
919
920 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
921
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.
933
934         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
935         instead of cselib_lookup following by tweaking locs->setting_insn.
936
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.
941
942 2010-03-31  Richard Guenther  <rguenther@suse.de>
943
944         PR middle-end/43600
945         * cgraphunit.c (cgraph_output_in_order): Do not allocate
946         temporary data on stack.
947
948 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
949
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.
957
958 2010-03-31  Jie Zhang  <jie@codesourcery.com>
959
960         PR 43574
961         * opt-functions.awk (var_type_struct): Use signed char type
962         for simple variables.
963
964 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
965
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.
972
973 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
974
975         PR target/43580
976         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
977         V2SImode or XFmode on PRE_DEC.
978
979         PR debug/43557
980         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
981         BLKmode.
982
983 2010-03-31  Jie Zhang  <jie@codesourcery.com>
984
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.
992
993 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
994
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.
1001
1002 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
1003
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.
1031
1032 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
1033
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.
1039
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.
1043
1044 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
1045
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.
1051
1052 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1053
1054         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
1055         stack check if the mask would be zero.
1056
1057 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1058             Jack Howarth <howarth@bromo.med.uc.edu>
1059
1060         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1061         variables TLS.
1062
1063 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
1064
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.
1072
1073 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
1074
1075         * config/lm32/t-lm32: New file.
1076         * config.gcc: Use the above file when targetting lm32.
1077
1078 2010-03-28  Duncan Sands  <baldrick@free.fr>
1079
1080         * Makefile.in (PLUGIN_HEADERS): Add except.h.
1081
1082 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1083
1084         PR middle-end/43431
1085         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
1086         Improve vectorization cost model diagnostic.
1087
1088 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1089
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.
1095
1096 2010-03-29  Richard Guenther  <rguenther@suse.de>
1097
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.
1101
1102 2010-03-29  Jie Zhang  <jie@codesourcery.com>
1103
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.
1109
1110 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
1111
1112         * config/rtems.h: Abandon -qrtems_debug.
1113
1114 2010-03-28  Jan Hubicka  <jh@suse.cz>
1115
1116         PR tree-optimization/43505
1117         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
1118         map should not be copied.
1119
1120 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1121
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.
1127
1128 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
1129
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.
1133
1134 2010-03-27  Jan Hubicka  <jh@suse.cz>
1135
1136         PR middle-end/43391
1137         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
1138         notice_global_symbol work.
1139
1140 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
1141
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.
1148
1149 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
1150
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.
1163
1164 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
1165
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.
1171
1172 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1173
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.
1177
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.
1182
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.
1191
1192 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1193
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.
1201
1202 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1203
1204         PR target/43524
1205         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
1206         Remove invalid assert and wrong comment.
1207
1208 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1209
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.
1217
1218 2010-03-26  David S. Miller  <davem@davemloft.net>
1219
1220         * configure.ac: Fix sparc GOTDATA_OP bug check.
1221         * configure: Rebuild.
1222
1223 2010-03-26  Alan Modra  <amodra@gmail.com>
1224
1225         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
1226
1227 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1228
1229         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
1230         TLS_SECTION_ASM_FLAG.
1231
1232 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
1233
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.
1237
1238         PR c/43385
1239         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
1240         argument if the argument is truth_value_p.
1241
1242 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1243
1244         * config/rs6000/constraints.md: Update copyright year for my changes.
1245
1246         PR target/43484
1247         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
1248         used in reg+reg addressing, swap registers.
1249
1250 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1251
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.
1276
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.
1281
1282 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1283
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.
1308
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.
1312
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.
1320
1321 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1322
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.
1329
1330 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1331
1332         PR debug/43508
1333         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1334         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
1335
1336         PR debug/43479
1337         * ira.c (adjust_cleared_regs): New function.
1338         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
1339
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.
1349
1350 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
1351
1352         PR rtl-optimization/43413
1353         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
1354         hard regs too.
1355
1356 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
1357
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'.
1361
1362 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1363
1364         * config/i386/i386.c (ix86_target_string): Add -mfma.
1365         Fix a typo in comment.
1366
1367 2010-03-22  Mike Stump  <mikestump@comcast.net>
1368
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.
1372
1373 2010-03-22  Jason Merrill  <jason@redhat.com>
1374
1375         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
1376         Use () rather than [], and move before the element type.
1377
1378 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1379
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.
1391
1392 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1393
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.
1399
1400 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
1401             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1402
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.
1413
1414 2010-03-22  Michael Matz  <matz@suse.de>
1415
1416         PR middle-end/43475
1417         * recog.c (validate_replace_rtx_group): Replace also in
1418         REG_EQUAL and REG_EQUIV notes.
1419
1420 2010-03-22  Richard Guenther  <rguenther@suse.de>
1421
1422         PR tree-optimization/43390
1423         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
1424         sure vector extracts are type correct.
1425
1426 2010-03-22  Richard Guenther  <rguenther@suse.de>
1427
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.
1432
1433 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
1434
1435         * varasm.c (make_decl_rtl_for_debug): Also clear
1436         flag_mudflap for the duration of make_decl_rtl call.
1437
1438         PR debug/43443
1439         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
1440         locs from preserved VALUEs.
1441
1442 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1443
1444         PR middle-end/42718
1445         * pa.md (movmemsi): Set align to one if zero.
1446         (movmemdi): Likewise.
1447
1448 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
1449
1450         PR target/42321
1451         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
1452         with their corresponding prologue pushes.
1453
1454 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
1455
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.
1460
1461 2010-03-20  Richard Guenther  <rguenther@suse.de>
1462
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.
1467
1468 2010-03-19  Mike Stump  <mikestump@comcast.net>
1469
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.
1473
1474 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1475
1476         PR c/43211
1477         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
1478         an error.
1479
1480 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
1481
1482         PR rtl-optimization/42258
1483         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
1484         use that may match DEF.
1485
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.
1493
1494         * optabs.c (avoid_expensive_constant): Fix formatting.
1495
1496 2010-03-19  Michael Matz  <matz@suse.de>
1497
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.
1501
1502 2010-03-19  Martin Jambor  <mjambor@suse.cz>
1503
1504         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
1505         and is_gimple_ip_invariant_address.
1506
1507 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1508
1509         Revert
1510         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1511
1512         * config/arm/arm.c (arm_override_options): Turn off
1513         flag_dwarf2_cfi_asm for AAPCS variants.
1514
1515 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1516
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.
1522
1523 2010-03-19  Michael Matz  <matz@suse.de>
1524
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.
1529
1530 2010-03-19  Richard Guenther  <rguenther@suse.de>
1531
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.
1537
1538 2010-03-19  David S. Miller  <davem@davemloft.net>
1539
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.
1555
1556 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1557             Jack Howarth <howarth@bromo.med.uc.edu>
1558
1559         PR target/36399
1560         * config/i386/i386.h: Fix ABI on darwin x86-32.
1561
1562 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
1563
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.
1568
1569 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1570
1571         PR bootstrap/43399
1572         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
1573         mem_mode.
1574
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.
1578
1579 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
1580
1581         PR debug/42873
1582         * var-tracking.c (canonicalize_vars_star): New.
1583         (dataflow_post_merge_adjust): Use it.
1584
1585 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1586
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.
1596
1597 2010-03-18  Martin Jambor  <mjambor@suse.cz>
1598
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.
1612
1613 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1614
1615         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
1616
1617 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1618
1619         PR target/43383
1620         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
1621         for 32bit.
1622
1623 2010-03-18  Michael Matz  <matz@suse.de>
1624
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.
1628
1629 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
1630             Eric Botcazou  <ebotcazou@adacore.com>
1631
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.
1635
1636 2010-03-18  Michael Matz  <matz@suse.de>
1637
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.
1641
1642 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
1643
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.
1655
1656 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1657
1658         * common.opt (dumpdir): Remove redundant tab.
1659
1660 2010-03-17  Martin Jambor  <mjambor@suse.cz>
1661
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.
1665
1666 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1667
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.
1675
1676 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1677
1678         * doc/extend.texi (Function Attributes): Rewrite unfinished
1679         sentence in ms_abi documentation.
1680
1681 2010-03-17  Alan Modra  <amodra@gmail.com>
1682
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.
1687
1688 2010-03-16  Richard Henderson  <rth@redhat.com>
1689
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.
1694
1695 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1696
1697         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
1698         statements before splitting block.
1699
1700 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1701
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.
1708
1709 2010-03-16  Richard Guenther  <rguenther@suse.de>
1710
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.
1714
1715 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1716             Alexandre Oliva  <aoliva@redhat.com>
1717
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.
1722
1723 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
1724
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.
1792
1793 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
1794
1795         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
1796         debug statements.
1797
1798 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
1799
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.
1804
1805 2010-03-15  Michael Matz  <matz@suse.de>
1806
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.
1813
1814 2010-03-15  Richard Guenther  <rguenther@suse.de>
1815
1816         PR tree-optimization/43367
1817         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
1818         elimination check.
1819
1820 2010-03-15  Richard Guenther  <rguenther@suse.de>
1821
1822         PR tree-optimization/43317
1823         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
1824
1825 2010-03-15  Martin Jambor  <mjambor@suse.cz>
1826
1827         PR tree-optimization/43141
1828         * tree-sra.c (create_abstract_origin): New function.
1829         (modify_function): Call create_abstract_origin.
1830
1831 2010-03-15  Chris Demetriou  <cgd@google.com>
1832
1833         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
1834         wasn't copied.
1835
1836 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1837
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.
1841
1842 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1843
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.
1848
1849 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1850
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.
1856
1857 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1858
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.
1864
1865 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1866
1867         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
1868
1869 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1870
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.
1874
1875 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1876
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.
1881
1882 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1883
1884         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
1885         * graphite-sese-to-poly.h (build_poly_scop): Same.
1886
1887 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1888
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.
1894
1895 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
1896
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.
1904
1905 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
1906
1907         PR target/42869
1908         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
1909
1910 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
1911
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.
1915
1916 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
1917
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.
1939
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.
1951
1952 2010-03-11  David S. Miller  <davem@davemloft.net>
1953
1954         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
1955         of four.
1956         * configure: Rebuild.
1957
1958 2010-03-11  Martin Jambor  <mjambor@suse.cz>
1959
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.
1967
1968 2010-03-11  Chris Demetriou  <cgd@google.com>
1969
1970         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
1971         include/stdint-gcc.h, and include/stdint.h world-readable.
1972
1973 2010-03-11  Richard Guenther  <rguenther@suse.de>
1974
1975         PR tree-optimization/43255
1976         * tree-vrp.c (process_assert_insertions_for): Do not insert
1977         asserts for trivial conditions.
1978
1979 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1980
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.
1985
1986 2010-03-11  Richard Guenther  <rguenther@suse.de>
1987
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.
1992
1993 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1994
1995         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
1996         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
1997
1998 2010-03-10  Jan Hubicka  <jh@suse.cz>
1999
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.
2006
2007 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2008
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.
2019
2020 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
2021
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.
2027
2028 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
2029
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.
2037
2038 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2039
2040         PR bootstrap/43287
2041         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2042         UNSPEC_MACHOPIC_OFFSET.
2043
2044 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2045
2046         PR target/43294
2047         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
2048         (m68k_delegitimize_address): New function.
2049
2050 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
2051
2052         PR debug/43299
2053         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
2054
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.
2060
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.
2065
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.
2076
2077         PR debug/43290
2078         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
2079         RTX_FRAME_RELATED_P.
2080
2081 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2082
2083         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
2084         whitespaces in output template.
2085
2086 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2087
2088         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
2089         out array boundary.
2090
2091 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2092
2093         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
2094         builtins.exp in a separate job.
2095
2096 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2097
2098         * graphite-sese-to-poly.c (add_param_constraints): Use
2099         lower_bound_in_type and upper_bound_in_type.
2100
2101 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2102
2103         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
2104         instead of unsigned_type_node.
2105
2106 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2107             Reza Yazdani  <reza.yazdani@amd.com>
2108
2109         PR middle-end/43065
2110         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
2111         on pointer type parameters.
2112
2113 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2114
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.
2123
2124 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2125
2126         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
2127         code generation with gloog_error.
2128
2129 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2130
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.
2135
2136 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2137
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.
2142
2143 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2144
2145         * graphite-dependences.c (map_into_dep_poly): Removed.
2146         (dependence_polyhedron_1): Use combine_context_id_scat.
2147
2148 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2149
2150         * graphite-poly.h (struct poly_scattering): Add layout documentation.
2151         (struct poly_bb): Same.
2152         (combine_context_id_scat): New.
2153
2154 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2155
2156         PR middle-end/42326
2157         * sese.c (name_defined_in_loop_p): Return false for default
2158         definitions.
2159
2160 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2161
2162         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
2163         and clean up the logic.
2164
2165 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2166
2167         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
2168         early return.
2169
2170 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2171
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.
2194
2195 2010-03-08  Richard Guenther  <rguenther@suse.de>
2196
2197         PR tree-optimization/43269
2198         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
2199         region detection.
2200
2201 2010-03-08  Martin Jambor  <mjambor@suse.cz>
2202
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.
2209
2210 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
2211
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.
2289
2290 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
2291
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.
2299
2300 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2301
2302         PR debug/42897
2303         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
2304         permanently.
2305
2306 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2307
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.
2311
2312 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
2313
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.
2324
2325 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
2326
2327         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
2328         (site.exp): Export them when plugins are enabled.
2329
2330 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
2331
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.
2336
2337 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2338
2339         PR c/43248
2340         * c-decl.c (build_compound_literal): Return early if init is
2341         an error_mark_node.
2342
2343 2010-03-04  Martin Jambor  <mjambor@suse.cz>
2344
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.
2349
2350 2010-03-04  Mike Stump  <mikestump@comcast.net>
2351
2352         * Makefile.in (TAGS): Remove *.y.
2353
2354 2010-03-04  Richard Guenther  <rguenther@suse.de>
2355
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.
2361
2362 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
2363
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.
2367
2368 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2369
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.
2374
2375 2010-03-03  Jeff Law  <law@redhat.com>
2376
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.
2381
2382 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
2383
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.
2387
2388 2010-03-03  Jason Merrill  <jason@redhat.com>
2389
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.
2398
2399 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
2400
2401         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
2402         (sparc*-*-solaris2*): ...this.
2403
2404 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
2405
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.
2411
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.
2417
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.
2423
2424 2010-03-02  Jason Merrill  <jason@redhat.com>
2425
2426         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
2427
2428 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
2429
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.
2444
2445 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
2446
2447         * config/alpha/alpha.c (override_options): Fix -mtune error message.
2448
2449 2010-03-02  Jeff Law  <law@redhat.com>
2450
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.
2457
2458 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
2459
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.
2466
2467 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
2468             Steven Bosscher  <steven@gcc.gnu.org>
2469
2470         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
2471         instead of bb.
2472
2473 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
2474
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.
2479
2480 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
2481             Daniel Jacobowitz  <dan@codesourcery.com>
2482
2483         * doc/sourcebuild.texi (Test directives): Clarify options to
2484         dg-skip-if.
2485
2486 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2487
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.
2492
2493 2010-03-01  Richard Guenther  <rguenther@suse.de>
2494
2495         PR tree-optimization/43220
2496         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
2497         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
2498
2499 2010-03-01  Richard Guenther  <rguenther@suse.de>
2500             Martin Jambor  <mjambor@suse.cz>
2501
2502         PR middle-end/41250
2503         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
2504         gimplified parameters.
2505
2506 2010-03-01  Christian Bruel  <christian.bruel@st.com>
2507
2508         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
2509
2510 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
2511
2512         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
2513
2514 2010-03-01  Richard Guenther  <rguenther@suse.de>
2515
2516         PR middle-end/43213
2517         * expr.c (expand_assignment): Use the alias-oracle to tell
2518         if the rhs aliases the result decl.
2519
2520 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2521
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.
2528
2529 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
2530
2531         * toplev.h (inform_n, error_n): Declare.
2532         * diagnostic.c (inform_n, error_n): New function.
2533
2534 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
2535
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.
2539
2540 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2541
2542         * config/sh/sh.c (unspec_bbr_uid): New.
2543         (gen_block_redirect): Use it instead of INSN_UID.
2544         (gen_far_branch): Likewise.
2545
2546 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
2547
2548         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
2549         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
2550
2551 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2552
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.
2559
2560 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2561
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*.
2566
2567 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2568
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.
2573
2574 2010-02-27  Richard Guenther  <rguenther@suse.de>
2575
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.
2581
2582 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2583
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.
2586
2587 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
2588
2589         PR ada/43096
2590         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2591         the same alias set.
2592
2593 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2594
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.
2598
2599 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2600
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.
2607
2608 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2609
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.
2619
2620 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2621
2622         PR c/24577
2623         * c-decl.c (undeclared_variable): Use an informative note.
2624
2625 2010-02-26  Richard Guenther  <rguenther@suse.de>
2626
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.
2632
2633 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2634
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.
2639
2640 2010-02-26  Nick Clifton  <nickc@redhat.com>
2641
2642         * config/rx/rx.md (sminsi3): Remove bogus alternative.
2643
2644 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2645
2646         * config.gcc: Support --with-fpmath=sse for x86.
2647
2648         * config/i386/ssemath.h: New.
2649
2650         * doc/install.texi (--with-fpmath=sse): Documented.
2651
2652 2010-02-26  Richard Guenther  <rguenther@suse.de>
2653
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.
2657
2658 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
2659
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.
2663
2664 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
2665
2666         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
2667
2668 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2669
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.
2674
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.
2680
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.
2702
2703 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
2704
2705         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
2706         (arm*-*-*): Ditto.
2707
2708 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2709
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.
2713
2714 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
2715
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.
2721
2722 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
2723
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.
2731
2732         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2733         V2DF/V2DI interleave high/low builtins.
2734
2735         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
2736         new VSX builtins.
2737
2738         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
2739         interleave high/low functions.
2740
2741 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
2742
2743         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
2744         #pragma extern_prefix.
2745
2746 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
2747
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.
2751
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.
2755
2756 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2757
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=.
2764
2765 2010-02-24  Jason Merrill  <jason@redhat.com>
2766
2767         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
2768
2769 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2770
2771         * cfg.c (alloc_aux_for_block): Remove inline.
2772         (alloc_aux_for_edge): Likewise.
2773
2774 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2775
2776         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
2777
2778 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2779
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.
2783
2784 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2785
2786         PR c/43128
2787         * c-typeck.c (ep_convert_and_check): New.
2788         (build_conditional_expr): Use it.
2789         (build_binary_op): Likewise.
2790
2791 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
2792
2793         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
2794
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.
2800
2801 2010-02-24  Nick Clifton  <nickc@redhat.com>
2802
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.
2808
2809 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2810
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.
2816
2817 2010-02-23  Jason Merrill  <jason@redhat.com>
2818
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.
2822
2823         PR c++/42837
2824         * stor-layout.c (place_field): Don't warn about unnecessary
2825         DECL_PACKED if the type is packed.
2826
2827 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2828
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.
2832
2833 2010-02-23  Michael Matz  <matz@suse.de>
2834
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.
2840
2841 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2842
2843         PR 43123
2844         * config/i386/i386.c (override_options): Reorganise to provide
2845         better error messages.
2846
2847 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2848
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.
2856
2857 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2858
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.
2862
2863 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2864
2865         PR middle-end/43026
2866         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
2867
2868 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2869
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.
2875
2876 2010-02-22  Richard Guenther  <rguenther@suse.de>
2877
2878         PR lto/43045
2879         * tree-inline.c (declare_return_variable): Use the type of
2880         the call stmt lhs if available.
2881
2882 2010-02-22  Duncan Sands  <baldrick@free.fr>
2883
2884         * passes.c (register_pass): Always consider all pass lists when
2885         ref_pass_instance_number is zero.
2886
2887 2010-02-22  Richard Guenther  <rguenther@suse.de>
2888
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.
2894
2895 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2896
2897         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
2898         (QI to BLKmode splitter): New splitter.
2899
2900 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2901
2902         * config/i386/i386.c (initial_ix86_tune_features): Turn on
2903         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
2904
2905 2010-02-22  Richard Guenther  <rguenther@suse.de>
2906
2907         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
2908
2909 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
2910
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.
2914
2915 2010-02-21  Tobias Burnus  <burnus@net-b.de>
2916
2917         PR fortran/35259
2918         * doc/invoke.texi (-fassociative-math): Document that this
2919         option is automatically enabled for Fortran.
2920
2921 2010-02-20  David S. Miller  <davem@davemloft.net>
2922
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.
2936
2937 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
2938
2939         PR target/43067
2940         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
2941         attribute to ssemul.
2942         (xop_mulv2div2di3_high): Ditto.
2943
2944 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2945
2946         PR c++/35669
2947         * c.opt (Wconversion-null): New option.
2948         * doc/invoke.texi (Wconversion-null): Document.
2949
2950 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2951
2952         * common.opt (Wlarger-than-): Add Undocumented.
2953
2954 2010-02-19  Mike Stump  <mikestump@comcast.net>
2955
2956         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
2957
2958 2010-02-19  Jason Merrill  <jason@redhat.com>
2959
2960         PR target/40332
2961         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
2962         * configure: Likewise.
2963
2964 2010-02-20  Alan Modra  <amodra@gmail.com>
2965
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.
2972
2973 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2974
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.
2980
2981 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2982
2983         PR 41779
2984         * c-common.c (conversion_warning): Remove widening conversions
2985         before checking the conversion of integers to reals.
2986
2987 2010-02-19  Mike Stump  <mikestump@comcast.net>
2988
2989         PR middle-end/43125
2990         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
2991
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.
3002
3003 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3004
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.
3010
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.
3018
3019         PR middle-end/42233
3020         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
3021
3022 2010-02-19  Richard Guenther  <rguenther@suse.de>
3023
3024         PR tree-optimization/42916
3025         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
3026         instructions.
3027
3028 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
3029
3030         * configure.ac: Replace all uses of changequote in macro arguments
3031         with proper quoting.
3032
3033 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3034
3035         PR middle-end/42233
3036         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
3037
3038 2010-02-19  Richard Guenther  <rguenther@suse.de>
3039
3040         PR tree-optimization/42944
3041         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
3042         test for aliasing with errno.
3043
3044 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3045
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.
3077
3078         PR middle-end/42233
3079         * gimplify.c (gimple_boolify): For __builtin_expect call
3080         gimple_boolify also on its first argument.
3081
3082 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
3083
3084         * configure.ac (gnu-unique-object): Wrap regexps using [] in
3085         changequote block.
3086         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
3087         * configure: Regenerated.
3088
3089 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3090
3091         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
3092         lang_hooks.types_compatible_p instead of comptypes.
3093
3094 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
3095
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.
3099
3100 2010-02-18  Martin Jambor  <mjambor@suse.cz>
3101
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.
3105
3106 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
3107
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.
3113
3114 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
3115
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.
3124
3125 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
3126
3127         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
3128
3129 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
3130
3131         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
3132         patterns from predicated pattern.
3133
3134 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
3135
3136         PR target/43103
3137         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
3138         for insn mnemonic suffix.
3139
3140 2010-02-17  Richard Guenther  <rguenther@suse.de>
3141
3142         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
3143         to loop PHI nodes.
3144
3145 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
3146
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.
3151
3152 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
3153
3154         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
3155         Fix return type.  Fix argument type.  Explain meaning of return value.
3156
3157 2010-02-16  Richard Guenther  <rguenther@suse.de>
3158
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.
3164
3165 2010-02-16  Ira Rosen <irar@il.ibm.com>
3166
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.
3172
3173 2010-02-16  Richard Guenther  <rguenther@suse.de>
3174
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.
3179
3180 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
3181
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.
3192
3193 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
3194             Jakub Jelinek <jakub@redhat.com>
3195
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.
3200
3201 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
3202
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.
3207
3208         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
3209
3210         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
3211         Fix argument types.
3212
3213         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
3214         Rewrite text to refer to the names.
3215
3216 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
3217
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.
3247
3248 2010-02-15  Nick Clifton  <nickc@redhat.com>
3249
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.
3257
3258 2010-02-15  Richard Guenther  <rguenther@suse.de>
3259
3260         PR middle-end/43068
3261         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
3262         if that is zero.
3263
3264 2010-02-15  Nick Clifton  <nickc@redhat.com>
3265
3266         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
3267         delta.
3268
3269 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
3270
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.
3277
3278 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
3279
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.
3284
3285 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3286
3287         * config/s390/s390.c (s390_sched_init): New function.
3288         (TARGET_SCHED_INIT): Target hook defined.
3289
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>
3293
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.
3298
3299 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3300
3301         * c-pch.c (pch_init): Clear v.
3302
3303 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3304
3305         PR middle-end/42930
3306         * graphite-scop-detection.c (graphite_can_represent_scev): Call
3307         graphite_can_represent_init for MULT_EXPR.
3308
3309 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3310
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.
3315
3316 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3317
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.
3332
3333 2010-02-11  Richard Guenther  <rguenther@suse.de>
3334
3335         PR tree-optimization/42998
3336         * tree-ssa-pre.c (create_expression_by_pieces): Treat
3337         POINTER_PLUS_EXPR properly.
3338
3339 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3340             Changpeng Fang  <changpeng.fang@amd.com>
3341
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.
3345
3346         * gcc.dg/tree-ssa/ivopts-3.c: New.
3347
3348 2010-02-11  Richard Guenther  <rguenther@suse.de>
3349
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.
3356
3357 2010-02-11  Richard Guenther  <rguenther@suse.de>
3358
3359         PR driver/43021
3360         * gcc.c (process_command): Handle LTO file@offset case more
3361         appropriately.
3362
3363 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3364
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.
3369
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.
3378
3379 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
3380
3381         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
3382         instead of loop.
3383
3384 2010-02-10  Richard Guenther  <rguenther@suse.de>
3385
3386         PR tree-optimization/43017
3387         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
3388         for wrapping signed arithmetic.
3389
3390 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3391
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.
3395
3396 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
3397
3398         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
3399         note when flag_exceptions is set.
3400
3401 2010-02-10  Duncan Sands  <baldrick@free.fr>
3402
3403         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
3404
3405 2010-02-10  Richard Guenther  <rguenther@suse.de>
3406
3407         PR c/43007
3408         * tree.c (get_unwidened): Handle constants.
3409         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
3410
3411 2010-02-10  Martin Jambor  <mjambor@suse.cz>
3412
3413         PR lto/42985
3414         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
3415         check for variable argument counts independently.
3416
3417 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3418
3419         PR target/42841
3420         * config/sh/sh.c (find_barrier): Increase length for non delayed
3421         conditional branches.
3422
3423 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3424
3425         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
3426
3427 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3428
3429         * builtins.c (set_builtin_user_assembler_name): Also handle
3430         ffs if int is smaller than word.
3431
3432 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
3433
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.
3439
3440 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
3441
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.
3450
3451 2010-02-09  Richard Guenther  <rguenther@suse.de>
3452
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.
3458
3459 2010-02-09  Richard Guenther  <rguenther@suse.de>
3460
3461         PR tree-optimization/43000
3462         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
3463         arithmetic manually.
3464
3465 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
3466
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.
3470
3471 2010-02-08  Martin Jambor  <mjambor@suse.cz>
3472
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.
3478
3479 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
3480
3481         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
3482
3483 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
3484
3485         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
3486         before the pattern.
3487
3488 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
3489
3490         PR middle-end/42946
3491         * df-core.c (df_finish_pass): Change type of saved_flags to int.
3492
3493 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3494
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.
3500
3501 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3502
3503         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
3504
3505 2010-02-07  Richard Guenther  <rguenther@suse.de>
3506
3507         PR middle-end/42991
3508         * expr.c (get_inner_reference): Always initialize *pbitsize.
3509
3510 2010-02-07  Richard Guenther  <rguenther@suse.de>
3511
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.
3518
3519 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
3520
3521         PR target/42957
3522         * arm.c (arm_override_options): Just return if the user has specified
3523         an invalid fpu name.
3524
3525 2010-02-03  Jason Merrill  <jason@redhat.com>
3526
3527         PR c++/42870
3528         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
3529         i386_pe_maybe_record_exported_symbol.
3530
3531 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
3532
3533         PR target/42924
3534         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3535         (pa_delegitimize_address): New function.
3536
3537 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
3538
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.
3541
3542 2010-02-05  Richard Guenther  <rguenther@suse.de>
3543
3544         PR lto/42762
3545         * lto-streamer-in.c (get_resolution): Deal with references
3546         to undefined functions.
3547
3548 2010-02-05  Richard Guenther  <rguenther@suse.de>
3549
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.
3557
3558 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
3559
3560         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
3561         for rs6000_gen_cell_microcode.
3562
3563 2010-02-04  Richard Guenther  <rguenther@suse.de>
3564
3565         PR rtl-optimization/42952
3566         * dse.c (const_or_frame_p): Remove MEM handling.
3567
3568 2010-02-04  Nick Clifton  <nickc@redhat.com>
3569
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.
3578
3579 2010-02-03  Jason Merrill  <jason@redhat.com>
3580
3581         PR c++/40138
3582         * fold-const.c (operand_equal_p): Handle erroneous types.
3583
3584 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3585
3586         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3587
3588 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3589
3590         PR rtl-optimization/42941
3591         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3592         of xmalloc.
3593
3594 2010-02-03  Jason Merrill  <jason@redhat.com>
3595
3596         PR c++/35652
3597         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3598
3599 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3600
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.
3638
3639 2010-02-03  Richard Guenther  <rguenther@suse.de>
3640
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.
3645
3646 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3647
3648         * doc/invoke.texi: Fix name of sched1 dump.
3649
3650         * opts.c (decode_options): Set flag_tree_switch_conversion
3651         only conditionally on optimize >= 2.
3652
3653         * gcse.c: Assorted comment fixes in pass description.
3654
3655 2010-02-03  Anthony Green  <green@moxielogic.com>
3656
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.
3665
3666 2010-02-03  Richard Guenther  <rguenther@suse.de>
3667
3668         PR middle-end/42927
3669         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3670
3671 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3672
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]*.
3676
3677 2010-02-02  Nick Clifton  <nickc@redhat.com>
3678
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.
3683
3684 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3685
3686         PR java/41991
3687         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3688         as _darwin10_Unwind_FindEnclosingFunction().
3689         * libgcc-libsystem.ver: New.
3690
3691 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3692
3693         PR target/41399
3694         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3695         implicitly set registers.
3696
3697 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3698
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.
3710
3711 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3712
3713         PR libgomp/29986
3714         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3715         Document fix for TLS bug.
3716
3717 2010-01-31  Richard Guenther  <rguenther@suse.de>
3718
3719         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3720         conservatively correct.
3721
3722 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3723
3724         PR target/42850
3725         Revert:
3726         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3727
3728         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3729
3730 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3731
3732         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3733
3734 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3735
3736         * config.gcc: Adjust order of makefile fragments for mingw targets.
3737
3738 2010-01-31  Richard Guenther  <rguenther@suse.de>
3739
3740         PR middle-end/42898
3741         * gimplify.c (gimplify_init_constructor): For volatile LHS
3742         initialize a temporary.
3743
3744 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3745
3746         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3747         --with-headers
3748         * configure: Regenerate.
3749
3750 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3751
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.
3755
3756 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3757
3758         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3759         unused.
3760
3761 2010-01-29  Richard Guenther  <rguenther@suse.de>
3762
3763         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3764         Assert we successfully updated the call.
3765
3766 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3767
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.
3773
3774 2010-01-29  Richard Guenther  <rguenther@suse.de>
3775
3776         PR middle-end/37448
3777         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3778         quadratic behavior in most cases.
3779
3780 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3781
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.
3785
3786 2010-01-28  Richard Guenther  <rguenther@suse.de>
3787
3788         PR tree-optimization/42871
3789         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3790
3791 2010-01-28  Richard Guenther  <rguenther@suse.de>
3792
3793         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3794         into call arguments.
3795
3796 2010-01-28  Richard Guenther  <rguenther@suse.de>
3797
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.
3801
3802 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3803
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.
3816
3817 2010-01-28  Michael Matz  <matz@suse.de>
3818
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.
3822
3823 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3824
3825         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3826         (arm_rev): New.
3827         (arm_legacy_rev): Likewise.
3828         (thumb_legacy_rev): Likewise.
3829
3830 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3831
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.
3842
3843 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3844
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.
3852
3853 2010-01-27  Richard Guenther  <rguenther@suse.de>
3854
3855         PR middle-end/42878
3856         * tree-inline.c (remap_decl): Delay remapping of SSA name
3857         default definitions until we need them.
3858
3859 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3860
3861         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3862         (rs6000_delegitimize_address): New function.
3863
3864         * config/s390/s390.c (s390_delegitimize_address): Call
3865         delegitimize_mem_from_attrs.
3866
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.
3871
3872 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3873
3874         Revert:
3875         PR target/42841
3876         * config/sh/sh.c (find_barrier): Increase length for non delayed
3877         conditional branches.
3878
3879 2010-01-27  Matthias Klose  <doko@ubuntu.com>
3880
3881         * configure.ac (gnu-unique-object): Fix ldd version check.
3882         * configure: Regenerate.
3883
3884 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3885
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.
3890
3891 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3892
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.
3908
3909 2010-01-26  Richard Guenther  <rguenther@suse.de>
3910
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.
3917
3918 2010-01-26  Richard Guenther  <rguenther@suse.de>
3919
3920         PR rtl-optimization/42685
3921         * web.c (web_main): Ignore DEBUG_INSNs.
3922
3923 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
3924
3925         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
3926
3927         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
3928         Fix types of fndecl and arglist parameters.
3929
3930 2010-01-26  Richard Guenther  <rguenther@suse.de>
3931
3932         PR middle-end/42806
3933         * tree-eh.c (unsplit_eh): Skip debug insns.
3934
3935 2010-01-26  Richard Guenther  <rguenther@suse.de>
3936
3937         PR tree-optimization/42250
3938         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3939
3940 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3941
3942         PR fortran/42866
3943         * omp-low.c (expand_omp_sections): Only use single_pred if
3944         l2_bb is single_pred_p.
3945
3946 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3947
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.
3952
3953 2010-01-24  David S. Miller  <davem@davemloft.net>
3954
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.
3960
3961 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3962
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.
3966
3967 2010-01-23  Toon Moene  <toon@moene.org>
3968
3969         * tree-predcom.c (combine_chains): Return NULL, not false.
3970
3971 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3972
3973         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3974         initialization of variable res to agree with return type.
3975
3976 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3977
3978         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3979         * tree-sra.c: Add include of expr.h.
3980
3981 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3982
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.
3985
3986 2010-01-22  Richard Henderson  <rth@redhat.com>
3987
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.
3992
3993 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3994
3995         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3996
3997         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3998
3999 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4000
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.
4018
4019 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4020
4021         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
4022
4023 2010-01-21  Andrew Haley  <aph@redhat.com>
4024
4025         * gcc.c (process_command): Move lang_specific_driver before
4026         setting cc_libexec_prefix.
4027
4028 2010-01-21  Richard Guenther  <rguenther@suse.de>
4029
4030         PR middle-end/19988
4031         * fold-const.c (negate_expr_p): Pretend only negative
4032         real constants are easily negatable.
4033
4034 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
4035             Jason Merrill  <jason@redhat.com>
4036
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.
4051
4052 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
4053
4054         PR target/42818
4055         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
4056         even when linking statically, for now.
4057
4058 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4059
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.
4065
4066 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4067
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.
4072
4073 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4074
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.
4083
4084 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
4085
4086         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
4087
4088 2010-01-20  Richard Guenther  <rguenther@suse.de>
4089
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.
4096
4097 2010-01-20  Richard Guenther  <rguenther@suse.de>
4098
4099         * tree-inline.c (estimate_num_insns): Handle EH builtins.
4100
4101 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4102
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.
4116
4117 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
4118
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.
4123
4124 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4125
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.
4133
4134 2010-01-20  Thomas Quinot  <quinot@adacore.com>
4135
4136         * tree.def (PLACEHOLDER_EXPR): Fix comment.
4137
4138 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4139
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.
4146
4147 2010-01-20  DJ Delorie  <dj@redhat.com>
4148
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.
4155
4156 2010-01-19  Michael Matz  <matz@suse.de>
4157
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).
4174
4175 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4176
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.
4184
4185 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
4186
4187         PR tree-optimization/42719
4188         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
4189         stmt uses.
4190
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.
4194
4195 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
4196
4197         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
4198
4199         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
4200         Add argument names.
4201
4202         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
4203
4204         * target.h (struct gcc_target) <secondary_reload>: Change type
4205         of last argument to secondary_reload_info *.
4206
4207 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
4208
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.
4214
4215 2010-01-18  Richard Guenther  <rguenther@suse.de>
4216
4217         PR middle-end/39954
4218         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
4219         builtin calls.
4220
4221 2010-01-18  Richard Guenther  <rguenther@suse.de>
4222
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.
4226
4227 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
4228
4229         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
4230         find number of popped argument bytes.
4231
4232         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
4233         Fix the text that describes the return value for invalid insns.
4234
4235         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
4236
4237         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
4238         Clarify what 'cost of the -dependence' is.  Fix quoting.
4239
4240         * toplev.c (default_get_pch_validity): Rename argument to "sz".
4241         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
4242
4243 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
4244
4245         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4246         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
4247
4248 2010-01-17  Richard Guenther  <rguenther@suse.de>
4249
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.
4258
4259 2010-01-17  Richard Guenther  <rguenther@suse.de>
4260
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.
4268
4269 2010-01-17  Richard Guenther  <rguenther@suse.de>
4270
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.
4275
4276 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
4277
4278         PR debug/42767
4279         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
4280         and US_TRUNCATE.
4281
4282 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
4283
4284         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
4285         appearance.
4286
4287         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
4288         Fix markup for strict argument.
4289
4290         (TARGET_SCHED_REORDER2): Fix argument types.
4291
4292         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
4293         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
4294
4295         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
4296         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
4297
4298         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
4299         Add argument name.
4300
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.
4306
4307         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
4308
4309         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
4310
4311         (TARGET_ASM_RELOC_RW_MASK): Add return type.
4312         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
4313
4314         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
4315
4316         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
4317         Use prototype.
4318
4319         (TARGET_ASM_NAMED_SECTION): Fix argument list.
4320
4321         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
4322         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
4323
4324         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
4325
4326         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
4327
4328         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
4329         referring to it.  Fix language.
4330
4331         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
4332
4333         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
4334
4335         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
4336
4337         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
4338
4339         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
4340         '@var{stream}.  Remove stray 'and'.
4341
4342         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
4343
4344         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
4345
4346         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
4347
4348         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
4349         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
4350
4351         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
4352         Fix description of return value.
4353         Rename argument "sz" to "len."
4354
4355         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
4356         Clarify meaning of 'true' return value.
4357
4358         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
4359
4360         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
4361         rep_mode versus mode_rep.
4362
4363         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
4364
4365         (TARGET_BUILTIN_DECL): Fix name.
4366
4367         (TARGET_COMMUTATIVE_P): Fix type of first argument.
4368
4369         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
4370
4371         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
4372
4373         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
4374
4375         (TARGET_RELAXED_ORDERING): Use @deftypevr.
4376
4377         (TARGET_GET_DRAP_RTX): Note that this is a hook.
4378         Clarify language.
4379
4380         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
4381         Rename argument tm_fn to md_fn.
4382
4383         (TARGET_OPTION_PRINT): Fix argument list.
4384
4385 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
4386
4387         PR target/42664
4388         * config/i386/i386.c (ix86_fixup_binary_operands):
4389         Revert FMA4 fixup of operands.
4390
4391 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4392
4393         PR gcc/42525
4394         * Makefile.in (write_entries_to_file, install-plugin):
4395         Use \012 instead of \n with tr.
4396
4397 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
4398
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.
4406
4407 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
4408
4409         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
4410
4411         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
4412
4413         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
4414
4415         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
4416
4417         (TARGET_IN_SMALL_DATA_P): Fix argument type.
4418
4419         (TARGET_BINDS_LOCAL_P): Fix argument type.
4420
4421         (TARGET_ASM_FILE_END): Use prototype.
4422
4423         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
4424
4425         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
4426
4427         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
4428
4429         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
4430
4431         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
4432         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
4433
4434         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
4435         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
4436
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.
4441
4442         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
4443
4444         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
4445
4446         (TARGET_INIT_BUILTINS): Use prototype.
4447
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.
4453
4454         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
4455         Fix argument type.
4456
4457         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
4458
4459         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
4460
4461 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
4462
4463         * doc/tm.texi (TARGET_HELP): Fix return type.
4464
4465         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
4466         in braces.  Fix argument types.
4467
4468         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
4469
4470         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
4471
4472         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
4473
4474         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
4475         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
4476
4477         (TARGET_MANGLE_TYPE): Fix argument types.
4478
4479         (TARGET_IRA_COVER_CLASSES): Use prototype.
4480
4481         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
4482
4483         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
4484
4485         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
4486
4487         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
4488
4489         (TARGET_CALLEE_COPIES): Fix argument types.
4490
4491         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
4492
4493         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
4494
4495         (TARGET_FUNCTION_VALUE): Fix argument types.
4496
4497         (TARGET_RETURN_IN_MSB): Fix argument type.
4498
4499         (TARGET_RETURN_IN_MEMORY): Fix argument types.
4500
4501         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
4502
4503         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
4504
4505         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
4506         agree with return type.
4507
4508         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
4509
4510 2010-01-15  Jing Yu  <jingyu@google.com>
4511
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.
4515
4516 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4517
4518         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
4519
4520 2010-01-15  Richard Guenther  <rguenther@suse.de>
4521
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.
4527
4528 2010-01-15  Richard Guenther  <rguenther@suse.de>
4529
4530         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
4531
4532 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4533
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.
4538
4539 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4540
4541         PR middle-end/42674
4542         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
4543         functions with noreturn attribute.
4544
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.
4550
4551 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
4552
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.
4556
4557 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4558
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.
4562
4563 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4564
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.
4578
4579 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4580
4581         * sel-sched.c: Add 2010 to copyright years.
4582         * sel-sched-ir.c: Likewise.
4583         * sel-sched-ir.h: Likewise.
4584
4585 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4586
4587         PR tree-optimization/42714
4588         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
4589         constructors specially.
4590
4591 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4592
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.
4597
4598 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4599
4600         * config/i386/drivers-i386.c (detect_caches_cpuid4):
4601         Add level3 parameter and fill in.
4602         (detect_caches_intel): Handle level3 cache.
4603
4604 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4605
4606         * config/i386/drivers-i386.c (host_detect_local_cpu):
4607         Fix core duo detection.
4608
4609 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4610
4611         * config/i386/drivers-i386.c (host_detect_local_cpu):
4612         Fix Atom detection.
4613
4614 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4615
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.
4619
4620 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4621
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.
4625
4626 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4627
4628         PR rtl-optimization/42246
4629         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
4630         loops.
4631
4632 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4633
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.
4636
4637 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4638
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.
4641
4642 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4643
4644         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
4645
4646 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4647
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.
4651
4652 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4653             Alexander Monakov  <amonakov@ispras.ru>
4654
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.
4675
4676 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4677
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.
4682
4683 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4684
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.
4689
4690 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4691
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.
4697
4698 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4699             Alexander Monakov  <amonakov@ispras.ru>
4700
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.
4714
4715 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
4716
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.
4723
4724 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4725
4726         PR c/42721
4727         Port from no-undefined-overflow branch:
4728         2009-03-09  Richard Guenther  <rguenther@suse.de>
4729
4730         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
4731
4732 2010-01-14  Richard Guenther  <rguenther@suse.de>
4733
4734         PR lto/42665
4735         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
4736
4737 2010-01-14  Ira Rosen  <irar@il.ibm.com>
4738
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.
4742
4743 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4744
4745         PR testsuite/42414
4746         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
4747         (check-parallel-%): Match `testsuite' directory component only
4748         at the end.
4749
4750 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
4751
4752         PR translation/39521
4753         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
4754         strings with _().
4755
4756 2010-01-13  Richard Guenther  <rguenther@suse.de>
4757
4758         PR tree-optimization/42730
4759         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
4760         offset zero.
4761
4762 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
4763
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.
4768
4769 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
4770
4771         * config/bfin/libgcc-bfin.ver: Regenerate based on current
4772         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
4773         ___umulsi3_highpart.
4774
4775         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
4776         rather than schedule_insns if the pass is enabled.
4777
4778 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4779
4780         PR tree-optimization/42704
4781         * tree-sra.c (sra_modify_assign): Do not delete assignments to
4782         SSA_NAMEs.
4783
4784 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4785
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.
4789
4790 2010-01-13  Richard Guenther  <rguenther@suse.de>
4791
4792         PR tree-optimization/42705
4793         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
4794
4795 2010-01-13  Richard Guenther  <rguenther@suse.de>
4796
4797         PR middle-end/42716
4798         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
4799
4800 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
4801
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.
4809
4810 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
4811
4812         * config/s390/s390.c (override_options): Set
4813         default of max-pending-list-length to 256
4814
4815 2010-01-13  Richard Guenther  <rguenther@suse.de>
4816
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.
4832
4833 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
4834
4835         PR c/42708
4836         * c-typeck.c (build_c_cast): Fold value cast to union type before
4837         wrapping it in a CONSTRUCTOR.
4838
4839 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4840
4841         PR rtl-optimization/42699
4842         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
4843         involved.
4844
4845 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4846
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.
4852
4853 2010-01-12  Julian Brown  <julian@codesourcery.com>
4854
4855         * config/arm/neon-schedgen.ml (Utils): Don't try to
4856         open missing module.
4857         (find_with_result): New.
4858
4859 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4860
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).
4864
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.
4870
4871 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
4872
4873         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
4874         binutils version, and reword target configuration description.
4875
4876 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4877
4878         * config/avr/avr.h (LINKER_NAME): Remove.
4879
4880 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
4881
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.
4886
4887 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
4888             Shujing Zhao  <pearly.zhao@oracle.com>
4889
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.
4895
4896 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
4897
4898         * lto-streamer-out.c (output_unreferenced_globals): Output static
4899         variables.
4900
4901 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
4902
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.
4907
4908 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
4909
4910         PR target/37454
4911         * configure.ac: Save and restore LDFLAGS and LIBS
4912         * configure: Regenerate.
4913
4914 2010-01-10  Richard Guenther  <rguenther@suse.de>
4915
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.
4920
4921 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4922
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.
4927
4928 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4929
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.
4936
4937 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4938
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.
4946
4947 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4948
4949         PR debug/42629
4950         * haifa-sched.c (dying_use_p): Debug insns don't count.
4951
4952 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4953
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.
4958
4959 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4960
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.
4972
4973 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4974
4975         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
4976         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
4977
4978 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4979
4980         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
4981         bogus uninitialized warning.
4982
4983 2010-01-09  Richard Guenther  <rguenther@suse.de>
4984
4985         PR middle-end/42512
4986         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
4987         the evolution is compatible with the initial condition.
4988
4989 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4990
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.
4996
4997 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4998
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.
5012
5013 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
5014
5015         PR target/37454
5016         * configure.ac: Modify -rdynamic check.
5017         * configure: Regenerate.
5018
5019 2010-01-08  DJ Delorie  <dj@redhat.com>
5020
5021         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
5022         register popping order.
5023
5024 2010-01-08  Richard Guenther  <rguenther@suse.de>
5025
5026         PR lto/42528
5027         * c.opt (fsigned-char): Also let LTO handle this option.
5028         (funsigned-char): Likewise.
5029
5030 2010-01-07  Richard Guenther  <rguenther@suse.de>
5031
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.
5075
5076 2010-01-07  Richard Guenther  <rguenther@suse.de>
5077
5078         PR tree-optimization/42641
5079         * sese.c (rename_map_elt_info): Use the SSA name version, do
5080         not hash pointers.
5081
5082 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
5083
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.
5087
5088 2010-01-07  Duncan Sands  <baldrick@free.fr>
5089
5090         * Makefile.in (PLUGIN_HEADERS): Add version.h.
5091
5092 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
5093
5094         PR target/42511
5095         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
5096         note itself is not function_invariant_p.
5097
5098 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
5099
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.
5103
5104 2010-01-07  Martin Jambor  <mjambor@suse.cz>
5105
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.
5110
5111 2010-01-06  Richard Henderson  <rth@redhat.com>
5112
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.
5119
5120 2010-01-06  Richard Guenther  <rguenther@suse.de>
5121
5122         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
5123         not inline regular functions into always-inline functions.
5124
5125 2010-01-06  Nick Clifton  <nickc@redhat.com>
5126
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.
5142
5143 2010-01-06  Richard Guenther  <rguenther@suse.de>
5144
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.
5150
5151 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
5152
5153         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
5154
5155 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5156
5157         PR target/42542
5158         * config/i386/sse.md (smaxv2di3): New.
5159         (umaxv2di3): Likewise.
5160         (sminv2di3): Likewise.
5161         (uminv2di3): Likewise.
5162
5163 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5164
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.
5183
5184 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
5185             H.J. Lu  <hongjiu.lu@intel.com>
5186
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.
5191
5192         Revert:
5193         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5194
5195         PR target/42542
5196         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5197         GTU to GT for V4SI and V2DI.
5198
5199         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5200         (umin<mode>3): Removed.
5201         (uminv8hi3): New.
5202         (uminv4si3): Likewise.
5203
5204 2010-01-05  Martin Jambor  <mjambor@suse.cz>
5205
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.
5209
5210 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5211
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).
5223
5224 2010-01-05  Nick Clifton  <nickc@redhat.com>
5225
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.
5229
5230 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
5231
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.
5239
5240 2010-01-05  Richard Guenther  <rguenther@suse.de>
5241
5242         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
5243
5244 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
5245
5246         PR other/42611
5247         * cfgexpand.c (expand_one_var): Diagnose too large variables.
5248
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.
5254
5255         * cgraphunit.c (cgraph_materialize_all_clones): Compare
5256         cgraph nodes when checking for same_body aliases.
5257
5258 2010-01-05  Richard Guenther  <rguenther@suse.de>
5259
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.
5264
5265 2010-01-04  Richard Guenther  <rguenther@suse.de>
5266
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.
5275
5276 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5277
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.
5283
5284 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5285
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.
5292
5293 2010-01-04  Richard Guenther  <rguenther@suse.de>
5294
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.
5309
5310 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
5311
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.
5318
5319 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
5320
5321         * lto-streamer-out.c (output_unreferenced_globals): Output the full
5322         tree of an unreferenced global var.
5323
5324 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5325
5326         PR target/42542
5327         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5328         GTU to GT for V4SI and V2DI.
5329
5330         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5331         (umin<mode>3): Removed.
5332         (uminv8hi3): New.
5333         (uminv4si3): Likewise.
5334
5335 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5336
5337         PR lto/42581
5338         * collect2.c (main): Turn on trace in collect2 if -v is passed
5339         to gcc with LTO.
5340
5341 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
5342
5343         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
5344         description of expression operand.
5345
5346 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
5347
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.
5362
5363 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5364
5365         PR lto/42520
5366         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
5367
5368 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5369
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.
5374
5375 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5376
5377         PR lto/41564
5378         * common.opt: Add dumpdir.
5379
5380         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
5381         isn't specified.
5382         (option_map): Add --dumpdir.
5383
5384         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
5385
5386         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
5387
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.
5391
5392         * toplev.c (dump_dir_name): New.
5393         (print_switch_values): Also ignore -dumpdir.
5394
5395         * toplev.h (dump_dir_name): New.
5396
5397 2010-01-03  Richard Guenther  <rguenther@suse.de>
5398
5399         PR tree-optimization/42589
5400         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
5401         double-word expansion of bswap32.
5402
5403 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5404
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.
5413
5414         * basic-block.h (BLOCK_NUM): Move from here...
5415         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
5416
5417 2010-01-03  Richard Guenther  <rguenther@suse.de>
5418
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.
5427
5428 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
5429
5430         * doc/invoke.texi: Add 2010 to copyright years.
5431
5432 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5433
5434         * config/sparc/sparc.c: Fix formatting nits.
5435
5436 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
5437             Alexander Monakov  <amonakov@ispras.ru>
5438
5439         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
5440
5441 2010-01-02  Richard Guenther  <rguenther@suse.de>
5442
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.
5447
5448 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5449
5450         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
5451
5452         * collect2.c (scan_libraries): Add missing argument in call to
5453         scan_prog_file.
5454
5455 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
5456
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.
5463
5464 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
5465
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.
5470
5471 2010-01-02  Richard Guenther  <rguenther@suse.de>
5472
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.
5477
5478 2010-01-01  Richard Guenther  <rguenther@suse.de>
5479
5480         PR debug/42455
5481         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
5482
5483 2010-01-01  Richard Guenther  <rguenther@suse.de>
5484
5485         PR c/42570
5486         * c-decl.c (grokdeclarator): For zero-size arrays force
5487         structural equality checks as layout_type does.
5488
5489 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5490
5491         * builtins.c: Update copyright to 2010.
5492
5493 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5494
5495         PR lto/42531
5496         * lto-streamer-out.c (produce_asm): Revert the last change.
5497         (copy_function): Likewise.
5498
5499         * lto-streamer.c (lto_get_section_name): Skip any leading
5500         asterisk in name.
5501
5502 2010-01-01  Richard Guenther  <rguenther@suse.de>
5503
5504         PR middle-end/42559
5505         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
5506         for LABEL_DECLs.
5507
5508 \f
5509 Copyright (C) 2010 Free Software Foundation, Inc.
5510
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.