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.