OSDN Git Service

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