OSDN Git Service

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