OSDN Git Service

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