OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
2
3         * config/i386/i386.md (ashr<mode>3): Macroize expander from
4         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
6         pattern from *ashr{di,ti}3_1 and corresponding splitters using
7         DWI mode iterator.
8         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
9         from corresponding peephole2 patterns.
10         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
11         (ashrsi3_cvt): Rename from ashrsi3_31.
12         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
13         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
14         and x86_64_shift_adj_3 using SWI48 mode iterator.
15         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
16         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
17         and *ashrdi3_cmp_rex64 using SWI mode iterator.
18         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
19         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
20         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
21         and *ashrdi3_cmp_rex64 using SWI mode iterator.
22         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
23         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
24         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
25         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
26         SWI mode iterator.
27         (sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
28         * config/i386/i386.c (ix86_split_ashr): Update for renamed
29         x86_shift<mode>_adj_3 expander.
30
31 2010-04-10  Wei Guozhi  <carrot@google.com>
32
33         PR target/42601
34         * config/arm/arm.c (arm_pic_static_addr): New function.
35         (legitimize_pic_address): Call arm_pic_static_addr when it detects
36         a static symbol.
37         (arm_output_addr_const_extra): Output expression for new pattern.
38         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
39
40 2010-04-10  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
41
42         * ira-costs.c (record_reg_classes): Ignore alternatives that are
43         not enabled.
44
45         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
46         * web.c: Include "insn-config.h" and "recog.h".
47         (union_match_dups): New function.
48         (web_main): Call it.
49         (union_defs): Don't try to recognize match_dups.
50
51         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
52         if doing so would replace the entire pattern.
53
54 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
55
56         PR target/43707
57         PR target/43709
58         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
59         and splitter pattern.  Change splitter operand 1 predicate to
60         nonmemory_operand.
61
62 2010-04-09  Martin Jambor  <mjambor@suse.cz>
63
64         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
65         lattices are addresses of CONST_DECLs with the same initial value.
66         (ipcp_print_all_lattices): Print values of CONST_DECLs.
67         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
68
69 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
70             Bernd Schmidt  <bernd.schmidt@codesourcery.com>
71
72         * loop-invariant.c (replace_uses): New static function.
73         (move_invariant_reg): Use it to ensure we can replace the uses.
74
75 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
76
77         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
78         function template.
79         (picochip_override_options): Enable section anchors only above -O1.
80         (picochip_reorg): Fixed a couple of build warnings.
81
82 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
83
84         * configure.ac (plugin -rdynamic test): Log result.
85         * configure: Regenerate.
86         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
87         (RDYNAMIC_SPEC): Define.
88         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
89
90 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
91
92         * configure.ac: Determine Sun ld version numbers.
93         (comdat_group): Restrict GNU ld version checks to gld.
94         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
95         (enable_comdat): Support --enable-comdat.
96         * configure: Regenerate.
97         * doc/install.texi (Configuration): Document --enable-comdat.
98
99 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
100
101         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
102         * config/sol2-gld.h: ... here.
103         * config.gcc (sparc*-*-solaris2*): Reflect this.
104         (i[34567]86-*-solaris2*): Use it.
105
106 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
107
108         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
109         setup_clocks_p.
110         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
111
112 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
113
114         PR 42965
115         * diagnostic.c (diagnostic_initialize): Initialize
116         some_warnings_are_errors.
117         (diagnostic_finish): New.
118         (diagnostic_action_after_output): Call it before exiting.
119         (diagnostic_report_diagnostic): Do not print message here. Set
120         some_warnings_are_errors.
121         * diagnostic.h (diagnostic_context): Delete
122         issue_warnings_are_errors_message. Add some_warnings_are_errors.
123         (diagnostic_finish): Declare.
124         * toplev.c (toplev_main): Call it before exit.
125
126 2010-04-09  Jason Merrill  <jason@redhat.com>
127
128         PR c++/42623
129         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
130         for incomplete type.
131
132         PR c++/41788
133         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
134         based on a warning flag.
135
136 2010-04-09  Richard Guenther  <rguenther@suse.de>
137
138         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
139
140 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
141
142         PR bootstrap/43684
143         * varasm.c (default_assemble_visibility): Wrap vars that are
144         set, but unused, by targets without GAS.
145         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
146         Remove set, but unused, vars.
147         (rs6000_legitimize_tls_address): Likewise.
148         (altivec_expand_dst_builtin): Likewise.
149         * config/darwin.c (machopic_classify_symbol): Likewise.
150         (machopic_indirection_name): Likewise.
151
152 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
153
154         * config/i386/i386.md (DWI): New mode iterator.
155         (S): New mode attribute.
156         (shift_operand): Ditto.
157         (shift_immediate_operand): Ditto.
158         (ashl_input_operand): Ditto.
159         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
160         using SDWIM mode iterator.
161         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
162         pattern from *ashl{di,ti}3_1 and corresponding splitters using
163         DWI mode iterator.
164         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
165         from corresponding peephole2 patterns.
166         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
167         and x86_64_shift_adj_1 using SWI48 mode iterator.
168         (x86_shift<mode>_adj_2): Ditto.
169         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
170         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
171         using SWI48 mode iterator.
172         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
173         *ashldi3_cmp_rex64 using SWI mode iterator.
174         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
175         *ashldi3_cconly_rex64 using SWI mode iterator.
176         * config/i386/i386.c (ix86_split_ashl): Update for renamed
177         x86_shift<mode>_adj_{1,2}.
178         (ix86_split_ashr): Ditto.
179         (ix86_split_lshr): Ditto.
180
181 2010-04-09  Richard Guenther  <rguenther@suse.de>
182
183         * target.h (builtin_conversion): Pass in input and output types.
184         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
185         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
186         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
187         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
188
189         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
190         Handle AVX modes.
191         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
192
193 2010-04-09  Richard Guenther  <rguenther@suse.de>
194
195         PR target/43152
196         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
197
198 2010-04-09  Richard Guenther  <rguenther@suse.de>
199
200         * tree-vectorizer.h (struct _stmt_vec_info): Document
201         that vectype is the type of the LHS.
202         (supportable_widening_operation, supportable_narrowing_operation): 
203         Get both input and output vector types as arguments.
204         (vect_is_simple_use_1): Declare.
205         (get_same_sized_vectype): Likewise.
206         * tree-vect-loop.c (vect_determine_vectorization_factor):
207         Set STMT_VINFO_VECTYPE to the vector type of the def.
208         (vectorizable_reduction): Adjust.
209         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
210         Adjust.  Specify the output vector type.
211         (vect_pattern_recog_1): Adjust.
212         * tree-vect-stmts.c (get_same_sized_vectype): New function.
213         (vectorizable_call): Adjust.
214         (vectorizable_conversion): Likewise.
215         (vectorizable_operation): Likewise.
216         (vectorizable_type_demotion): Likewise.
217         (vectorizable_type_promotion): Likewise.
218         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
219         the def.
220         (vect_is_simple_use_1): New function.
221         (supportable_widening_operation): Get both input and output
222         vector types.
223         (supportable_narrowing_operation): Likewise.
224         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
225
226 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
227
228         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
229         __thiscall and _thiscall as predefined macros.
230         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
231         thiscall attribute handling.
232         (ix86_comp_type_attributes): Likewise.
233         (ix86_function_regparm): Likewise.
234         (ix86_return_pops_args): Likewise.
235         (init_cumulative_args): Likewise.
236         (find_drap_reg): Likewise.
237         (ix86_static_chain): Likewise.
238         (x86_this_parameter): Likewise.
239         (x86_output_mi_thunk): Likewise.
240         (ix86_attribute_table): Add description for thiscall attribute.
241         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
242         * doc/extend.texi: Add documentation for thiscall.
243
244 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
245
246         PR c++/28584
247         * c.opt (Wint-to-pointer-cast): Available in C++.
248         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
249
250 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
251
252         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
253         * calls.c (expand_call): Pass the function type to aggregate_value_p.
254         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
255         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
256         function type instead.  Reorder and simplify checks.
257
258         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
259
260 2010-04-08  Jing Yu  <jingyu@google.com>
261             Zdenek Dvorak  <ook@ucw.cz>
262
263         PR tree-optimization/42720
264         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
265         loop unswitch conditions here from ...
266         (tree_unswitch_single_loop): ... here.
267
268 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
269
270         * tree-if-conv.c: Fix comments and simplify logic.
271
272 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
273
274         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
275         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
276         (main_tree_if_conversion): Update call to tree_if_conversion.
277
278 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
279
280         PR 42485
281         * doc/invoke.texi (-b,-V): Delete.
282         * doc/tm.texi: Do not mention -b.
283         * gcc.c (display_help): Delete -b and -V.
284         (process_command): Delete -b and -V.
285         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
286
287 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
288             Wolfgang Gellerich  <gellerich@de.ibm.com>
289
290         Implement target hook for loop unrolling
291         * target.h (loop_unroll_adjust): Add a new target hook function.
292         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
293         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
294         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
295         (s390_loop_unroll_adjust): Implement the new target hook for s390.
296         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
297         target hook.
298         (decide_unroll_stupid): Likewise.
299
300 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
301
302         PR target/43643
303         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
304
305 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
306
307         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
308         (Specific, *-*-solaris2*): Likewise.
309         Don't prefer Sun as over GNU as.
310
311 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
312
313         * config/s390/s390.c (override_options): Adjust the z10
314           defaults for max-unroll-times, max-completely-peeled-insns
315           and max-completely-peel-times.
316
317 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
318
319         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
320         instructions for z10.
321         (s390_expand_setmem): Likewise.
322         (s390_expand_cmpmem): Likewise.
323
324 2010-04-08  Richard Guenther  <rguenther@suse.de>
325
326         PR tree-optimization/43679
327         * tree-ssa-pre.c (eliminate): Only propagate copies.
328
329 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
330
331         PR bootstrap/43681
332         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
333         set but not used variable warning.
334
335 2010-04-08  Wei Guozhi  <carrot@google.com>
336
337         PR target/41653
338         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
339         (arm_size_rtx_costs): Call the new function when optimized for size.
340
341 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
342
343         PR debug/43670
344         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
345         op0 is not a MEM, just return NULL instead of assertion
346         failure.
347         (discover_nonconstant_array_refs): Don't walk debug stmts.
348
349 2010-04-08  Doug Kwan  <dougkwan@google.com>
350
351         * configure.ac: Recognize gold and do not use its version number
352         to test ld features.
353         * configure: Regenerate.
354
355 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
356
357         PR middle-end/40815
358         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
359         (negate_value): Move code to push elements to broken_up_substracts ...
360         (eliminate_plus_minus_pair): ... here.  Push operands that have no
361         negative pair to plus_negates.
362         (repropagate_negates, init_reassoc, fini_reassoc): Update.
363
364 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
365
366         * doc/install.texi (Configuration): Move description of
367         --enable-lto, --with-libelf*, --enable-gold from Java section to
368         general section.
369
370         * doc/generic.texi (Working with declarations)
371         (Function Properties, C and C++ Trees): Fix typos.
372         * doc/sourcebuild.texi (Top Level): Likewise.
373
374 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
375
376         PR c/18624
377         * tree.h (DECL_READ_P): Define.
378         (struct tree_decl_common): Add decl_read_flag.
379         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
380         a set but not used warning.
381         (merge_decls): Merge DECL_READ_P flag.
382         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
383         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
384         * c-common.c (handle_used_attribute, handle_unused_attribute):
385         Likewise.
386         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
387         New prototypes.
388         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
389         New functions.
390         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
391         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
392         c_parser_binary_expression, c_parser_cast_expression,
393         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
394         Call default_function_array_read_conversion instead of
395         default_function_array_conversion where needed.
396         (c_parser_unary_expression, c_parser_conditional_expression,
397         c_parser_postfix_expression_after_primary, c_parser_initelt):
398         Likewise.  Call mark_exp_read where needed.
399         (c_parser_statement_after_labels, c_parser_asm_operands,
400         c_parser_typeof_specifier, c_parser_sizeof_expression,
401         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
402         where needed.
403         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
404         New.
405         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
406         (warn_unused_but_set_parameter): Default to warn_unused
407         && extra_warnings.
408         * doc/invoke.texi: Document -Wunused-but-set-variable and
409         -Wunused-but-set-parameter.
410
411         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
412         used count variable.
413         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
414         when operandN variables aren't used in the body of the expander
415         or splitter.
416         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
417         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
418         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
419         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
420         FOR_EACH_IMM_USE_ON_STMT): Likewise.
421         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
422         * tree.c (PROCESS_ARG): Likewise.
423
424 2010-04-07  Simon Baldwin  <simonb@google.com>
425
426         * diagnostic.h (diagnostic_override_option_index): New macro to
427         set a diagnostic's option_index.
428         * c-tree.h (c_cpp_error): Add warning reason argument.
429         * opts.c (_warning_as_error_callback): New.
430         (register_warning_as_error_callback): Store callback for
431         warnings enabled via enable_warning_as_error.
432         (enable_warning_as_error): Call callback, minor code tidy.
433         * opts.h (register_warning_as_error_callback): Declare.
434         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
435         response to -Werror=.
436         (c_common_init_options): Register warning_as_error_callback in opts.c.
437         * common.opt: Add -Wno-cpp option.
438         * c-common.c (struct reason_option_codes_t): Map cpp warning
439         reason codes to gcc option indexes.
440         * (c_option_controlling_cpp_error): New function, lookup the gcc
441         option index for a cpp warning reason code.
442         * (c_cpp_error): Add warning reason argument, call
443         c_option_controlling_cpp_error for diagnostic_override_option_index.
444         * doc/invoke.texi: Document -Wno-cpp.
445
446 2010-04-07  Richard Guenther  <rguenther@suse.de>
447
448         * ipa-reference.c (mark_load): Use get_base_address.
449         (mark_store): Likewise.
450
451         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
452         inserting GIMPLE_NOPs into the IL.
453         * tree-ssa-structalias.c (get_constraint_for_component_ref):
454         Explicitly strip handled components and indirect references.
455  
456         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
457         folding address expressions.
458         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
459         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
460         operand_equal_p to compare decls.
461         (ptr_deref_may_alias_decl_p): Likewise.
462         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
463         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
464         Handle reversed comparison ops.
465         * tree-sra.c (asm_visit_addr): Use get_base_address.
466         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
467         * ipa-reference.c (mark_address): Use get_base_address.
468
469 2010-04-07  Richard Guenther  <rguenther@suse.de>
470
471         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
472         Propagate constants everywhere.
473
474 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
475
476         PR debug/43516
477         * tree.c (MAX_INT_CACHED_PREC): Define.
478         (nonstandard_integer_type_cache): New array.
479         (build_nonstandard_integer_type): Cache results for precision
480         <= MAX_INT_CACHED_PREC.
481
482 2010-04-07  Richard Guenther  <rguenther@suse.de>
483
484         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
485         -fargument-noalias-global, -fargument-noalias-anything): Remove.
486         * common.opt: Likewise.
487         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
488         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
489         (nonoverlapping_memrefs_p): Likewise.
490         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
491         * opts.c (common_handle_option): Handle OPT_fargument_alias,
492         OPT_fargument_noalias, OPT_fargument_noalias_anything and
493         OPT_fargument_noalias_global for backward compatibility.
494
495 2010-04-07  Richard Guenther  <rguenther@suse.de>
496
497         PR tree-optimization/43270
498         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
499         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
500         * tree-ssa-pre.c (phi_translate_1): Adjust.
501         (fully_constant_expression): Split out vn_reference handling to ...
502         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
503         Fold reads from constant strings.
504         (vn_reference_lookup): Handle fully constant references.
505         (vn_reference_lookup_pieces): Likewise.
506         * Makefile.in (expmed.o-warn): Add -Wno-error.
507
508 2010-04-07  Martin Jambor  <mjambor@suse.cz>
509
510         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
511
512 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
513
514         PR driver/41594
515         * gcc.c: Add -static-libstdc++ to list of recognized options.
516
517 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
518
519         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
520
521 2010-04-07  Richard Guenther  <rguenther@suse.de>
522
523         PR middle-end/42617
524         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
525         bases build simple mem attributes to retain points-to information.
526
527 2010-04-07  Richard Guenther  <rguenther@suse.de>
528
529         PR middle-end/42617
530         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
531         preserve points-to related information.
532
533 2010-04-07  Richard Guenther  <rguenther@suse.de>
534
535         PR middle-end/42617
536         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
537         discard plain indirect references.
538         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
539         * tree.c (tree_nop_conversion): Likewise.
540
541 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
542
543         PR debug/43628
544         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
545
546 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
547
548         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
549         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
550
551 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
552
553         * tree-if-conv.c: Fix indentation and comments.
554
555 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
556
557         * tree-if-conv.c: Sort static functions in topological order.
558
559 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
560
561         * tree-if-conv.c: Fix indentation and comments.
562
563 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
564
565         PR middle-end/43519
566         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
567         lang_hooks.types.type_for_size instead of
568         build_nonstandard_integer_type.
569         When converting an unsigned type to signed, double its precision.
570         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
571         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
572         (graphite_create_new_loop_guard): When ub + 1 wraps around,
573         use lb <= ub.
574
575 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
576
577         PR middle-end/43519
578         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
579         POINTER_PLUS_EXPR for pointer types.
580
581 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
582
583         PR middle-end/43519
584         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
585         * graphite-clast-to-gimple.c: Include langhooks.h.
586         (max_signed_precision_type): New.
587         (max_precision_type): Takes two types as arguments.
588         (precision_for_value): New.
589         (precision_for_interval): New.
590         (gcc_type_for_interval): New.
591         (gcc_type_for_value): New.
592         (gcc_type_for_clast_term): New.
593         (gcc_type_for_clast_red): New.
594         (gcc_type_for_clast_bin): New.
595         (gcc_type_for_clast_expr): Split up into several functions.
596         (gcc_type_for_clast_eq): Rewritten.
597         (compute_bounds_for_level): New.
598         (compute_type_for_level_1): New.
599         (compute_type_for_level): New.
600         (gcc_type_for_cloog_iv): Removed.
601         (gcc_type_for_iv_of_clast_loop): Rewritten.
602         (graphite_create_new_loop): Compute the lower and upper bound types
603         with gcc_type_for_clast_expr.
604         (graphite_create_new_loop_guard): Same.
605         (find_cloog_iv_in_expr): Removed.
606         (compute_cloog_iv_types_1): Removed.
607         (compute_cloog_iv_types): Removed.
608         (gloog): Do not call compute_cloog_iv_types.
609         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
610         GBB_CLOOG_IV_TYPES.
611         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
612         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
613         (GBB_CLOOG_IV_TYPES): Removed.
614
615 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
616
617         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
618         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
619         (detect_commutative_reduction): Same.
620
621 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
622
623         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
624         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
625         argument.
626         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
627         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
628         (rewrite_commutative_reductions_out_of_ssa): Same.
629         * passes.c (execute_function_todo): Call verify_ssa for every pass
630         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
631         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
632         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
633         with an extra argument.
634         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
635         verify_ssa only when the extra argument is true.
636         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
637         with an extra argument.
638         (tree_transform_and_unroll_loop): Same.
639
640 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
641
642         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
643         for all the passes of the LNO having LOOP_CLOSED_SSA.
644         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
645         * tree-loop-distribution.c (pass_loop_distribution): Same.
646         * tree-pass.h (TODO_verify_loops): Removed.
647         * tree-ssa-loop.c (pass_tree_loop_init): Same.
648         (pass_lim): Same.
649         (pass_tree_unswitch): Same.
650         (pass_predcom): Same.
651         (pass_vectorize): Same.
652         (pass_linear_transform): Same.
653         (pass_graphite_transforms): Same.
654         (pass_iv_canon): Same.
655         (pass_complete_unroll): Same.
656         (pass_complete_unrolli): Same.
657         (pass_parallelize_loops): Same.
658         (pass_loop_prefetch): Same.
659         (pass_iv_optimize): Same.
660
661 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
662
663         PR middle-end/32824
664         * passes.c (init_optimization_passes): Move pass_lim before
665         pass_copy_prop and pass_dce_loop.
666
667 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
668
669         PR target/43667
670         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
671         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
672         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
673         MULTI_* defines for 4 argument vpermil2p* builtins.
674
675 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
676
677         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
678         * config/i386/i386.c (x86_maybe_negate_const_int): New.
679         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
680         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
681         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
682         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
683         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
684         Use x86_maybe_negate_const_int to output insn mnemonic.
685         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
686         check from instruction predicate.  Update comments.
687         * config/i386/sync.md (sync_add<mode>): Use
688         x86_maybe_negate_const_int to output insn mnemonic.
689
690 2010-04-06  Jan Hubicka  <jh@suse.cz>
691
692         PR tree-optimization/42906
693         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
694         IGNORE_SELF argument.  Set visited_control_parents for fully
695         processed BBs.
696         (find_obviously_necessary_stmts): Update call of
697         mark_control_dependent_edges_necessary.
698         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
699
700 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
701
702         * config/i386/i386.md: Remove comment about 'e' and 'E'
703         operand modifier.
704
705 2010-04-06  Richard Guenther  <rguenther@suse.de>
706
707         PR tree-optimization/43627
708         * tree-vrp.c (extract_range_from_unary_expr): Widenings
709         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
710         not varying.
711
712 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
713
714         * BASE-VER: Change to 4.6.0.
715
716         PR target/43638
717         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
718         handling.
719
720 2010-04-06  Richard Guenther  <rguenther@suse.de>
721
722         PR middle-end/43661
723         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
724
725 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
726
727         * doc/invoke.texi (Optimize Options): Document that LTO
728         won't remove object access purely due to incompatible
729         declarations.
730
731 2010-04-04  Matthias Klose  <doko@ubuntu.com>
732
733         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
734         Initialize variable.
735
736 2010-04-03  Richard Guenther  <rguenther@suse.de>
737
738         PR middle-end/42509
739         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
740         require a non-NULL MEM_OFFSET.
741
742 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
743
744         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
745         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
746         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
747         config/alpha/predicates.md, config/arm/arm.md,
748         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
749         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
750         config/darwin9.h, config/darwin.c, config/darwin.h,
751         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
752         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
753         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
754         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
755         config/mips/mips.md, config/mn10300/mn10300.c,
756         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
757         config/rs6000/aix.h, config/rs6000/dfp.md,
758         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
759         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
760         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
761         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
762         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
763         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
764         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
765         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
766         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
767         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
768         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
769         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
770         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
771         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
772         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
773         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
774         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
775         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
776         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
777         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
778         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
779         opt-functions.awk, opth-gen.awk, params.def, passes.c,
780         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
781         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
782         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
783         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
784         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
785         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
786         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
787         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
788         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
789         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
790         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
791         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
792         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
793         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
794
795 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
796
797         PR other/43620
798         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
799         * aclocal.m4: Regenerate.
800
801 2010-04-02  Richard Guenther  <rguenther@suse.de>
802
803         PR tree-optimization/43629
804         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
805         if we have seen a constant value.
806
807 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
808
809         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
810
811 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
812
813         PR target/43469
814         * arm.c (legitimize_tls_address): Adjust call to
815         gen_tls_load_dot_plus_four.
816         (arm_note_pic_base): New function.
817         (arm_cannot_copy_insn_p): Use it.
818         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
819         constraint.
820
821 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
822
823         PR bootstrap/43531
824
825         Revert:
826         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
827
828         * Makefile.in ($(out_object_file)): Depend on
829         gt-$(basename $(notdir $(out_file))).h.
830
831 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
832
833         * config.gcc (lm32-*-rtems*): Add t-lm32.
834
835 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
836
837         * config.gcc: Add lm32-*-rtems*.
838         * config/lm32/rtems.h: New file.
839
840 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
841
842         PR target/42609
843         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
844
845 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
846
847         * dwarf2out.c (output_compilation_unit_header): For
848         -gdwarf-4 use version 4 instead of version 3.
849         (output_line_info): For version 4 and above emit additional
850         maximum ops per insn header field.
851         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
852
853         * dwarf2out.c (is_c_family, is_java): Remove.
854         (lower_bound_default): New function.
855         (add_bound_info, gen_descr_array_type_die): Use it.
856
857 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
858
859         PR debug/43325
860         * dwarf2out.c (gen_variable_die): Allow debug info for variable
861         re-declaration when it happens in a function.
862
863 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
864
865         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
866         (cgraph_remove_function_insertion_hook): Same.
867         (cgraph_call_function_insertion_hooks): Same.
868
869 2010-04-01  Richard Guenther  <rguenther@suse.de>
870
871         PR middle-end/43614
872         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
873         and TREE_THIS_VOLATILE.
874         (copy_ref_info): Likewise.
875         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
876         * tree.c (build6_stat): Ignore side-effects of all but arg5
877         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
878         TARGET_MEM_REF.
879
880 2010-04-01  Richard Guenther  <rguenther@suse.de>
881
882         PR tree-optimization/43607
883         * ipa-type-escape.c (check_call): Do not access non-existing
884         arguments.
885
886 2010-04-01  Richard Guenther  <rguenther@suse.de>
887
888         PR middle-end/43602
889         Revert
890         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
891                     Jack Howarth <howarth@bromo.med.uc.edu>
892
893         * tree-profile.c (tree_init_ic_make_global_vars): Make static
894         variables TLS.
895
896 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
897
898         * doc/install.texi (Prerequisites): Document libelf usability on
899         IRIX 5/6 and Solaris 2.
900         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
901         Update GNU as, GNU ld requirements.
902         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
903         Document Sun Studio compiler download.
904         Update and simplify as, ld recommendations.
905         (Specific, *-*-solaris2.7): Note obsoletion, removal.
906
907 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
908
909         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
910         with_tune_32 to pentium4.
911
912 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
913
914         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
915
916 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
917
918         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
919         obsoletion, removal.
920         Update IDO URL.
921         Document GNU as requirement.
922         Update configure requirements.
923         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
924         Recomment IRIX 6.5.18+.
925         Document IDF/IDL requirement.
926         Document GNU as requirement.
927         Document GNU ld bootstrap failure.
928         Remove freeware.sgi.com reference.
929
930 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
931
932         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
933         UNIX V4.0, V5.0 obsoletion, removal.
934         Remove --with-gc=simple reference.
935         Update VM requirements during bootstrap.
936         Remove -oldas bootstrap description.
937         Update binutils reference.
938         Remove comparison failure note.
939
940 2010-03-31  Richard Guenther  <rguenther@suse.de>
941             Zdenek Dvorak  <ook@ucw.cz>
942             Sebastian Pop  <sebastian.pop@amd.com>
943
944         PR middle-end/43464
945         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
946         with multiple arguments.
947         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
948
949 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
950
951         * graphite-dependences.c (print_pddr): Call print_pdr with an
952         extra argument.
953         * graphite-poly.c (debug_pdr): Add an extra argument for the
954         verbosity level.
955         (print_pdr): Same.
956         (print_pbb_domain): Same.
957         (print_pbb): Same.
958         (print_scop_context): Same.
959         (print_scop): Same.
960         (print_cloog): Same.
961         (debug_pbb_domain): Same.
962         (debug_pbb): Same.
963         (print_pdrs): Same.
964         (debug_pdrs): Same.
965         (debug_scop_context): Same.
966         (debug_scop): Same.
967         (debug_cloog): Same.
968         (print_scop_params): Same.
969         (debug_scop_params): Same.
970         (print_iteration_domain): Same.
971         (print_iteration_domains): Same.
972         (debug_iteration_domain): Same.
973         (debug_iteration_domains): Same.
974         (print_scattering_function): Same.
975         (print_scattering_functions): Same.
976         (debug_scattering_function): Same.
977         (debug_scattering_functions): Same.
978         * graphite-poly.h (debug_pdr): Update declaration.
979         (print_pdr): Same.
980         (print_pbb_domain): Same.
981         (print_pbb): Same.
982         (print_scop_context): Same.
983         (print_scop): Same.
984         (print_cloog): Same.
985         (debug_pbb_domain): Same.
986         (debug_pbb): Same.
987         (print_pdrs): Same.
988         (debug_pdrs): Same.
989         (debug_scop_context): Same.
990         (debug_scop): Same.
991         (debug_cloog): Same.
992         (print_scop_params): Same.
993         (debug_scop_params): Same.
994         (print_iteration_domain): Same.
995         (print_iteration_domains): Same.
996         (debug_iteration_domain): Same.
997         (debug_iteration_domains): Same.
998         (print_scattering_function): Same.
999         (print_scattering_functions): Same.
1000         (debug_scattering_function): Same.
1001         (debug_scattering_functions): Same.
1002
1003 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1004
1005         * graphite-poly.c (print_scattering_function_1): New.
1006         (print_scattering_function): Call it.
1007         (print_scop_params): Remove spaces at the end of lines.
1008         (print_cloog): New.
1009         (debug_cloog): New.
1010         * graphite-poly.h (print_cloog): Declared.
1011         (debug_cloog): Declared.
1012
1013 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1014
1015         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
1016         in loop->header.
1017         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
1018         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
1019         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
1020         to switch between adding the IV bump in loop->latch or in loop->header.
1021
1022 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
1023
1024         * graphite-poly.c (print_scattering_function): Pretty print following
1025         the scoplib format.
1026         (print_pdr): Same.
1027         (print_pbb_domain): Same.
1028         (dump_gbb_cases): Same.
1029         (dump_gbb_conditions): Same.
1030         (print_pdrs): Same.
1031         (print_pbb): Same.
1032         (print_scop_params): Same.
1033         (print_scop_context): Same.
1034         (print_scop): Same.
1035         (print_pbb_body): New.
1036         (lst_indent_to): New.
1037         (print_lst): Start new lines with a #.
1038         * graphite-poly.h (pbb_bb): New.
1039         (pbb_index): Use pbb_bb.
1040         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
1041         disjuncts.
1042         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
1043
1044 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
1045
1046         * dwarf2out.c (size_of_die): For -gdwarf-4 use
1047         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
1048         and 0 instead of 1 for dw_val_class_flag.
1049         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
1050         dw_val_class_range_list, dw_val_class_loc_list,
1051         dw_val_class_lineptr and dw_val_class_macptr, use
1052         DW_FORM_flag_present for dw_val_class_flag and
1053         DW_FORM_exprloc for dw_val_class_loc.
1054         (output_die): For -gdwarf-4 print dw_val_class_loc
1055         size as uleb128 instead of 1 or 2 bytes and don't print
1056         anything for dw_val_class_flag.
1057
1058         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
1059         instead of cselib_lookup following by tweaking locs->setting_insn.
1060
1061         PR bootstrap/43596
1062         * cselib.c (cselib_process_insn): Clear cselib_current_insn
1063         even before returning from label, setjmp call or volatile asm
1064         handling.
1065
1066 2010-03-31  Richard Guenther  <rguenther@suse.de>
1067
1068         PR middle-end/43600
1069         * cgraphunit.c (cgraph_output_in_order): Do not allocate
1070         temporary data on stack.
1071
1072 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1073
1074         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
1075         (PUSHSECTION_ASM_OP): Remove.
1076         (POPSECTION_ASM_OP): Remove.
1077         (PUSHSECTION_FORMAT): Remove.
1078         * config/sol2.h (PUSHSECTION_FORMAT): Define.
1079         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
1080         * config/sol2.c (solaris_output_init_fini): Use it.
1081
1082 2010-03-31  Jie Zhang  <jie@codesourcery.com>
1083
1084         PR 43574
1085         * opt-functions.awk (var_type_struct): Use signed char type
1086         for simple variables.
1087
1088 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1089
1090         * config/sol2.c: Include output.h.
1091         (solaris_assemble_visibility): New function.
1092         * config/t-sol2 (sol2.o): Add output.h dependency.
1093         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
1094         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
1095         Redefine.
1096
1097 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
1098
1099         PR target/43580
1100         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
1101         V2SImode or XFmode on PRE_DEC.
1102
1103         PR debug/43557
1104         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
1105         BLKmode.
1106
1107 2010-03-31  Jie Zhang  <jie@codesourcery.com>
1108
1109         PR 43562
1110         * reload.h (caller_save_initialized_p): Declare.
1111         * toplev.c (backend_init_target): Don't call
1112         init_caller_save but set caller_save_initialized_p to false.
1113         * caller-save.c (caller_save_initialized_p): Define.
1114         (init_caller_save): Check caller_save_initialized_p.
1115         * ira.c (ira): Call init_caller_save if flag_caller_saves.
1116
1117 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1118
1119         PR target/39048
1120         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
1121         and soft-fp/t-softfp to tmake_file.
1122         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
1123         (LIBGCC2_TF_CEXT): Define.
1124         (TF_SIZE): Define.
1125
1126 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
1127
1128         PR debug/42977
1129         * cselib.c (n_useless_values): Document handling of debug locs.
1130         (n_useless_debug_values, n_debug_values): New variables.
1131         (new_elt_loc_list): Don't add to debug values, keep count.
1132         (promote_debug_loc): New.
1133         (cselib_reset_table): Zero new variables.
1134         (entry_and_rtx_equal_p): Promote debug locs.
1135         (discard_useless_locs): Increment n_useless_debug_values for
1136         debug values.
1137         (remove_useless_values): Adjust n_useless_values and n_debug_values
1138         with n_useless_debug_values.
1139         (add_mem_for_addr): Promote debug locs.
1140         (cselib_lookup_mem): Likewise.
1141         (cselib_lookup_addr): Renamed to...
1142         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
1143         (cselib_log_lookup): ... this.  Turn into...
1144         (cselib_lookup_addr): ... new wrapper.
1145         (cselib_lookup_from_insn): New.
1146         (cselib_invalidate_regno): Increment n_useless_debug_values for
1147         debug values.
1148         (cselib_invalidate_mem): Likewise.
1149         (cselib_process_insn): Take n_deleted and n_debug_values into
1150         account to guard remove_useless_value call.
1151         (cselib_finish): Zero n_useless_debug_values.
1152         * cselib.h (cselib_lookup_from_insn): Declare.
1153         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
1154         (sched_analyze_2): Likewise.
1155
1156 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
1157
1158         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
1159         functions.
1160         (adjust_mems): Replace narrowing SUBREG of expression containing
1161         just PLUS, MINUS, MULT and ASHIFT of registers and constants
1162         with operations in the narrower mode.
1163
1164         PR debug/43593
1165         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
1166         regs_invalidated_by_call instead all call_used_reg_set registers.
1167
1168 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
1169
1170         PR middle-end/43430
1171         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
1172         pointer comparisons with types_compatible_p.
1173         * tree-vect-stmts.c (vectorizable_call): Same.
1174         (vectorizable_condition): Same.
1175
1176 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1177
1178         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
1179         stack check if the mask would be zero.
1180
1181 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
1182             Jack Howarth <howarth@bromo.med.uc.edu>
1183
1184         * tree-profile.c (tree_init_ic_make_global_vars): Make static
1185         variables TLS.
1186
1187 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
1188
1189         PR other/25232
1190         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
1191         and __unordtf2.
1192         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
1193         Include ___unordxf2 and ___unordtf2.
1194         * config/i386/libgcc-glibc.ver: Do not define inheritance from
1195         GCC_4.4.0 here.
1196
1197 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
1198
1199         * config/lm32/t-lm32: New file.
1200         * config.gcc: Use the above file when targetting lm32.
1201
1202 2010-03-28  Duncan Sands  <baldrick@free.fr>
1203
1204         * Makefile.in (PLUGIN_HEADERS): Add except.h.
1205
1206 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1207
1208         PR middle-end/43431
1209         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
1210         Improve vectorization cost model diagnostic.
1211
1212 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
1213
1214         PR middle-end/43436
1215         * tree-vect-data-refs.c (vect_analyze_data_refs): When
1216         compute_data_dependences_for_loop returns false, early exit
1217         and output an extra diagnostic for the failed data reference
1218         analysis.
1219
1220 2010-03-29  Richard Guenther  <rguenther@suse.de>
1221
1222         PR tree-optimization/43560
1223         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
1224         (can_sm_ref_p): Treat stores to readonly locations as trapping.
1225
1226 2010-03-29  Jie Zhang  <jie@codesourcery.com>
1227
1228         PR 43564
1229         * toplev.c (process_options): Set optimization_default_node
1230         and optimization_current_node.
1231         * opts.c (decode_options): Don't set optimization_default_node
1232         and optimization_current_node.
1233
1234 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
1235
1236         * config/rtems.h: Abandon -qrtems_debug.
1237
1238 2010-03-28  Jan Hubicka  <jh@suse.cz>
1239
1240         PR tree-optimization/43505
1241         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
1242         map should not be copied.
1243
1244 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1245
1246         PR middle-end/41674
1247         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
1248         cdtors, set DECL_PRESERVE_P.
1249         * ipa.c (cgraph_externally_visible_p): Return true if declaration
1250         should be preseved.
1251
1252 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
1253
1254         PR tree-optimization/43528
1255         * stor-layout.c (place_field): Check that constant fits into
1256         unsigned HWI when skipping calculation of MS bitfield layout.
1257
1258 2010-03-27  Jan Hubicka  <jh@suse.cz>
1259
1260         PR middle-end/43391
1261         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
1262         notice_global_symbol work.
1263
1264 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
1265
1266         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
1267         instead of dwarf2out_decl.
1268         (struct var_loc_node): Remove section_label field.
1269         (dwarf2out_function_decl): New function.
1270         (dwarf2out_var_location): Don't set section_label field.
1271         (dwarf2out_begin_function): Don't empty decl_loc_table here.
1272
1273 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
1274
1275         PR tree-optimization/43544
1276         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1277         First argument for builtin vectorized function hook is now a
1278         tree to be able to distinguish between machine specific and
1279         standard builtins.
1280         * targhooks.c (default_builtin_vectorized_function): Ditto.
1281         * targhooks.h (default_builtin_vectorized_function): Ditto.
1282         * target.h (struct gcc_target): Ditto.
1283         * tree-vect-stmts.c (vectorizable_function): Ditto.
1284         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
1285         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
1286         Ditto.
1287
1288 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
1289
1290         PR c/43381
1291         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
1292         nested binding iff it is a FUNCTION_DECL.
1293         (store_parm_decls_newstyle): Pass nested=true to bind for
1294         FUNCTION_DECLs amongst parameters.
1295
1296 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1297
1298         * var-tracking.c (vt_expand_loc_callback): Don't run
1299         cselib_expand_value_rtx_cb in dummy mode if
1300         cselib_dummy_expand_value_rtx_cb returned false.
1301
1302         * var-tracking.c (emit_note_insn_var_location): For one part
1303         notes with offset 0, don't add EXPR_LIST around the location.
1304         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
1305         add_location_or_const_value_attribute): Adjust for that change.
1306
1307         PR debug/43540
1308         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
1309         into first operand and location into second.
1310         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
1311         dw_cfi_oprnd_loc for DW_CFA_expression.
1312         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
1313         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
1314         assume first argument is regnum and second argument is location.
1315
1316 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1317
1318         PR target/42113
1319         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
1320         of scratch register to DImode.  Split to DImode comparison operator.
1321         Use SImode subreg of scratch register in the multiplication.
1322         (*cmp_sadd_sidi): Ditto.
1323         (*cmp_ssub_si): Ditto.
1324         (*cmp_ssub_sidi): Ditto.
1325
1326 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
1327
1328         PR target/43524
1329         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
1330         Remove invalid assert and wrong comment.
1331
1332 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
1333
1334         PR debug/43516
1335         * flags.h (final_insns_dump_p): New extern.
1336         * final.c (final_insns_dump_p): New variable.
1337         (rest_of_clean_state): Set it before -fdump-final-insns=
1338         dumping, clear afterwards.
1339         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
1340         MEM_ALIAS_SET on MEMs.
1341
1342 2010-03-26  David S. Miller  <davem@davemloft.net>
1343
1344         * configure.ac: Fix sparc GOTDATA_OP bug check.
1345         * configure: Rebuild.
1346
1347 2010-03-26  Alan Modra  <amodra@gmail.com>
1348
1349         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
1350
1351 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1352
1353         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
1354         TLS_SECTION_ASM_FLAG.
1355
1356 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
1357
1358         PR bootstrap/43511
1359         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
1360         Clear first_function_block_is_cold.
1361
1362         PR c/43385
1363         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
1364         argument if the argument is truth_value_p.
1365
1366 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
1367
1368         * config/rs6000/constraints.md: Update copyright year for my changes.
1369
1370         PR target/43484
1371         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
1372         used in reg+reg addressing, swap registers.
1373
1374 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1375
1376         PR debug/43293
1377         * target.h (struct gcc_target): Add code_end hook.
1378         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
1379         if not yet defined.
1380         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
1381         * toplev.c (compile_file): Call targetm.asm_out.code_end
1382         hook before unwind info/debug info output.
1383         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
1384         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
1385         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1386         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
1387         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
1388         * config/i386/i386.c (ix86_file_end): Renamed to...
1389         (ix86_code_end): ... this.  Make static.  Don't call
1390         file_end_indicate_exec_stack.  Emit unwind info using
1391         final_start_function/final_end_function.
1392         (darwin_x86_file_end): Remove.
1393         (TARGET_ASM_CODE_END): Define.
1394         * config/i386/i386.h (TARGET_ASM_FILE_END,
1395         NEED_INDICATE_EXEC_STACK): Don't define.
1396         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
1397         (TARGET_ASM_FILE_END): Define to darwin_file_end.
1398         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
1399         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
1400
1401         PR target/43498
1402         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
1403         at the beginning and final_end_function at the end.
1404         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1405
1406 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1407
1408         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
1409         and Sun as TLS syntax.
1410         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
1411         * configure: Regenerate.
1412         * config.in: Regenerate.
1413         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
1414         (default_elf_asm_named_section): Use it.
1415         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
1416         (i386_output_dwarf_dtprel): Likewise.
1417         (output_addr_const_extra): Likewise.
1418         (output_pic_addr_const): Lowercase @GOTTPOFF.
1419         (output_addr_const_extra): Likewise.
1420         (output_pic_addr_const): Lowercase @GOTNTPOFF.
1421         (output_addr_const_extra): Likewise.
1422         (output_pic_addr_const): Lowercase @INDNTPOFF.
1423         (output_addr_const_extra): Likewise.
1424         (output_pic_addr_const): Lowercase @NTPOFF.
1425         (output_addr_const_extra): Likewise.
1426         (output_pic_addr_const): Lowercase @TPOFF.
1427         (output_addr_const_extra): Likewise.
1428         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
1429         (*tls_global_dynamic_64): Likewise.
1430         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
1431         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
1432
1433         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
1434         (ASM_OUTPUT_TLS_COMMON): Use it.
1435         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
1436
1437         PR target/38118
1438         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
1439         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
1440         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
1441         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
1442         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1443         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
1444
1445 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1446
1447         * config/i386/i386.c (override_options): Don't accept
1448         -mtls-dialect=sun any longer.
1449         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
1450         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
1451         (*tls_local_dynamic_base_32_sun): Likewise.
1452         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
1453
1454 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
1455
1456         PR debug/43508
1457         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1458         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
1459
1460         PR debug/43479
1461         * ira.c (adjust_cleared_regs): New function.
1462         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
1463
1464         PR debug/19192
1465         PR debug/43479
1466         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
1467         from gimple_block.
1468         * expr.c (expand_expr_real): Restore previous
1469         curr_insn_source_location and curr_insn_block after
1470         expand_expr_real_1 call.
1471         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
1472         instead of expand_expr_real_1.
1473
1474 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
1475
1476         PR rtl-optimization/43413
1477         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
1478         hard regs too.
1479
1480 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
1481
1482         PR target/43348
1483         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
1484         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
1485
1486 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1487
1488         * config/i386/i386.c (ix86_target_string): Add -mfma.
1489         Fix a typo in comment.
1490
1491 2010-03-22  Mike Stump  <mikestump@comcast.net>
1492
1493         PR target/23071
1494         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
1495         Don't overly align based upon packed packed fields.
1496
1497 2010-03-22  Jason Merrill  <jason@redhat.com>
1498
1499         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
1500         Use () rather than [], and move before the element type.
1501
1502 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1503
1504         * doc/configfiles.texi (Configuration Files): Removed
1505         fixinc/Makefile*, intl/Makefile.*.
1506         * doc/makefile.texi: Fixed markup. Abstract from version
1507         control system used.
1508         (Makefile): Removed obsolete gcc/java/parse.y example.
1509         * doc/sourcebuild.texi: Likewise.
1510         (Top Level): Added config, gnattools, libdecnumber, libgcc,
1511         libgomp, libssp.  Removed fastjar.
1512         (Miscellaneous Docs): Clarify location.
1513         Added COPYING3, COPYING3.LIB.
1514         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
1515
1516 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1517
1518         PR target/38085
1519         * config/i386/i386.c (x86_function_profiler)
1520         [!NO_PROFILE_COUNTERS]: Fix typo.
1521         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
1522         instead of callq.
1523
1524 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
1525             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1526
1527         * doc/sourcebuild.texi (Test Directives): Split into six
1528         subsections, with most of the current text in new subsections
1529         Directives, Selectors, and Final Actions.
1530         (Directives): Split list of test directives into multiple
1531         subsubsections.
1532         (Selectors): Describe use and syntax of selectors.
1533         (Effective-Target Keywords): Describe all existing keywords.
1534         (Add Options): Describe features for dg-add-options.
1535         (Require Support): Describe variants of dg-require-support.
1536         (Final Actions): Describe commands to use in dg-final.
1537
1538 2010-03-22  Michael Matz  <matz@suse.de>
1539
1540         PR middle-end/43475
1541         * recog.c (validate_replace_rtx_group): Replace also in
1542         REG_EQUAL and REG_EQUIV notes.
1543
1544 2010-03-22  Richard Guenther  <rguenther@suse.de>
1545
1546         PR tree-optimization/43390
1547         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
1548         sure vector extracts are type correct.
1549
1550 2010-03-22  Richard Guenther  <rguenther@suse.de>
1551
1552         PR middle-end/40106
1553         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
1554         x * sqrt (x) even when optimizing for size if the target
1555         has native support for sqrt.
1556
1557 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
1558
1559         * varasm.c (make_decl_rtl_for_debug): Also clear
1560         flag_mudflap for the duration of make_decl_rtl call.
1561
1562         PR debug/43443
1563         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
1564         locs from preserved VALUEs.
1565
1566 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1567
1568         PR middle-end/42718
1569         * pa.md (movmemsi): Set align to one if zero.
1570         (movmemdi): Likewise.
1571
1572 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
1573
1574         PR target/42321
1575         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
1576         with their corresponding prologue pushes.
1577
1578 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
1579
1580         PR target/43156
1581         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
1582         at the begining or end.
1583         (spu_expand_epilogue): Likewise.
1584
1585 2010-03-20  Richard Guenther  <rguenther@suse.de>
1586
1587         PR rtl-optimization/43438
1588         * combine.c (make_extraction): Properly zero-/sign-extend an
1589         extraction of the low part of a CONST_INT.  Also handle
1590         CONST_DOUBLE.
1591
1592 2010-03-19  Mike Stump  <mikestump@comcast.net>
1593
1594         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
1595         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
1596         (override_options): Use SUBTARGET32_DEFAULT_CPU.
1597
1598 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1599
1600         PR c/43211
1601         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
1602         an error.
1603
1604 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
1605
1606         PR rtl-optimization/42258
1607         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
1608         use that may match DEF.
1609
1610         PR target/40697
1611         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
1612         the cost of loading the constant rather than assuming
1613         COSTS_N_INSNS (1).
1614         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
1615         outer code is AND, do the same tests as the andsi3 expander and
1616         return COSTS_N_INSNS (1) if and is cheap.
1617
1618         * optabs.c (avoid_expensive_constant): Fix formatting.
1619
1620 2010-03-19  Michael Matz  <matz@suse.de>
1621
1622         PR c++/43116
1623         * attribs.c (decl_attributes): When rebuilding a function pointer
1624         type use the same qualifiers as the original pointer type.
1625
1626 2010-03-19  Martin Jambor  <mjambor@suse.cz>
1627
1628         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
1629         and is_gimple_ip_invariant_address.
1630
1631 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1632
1633         Revert
1634         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1635
1636         * config/arm/arm.c (arm_override_options): Turn off
1637         flag_dwarf2_cfi_asm for AAPCS variants.
1638
1639 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1640
1641         PR target/43399
1642         * config/arm/arm.c (emit_multi_reg_push): Update comments.
1643         Use PRE_MODIFY instead of PRE_DEC.
1644         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
1645         (vfp_emit_fstmd): Likewise.
1646
1647 2010-03-19  Michael Matz  <matz@suse.de>
1648
1649         PR target/43305
1650         * builtins.c (expand_builtin_interclass_mathfn,
1651         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
1652         if that fails.
1653
1654 2010-03-19  Richard Guenther  <rguenther@suse.de>
1655
1656         PR tree-optimization/43415
1657         * tree-ssa-pre.c (phi_translate): Split out worker to ...
1658         (phi_translate_1): ... this.
1659         (phi_translate): Move all caching here.  Cache all NARY
1660         and REFERENCE translations.
1661
1662 2010-03-19  David S. Miller  <davem@davemloft.net>
1663
1664         With help from Eric Botcazou.
1665         * config/sparc/sparc.c: Include dwarf2out.h.
1666         (emit_pic_helper): Delete.
1667         (pic_helper_symbol_name): Delete.
1668         (pic_helper_emitted_p): Delete.
1669         (pic_helper_needed): New.
1670         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
1671         (get_pc_thunk_name): New.
1672         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
1673         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
1674         Set pic_helper_needed to true.  Don't call emit_pic_helper.
1675         (sparc_expand_prologue): Update load_pic_register call.
1676         (sparc_output_mi_thunk): Likewise.
1677         (sparc_file_end): Emit a hidden comdat symbol for the PIC
1678         thunk if possible.  Output CFI information as needed.
1679
1680 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1681             Jack Howarth <howarth@bromo.med.uc.edu>
1682
1683         PR target/36399
1684         * config/i386/i386.h: Fix ABI on darwin x86-32.
1685
1686 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
1687
1688         * tree.h: Declare make_decl_rtl_for_debug.
1689         * varasm.c (make_decl_rtl_for_debug): New.
1690         * dwarf2out.c (rtl_for_decl_location): Call it.
1691         * cfgexpand.c (expand_debug_expr): Call it.
1692
1693 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1694
1695         PR bootstrap/43399
1696         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
1697         mem_mode.
1698
1699         PR bootstrap/43403
1700         * var-tracking.c (vt_init_cfa_base): Do nothing if
1701         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
1702
1703 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
1704
1705         PR debug/42873
1706         * var-tracking.c (canonicalize_vars_star): New.
1707         (dataflow_post_merge_adjust): Use it.
1708
1709 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1710
1711         PR debug/43058
1712         * var-tracking.c (non_suitable_const): New function.
1713         (add_uses): For DEBUG_INSNs with constants, don't record any
1714         value, instead just the constant value itself.
1715         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
1716         is not VAR_LOC_UNKNOWN_P, set var to the constant.
1717         (emit_notes_in_bb): Likewise.
1718         (emit_note_insn_var_location): For onepart variables if
1719         cur_loc is a VOIDmode constant, use DECL_MODE.
1720
1721 2010-03-18  Martin Jambor  <mjambor@suse.cz>
1722
1723         PR middle-end/42450
1724         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
1725         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
1726         all non-clones.  Moved call redirection...
1727         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
1728         (cgraph_materialize_all_clones): Dispose of all
1729         combined_args_to_skip bitmaps.
1730         (verify_cgraph_node): Do not check for edges pointing to wrong
1731         nodes in inline clones.
1732         * tree-inline.c (copy_bb): Call
1733         cgraph_redirect_edge_call_stmt_to_callee.
1734         * ipa.c (cgraph_remove_unreachable_nodes): Call
1735         cgraph_node_remove_callees even when there are used clones.
1736
1737 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1738
1739         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
1740
1741 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1742
1743         PR target/43383
1744         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
1745         for 32bit.
1746
1747 2010-03-18  Michael Matz  <matz@suse.de>
1748
1749         PR middle-end/43419
1750         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
1751         into sqrt(x) if we need to preserve signed zeros.
1752
1753 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
1754             Eric Botcazou  <ebotcazou@adacore.com>
1755
1756         PR rtl-optimization/43360
1757         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
1758         note if we don't know its invariant status.
1759
1760 2010-03-18  Michael Matz  <matz@suse.de>
1761
1762         PR tree-optimization/43402
1763         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
1764         PHI chains of ssa names registered for update.
1765
1766 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
1767
1768         PR target/42427
1769         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
1770         non-offsettable and pre_modify update addressing.
1771         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
1772         and "2" alternatives "#".
1773         (*movdd_softfloat32): Make all alternatives "#";
1774         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
1775         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
1776         (*movdf_softfloat32): Make all alternatives "#";
1777         (movdi): Use the new DIFD mode iterator to create a common splitter
1778         for movdi, movdf and movdd patterns.
1779
1780 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1781
1782         * common.opt (dumpdir): Remove redundant tab.
1783
1784 2010-03-17  Martin Jambor  <mjambor@suse.cz>
1785
1786         PR tree-optimization/43347
1787         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
1788         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
1789
1790 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1791
1792         PR rtl-optimization/42216
1793         * regrename.c (create_new_chain): New function, broken out from...
1794         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
1795         appending a use to an empty chain.
1796         (build_def_use): Remove previous changes that convert OP_INOUT to
1797         OP_OUT operands; instead detect the case where an OP_INOUT operand
1798         uses a previously untracked register and create an empty chain for it.
1799
1800 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1801
1802         * doc/extend.texi (Function Attributes): Rewrite unfinished
1803         sentence in ms_abi documentation.
1804
1805 2010-03-17  Alan Modra  <amodra@gmail.com>
1806
1807         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
1808         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
1809         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
1810         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
1811
1812 2010-03-16  Richard Henderson  <rth@redhat.com>
1813
1814         PR middle-end/43365
1815         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
1816         (lower_try_finally): Save and restore eh_seq around the expansion
1817         of the try-finally.
1818
1819 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1820
1821         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
1822         statements before splitting block.
1823
1824 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1825
1826         * doc/sourcebuild.texi (Testsuites): Fix markup.
1827         Use pathnames relative to gcc/testsuite.
1828         (Test Directives): Move description of how timeout is determined.
1829         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
1830         (C Tests): Correct gcc.misc-tests directory.
1831         Framework tests now live in gcc.test-framework.
1832
1833 2010-03-16  Richard Guenther  <rguenther@suse.de>
1834
1835         PR middle-end/43379
1836         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
1837         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
1838
1839 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1840             Alexandre Oliva  <aoliva@redhat.com>
1841
1842         PR tree-optimization/42917
1843         * lambda-code.c (remove_iv): Skip debug statements.
1844         (lambda_loopnest_to_gcc_loopnest): Likewise.
1845         (not_interesting_stmt): Debug statements are not interesting.
1846
1847 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
1848
1849         PR debug/43051
1850         PR debug/43092
1851         * cselib.c (cselib_preserve_constants,
1852         cfa_base_preserved_val): New static variables.
1853         (preserve_only_constants): New function.
1854         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
1855         clear its REG_VALUES.  If cselib_preserve_constants, don't
1856         empty the whole hash table, but preserve there VALUEs with constants,
1857         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
1858         (cselib_preserve_cfa_base_value): New function.
1859         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
1860         (cselib_init): Change argument to int bitfield.  Set
1861         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
1862         is in it.
1863         (cselib_finish): Clear cselib_preserve_constants and
1864         cfa_base_preserved_val.
1865         * cselib.h (enum cselib_record_what): New enum.
1866         (cselib_init): Change argument to int.
1867         (cselib_preserve_cfa_base_value): New prototype.
1868         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
1869         * dse.c (dse_step1): Likewise.
1870         * cfgcleanup.c (thread_jump): Likewise.
1871         * sched-deps.c (sched_analyze): Likewise.
1872         * gcse.c (local_cprop_pass): Likewise.
1873         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
1874         If FN is non-NULL, call the callback always and whenever it returns
1875         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
1876         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
1877         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
1878         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
1879         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
1880         * var-tracking.c: Include recog.h.
1881         (bb_stack_adjust_offset): Remove.
1882         (vt_stack_adjustments): Don't call it, instead just gather the
1883         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
1884         (adjust_stack_reference): Remove.
1885         (compute_cfa_pointer): New function.
1886         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
1887         (struct adjust_mem_data): New type.
1888         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
1889         functions.
1890         (get_address_mode): New function.
1891         (replace_expr_with_values): Use it.
1892         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
1893         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
1894         (adjust_sets): Remove.
1895         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
1896         Use get_address_mode.
1897         (get_adjusted_src): Remove.
1898         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
1899         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
1900         (add_with_sets): Don't call adjust_sets.
1901         (fp_setter, vt_init_cfa_base): New functions.
1902         (vt_initialize): Change return type to bool.  Move most of pool etc.
1903         initialization to the beginning of the function from end.  Pass
1904         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
1905         If !frame_pointer_needed, call vt_stack_adjustment before mos
1906         vector is filled, call vt_init_cfa_base if argp/framep has been
1907         eliminated to sp.  If frame_pointer_needed and argp/framep has
1908         been eliminated to hard frame pointer, set
1909         hard_frame_pointer_adjustment and call vt_init_cfa_base after
1910         encountering fp setter in the prologue.  For MO_ADJUST, call
1911         log_op_type before pusing the op into mos vector, not afterwards.
1912         Call adjust_insn before cselib_process_insn/add_with_sets,
1913         call cancel_changes (0) afterwards.
1914         (variable_tracking_main_1): Adjust for vt_initialize calling
1915         vt_stack_adjustments and returning whether it succeeded or not.
1916
1917 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
1918
1919         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
1920         debug statements.
1921
1922 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
1923
1924         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
1925         has been set.
1926         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
1927         drap_reg has not been set.
1928
1929 2010-03-15  Michael Matz  <matz@suse.de>
1930
1931         PR middle-end/43300
1932         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
1933         use it to expand block copies.
1934         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
1935         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
1936         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
1937
1938 2010-03-15  Richard Guenther  <rguenther@suse.de>
1939
1940         PR tree-optimization/43367
1941         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
1942         elimination check.
1943
1944 2010-03-15  Richard Guenther  <rguenther@suse.de>
1945
1946         PR tree-optimization/43317
1947         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
1948
1949 2010-03-15  Martin Jambor  <mjambor@suse.cz>
1950
1951         PR tree-optimization/43141
1952         * tree-sra.c (create_abstract_origin): New function.
1953         (modify_function): Call create_abstract_origin.
1954
1955 2010-03-15  Chris Demetriou  <cgd@google.com>
1956
1957         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
1958         wasn't copied.
1959
1960 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1961
1962         PR middle-end/43354
1963         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
1964         call insert_out_of_ssa_copy for default definitions.
1965
1966 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1967
1968         * graphite-clast-to-gimple.c (my_long_long): Defined.
1969         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
1970         * graphite-sese-to-poly.c (my_long_long): Defined.
1971         (scop_ivs_can_be_represented): Use it.
1972
1973 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1974
1975         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
1976         graphite-max-bbs-per-function, and loop-block-tile-size.
1977         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
1978         with "maximum".
1979         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
1980
1981 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1982
1983         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
1984         forward declaration.
1985         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
1986         (add_upper_bounds_from_estimated_nit): New.
1987         (build_loop_iteration_domains): Use it.
1988
1989 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1990
1991         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
1992
1993 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1994
1995         PR middle-end/43306
1996         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
1997         should be an INTEGER_CST.  Also handle CASE_CONVERT.
1998
1999 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2000
2001         * graphite.c (graphite_initialize): To bound the number of bbs per
2002         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
2003         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
2004         * doc/invoke.texi: Document it.
2005
2006 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2007
2008         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
2009         * graphite-sese-to-poly.h (build_poly_scop): Same.
2010
2011 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
2012
2013         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
2014         the number of parameters in the scop.  Use as an upper bound
2015         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
2016         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
2017         * doc/invoke.texi: Document it.
2018
2019 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
2020
2021         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
2022         * doc/c-tree.texi: Remove.
2023         * doc/generic.texi: Merge c-tree.texi here.
2024         * doc/gccint.texi (Trees): Remove menu entry.
2025         (c-tree.texi): Remove @include.
2026         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
2027         * doc/languages.texi (Reading RTL): Ditto.
2028
2029 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
2030
2031         PR target/42869
2032         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
2033
2034 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2035
2036         PR middle-end/42431
2037         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
2038         code added to work around reload clobbering CONST insns.
2039
2040 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
2041
2042         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
2043         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
2044         (cselib_preserve_only_values): Remove retain argument, don't
2045         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
2046         * cselib.h (cselib_preserve_only_values): Remove retain argument.
2047         * var-tracking.c (micro_operation): Move insn field before union.
2048         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
2049         (struct variable_tracking_info_def): Remove n_mos field, change
2050         mos into a vector of micro_operations.
2051         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
2052         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
2053         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
2054         changing into a vector.
2055         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
2056         come before all other uops generated by add_stores.
2057         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
2058         argument removal.
2059         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
2060         a vector.  Run just one pass over the bbs instead of separate counting
2061         and computation phase.
2062         (vt_finalize): Free VTI (bb)->mos vector instead of array.
2063
2064         PR debug/43329
2065         * tree-inline.c (remap_decls): Put old_var rather than origin_var
2066         into *nonlocalized_list vector.
2067         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
2068         even if origin is non-NULL.
2069         (gen_variable_die): Likewise.
2070         (process_scope_var): Don't change origin.
2071         (gen_decl_die): Likewise.
2072         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
2073         before adding new edges instead of after it, fix moving over
2074         debug stmts.
2075
2076 2010-03-11  David S. Miller  <davem@davemloft.net>
2077
2078         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
2079         of four.
2080         * configure: Rebuild.
2081
2082 2010-03-11  Martin Jambor  <mjambor@suse.cz>
2083
2084         PR tree-optimization/43257
2085         * tree.c (assign_assembler_name_if_neeeded): New function.
2086         (free_lang_data_in_cgraph): Assembler name assignment moved to the
2087         above new function.
2088         * tree.h (assign_assembler_name_if_neeeded): Declare.
2089         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
2090         the function if needed.
2091
2092 2010-03-11  Chris Demetriou  <cgd@google.com>
2093
2094         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
2095         include/stdint-gcc.h, and include/stdint.h world-readable.
2096
2097 2010-03-11  Richard Guenther  <rguenther@suse.de>
2098
2099         PR tree-optimization/43255
2100         * tree-vrp.c (process_assert_insertions_for): Do not insert
2101         asserts for trivial conditions.
2102
2103 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2104
2105         PR tree-optimization/43280
2106         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
2107         generation.  Move calculation of size out of the if branch.
2108         (find_bswap): Modify compare number generation.
2109
2110 2010-03-11  Richard Guenther  <rguenther@suse.de>
2111
2112         PR lto/43200
2113         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
2114         (input_gimple_stmt): Fixup handled component types during
2115         operand read.  Also fix up decls in ADDR_EXPRs.
2116
2117 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
2118
2119         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
2120         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
2121
2122 2010-03-10  Jan Hubicka  <jh@suse.cz>
2123
2124         PR c/43288
2125         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
2126         * varasm.c (get_variable_section): Don't do that here...
2127         (make_decl_rtl): ... and here.
2128         (do_assemble_alias): Produce decl RTL.
2129         (assemble_alias): Likewise.
2130
2131 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2132
2133         PR debug/43290
2134         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
2135         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
2136         of fde->vdrap_reg.
2137         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
2138         (based_loc_descr): Only express drap or vdrap regno based expressions
2139         using DW_OP_fbreg when not optimizing.
2140         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
2141         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
2142         REG_CFA_SET_VDRAP note.
2143
2144 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
2145
2146         PR tree-optimization/43236
2147         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
2148         error in calculation of base address in reverse iteration case.
2149         (generate_builtin): Take number of latch executions if the statement
2150         is in the latch.
2151
2152 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
2153
2154         PR middle-end/42859
2155         * tree-eh.c: Include pointer-set.h.
2156         (lower_eh_dispatch): Filter out duplicate case labels and
2157         remove the unneeded edge when the label is unused.  Return
2158         true when some edges are removed.
2159         (execute_lower_eh_dispatch): When any lowering resulted in
2160         removing an edge, also delete unreachable blocks.
2161
2162 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
2163
2164         PR bootstrap/43287
2165         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2166         UNSPEC_MACHOPIC_OFFSET.
2167
2168 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2169
2170         PR target/43294
2171         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
2172         (m68k_delegitimize_address): New function.
2173
2174 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
2175
2176         PR debug/43299
2177         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
2178
2179         PR debug/43299
2180         * var-tracking.c (adjust_sets): New function.
2181         (count_with_sets, add_with_sets): Use it.
2182         (get_adjusted_src): New inline function.
2183         (add_stores): Use it.
2184
2185         PR debug/43304
2186         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
2187         call cselib_dummy_expand_value_rtx_cb instead of
2188         cselib_expand_value_rtx_cb.
2189
2190         PR debug/43293
2191         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
2192         * config/i386/i386.c: Include debug.h and dwarf2out.h.
2193         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
2194         and .cfi_endproc around the pic thunks.
2195         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
2196         all queued unwind info register saves are saved before the call.
2197         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
2198         considered as sp-=4 for unwind info and the pop as sp+=4 which
2199         also clobbers dest, but doesn't actually restore it.
2200
2201         PR debug/43290
2202         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
2203         RTX_FRAME_RELATED_P.
2204
2205 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2206
2207         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
2208         whitespaces in output template.
2209
2210 2010-03-09  Jie Zhang  <jie@codesourcery.com>
2211
2212         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
2213         out array boundary.
2214
2215 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2216
2217         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
2218         builtins.exp in a separate job.
2219
2220 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2221
2222         * graphite-sese-to-poly.c (add_param_constraints): Use
2223         lower_bound_in_type and upper_bound_in_type.
2224
2225 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2226
2227         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
2228         instead of unsigned_type_node.
2229
2230 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2231             Reza Yazdani  <reza.yazdani@amd.com>
2232
2233         PR middle-end/43065
2234         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
2235         on pointer type parameters.
2236
2237 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2238
2239         PR middle-end/42644
2240         PR middle-end/42130
2241         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
2242         handle conversions from pointer to integers.
2243         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
2244         induction variable, to be able to work with code generated by CLooG.
2245         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
2246         (build_poly_scop): Bail out if we cannot codegen a loop.
2247
2248 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2249
2250         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
2251         code generation with gloog_error.
2252
2253 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2254
2255         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
2256         Call fold_convert on all the returned values.
2257         (expand_scalar_variables_expr): Pass to
2258         expand_scalar_variables_ssa_name the type of the resulting expression.
2259
2260 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2261
2262         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
2263         ppl_min_for_le_pointset.
2264         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
2265         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
2266
2267 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2268
2269         * graphite-dependences.c (map_into_dep_poly): Removed.
2270         (dependence_polyhedron_1): Use combine_context_id_scat.
2271
2272 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2273
2274         * graphite-poly.h (struct poly_scattering): Add layout documentation.
2275         (struct poly_bb): Same.
2276         (combine_context_id_scat): New.
2277
2278 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2279
2280         PR middle-end/42326
2281         * sese.c (name_defined_in_loop_p): Return false for default
2282         definitions.
2283
2284 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2285
2286         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
2287         and clean up the logic.
2288
2289 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
2290
2291         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
2292         early return.
2293
2294 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
2295
2296         * var-tracking.c (remove_cselib_value_chains): Define only for
2297         ENABLE_CHECKING.
2298         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
2299         delete_slot_part, emit_notes_for_differences_1): Don't call
2300         remove_cselib_value_chains here.
2301         (set_slot_part, emit_notes_for_differences_2): Don't call
2302         add_cselib_value_chains here.
2303         (preserved_values): New vector.
2304         (preserve_value): New function.
2305         (add_uses, add_stores, vt_add_function_parameters): Use it
2306         instead of cselib_preserve_value.
2307         (changed_values_stack): New vector.
2308         (check_changed_vars_0): New function.
2309         (check_changed_vars_1, check_changed_vars_2): Use it.
2310         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
2311         changed_values_stack VALUEs.
2312         (vt_emit_notes): For all preserved_values call
2313         add_cselib_value_chains.  If ENABLE_CHECKING call
2314         remove_cselib_value_chains before verifying value_chains is empty.
2315         Initialize and free changed_values_stack.
2316         (vt_initialize): Initialize preserved_values.
2317         (vt_finalize): Free preserved_values.
2318
2319 2010-03-08  Richard Guenther  <rguenther@suse.de>
2320
2321         PR tree-optimization/43269
2322         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
2323         region detection.
2324
2325 2010-03-08  Martin Jambor  <mjambor@suse.cz>
2326
2327         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
2328         (ipa_is_param_called): Removed.
2329         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
2330         (ipa_print_node_params): Do not print the called flag.
2331         (ipa_write_node_info): Do not stream the called flag.
2332         (ipa_read_node_info): Likewise.
2333
2334 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
2335
2336         PR debug/43176
2337         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
2338         * cselib.c (struct expand_value_data): Add dummy field.
2339         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
2340         dummy to false.
2341         (cselib_dummy_expand_value_rtx_cb): New function.
2342         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
2343         any rtl.
2344         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
2345         * var-tracking.c: Include pointer-set.h.
2346         (variable): Change n_var_parts to char from int.  Add
2347         cur_loc_changed and in_changed_variables fields.
2348         (variable_canonicalize): Remove.
2349         (shared_var_p): New inline function.
2350         (unshare_variable): Maintain cur_loc_changed and
2351         in_changed_variables fields.  If var was in changed_variables,
2352         replace it there with new_var.  Just copy cur_loc instead of
2353         resetting it to something else.
2354         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
2355         (dataflow_set_union): Don't call variable_canonicalize.
2356         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
2357         of their DEBUG_EXPR_TREE_DECLs.
2358         (canonicalize_loc_order_check): Verify that cur_loc is NULL
2359         and in_changed_variables and cur_loc_changed is false.
2360         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
2361         and cur_loc_changed.  Don't update cur_loc here.
2362         (variable_merge_over_src): Don't call variable_canonicalize.
2363         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
2364         removing loc that is equal to cur_loc, clear cur_loc,
2365         set cur_loc_changed and ensure variable_was_changed is called.
2366         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
2367         compare pointers in cur_loc check, if it is equal to loc,
2368         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
2369         (variable_different_p): Remove compare_current_location argument,
2370         don't compare cur_loc.
2371         (dataflow_set_different_1): Adjust variable_different_p caller.
2372         (variable_was_changed): If dv had some var in changed_variables
2373         already, reset in_changed_variables flag for it and propagate
2374         cur_loc_changed over to the new variable.  On empty var
2375         always set cur_loc_changed.  Set in_changed_variables on whatever
2376         var is added to changed_variables.
2377         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
2378         Use shared_var_p.  When removing loc that is equal to cur_loc,
2379         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
2380         end, don't set it to something else, just call variable_was_changed.
2381         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
2382         loc being removed, clear cur_loc and set cur_loc_changed.
2383         Set cur_loc_changed if all locations have been removed.
2384         (struct expand_loc_callback_data): New type.
2385         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
2386         allocated.  Always create SUBREGs if simplify_subreg failed.
2387         Prefer to use cur_loc, when that fails and still in
2388         changed_variables (and seen first time) recompute it.  Set
2389         cur_loc_changed of variables which had to change cur_loc and
2390         compute elcd->cur_loc_changed if any of the subexpressions used
2391         had to change cur_loc.
2392         (vt_expand_loc): Adjust to pass arguments in
2393         expand_loc_callback_data structure.
2394         (vt_expand_loc_dummy): New function.
2395         (emitted_notes): New variable.
2396         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
2397         that weren't used for any other decl in current
2398         emit_notes_for_changes call call vt_expand_loc_dummy to update
2399         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
2400         first loc_chain location if NULL before.  Always use just
2401         cur_loc instead of first loc_chain location.  When cur_loc_changed
2402         is false, when not --enable-checking=rtl just don't emit any note.
2403         When rtl checking, compute the note and assert it is the same
2404         as previous note.  Clear cur_loc_changed and in_changed_variables
2405         at the end before removing from changed_variables.
2406         (check_changed_vars_3): New function.
2407         (emit_notes_for_changes): Traverse changed_vars to call
2408         check_changed_vars_3 on each changed var.
2409         (emit_notes_for_differences_1): Clear cur_loc_changed and
2410         in_changed_variables.  Recompute cur_loc of new_var.
2411         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
2412         (vt_emit_notes): Initialize and destroy emitted_notes.
2413
2414 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
2415
2416         PR rtl-optimization/42220
2417         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
2418         Use verify_reg_tracked to determine if we should use OP_OUT rather
2419         than OP_INOUT.
2420         (build_def_use): If we see an in-out operand for a register that we
2421         know nothing about, treat is an output if possible, fail the block if
2422         not.
2423
2424 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2425
2426         PR debug/42897
2427         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
2428         permanently.
2429
2430 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
2431
2432         PR debug/42897
2433         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
2434         uses of relevant DEFs that are dead outside the loop too.
2435
2436 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
2437
2438         * var-tracking.c (dataflow_set_merge): Swap src and src2.
2439         Reverted:
2440         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
2441         PR debug/41371
2442         * var-tracking.c (values_to_unmark): New variable.
2443         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
2444         values_to_unmark vector.  Moved body to...
2445         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
2446         instead queue it into values_to_unmark vector.
2447         (vt_find_locations): Free values_to_unmark vector.
2448
2449 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
2450
2451         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
2452         (site.exp): Export them when plugins are enabled.
2453
2454 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
2455
2456         PR middle-end/42326
2457         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
2458         that contain scevs.
2459         (chrec_fold_multiply): Same.
2460
2461 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
2462
2463         PR c/43248
2464         * c-decl.c (build_compound_literal): Return early if init is
2465         an error_mark_node.
2466
2467 2010-03-04  Martin Jambor  <mjambor@suse.cz>
2468
2469         PR tree-optimization/43164
2470         PR tree-optimization/43191
2471         * tree-sra.c (type_consists_of_records_p): Reject records with
2472         zero-size bit-fields at the end.
2473
2474 2010-03-04  Mike Stump  <mikestump@comcast.net>
2475
2476         * Makefile.in (TAGS): Remove *.y.
2477
2478 2010-03-04  Richard Guenther  <rguenther@suse.de>
2479
2480         PR tree-optimization/40761
2481         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
2482         in reverse order.
2483         (my_rev_post_order_compute): New function.
2484         (init_pre): Call it.
2485
2486 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
2487
2488         PR middle-end/43209
2489         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
2490         decrease the cost of an IV candidate when the cost is infinite.
2491
2492 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2493
2494         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
2495         Use '3DNow!' for the extension of that name, ensure normal space
2496         after the string.
2497         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
2498
2499 2010-03-03  Jeff Law  <law@redhat.com>
2500
2501         * PR middle-end/32693
2502         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
2503         than gen_rtx_SUBREG.
2504         (extract_bit_field_1): Likewise.
2505
2506 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
2507
2508         * doc/sourcebuild.texi (Test directives): Document that arguments
2509         include-opts and exclude-opts are now optional for dg-skip-if,
2510         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
2511
2512 2010-03-03  Jason Merrill  <jason@redhat.com>
2513
2514         PR c++/12909
2515         * cgraph.h (varpool_node): Add extra_name field.
2516         * varpool.c (varpool_extra_name_alias): New.
2517         (varpool_assemble_decl): Emit extra name aliases.
2518         (varpool_mark_needed_node): Look past an extra name alias.
2519         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
2520         * lto-streamer-in.c (lto_input_tree): Read it.
2521         * lto-streamer-out.c (output_unreferenced_globals): Write it.
2522
2523 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
2524
2525         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
2526         (sparc*-*-solaris2*): ...this.
2527
2528 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
2529
2530         PR debug/43229
2531         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
2532         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
2533         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
2534         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
2535
2536         PR debug/43237
2537         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
2538         fallthrough to default handling, just with want_address 0 instead of 2.
2539         For single element lists, add_AT_loc directly, otherwise create an
2540         artificial variable DIE and stick location list to it.
2541
2542         PR debug/43177
2543         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
2544         (VAL_EXPR_HAS_REVERSE): Define.
2545         (reverse_op): New function.
2546         (add_stores): For reversible operations add an extra MO_VAL_USE.
2547
2548 2010-03-02  Jason Merrill  <jason@redhat.com>
2549
2550         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
2551
2552 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
2553
2554         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
2555         (sparc64-*-linux*): Likewise.
2556         (sparc64-*-solaris2*): Include assembler files before linker ones.
2557         (sparc-*-solaris2*): Simplify and reorder to match previous case.
2558         * config/sparc/gas.h: Delete.
2559         * config/sparc/sol2-64.h: Add copyright notice.
2560         * config/sparc/sol2-gas-bi.h: Likewise.
2561         * config/sparc/sol2-gld.h: Likewise.
2562         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
2563         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
2564         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
2565         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
2566         (sparc_elf_asm_named_section): Rename into...
2567         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
2568
2569 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
2570
2571         * config/alpha/alpha.c (override_options): Fix -mtune error message.
2572
2573 2010-03-02  Jeff Law  <law@redhat.com>
2574
2575         PR middle-end/42431
2576         * reload1.c (rtx_p, substitute_stack): Declare.
2577         (substitute): Record addresses of changed rtxs.
2578         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
2579         Restore the original rtx when complete.
2580         (reload): Free subsitute_stack when complete.
2581
2582 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
2583
2584         * doc/gccint.texi (menu): Add Testsuites as a chapter.
2585         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
2586         new chapter.
2587         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
2588         LTO Testing, gcov Testing, profopt Testing, compat Testing,
2589         Torture Tests): Change from subsection to section.
2590
2591 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
2592             Steven Bosscher  <steven@gcc.gnu.org>
2593
2594         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
2595         instead of bb.
2596
2597 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
2598
2599         PR middle-end/42640
2600         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
2601         the assignment from the new induction variable to the assignment
2602         of the value from the original loop PHI function.
2603
2604 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
2605             Daniel Jacobowitz  <dan@codesourcery.com>
2606
2607         * doc/sourcebuild.texi (Test directives): Clarify options to
2608         dg-skip-if.
2609
2610 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2611
2612         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
2613         Disable cfi directives unless GCC and gas agree on using read-only
2614         .eh_frame sections for 64-bit.
2615         * configure: Regenerate.
2616
2617 2010-03-01  Richard Guenther  <rguenther@suse.de>
2618
2619         PR tree-optimization/43220
2620         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
2621         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
2622
2623 2010-03-01  Richard Guenther  <rguenther@suse.de>
2624             Martin Jambor  <mjambor@suse.cz>
2625
2626         PR middle-end/41250
2627         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
2628         gimplified parameters.
2629
2630 2010-03-01  Christian Bruel  <christian.bruel@st.com>
2631
2632         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
2633
2634 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
2635
2636         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
2637
2638 2010-03-01  Richard Guenther  <rguenther@suse.de>
2639
2640         PR middle-end/43213
2641         * expr.c (expand_assignment): Use the alias-oracle to tell
2642         if the rhs aliases the result decl.
2643
2644 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2645
2646         PR pch/14940
2647         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
2648         to sol_gt_pch_get_address.
2649         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
2650         64-bit, SPARC and x86.
2651         (sol_gt_pch_get_address): New function.
2652
2653 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
2654
2655         * toplev.h (inform_n, error_n): Declare.
2656         * diagnostic.c (inform_n, error_n): New function.
2657
2658 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
2659
2660         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
2661         has no rtl yet when processing local_decls, queue it and recheck
2662         if deferred stack allocation hasn't assigned it rtl.
2663
2664 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2665
2666         * config/sh/sh.c (unspec_bbr_uid): New.
2667         (gen_block_redirect): Use it instead of INSN_UID.
2668         (gen_far_branch): Likewise.
2669
2670 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
2671
2672         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
2673         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
2674
2675 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2676
2677         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
2678         (Warning Options): -Wno-conversion-null is valid for
2679         Objective-C++ as well.
2680         * doc/tm.texi (Named Address Spaces): Likewise.
2681         * doc/plugins.texi (Plugins): Replace TABs with spaces.
2682         * doc/tree-ssa.texi (Tree SSA): Likewise.
2683
2684 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2685
2686         PR bootstrap/43202
2687         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
2688         by default.  Don't set the default arch for
2689         i[34567]86-*-darwin*|x86_64-*-darwin*.
2690
2691 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2692
2693         PR bootstrap/43202
2694         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
2695         default.  Set the default 32bit/64bit archs with $with_arch
2696         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
2697
2698 2010-02-27  Richard Guenther  <rguenther@suse.de>
2699
2700         PR tree-optimization/43186
2701         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
2702         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
2703         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
2704         unroller iterations.
2705
2706 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2707
2708         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
2709         required and i[34567]86-*-* targets don't support 64bit ISA.
2710
2711 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
2712
2713         PR ada/43096
2714         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2715         the same alias set.
2716
2717 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2718
2719         * config.gcc: Set the default arch at least to Prescott for
2720         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
2721         if SSE math is enabled.
2722
2723 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2724
2725         * diagnostic.c (diagnostic_initialize): Update.
2726         (diagnostic_report_diagnostic): Test inhibit_notes_p for
2727         informative notes.
2728         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
2729         (diagnostic_inhibit_notes): New.
2730         * toplev.c (process_options): inhibit notes with -fcompare-debug.
2731
2732 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2733
2734         PR c/20631
2735         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
2736         * doc/standards.texi: Likewise.
2737         * doc/extend.texi: Likewise.
2738         * doc/trouble.texi: Likewise.
2739         * doc/cppopts.texi: Likewise.
2740         * doc/install.texi: Likewise.
2741         * c.opt (std=c90,std=gnu90): New options.
2742         * c-opts.c (c_common_handle_option): Handle them.
2743
2744 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2745
2746         PR c/24577
2747         * c-decl.c (undeclared_variable): Use an informative note.
2748
2749 2010-02-26  Richard Guenther  <rguenther@suse.de>
2750
2751         PR tree-optimization/43186
2752         * gimple.h (gimple_fold): Remove.
2753         * gimple.c (gimple_fold): Remove.  Inline into single user ...
2754         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
2755         Try harder for conditions.
2756
2757 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2758
2759         PR debug/43190
2760         * function.c (used_types_insert): Don't skip through named pointer
2761         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
2762         and it is different from the main variant's type.
2763
2764 2010-02-26  Nick Clifton  <nickc@redhat.com>
2765
2766         * config/rx/rx.md (sminsi3): Remove bogus alternative.
2767
2768 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2769
2770         * config.gcc: Support --with-fpmath=sse for x86.
2771
2772         * config/i386/ssemath.h: New.
2773
2774         * doc/install.texi (--with-fpmath=sse): Documented.
2775
2776 2010-02-26  Richard Guenther  <rguenther@suse.de>
2777
2778         PR tree-optimization/43188
2779         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
2780         vector types of over-aligned element type.
2781
2782 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
2783
2784         PR target/43175
2785         * config/i386/i386.c (expand_vec_perm_blend): Use correct
2786         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
2787
2788 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
2789
2790         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
2791
2792 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2793
2794         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
2795         * var-tracking.c: Include diagnostic.h.
2796         (debug_dv): New function.
2797         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
2798
2799         PR debug/43160
2800         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
2801         (add_value_chain, add_value_chains, remove_value_chain,
2802         remove_value_chains): Handle DEBUG_EXPRs.
2803         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
2804
2805         PR debug/43161
2806         * regcprop.c (struct queued_debug_insn_change): New type.
2807         (struct value_data_entry): Add debug_insn_changes field.
2808         (struct value_data): Add n_debug_insn_changes field.
2809         (debug_insn_changes_pool): New variable.
2810         (free_debug_insn_changes, apply_debug_insn_changes,
2811         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
2812         (kill_value_one_regno): Call free_debug_insn_changes if needed.
2813         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
2814         fields.
2815         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
2816         changes for them.
2817         (copyprop_hardreg_forward_1): Don't call apply_change_group for
2818         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
2819         changes, call cprop_find_used_regs via note_stores.
2820         (copyprop_hardreg_forward): When copying vd from predecessor
2821         which has any queued DEBUG_INSN changes, make sure the pointers are
2822         cleared.  At the end call df_analyze and then if there are any
2823         DEBUG_INSN changes queued at the end of some basic block for still
2824         live registers, apply them.
2825         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
2826
2827 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
2828
2829         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
2830         (arm*-*-*): Ditto.
2831
2832 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2833
2834         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
2835         targets.  Set the default with_cpu/with_arch from arch/cpu.
2836         Allow x86-64 and native for with_cpu/with_arch.
2837
2838 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
2839
2840         * ebitmap.c: Change calls to verify_popcount with calls to
2841         sbitmap_verify_popcount.
2842         (ebitmap_clear_bit): Fixed map->cacheindex test and
2843         map>cache update when bit clearing results in an empty
2844         element.
2845
2846 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
2847
2848         PR target/43154
2849         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
2850         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
2851         and support both V2DF and V2DI modes.
2852         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
2853         support both V2DF and V2DI modes.
2854         (general): Delete trailing whitespace from a few patterns.
2855
2856         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2857         V2DF/V2DI interleave high/low builtins.
2858
2859         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
2860         new VSX builtins.
2861
2862         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
2863         interleave high/low functions.
2864
2865 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
2866
2867         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
2868         #pragma extern_prefix.
2869
2870 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
2871
2872         PR debug/43166
2873         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
2874         BLKmode, assert op0 is a MEM and just adjust its mode.
2875
2876         PR debug/43165
2877         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
2878         if bitpos isn't multiple of mode's bitsize.
2879
2880 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2881
2882         * c.opt (-ftemplate-depth=): New.
2883         (-ftemplate-depth-): Deprecate.
2884         * optc-gen.awk: Handle -ftemplate-depth=.
2885         * opth-gen.awk: Likewise.
2886         * c-opts.c (c_common_handle_option): Likewise.
2887         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
2888
2889 2010-02-24  Jason Merrill  <jason@redhat.com>
2890
2891         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
2892
2893 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2894
2895         * cfg.c (alloc_aux_for_block): Remove inline.
2896         (alloc_aux_for_edge): Likewise.
2897
2898 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2899
2900         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
2901
2902 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2903
2904         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
2905         * config/i386/sol2-gas.h: New file.
2906         * config.gcc (i[34567]86-*-solaris2*): Use it.
2907
2908 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2909
2910         PR c/43128
2911         * c-typeck.c (ep_convert_and_check): New.
2912         (build_conditional_expr): Use it.
2913         (build_binary_op): Likewise.
2914
2915 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
2916
2917         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
2918
2919         PR debug/43150
2920         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
2921         bounds even for -O+.
2922         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
2923         expr needs to have DECL_NAME set.
2924
2925 2010-02-24  Nick Clifton  <nickc@redhat.com>
2926
2927         * config/mep/mep.c: Include gimple.h.
2928         (mep_function_uses_sp): Delete unused function.
2929         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
2930         parameters.  Use unsigned integers to count args.  Return a
2931         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
2932
2933 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2934
2935         PR target/43107
2936         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
2937         greater or equal to nelt instead of 2 * nelt.
2938         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
2939         with nelt - 1.
2940
2941 2010-02-23  Jason Merrill  <jason@redhat.com>
2942
2943         PR debug/42800
2944         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
2945         in cfun->local_decls even if they have register types.
2946
2947         PR c++/42837
2948         * stor-layout.c (place_field): Don't warn about unnecessary
2949         DECL_PACKED if the type is packed.
2950
2951 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2952
2953         PR target/43139
2954         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
2955         GOTOFF relocs, even when the base reg isn't pic pointer.
2956
2957 2010-02-23  Michael Matz  <matz@suse.de>
2958
2959         PR debug/43077
2960         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
2961         (expand_gimple_basic_block): Generate and use debug temps if there
2962         are debug uses left after the last real use of TERed ssa names.
2963         Unlink debug immediate uses when they are expanded.
2964
2965 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2966
2967         PR 43123
2968         * config/i386/i386.c (override_options): Reorganise to provide
2969         better error messages.
2970
2971 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2972
2973         PR middle-end/43083
2974         * graphite-scop-detection.c (create_single_exit_edge): Move
2975         the call to find_single_exit_edge to....
2976         (create_sese_edges): ...here.  Don't handle multiple edges
2977         exiting the function.
2978         (build_graphite_scops): Don't handle multiple edges
2979         exiting the function.
2980
2981 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2982
2983         PR middle-end/43097
2984         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
2985         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
2986
2987 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2988
2989         PR middle-end/43026
2990         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
2991
2992 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2993
2994         PR c++/43126
2995         * c-typeck.c (convert_arguments): Print declaration location.
2996         * c-common.c (validate_nargs): Rename as
2997         builtin_function_validate_nargs.
2998         (check_builtin_function_arguments): Update.
2999
3000 2010-02-22  Richard Guenther  <rguenther@suse.de>
3001
3002         PR lto/43045
3003         * tree-inline.c (declare_return_variable): Use the type of
3004         the call stmt lhs if available.
3005
3006 2010-02-22  Duncan Sands  <baldrick@free.fr>
3007
3008         * passes.c (register_pass): Always consider all pass lists when
3009         ref_pass_instance_number is zero.
3010
3011 2010-02-22  Richard Guenther  <rguenther@suse.de>
3012
3013         PR tree-optimization/42749
3014         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
3015         parameter.  Do arithmetic in the original type.
3016         (update_accumulator_with_ops): Likewise.
3017         (adjust_accumulator_values): Adjust.
3018
3019 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3020
3021         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
3022         (QI to BLKmode splitter): New splitter.
3023
3024 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
3025
3026         * config/i386/i386.c (initial_ix86_tune_features): Turn on
3027         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
3028
3029 2010-02-22  Richard Guenther  <rguenther@suse.de>
3030
3031         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
3032
3033 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
3034
3035         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
3036         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
3037         ($(T)crti.o, $(T)crtn.o): Remove rules.
3038
3039 2010-02-21  Tobias Burnus  <burnus@net-b.de>
3040
3041         PR fortran/35259
3042         * doc/invoke.texi (-fassociative-math): Document that this
3043         option is automatically enabled for Fortran.
3044
3045 2010-02-20  David S. Miller  <davem@davemloft.net>
3046
3047         * configure.ac: Test if linker and assembler properly support
3048         GOTDATA_OP relocations.
3049         * configure: Rebuild.
3050         * config.in: Likewise.
3051         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
3052         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
3053         (movsi_high_pic): Likewise.
3054         (movdi_lo_sum_pic): Likewise.
3055         (movdi_high_pic): Likewise.
3056         (movsi_pic_gotdata_op): New pattern.
3057         (movdi_pic_gotdata_op): Likewise.
3058         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
3059         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
3060
3061 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
3062
3063         PR target/43067
3064         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
3065         attribute to ssemul.
3066         (xop_mulv2div2di3_high): Ditto.
3067
3068 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3069
3070         PR c++/35669
3071         * c.opt (Wconversion-null): New option.
3072         * doc/invoke.texi (Wconversion-null): Document.
3073
3074 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3075
3076         * common.opt (Wlarger-than-): Add Undocumented.
3077
3078 2010-02-19  Mike Stump  <mikestump@comcast.net>
3079
3080         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
3081
3082 2010-02-19  Jason Merrill  <jason@redhat.com>
3083
3084         PR target/40332
3085         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
3086         * configure: Likewise.
3087
3088 2010-02-20  Alan Modra  <amodra@gmail.com>
3089
3090         PR middle-end/42344
3091         * cgraph.h (cgraph_make_decl_local): Declare.
3092         * cgraph.c (cgraph_make_decl_local): New function.
3093         (cgraph_make_node_local): Use it.
3094         * cgraphunit.c (cgraph_function_versioning): Likewise.
3095         * ipa.c (function_and_variable_visibility): Likewise.
3096
3097 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3098
3099         PR bootstrap/43121
3100         * except.c (sjlj_emit_function_enter): Don't call
3101         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
3102         directly.
3103         * rtl.h (add_reg_br_prob_note): Remove prototype.
3104
3105 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3106
3107         PR 41779
3108         * c-common.c (conversion_warning): Remove widening conversions
3109         before checking the conversion of integers to reals.
3110
3111 2010-02-19  Mike Stump  <mikestump@comcast.net>
3112
3113         PR middle-end/43125
3114         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
3115
3116         PR objc/43061
3117         * cgraphunit.c (process_function_and_variable_attributes): Check
3118         DECL_PRESERVE_P instead of looking up attribute "used".
3119         * ipa-pure-const.c (check_decl): Likewise.
3120         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
3121         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
3122         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
3123         instead of attribute "used".
3124         * config/sol2-c.c (solaris_pragma_init): Likewise.
3125         (solaris_pragma_fini): Likewise.
3126
3127 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3128
3129         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
3130         Use XCNEW instead of xcalloc.
3131         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
3132         XNEW instead of xmalloc.
3133         (get_fields): Use XNEWVEC instead of xmalloc.
3134
3135         PR debug/43084
3136         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
3137         populate vars array.
3138         (create_new_general_access): For debug stmts just reset value.
3139         (get_stmt_accesses): For accesses within debug stmts just record them
3140         using add_access_to_acc_sites instead of preventing the peeling or
3141         counting them as accesses.
3142
3143         PR middle-end/42233
3144         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
3145
3146 2010-02-19  Richard Guenther  <rguenther@suse.de>
3147
3148         PR tree-optimization/42916
3149         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
3150         instructions.
3151
3152 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
3153
3154         * configure.ac: Replace all uses of changequote in macro arguments
3155         with proper quoting.
3156
3157 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3158
3159         PR middle-end/42233
3160         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
3161
3162 2010-02-19  Richard Guenther  <rguenther@suse.de>
3163
3164         PR tree-optimization/42944
3165         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
3166         test for aliasing with errno.
3167
3168 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
3169
3170         PR middle-end/42233
3171         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
3172         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
3173         * dojump.c: Include output.h.
3174         (inv): New inline function.
3175         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
3176         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
3177         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
3178         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
3179         argument, pass it down to other calls.
3180         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
3181         add REG_BR_PROB note to the conditional jump.
3182         * cfgexpand.c (add_reg_br_prob_note): Removed.
3183         (expand_gimple_cond): Don't call it, add the probability
3184         as last argument to jumpif_1/jumpifnot_1.
3185         * Makefile.in (dojump.o): Depend on output.h.
3186         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
3187         callers.
3188         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
3189         * stmt.c (do_jump_if_equal): Likewise.
3190         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
3191         * loop-unswitch.c (compare_and_jump_seq): Likewise.
3192         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
3193         Likewise.
3194         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
3195         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
3196         jumpifnot_1 callers.
3197         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
3198         callers.
3199         (store_expr): Adjust jumpifnot caller.
3200         (store_constructor): Adjust jumpif caller.
3201
3202         PR middle-end/42233
3203         * gimplify.c (gimple_boolify): For __builtin_expect call
3204         gimple_boolify also on its first argument.
3205
3206 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
3207
3208         * configure.ac (gnu-unique-object): Wrap regexps using [] in
3209         changequote block.
3210         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
3211         * configure: Regenerated.
3212
3213 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3214
3215         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
3216         lang_hooks.types_compatible_p instead of comptypes.
3217
3218 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
3219
3220         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
3221         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
3222         if __prefer_thumb__ is defined.
3223
3224 2010-02-18  Martin Jambor  <mjambor@suse.cz>
3225
3226         PR tree-optimization/43066
3227         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
3228         array with zero-sized element type.
3229
3230 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
3231
3232         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
3233         rtx, allocate struct var_loc_node here and return it to the
3234         caller, and only if it is actually needed.
3235         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
3236         move it earlier and return immediately if it returns NULL.
3237
3238 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
3239
3240         * config/sparc/gas.h: New file.  Restore
3241         TARGET_ASM_NAMED_SECTION to its ELF default.
3242         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
3243         check !HAVE_GNU_AS.
3244         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3245         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
3246         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
3247         after sparc/sysv4.h.
3248
3249 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
3250
3251         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
3252
3253 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
3254
3255         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
3256         patterns from predicated pattern.
3257
3258 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
3259
3260         PR target/43103
3261         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
3262         for insn mnemonic suffix.
3263
3264 2010-02-17  Richard Guenther  <rguenther@suse.de>
3265
3266         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
3267         to loop PHI nodes.
3268
3269 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
3270
3271         PR debug/42918
3272         * caller-save.c (save_call_clobbered_regs): If BB ends with
3273         a DEBUG_INSN, move any notes in between last real insn and the last
3274         DEBUG_INSN after the last DEBUG_INSN.
3275
3276 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
3277
3278         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
3279         Fix return type.  Fix argument type.  Explain meaning of return value.
3280
3281 2010-02-16  Richard Guenther  <rguenther@suse.de>
3282
3283         PR tree-optimization/41043
3284         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
3285         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
3286         statements ...
3287         (vrp_visit_phi_node): ... but only for loop PHI nodes.
3288
3289 2010-02-16  Ira Rosen <irar@il.ibm.com>
3290
3291         PR tree-optimization/43074
3292         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
3293         * tree-vect-loop.c (vect_analyze_loop_operations): Add
3294         vectorizable cycles in hybrid SLP check.
3295         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
3296
3297 2010-02-16  Richard Guenther  <rguenther@suse.de>
3298
3299         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
3300         (true_dependence): If memrefs_conflict_p computes must-alias
3301         trust it.  Move TBAA check after offset-based disambiguation.
3302         (canon_true_dependence): Likewise.
3303
3304 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
3305
3306         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
3307         * doc/invoke.texi: Document it.
3308         * var-tracking.c: Include toplev.h and params.h.
3309         (vt_find_locations): Return bool indicating success.  Compute
3310         hash sizes unconditionally.  Check new parameter, report.
3311         (variable_tracking_main_1): Check vt_find_locations results and
3312         retry.  Renamed from...
3313         (variable_tracking_main): ... this.  New wrapper to preserve
3314         flag_var_tracking_assignments.
3315         * Makefile.in (var-tracking.o): Adjust dependencies.
3316
3317 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
3318             Jakub Jelinek <jakub@redhat.com>
3319
3320         PR target/42854
3321         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
3322         if weak_import attribute is present.
3323         * config/darwin.c (machopic_select_section): Likewise.
3324
3325 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
3326
3327         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
3328         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
3329         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
3330         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
3331
3332         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
3333
3334         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
3335         Fix argument types.
3336
3337         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
3338         Rewrite text to refer to the names.
3339
3340 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
3341
3342         * config/i386/i386-builtin-types.def
3343         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
3344         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
3345         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
3346         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
3347         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
3348         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
3349         IX86_BUILTIN_VPERMIL2PS256.
3350         (MULTI_ARG_4_DF2_DI_I): Defined.
3351         (MULTI_ARG_4_DF2_DI_I1): Defined.
3352         (MULTI_ARG_4_SF2_SI_I): Defined.
3353         (MULTI_ARG_4_SF2_SI_I1): Defined.
3354         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
3355         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
3356         __builtin_ia32_vpermil2ps256.
3357         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
3358         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
3359         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
3360         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
3361         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
3362         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
3363         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
3364         CODE_FOR_xop_vpermil2v8sf3.
3365         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
3366         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
3367         * config/i386/xopintrin.h (_mm_permute2_pd): New.
3368         (_mm256_permute2_pd): New.
3369         (_mm_permute2_ps): New.
3370         (_mm256_permute2_ps): New.
3371
3372 2010-02-15  Nick Clifton  <nickc@redhat.com>
3373
3374         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
3375         boolean parameters.  Use emit_jump_insn when emitting a pop
3376         instruction containing a return insn.
3377         (push): Use 'true' rather than '1' as second parameter to F.
3378         (h8300_expand_prologue): Likewise.
3379         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
3380         (h8300_expand_epilogue): Likewise.
3381
3382 2010-02-15  Richard Guenther  <rguenther@suse.de>
3383
3384         PR middle-end/43068
3385         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
3386         if that is zero.
3387
3388 2010-02-15  Nick Clifton  <nickc@redhat.com>
3389
3390         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
3391         delta.
3392
3393 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
3394
3395         * intl.c (fake_ngettext): New function.
3396         * intl.h (fake_ngettext): Declare.
3397         (ngettext): Define macro.
3398         * collect2.c (notice_translated): New function.
3399         (main): Use notice_translated and ngettext.
3400         * collect2.h (notice_translated): Declare.
3401
3402 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
3403
3404         * reorg.c (delete_computation): Comment fixes.
3405         * caller-save.c (setup_save_areas): Idem.
3406         * sel-sched-dump.c (dump_lv_set): Idem.
3407         * rtl.def: Idem.
3408
3409 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3410
3411         * config/s390/s390.c (s390_sched_init): New function.
3412         (TARGET_SCHED_INIT): Target hook defined.
3413
3414 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
3415             Jack Howarth  <howarth@bromo.med.uc.edu>
3416             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3417
3418         PR target/42982
3419         Partial revert of unintended change in fix for PR41605.
3420         * config/darwin.h: Fix typo.
3421         * config/darwin9.h: Same.
3422
3423 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3424
3425         * c-pch.c (pch_init): Clear v.
3426
3427 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3428
3429         PR middle-end/42930
3430         * graphite-scop-detection.c (graphite_can_represent_scev): Call
3431         graphite_can_represent_init for MULT_EXPR.
3432
3433 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3434
3435         PR middle-end/42914
3436         PR middle-end/42530
3437         * graphite-sese-to-poly.c (remove_phi): New.
3438         (translate_scalar_reduction_to_array): Call remove_phi.
3439
3440 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3441
3442         PR middle-end/42771
3443         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
3444         * graphite-clast-to-gimple.h (gloog): Update declaration.
3445         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
3446         * graphite-poly.h (struct poly_bb): Add missing comments.
3447         (struct scop): Add poly_scop_p field.
3448         (POLY_SCOP_P): New.
3449         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
3450         * graphite.c (graphite_transform_loops): Build the polyhedral
3451         representation for each scop before code generation.
3452         * sese.c (rename_variables_in_operand): Removed.
3453         (rename_variables_in_expr): Return the renamed expression.
3454         (rename_sese_parameters): New.
3455         * sese.h (rename_sese_parameters): Declared.
3456
3457 2010-02-11  Richard Guenther  <rguenther@suse.de>
3458
3459         PR tree-optimization/42998
3460         * tree-ssa-pre.c (create_expression_by_pieces): Treat
3461         POINTER_PLUS_EXPR properly.
3462
3463 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
3464             Changpeng Fang  <changpeng.fang@amd.com>
3465
3466         PR middle-end/40886
3467         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
3468         the cost of an IV candidate when the IV is used in a test against zero.
3469
3470         * gcc.dg/tree-ssa/ivopts-3.c: New.
3471
3472 2010-02-11  Richard Guenther  <rguenther@suse.de>
3473
3474         PR lto/41664
3475         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
3476         pointer-vs-decl case by swapping refs.  Handle some cases
3477         of pointer-vs-decl disambiguations more conservatively.
3478         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
3479         to false after expanding.
3480
3481 2010-02-11  Richard Guenther  <rguenther@suse.de>
3482
3483         PR driver/43021
3484         * gcc.c (process_command): Handle LTO file@offset case more
3485         appropriately.
3486
3487 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
3488
3489         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
3490         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
3491         of DEBUG_INSNs.
3492         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
3493
3494         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
3495         if MEM's mode size isn't DWARF2_ADDR_SIZE.
3496         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
3497         Optimize eq/ne comparisons when both arguments are known to be
3498         zero-extended.
3499         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
3500         Don't mask operands unnecessarily if they are known to be already
3501         zero-extended.
3502
3503 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
3504
3505         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
3506         instead of loop.
3507
3508 2010-02-10  Richard Guenther  <rguenther@suse.de>
3509
3510         PR tree-optimization/43017
3511         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
3512         for wrapping signed arithmetic.
3513
3514 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3515
3516         PR debug/43010
3517         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
3518         if no debug info should be emitted for it.
3519
3520 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
3521
3522         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
3523         note when flag_exceptions is set.
3524
3525 2010-02-10  Duncan Sands  <baldrick@free.fr>
3526
3527         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
3528
3529 2010-02-10  Richard Guenther  <rguenther@suse.de>
3530
3531         PR c/43007
3532         * tree.c (get_unwidened): Handle constants.
3533         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
3534
3535 2010-02-10  Martin Jambor  <mjambor@suse.cz>
3536
3537         PR lto/42985
3538         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
3539         check for variable argument counts independently.
3540
3541 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3542
3543         PR target/42841
3544         * config/sh/sh.c (find_barrier): Increase length for non delayed
3545         conditional branches.
3546
3547 2010-02-10  Christian Bruel  <christian.bruel@st.com>
3548
3549         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
3550
3551 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
3552
3553         * builtins.c (set_builtin_user_assembler_name): Also handle
3554         ffs if int is smaller than word.
3555
3556 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
3557
3558         PR middle-end/42973
3559         * ira-conflicts.c (get_dup): Remove.
3560         (process_reg_shuffles): Add new parameter.  Use it as an
3561         additional guard for copy generation.
3562         (add_insn_allocno_copies): Rewrite.
3563
3564 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
3565
3566         * common.opt (fsched2-use-traces): Preserved for backward
3567         compatibility.
3568         * doc/invoke.texi: Remove the documentation about option
3569         -fsched2-use-traces.
3570         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
3571         flag_sched2_use_traces.
3572         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
3573         the backward compatibility flag section.
3574
3575 2010-02-09  Richard Guenther  <rguenther@suse.de>
3576
3577         PR tree-optimization/43008
3578         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
3579         make HEAP variables initialized from global memory if they
3580         are not known builtin functions.
3581         (find_func_aliases): Adjust.
3582
3583 2010-02-09  Richard Guenther  <rguenther@suse.de>
3584
3585         PR tree-optimization/43000
3586         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
3587         arithmetic manually.
3588
3589 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
3590
3591         PR tree-optimization/42931
3592         * tree-loop-linear.c (try_interchange_loops): Don't call
3593         double_int_mul if estimated_loop_iterations failed.
3594
3595 2010-02-08  Martin Jambor  <mjambor@suse.cz>
3596
3597         PR middle-end/42898
3598         * tree-sra.c (build_accesses_from_assign): Do not mark in
3599         should_scalarize_away_bitmap if stmt has volatile ops.
3600         (sra_modify_assign): Do not process assigns piecemeal if if stmt
3601         has volatile ops.
3602
3603 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
3604
3605         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
3606
3607 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
3608
3609         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
3610         before the pattern.
3611
3612 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
3613
3614         PR middle-end/42946
3615         * df-core.c (df_finish_pass): Change type of saved_flags to int.
3616
3617 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3618
3619         PR middle-end/42988
3620         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
3621         to unknown_dependence.
3622         (graphite_legal_transform_dr): Handle the unknown_dependence.
3623         (graphite_carried_dependence_level_k): Same.
3624
3625 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
3626
3627         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
3628
3629 2010-02-07  Richard Guenther  <rguenther@suse.de>
3630
3631         PR middle-end/42991
3632         * expr.c (get_inner_reference): Always initialize *pbitsize.
3633
3634 2010-02-07  Richard Guenther  <rguenther@suse.de>
3635
3636         PR middle-end/42956
3637         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
3638         new ARRAY_REFs on variable size element or minimal index arrays.
3639         Complete.
3640         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
3641         gimple_fold_indirect_ref.
3642
3643 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
3644
3645         PR target/42957
3646         * arm.c (arm_override_options): Just return if the user has specified
3647         an invalid fpu name.
3648
3649 2010-02-03  Jason Merrill  <jason@redhat.com>
3650
3651         PR c++/42870
3652         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
3653         i386_pe_maybe_record_exported_symbol.
3654
3655 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
3656
3657         PR target/42924
3658         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3659         (pa_delegitimize_address): New function.
3660
3661 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
3662
3663         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
3664         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
3665
3666 2010-02-05  Richard Guenther  <rguenther@suse.de>
3667
3668         PR lto/42762
3669         * lto-streamer-in.c (get_resolution): Deal with references
3670         to undefined functions.
3671
3672 2010-02-05  Richard Guenther  <rguenther@suse.de>
3673
3674         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
3675         (fold_const_aggregate_ref): Likewise.
3676         (ccp_fold_stmt): Substitute loads.
3677         (maybe_fold_reference): Verify types before substituting.
3678         Unshare properly.
3679         (fold_gimple_assign): Unshare properly.
3680         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
3681
3682 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
3683
3684         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
3685         for rs6000_gen_cell_microcode.
3686
3687 2010-02-04  Richard Guenther  <rguenther@suse.de>
3688
3689         PR rtl-optimization/42952
3690         * dse.c (const_or_frame_p): Remove MEM handling.
3691
3692 2010-02-04  Nick Clifton  <nickc@redhat.com>
3693
3694         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3695         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3696         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
3697         (mn10300_asm_output_mi_thunk): New function.
3698         (mn10300_can_output_mu_thunk): New function.
3699         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
3700         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
3701         (FUNCTION_ARG): Delete incorrect comment.
3702
3703 2010-02-03  Jason Merrill  <jason@redhat.com>
3704
3705         PR c++/40138
3706         * fold-const.c (operand_equal_p): Handle erroneous types.
3707
3708 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3709
3710         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3711
3712 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3713
3714         PR rtl-optimization/42941
3715         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3716         of xmalloc.
3717
3718 2010-02-03  Jason Merrill  <jason@redhat.com>
3719
3720         PR c++/35652
3721         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3722
3723 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3724
3725         PR debug/42896
3726         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
3727         (cselib_reset_table): Renamed from...
3728         (cselib_reset_table_with_next_value): ... this.
3729         (cselib_get_next_uid): Renamed from...
3730         (cselib_get_next_unknown_value): ... this.
3731         * cselib.c (next_uid): Renamed from...
3732         (next_unknown_value): ... this.
3733         (cselib_clear_table): Adjust.
3734         (cselib_reset_table): Adjust.  Renamed from...
3735         (cselib_reset_table_with_next_value): ... this.
3736         (cselib_get_next_uid): Adjust.  Renamed from...
3737         (cselib_get_next_unknown_value): ... this.
3738         (get_value_hash): Use hash.
3739         (cselib_hash_rtx): Likewise.
3740         (new_cselib_val): Adjust.  Set and dump uid.
3741         (cselib_lookup_mem): Pass next_uid as hash.
3742         (cselib_subst_to_values): Likewise.
3743         (cselib_log_lookup): Dump uid.
3744         (cselib_lookup): Pass next_uid as hash.  Adjust.
3745         (cselib_process_insn): Adjust.
3746         (cselib_init): Initialize next_uid.
3747         (cselib_finish): Adjust.
3748         (dump_cselib_table): Likewise.
3749         * dse.c (canon_address): Dump value uid.
3750         * print-rtl.c (print_rtx): Print value uid.
3751         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
3752         (dvuid): New type.
3753         (dv_uid): New function, sort of renamed from...
3754         (dv_htab_hash): ... this, reimplemented in terms of it and...
3755         (dv_uid2hash): ... this.  New.
3756         (variable_htab_eq): Drop excess assertions.
3757         (tie_break_pointers): Removed.
3758         (canon_value_cmp): Compare uids.
3759         (variable_post_merge_New_vals): Print uids.
3760         (vt_add_function_parameters): Adjust.
3761         (vt_initialize): Reset table.  Adjust.
3762
3763 2010-02-03  Richard Guenther  <rguenther@suse.de>
3764
3765         PR tree-optimization/42944
3766         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
3767         (call_may_clobber_ref_p_1): Likewise.  Properly handle
3768         malloc and calloc clobbering errno.
3769
3770 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3771
3772         * doc/invoke.texi: Fix name of sched1 dump.
3773
3774         * opts.c (decode_options): Set flag_tree_switch_conversion
3775         only conditionally on optimize >= 2.
3776
3777         * gcse.c: Assorted comment fixes in pass description.
3778
3779 2010-02-03  Anthony Green  <green@moxielogic.com>
3780
3781         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
3782         nop padding in order to maintain alignment of storage location of
3783         target function address.
3784         (moxie_trampoline_init): Store target function address at newly
3785         aligned location.
3786         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
3787         to 32.
3788         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
3789
3790 2010-02-03  Richard Guenther  <rguenther@suse.de>
3791
3792         PR middle-end/42927
3793         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3794
3795 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3796
3797         * config.gcc: Reenable check for obsolete targets.
3798         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
3799         mips-sgi-irix6.[0-4]*.
3800
3801 2010-02-02  Nick Clifton  <nickc@redhat.com>
3802
3803         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
3804         constant size of 4 as being the same as 0.
3805         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
3806         can take values in the range 0..4.
3807
3808 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3809
3810         PR java/41991
3811         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3812         as _darwin10_Unwind_FindEnclosingFunction().
3813         * libgcc-libsystem.ver: New.
3814
3815 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3816
3817         PR target/41399
3818         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3819         implicitly set registers.
3820
3821 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3822
3823         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
3824         (arm_override_options): Allow automatic selection of the thread
3825         pointer register if thumb2.
3826         (legitimize_pic_address): Improve code sequences for Thumb2.
3827         (arm_call_tls_get_addr): Likewise.
3828         (legitimize_tls_address): Likewise.
3829         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
3830         (pic_load_addr_32bit): ... this.  New named pattern.
3831         * thumb2.md (pic_load_addr_thumb2): Delete.
3832         (pic_load_dot_plus_four): Delete.
3833         (tls_load_dot_plus_four): New named pattern.
3834
3835 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3836
3837         PR libgomp/29986
3838         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3839         Document fix for TLS bug.
3840
3841 2010-01-31  Richard Guenther  <rguenther@suse.de>
3842
3843         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3844         conservatively correct.
3845
3846 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3847
3848         PR target/42850
3849         Revert:
3850         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3851
3852         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3853
3854 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3855
3856         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3857
3858 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3859
3860         * config.gcc: Adjust order of makefile fragments for mingw targets.
3861
3862 2010-01-31  Richard Guenther  <rguenther@suse.de>
3863
3864         PR middle-end/42898
3865         * gimplify.c (gimplify_init_constructor): For volatile LHS
3866         initialize a temporary.
3867
3868 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3869
3870         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3871         --with-headers
3872         * configure: Regenerate.
3873
3874 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3875
3876         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3877         the same alias set and their sizes different constantness.
3878         (aliasing_component_refs_p): Revert 2009-10-24 change.
3879
3880 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3881
3882         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3883         unused.
3884
3885 2010-01-29  Richard Guenther  <rguenther@suse.de>
3886
3887         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3888         Assert we successfully updated the call.
3889
3890 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3891
3892         PR rtl-optimization/42889
3893         * df.h (df_set_bb_dirty_nonlr): New prototype.
3894         * df-core.c (df_set_bb_dirty_nonlr): New function.
3895         * df-scan.c (df_insn_rescan): Call it instead of
3896         df_set_bb_dirty for DEBUG_INSNs.
3897
3898 2010-01-29  Richard Guenther  <rguenther@suse.de>
3899
3900         PR middle-end/37448
3901         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3902         quadratic behavior in most cases.
3903
3904 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3905
3906         PR target/42891
3907         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3908         in the call to gen_x86_movsicc_0_m1.
3909
3910 2010-01-28  Richard Guenther  <rguenther@suse.de>
3911
3912         PR tree-optimization/42871
3913         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3914
3915 2010-01-28  Richard Guenther  <rguenther@suse.de>
3916
3917         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3918         into call arguments.
3919
3920 2010-01-28  Richard Guenther  <rguenther@suse.de>
3921
3922         PR middle-end/42883
3923         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3924         the forwarder if the destination is an EH landing pad.
3925
3926 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3927
3928         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3929         block list passed to gimple_duplicate_sese_tail.
3930         (parallelize_loops): Avoid parallelization when the function
3931         has_nonlocal_label.
3932         Avoid parallelization when the preheader is IRREDUCIBLE.
3933         Try to optimize when estimated_loop_iterations_int is unresolved.
3934         Add the loop's location to the dump file.
3935         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3936         (gimple_duplicate_sese_tail): Remove the check for the latch.
3937         Redirect nexits to the exit block.
3938         Remove handling of the incoming edges to the latch.
3939         Redirect the backedge from the copied latch to the exit bb.
3940
3941 2010-01-28  Michael Matz  <matz@suse.de>
3942
3943         PR target/42881
3944         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3945         Wrap force_reg into a sequence, emit it before user.
3946
3947 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3948
3949         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3950         (arm_rev): New.
3951         (arm_legacy_rev): Likewise.
3952         (thumb_legacy_rev): Likewise.
3953
3954 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3955
3956         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3957         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3958         on MEM's address failed, try avoid_constant_pool_reference and
3959         recurse if it returned something different.
3960         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3961         address, try avoid_constant_pool_reference and recurse if it
3962         returned something different.
3963         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3964         address and avoid_constant_pool_reference returned something
3965         different, don't set have_address.
3966
3967 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3968
3969         PR debug/42861
3970         * var-tracking.c (val_store): Add modified argument, obey it.
3971         Adjust callers.
3972         (count_uses): Move down logging of main.
3973         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3974         don't need resolution.
3975         (emit_notes_in_bb): Likewise.
3976
3977 2010-01-27  Richard Guenther  <rguenther@suse.de>
3978
3979         PR middle-end/42878
3980         * tree-inline.c (remap_decl): Delay remapping of SSA name
3981         default definitions until we need them.
3982
3983 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3984
3985         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3986         (rs6000_delegitimize_address): New function.
3987
3988         * config/s390/s390.c (s390_delegitimize_address): Call
3989         delegitimize_mem_from_attrs.
3990
3991         PR middle-end/42874
3992         * tree-inline.c (cannot_copy_type_1): Removed.
3993         (copy_forbidden): Don't forbid copying of functions containing
3994         records/unions with variable length fields.
3995
3996 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3997
3998         Revert:
3999         PR target/42841
4000         * config/sh/sh.c (find_barrier): Increase length for non delayed
4001         conditional branches.
4002
4003 2010-01-27  Matthias Klose  <doko@ubuntu.com>
4004
4005         * configure.ac (gnu-unique-object): Fix ldd version check.
4006         * configure: Regenerate.
4007
4008 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4009
4010         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
4011         HAVE_GNU_AS value.
4012         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
4013         Test for HAVE_GNU_AS value.
4014
4015 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4016
4017         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
4018         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
4019         INT64_TYPE): Define.
4020         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
4021         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
4022         INT_LEAST64_TYPE): Define.
4023         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
4024         UINT_LEAST64_TYPE): Define.
4025         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
4026         INT_FAST64_TYPE): Define.
4027         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
4028         UINT_FAST64_TYPE): Define.
4029         (INTMAX_TYPE, UINTMAX_TYPE): Define.
4030         (INTPTR_TYPE, UINTPTR_TYPE): Define.
4031         (SIG_ATOMIC_TYPE): Define.
4032
4033 2010-01-26  Richard Guenther  <rguenther@suse.de>
4034
4035         * df-scan.c (df_scan_set_bb_info): Remove assert.
4036         (df_insn_rescan_debug_internal): Merge asserts.
4037         (df_install_ref): Likewise.
4038         (df_mark_reg): Use bitmap_set_range.
4039         (df_hard_reg_used_p): Remove assert.
4040         (df_hard_reg_used_count): Likewise.
4041
4042 2010-01-26  Richard Guenther  <rguenther@suse.de>
4043
4044         PR rtl-optimization/42685
4045         * web.c (web_main): Ignore DEBUG_INSNs.
4046
4047 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
4048
4049         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
4050
4051         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
4052         Fix types of fndecl and arglist parameters.
4053
4054 2010-01-26  Richard Guenther  <rguenther@suse.de>
4055
4056         PR middle-end/42806
4057         * tree-eh.c (unsplit_eh): Skip debug insns.
4058
4059 2010-01-26  Richard Guenther  <rguenther@suse.de>
4060
4061         PR tree-optimization/42250
4062         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
4063
4064 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
4065
4066         PR fortran/42866
4067         * omp-low.c (expand_omp_sections): Only use single_pred if
4068         l2_bb is single_pred_p.
4069
4070 2010-01-25  Christian Bruel  <christian.bruel@st.com>
4071
4072         PR target/42841
4073         * config/sh/sh.c (find_barrier): Increase length for non delayed
4074         conditional branches.
4075         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
4076
4077 2010-01-24  David S. Miller  <davem@davemloft.net>
4078
4079         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
4080         define if not using GAS.
4081         * config/sparc/sparc.c (sparc_elf_asm_named_section):
4082         Likewise.  Delete SECTION_MERGE code, which is only applicable
4083         when using GAS.
4084
4085 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
4086
4087         PR c++/42748
4088         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
4089         mangling of va_list in system headers.
4090
4091 2010-01-23  Toon Moene  <toon@moene.org>
4092
4093         * tree-predcom.c (combine_chains): Return NULL, not false.
4094
4095 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
4096
4097         * tree-loop-distribution.c (distribute_loop): Fix declaration and
4098         initialization of variable res to agree with return type.
4099
4100 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
4101
4102         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
4103         * tree-sra.c: Add include of expr.h.
4104
4105 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
4106
4107         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
4108         insert the debug stmt on the single non-EH edge from the stmt.
4109
4110 2010-01-22  Richard Henderson  <rth@redhat.com>
4111
4112         PR tree-opt/42833
4113         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
4114         the RHS until after generate_subtree_copies has insertted its
4115         code before the current statement.
4116
4117 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
4118
4119         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
4120
4121         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
4122
4123 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4124
4125         PR tree-optimization/42585
4126         * tree-sra.c (struct access): New field grp_total_scalarization.
4127         (dump_access): Dump the new field.
4128         (should_scalarize_away_bitmap): New variable.
4129         (cannot_scalarize_away_bitmap): Likewise.
4130         (sra_initialize): Allocate new bitmaps.
4131         (sra_deinitialize): Free new bitmaps.
4132         (create_access_1): New function.
4133         (create_access): Parts moved to create_access_1.
4134         (type_consists_of_records_p): New function.
4135         (completely_scalarize_record): Likewise.
4136         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
4137         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
4138         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
4139         access.
4140         (analyze_all_variable_accesses): Completely scalarize small eligible
4141         records.
4142
4143 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4144
4145         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
4146
4147 2010-01-21  Andrew Haley  <aph@redhat.com>
4148
4149         * gcc.c (process_command): Move lang_specific_driver before
4150         setting cc_libexec_prefix.
4151
4152 2010-01-21  Richard Guenther  <rguenther@suse.de>
4153
4154         PR middle-end/19988
4155         * fold-const.c (negate_expr_p): Pretend only negative
4156         real constants are easily negatable.
4157
4158 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
4159             Jason Merrill  <jason@redhat.com>
4160
4161         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
4162         (TYPE_TRANSPARENT_AGGR): this, for union and record.
4163         * calls.c (initialize argument_information): Handle it.
4164         * c-common.c (handle_transparent_union_attribute): Use new name.
4165         * c-decl.c (finish_struct): Ditto.
4166         * c-typeck.c (type_lists_compatible_p): Ditto.
4167         (convert_for_assignment): Use new name and also handle record.
4168         * function.c (aggregate_value_p): Handle it.
4169         (pass_by_reference): Ditto.
4170         (assign_parm_data_types): Ditto.
4171         * print-tree.c (print_node): Ditto.
4172         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
4173         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
4174         * tree.c (first_field): New fn.
4175
4176 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
4177
4178         PR target/42818
4179         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
4180         even when linking statically, for now.
4181
4182 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4183
4184         PR debug/42715
4185         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
4186         without a cselib val.
4187         (count_uses): Accept MO_VAL_SET with no val on stores.
4188         (add_stores): Likewise.
4189
4190 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4191
4192         * var-tracking.c (check_value_val): Add a compile time assertion.
4193         (dv_is_decl_p): Simplify.
4194         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
4195         gcc_assert if ENABLE_CHECKING.
4196
4197 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4198
4199         PR debug/42782
4200         * var-tracking.c: Include tree-flow.h.
4201         (mem_dies_at_call): New.
4202         (dataflow_set_preserve_mem_locs): Use it.
4203         (dataflow_set_remove_mem_locs): Likewise.
4204         (dump_var): Renamed from dump_variable.  Adjust all callers.
4205         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
4206         * Makefile.in (var-tracking.o): Adjust deps.
4207
4208 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
4209
4210         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
4211
4212 2010-01-20  Richard Guenther  <rguenther@suse.de>
4213
4214         PR tree-optimization/42717
4215         * tree-ssa-dce.c (get_live_post_dom): Remove.
4216         (forward_edge_to_pdom): Take an arbitrary edge to copy
4217         degenerate PHI args from.
4218         (remove_dead_stmt): Use the first post-dominator even if it
4219         does not contain live statements as redirection destination.
4220
4221 2010-01-20  Richard Guenther  <rguenther@suse.de>
4222
4223         * tree-inline.c (estimate_num_insns): Handle EH builtins.
4224
4225 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4226
4227         * sel-sched.c (create_speculation_check): Remove set but not used
4228         variable twin.
4229         (try_transformation_cache): Remove set but not used variable ds.
4230         (calculate_privileged_insns): Remove set but not used variables
4231         cur_insn and min_spec_insn.
4232         (find_best_expr): Remove set but not used variable avail_n.
4233         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
4234         variable e.
4235         * cgraphunit.c (assemble_thunk): Remove set but not used variable
4236         false_label.
4237         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
4238         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
4239         new_scop_exit_edge.
4240
4241 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
4242
4243         PR bootstrap/42786
4244         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
4245         cpu types.  Add support for *-sse3 cpu types.
4246         (x86_64-*-*): Ditto.
4247
4248 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4249
4250         PR middle-end/42803
4251         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
4252         argument, call initializer_constant_valid_p_1 instead of
4253         initializer_constant_valid_p, pass CACHE to it, return NULL
4254         immediately if first call returns NULL.
4255         (initializer_constant_valid_p_1): New function.
4256         (initializer_constant_valid_p): Use it.
4257
4258 2010-01-20  Thomas Quinot  <quinot@adacore.com>
4259
4260         * tree.def (PLACEHOLDER_EXPR): Fix comment.
4261
4262 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4263
4264         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
4265         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
4266         (loc_list_from_tree): Don't handle unsigned division.  Handle
4267         signed modulo using DW_OP_{over,over,div,mul,minus}.
4268         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
4269         modulo instead of signed.
4270
4271 2010-01-20  DJ Delorie  <dj@redhat.com>
4272
4273         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
4274         (Fpa): Pass it
4275         (h8300_emit_stack_adjustment): Propogate it.
4276         (push): Pass it.
4277         (h8300_expand_prologue): Likewise.
4278         (h8300_expand_epilogue): Likewise.
4279
4280 2010-01-19  Michael Matz  <matz@suse.de>
4281
4282         PR tree-optimization/41783
4283         * tree-data-ref.c (toplevel): Include flags.h.
4284         (dump_data_dependence_relation):  Also dump the inputs if the
4285         result will be unknown.
4286         (split_constant_offset_1): Look through some conversions.
4287         * tree-predcom.c (determine_roots_comp): Restart a new chain if
4288         the offset from last element is too large.
4289         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
4290         (reassociate_to_the_same_stmt): Handle vector registers.
4291         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
4292         (e.g. conversions).
4293         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
4294         wide_prolog_niters argument, emit widening instructions.
4295         (vect_do_peeling_for_alignment): Adjust caller, use widened
4296         variant of the iteration cound.
4297         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
4298
4299 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4300
4301         PR target/38697
4302         * config/arm/neon-testgen.m (emit_automatics): New parameter
4303         features. Adjust for Fixed_return_reg feature.
4304         (test_intrinsic): Call emit_automatics with new feature.
4305         * config/arm/neon.ml: Update copyright years.
4306         (features): New Fixed_return_reg feature.
4307         (ops): Update feature for Vget_low.
4308
4309 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
4310
4311         PR tree-optimization/42719
4312         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
4313         stmt uses.
4314
4315         PR debug/42728
4316         * fwprop.c (all_uses_available_at): Return false if def_set dest
4317         is a REG that is used in def_insn.
4318
4319 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
4320
4321         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
4322
4323         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
4324         Add argument names.
4325
4326         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
4327
4328         * target.h (struct gcc_target) <secondary_reload>: Change type
4329         of last argument to secondary_reload_info *.
4330
4331 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
4332
4333         PR target/42774
4334         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
4335         memory references with unaligned offsets.  Remove CQImode handling.
4336         (unaligned_memory_operand): Return 1 for memory references with
4337         unaligned offsets.  Remove CQImode handling.
4338
4339 2010-01-18  Richard Guenther  <rguenther@suse.de>
4340
4341         PR middle-end/39954
4342         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
4343         builtin calls.
4344
4345 2010-01-18  Richard Guenther  <rguenther@suse.de>
4346
4347         PR tree-optimization/42781
4348         * tree-ssa-structalias.c (find_what_var_points_to): Skip
4349         restrict processing only if the original variable was artificial.
4350
4351 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
4352
4353         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
4354         find number of popped argument bytes.
4355
4356         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
4357         Fix the text that describes the return value for invalid insns.
4358
4359         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
4360
4361         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
4362         Clarify what 'cost of the -dependence' is.  Fix quoting.
4363
4364         * toplev.c (default_get_pch_validity): Rename argument to "sz".
4365         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
4366
4367 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
4368
4369         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4370         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
4371
4372 2010-01-17  Richard Guenther  <rguenther@suse.de>
4373
4374         PR middle-end/42248
4375         * function.c (split_complex_args): Take a VEC to modify.
4376         (assign_parms_augmented_arg_list): Build a VEC instead of
4377         a chain of PARM_DECLs.
4378         (assign_parms_unsplit_complex): Take a VEC of arguments.
4379         Do not fixup unmodified parms.
4380         (assign_parms): Deal with the VEC.
4381         (gimplify_parameters): Likewise.
4382
4383 2010-01-17  Richard Guenther  <rguenther@suse.de>
4384
4385         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
4386         node existence check.
4387         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
4388         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
4389         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
4390         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
4391         (gimple_execute_on_growing_pred): Likewise.
4392
4393 2010-01-17  Richard Guenther  <rguenther@suse.de>
4394
4395         PR tree-optimization/42773
4396         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
4397         (compute_antic_aux): Likewise.
4398         (compute_partial_antic_aux): Likewise.
4399
4400 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
4401
4402         PR debug/42767
4403         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
4404         and US_TRUNCATE.
4405
4406 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
4407
4408         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
4409         appearance.
4410
4411         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
4412         Fix markup for strict argument.
4413
4414         (TARGET_SCHED_REORDER2): Fix argument types.
4415
4416         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
4417         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
4418
4419         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
4420         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
4421
4422         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
4423         Add argument name.
4424
4425         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
4426         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
4427         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
4428         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
4429         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
4430
4431         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
4432
4433         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
4434
4435         (TARGET_ASM_RELOC_RW_MASK): Add return type.
4436         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
4437
4438         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
4439
4440         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
4441         Use prototype.
4442
4443         (TARGET_ASM_NAMED_SECTION): Fix argument list.
4444
4445         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
4446         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
4447
4448         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
4449
4450         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
4451
4452         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
4453         referring to it.  Fix language.
4454
4455         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
4456
4457         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
4458
4459         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
4460
4461         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
4462
4463         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
4464         '@var{stream}.  Remove stray 'and'.
4465
4466         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
4467
4468         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
4469
4470         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
4471
4472         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
4473         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
4474
4475         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
4476         Fix description of return value.
4477         Rename argument "sz" to "len."
4478
4479         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
4480         Clarify meaning of 'true' return value.
4481
4482         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
4483
4484         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
4485         rep_mode versus mode_rep.
4486
4487         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
4488
4489         (TARGET_BUILTIN_DECL): Fix name.
4490
4491         (TARGET_COMMUTATIVE_P): Fix type of first argument.
4492
4493         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
4494
4495         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
4496
4497         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
4498
4499         (TARGET_RELAXED_ORDERING): Use @deftypevr.
4500
4501         (TARGET_GET_DRAP_RTX): Note that this is a hook.
4502         Clarify language.
4503
4504         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
4505         Rename argument tm_fn to md_fn.
4506
4507         (TARGET_OPTION_PRINT): Fix argument list.
4508
4509 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
4510
4511         PR target/42664
4512         * config/i386/i386.c (ix86_fixup_binary_operands):
4513         Revert FMA4 fixup of operands.
4514
4515 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4516
4517         PR gcc/42525
4518         * Makefile.in (write_entries_to_file, install-plugin):
4519         Use \012 instead of \n with tr.
4520
4521 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
4522
4523         * configure.ac (HAVE_AS_REF): New C macro.
4524         * configure: Regenerate.
4525         * config.in: Likewise.
4526         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
4527         if HAVE_AS_REF.
4528         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
4529         if HAVE_AS_REF.
4530
4531 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
4532
4533         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
4534
4535         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
4536
4537         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
4538
4539         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
4540
4541         (TARGET_IN_SMALL_DATA_P): Fix argument type.
4542
4543         (TARGET_BINDS_LOCAL_P): Fix argument type.
4544
4545         (TARGET_ASM_FILE_END): Use prototype.
4546
4547         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
4548
4549         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
4550
4551         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
4552
4553         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
4554
4555         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
4556         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
4557
4558         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
4559         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
4560
4561         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
4562         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
4563         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
4564         (TARGET_ADDR_SPACE_CONVERT): Likewise.
4565
4566         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
4567
4568         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
4569
4570         (TARGET_INIT_BUILTINS): Use prototype.
4571
4572         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
4573         Put 'const char *' in braces.  Fix parameter types.
4574         (TARGET_INVALID_CONVERSION): Fix parameter types.
4575         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
4576         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
4577
4578         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
4579         Fix argument type.
4580
4581         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
4582
4583         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
4584
4585 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
4586
4587         * doc/tm.texi (TARGET_HELP): Fix return type.
4588
4589         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
4590         in braces.  Fix argument types.
4591
4592         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
4593
4594         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
4595
4596         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
4597
4598         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
4599         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
4600
4601         (TARGET_MANGLE_TYPE): Fix argument types.
4602
4603         (TARGET_IRA_COVER_CLASSES): Use prototype.
4604
4605         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
4606
4607         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
4608
4609         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
4610
4611         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
4612
4613         (TARGET_CALLEE_COPIES): Fix argument types.
4614
4615         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
4616
4617         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
4618
4619         (TARGET_FUNCTION_VALUE): Fix argument types.
4620
4621         (TARGET_RETURN_IN_MSB): Fix argument type.
4622
4623         (TARGET_RETURN_IN_MEMORY): Fix argument types.
4624
4625         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
4626
4627         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
4628
4629         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
4630         agree with return type.
4631
4632         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
4633
4634 2010-01-15  Jing Yu  <jingyu@google.com>
4635
4636         PR rtl-optimization/42691
4637         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
4638         a pseudo to a constant and are merged, and adjust comments.
4639
4640 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4641
4642         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
4643
4644 2010-01-15  Richard Guenther  <rguenther@suse.de>
4645
4646         PR middle-end/42739
4647         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
4648         labels of computed or non-local gotos to the destination.
4649         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
4650         landing pad label is the first label.
4651
4652 2010-01-15  Richard Guenther  <rguenther@suse.de>
4653
4654         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
4655
4656 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4657
4658         PR target/42747
4659         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
4660         to allow generation of the xssqrtdp instruction on power7.
4661         (sqrtdf2_fpr): Ditto.
4662
4663 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4664
4665         PR middle-end/42674
4666         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
4667         functions with noreturn attribute.
4668
4669         PR c++/42608
4670         * varasm.c (declare_weak): Add weak attribute to decl if it
4671         doesn't have one already.
4672         (assemble_external): Only add decls to weak_decls if they also
4673         have weak attribute.
4674
4675 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
4676
4677         * var-tracking.c (var_reg_delete): Don't delete the association
4678         between REGs and values or one-part variables if the register
4679         isn't clobbered.
4680
4681 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4682
4683         PR debug/42657
4684         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
4685         because its first operand is a non-localized variable.
4686
4687 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4688
4689         PR tree-optimization/42706
4690         * tree-sra.c (encountered_recursive_call): New variable.
4691         (encountered_unchangable_recursive_call): Likewise.
4692         (sra_initialize): Initialize both new variables.
4693         (callsite_has_enough_arguments_p): New function.
4694         (scan_function): Call decl and flags check only for IPA-SRA, check
4695         whether there is a recursive call and whether it has enough arguments.
4696         (all_callers_have_enough_arguments_p): New function.
4697         (convert_callers): Look for recursive calls only when
4698         encountered_recursive_call is set.
4699         (ipa_early_sra): Bail out either if
4700         !all_callers_have_enough_arguments_p or
4701         encountered_unchangable_recursive_call.
4702
4703 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4704
4705         * sel-sched.c: Add 2010 to copyright years.
4706         * sel-sched-ir.c: Likewise.
4707         * sel-sched-ir.h: Likewise.
4708
4709 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4710
4711         PR tree-optimization/42714
4712         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
4713         constructors specially.
4714
4715 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4716
4717         * config/i386/drivers-i386.c (detect_caches_intel):
4718         Add l2sizekb parameter and fill in.
4719         (host_detect_local_cpu): Add l2sizekb, fill in.
4720         Add Atom small cache heuristic.
4721
4722 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4723
4724         * config/i386/drivers-i386.c (detect_caches_cpuid4):
4725         Add level3 parameter and fill in.
4726         (detect_caches_intel): Handle level3 cache.
4727
4728 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4729
4730         * config/i386/drivers-i386.c (host_detect_local_cpu):
4731         Fix core duo detection.
4732
4733 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4734
4735         * config/i386/drivers-i386.c (host_detect_local_cpu):
4736         Fix Atom detection.
4737
4738 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4739
4740         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
4741         (rs6000_variable_issue_1): this.  Use...
4742         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
4743
4744 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4745
4746         * sel-sched-ir.c (sel_restore_other_notes): Rename to
4747         sel_restore_notes.  Update all callers.  Call reemit_notes
4748         for all insns.
4749
4750 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4751
4752         PR rtl-optimization/42246
4753         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
4754         loops.
4755
4756 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4757
4758         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
4759         all successors is the same as number of successors in current region.
4760
4761 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4762
4763         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
4764         to rename is not separable.  Otherwise check that its LHS is not NULL.
4765
4766 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4767
4768         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
4769
4770 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4771
4772         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
4773         available registers when failed to discover LHS register class.
4774         Fix indentation.  Update comment.
4775
4776 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4777             Alexander Monakov  <amonakov@ispras.ru>
4778
4779         PR rtl-optimization/42389
4780         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
4781         to can_issue_more.
4782         (advance_state_on_fence): Likewise.
4783         (sel_target_adjust_priority): Print debug output only when
4784         sched_verbose >= 4, not 2.
4785         (get_expr_cost): Do not issue all unique insns on the next cycle.
4786         (fill_insns): Initialize can_issue_more from the value saved
4787         with the fence.
4788         * sel-sched-ir.c (flist_add): New parameter issue_more.
4789         Init FENCE_ISSUE_MORE with it.
4790         (merge_fences): Likewise.
4791         (init_fences): Update call to flist_add.
4792         (add_to_fences, add_clean_fence_to_fences)
4793         (add_dirty_fence_to_fences): Likewise.
4794         (move_fence_to_fences): Update call to merge_fences.
4795         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
4796         sched groups.
4797         * sel-sched-ir.h (struct _fence): New field issue_more.
4798         (FENCE_ISSUE_MORE): New accessor macro.
4799
4800 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4801
4802         PR rtl-optimization/42388
4803         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
4804         that have no predecessors nor successors.  Do not call move_bb_info
4805         for empty blocks outside of current region.
4806
4807 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4808
4809         PR rtl-optimization/42294
4810         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
4811         * sel-sched.c (move_exprs_to_boundary): Transitively add all
4812         originators' originators.
4813
4814 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4815
4816         PR rtl-optimization/39453
4817         PR rtl-optimization/42246
4818         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
4819         for pipelining_p.
4820         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
4821
4822 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4823             Alexander Monakov  <amonakov@ispras.ru>
4824
4825         PR middle-end/42245
4826         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
4827         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
4828         argument.  Update all callers.
4829         (tidy_control_flow): ... and here.  Recompute topological order
4830         of basic blocks in region if necessary.
4831         (sel_redirect_edge_and_branch): Change return type.  Return true
4832         if topological order might have been invalidated.
4833         (purge_empty_blocks): Export and move from...
4834         * sel-sched.c (purge_empty_blocks): ... here.
4835         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
4836         (maybe_tidy_empty_bb): Delete prototype.
4837         (purge_empty_blocks): Declare.
4838
4839 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
4840
4841         PR rtl-optimization/42249
4842         * sel-sched.c (try_replace_dest_reg): When chosen register
4843         and original register is the same, do not bail out early, but
4844         still check all original insns for validity of replacing destination
4845         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
4846         in this case.
4847
4848 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
4849
4850         PR c/42721
4851         Port from no-undefined-overflow branch:
4852         2009-03-09  Richard Guenther  <rguenther@suse.de>
4853
4854         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
4855
4856 2010-01-14  Richard Guenther  <rguenther@suse.de>
4857
4858         PR lto/42665
4859         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
4860
4861 2010-01-14  Ira Rosen  <irar@il.ibm.com>
4862
4863         PR tree-optimization/42709
4864         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
4865         as scalar type in creation of constant vector operand.
4866
4867 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4868
4869         PR testsuite/42414
4870         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
4871         (check-parallel-%): Match `testsuite' directory component only
4872         at the end.
4873
4874 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
4875
4876         PR translation/39521
4877         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
4878         strings with _().
4879
4880 2010-01-13  Richard Guenther  <rguenther@suse.de>
4881
4882         PR tree-optimization/42730
4883         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
4884         offset zero.
4885
4886 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
4887
4888         PR target/pr42542
4889         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
4890         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
4891         them signed.
4892
4893 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
4894
4895         * config/bfin/libgcc-bfin.ver: Regenerate based on current
4896         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
4897         ___umulsi3_highpart.
4898
4899         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
4900         rather than schedule_insns if the pass is enabled.
4901
4902 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4903
4904         PR tree-optimization/42704
4905         * tree-sra.c (sra_modify_assign): Do not delete assignments to
4906         SSA_NAMEs.
4907
4908 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4909
4910         PR tree-optimization/42703
4911         * tree-sra.c (analyze_access_subtree): Check that we can build a
4912         reference to the original data within the aggregate.
4913
4914 2010-01-13  Richard Guenther  <rguenther@suse.de>
4915
4916         PR tree-optimization/42705
4917         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
4918
4919 2010-01-13  Richard Guenther  <rguenther@suse.de>
4920
4921         PR middle-end/42716
4922         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
4923
4924 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
4925
4926         PR debug/41371
4927         * var-tracking.c (values_to_unmark): New variable.
4928         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
4929         values_to_unmark vector.  Moved body to...
4930         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
4931         instead queue it into values_to_unmark vector.
4932         (vt_find_locations): Free values_to_unmark vector.
4933
4934 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
4935
4936         * config/s390/s390.c (override_options): Set
4937         default of max-pending-list-length to 256
4938
4939 2010-01-13  Richard Guenther  <rguenther@suse.de>
4940
4941         PR lto/42678
4942         * tree-pass.h (PROP_gimple_lcx): New.
4943         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
4944         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
4945         before the final cleanup_eh.
4946         (dump_properties): Dump PROP_gimple_lcx.
4947         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
4948         (tree_lower_complex_O0): Remove.
4949         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
4950         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
4951         tree_lower_complex, schedule TODO_update_ssa.
4952         * lto-streamer-out.c (output_function): Stream the functions
4953         properties.
4954         * lto-streamer-in.c (input_function): Likewise.
4955         (lto_read_body): Do not override them here.
4956
4957 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
4958
4959         PR c/42708
4960         * c-typeck.c (build_c_cast): Fold value cast to union type before
4961         wrapping it in a CONSTRUCTOR.
4962
4963 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4964
4965         PR rtl-optimization/42699
4966         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
4967         involved.
4968
4969 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4970
4971         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4972         SUBTARGET_WARN_UNUSED_SPEC): Move ...
4973         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4974         SUBTARGET_WARN_UNUSED_SPEC): ... here
4975         * config/mips/iris5.h (LIBGCC_SPEC): Define.
4976
4977 2010-01-12  Julian Brown  <julian@codesourcery.com>
4978
4979         * config/arm/neon-schedgen.ml (Utils): Don't try to
4980         open missing module.
4981         (find_with_result): New.
4982
4983 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4984
4985         PR debug/42662
4986         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
4987         sharing when canonicalizing ({lt,ge}u (plus a b) b).
4988
4989         PR tree-optimization/42645
4990         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
4991         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
4992         decl_map, set processing_debug_stmt to -1 and return name without
4993         any remapping.
4994
4995 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
4996
4997         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
4998         binutils version, and reword target configuration description.
4999
5000 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5001
5002         * config/avr/avr.h (LINKER_NAME): Remove.
5003
5004 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
5005
5006         PR target/42416
5007         * config/rs6000/rs6000.c (rs6000_override_options): On targets
5008         that support VSX, warn for -mno-altivec if vsx is not disabled,
5009         and disable vsx.
5010
5011 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
5012             Shujing Zhao  <pearly.zhao@oracle.com>
5013
5014         PR translation/42469
5015         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
5016         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
5017         character between option name and help text.
5018         * c.opt (imultilib): Likewise.
5019
5020 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
5021
5022         * lto-streamer-out.c (output_unreferenced_globals): Output static
5023         variables.
5024
5025 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
5026
5027         PR rtl-optimization/42621
5028         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
5029         optimizing for size.
5030         (duplicate_computed_gotos): Remove now-redundant check.
5031
5032 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
5033
5034         PR target/37454
5035         * configure.ac: Save and restore LDFLAGS and LIBS
5036         * configure: Regenerate.
5037
5038 2010-01-10  Richard Guenther  <rguenther@suse.de>
5039
5040         PR middle-end/42667
5041         * builtins.c (fold_builtin_strlen): Add type argument and
5042         convert the resulting length to it.
5043         (fold_builtin_1): Adjust.
5044
5045 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5046
5047         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
5048         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
5049         1 insn.
5050         (num_insns_constant_wide): Adjust for that change.
5051
5052 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5053
5054         PR debug/42631
5055         * web.c (union_defs): Add used argument, to combine uses of
5056         uninitialized regs.
5057         (entry_register): Adjust type and tests of used argument.
5058         (web_main): Widen used for new use.  Pass it to union_defs.
5059         * df.h (union_defs): Adjust prototype.
5060
5061 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5062
5063         PR debug/42630
5064         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
5065         uses in new incoming argument.  Free body.
5066         (reset_debug_uses_in_loop): New.
5067         (analyze_insn_to_expand_var): Call the latter if the former found
5068         anything.  Fix whitespace.  Reject invalid dest overlaps before
5069         going through all insns in the loop.
5070
5071 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5072
5073         PR debug/42629
5074         * haifa-sched.c (dying_use_p): Debug insns don't count.
5075
5076 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5077
5078         PR middle-end/42363
5079         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
5080         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
5081         (verify_gimple_call): Reject LHS in noreturn calls.
5082
5083 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5084
5085         PR debug/42604
5086         PR debug/42395
5087         * tree-vect-loop-manip.c (adjust_info): New type.
5088         (adjust_vec): New pointer to vector.
5089         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
5090         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
5091         (slpeel_update_phis_for_duplicate_loop): Use them.
5092         (slpeel_update_phi_nodes_for_guard1): Likewise.
5093         (slpeel_update_phi_nodes_for_guard2): Likewise.
5094         (slpeel_tree_peel_loop_to_edge): Likewise.
5095         (vect_update_ivs_after_vectorizer): Likewise.
5096
5097 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5098
5099         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
5100         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
5101
5102 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5103
5104         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
5105         bogus uninitialized warning.
5106
5107 2010-01-09  Richard Guenther  <rguenther@suse.de>
5108
5109         PR middle-end/42512
5110         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
5111         the evolution is compatible with the initial condition.
5112
5113 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5114
5115         * gcc.c (process_command): Update copyright notice dates.
5116         * gcov.c (print_version): Likewise.
5117         * gcov-dump.c (print_version): Likewise.
5118         * mips-tfile.c (main): Likewise.
5119         * mips-tdump.c (main): Likewise.
5120
5121 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5122
5123         PR target/41885
5124         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
5125         (rotlhi3): Delete.
5126         (rotlhi3_8): Delete.
5127         (rotlsi3): Delete.
5128         (rotlsi3_8): Delete.
5129         (rotlsi3_16): Delete.
5130         (rotlsi3_24): Delete.
5131         (rotl<mode>3): New.
5132         (*rotw<mode>3): New.
5133         (*rotb<mode>3): New.
5134         * config/avr/avr.c (avr_rotate_bytes): New function.
5135         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
5136
5137 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
5138
5139         PR target/37454
5140         * configure.ac: Modify -rdynamic check.
5141         * configure: Regenerate.
5142
5143 2010-01-08  DJ Delorie  <dj@redhat.com>
5144
5145         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
5146         register popping order.
5147
5148 2010-01-08  Richard Guenther  <rguenther@suse.de>
5149
5150         PR lto/42528
5151         * c.opt (fsigned-char): Also let LTO handle this option.
5152         (funsigned-char): Likewise.
5153
5154 2010-01-07  Richard Guenther  <rguenther@suse.de>
5155
5156         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
5157         (gimple_op): Likewise.
5158         (gimple_op_ptr): Likewise.
5159         (gimple_assign_set_lhs): Remove gcc_assert.
5160         (gimple_assign_set_rhs1): Likewise.
5161         (gimple_assign_set_rhs2): Likewise.
5162         (gimple_call_set_lhs): Likewise.
5163         (gimple_call_set_fn): Likewise.
5164         (gimple_call_set_fndecl): Likewise.
5165         (gimple_call_fndecl): Likewise.
5166         (gimple_call_return_type): Likewise.
5167         (gimple_call_set_chain): Likewise.
5168         (gimple_call_num_args): Likewise.
5169         (gimple_call_set_arg): Likewise.
5170         (gimple_cond_set_code): Likewise.
5171         (gimple_cond_set_lhs): Likewise.
5172         (gimple_cond_set_rhs): Likewise.
5173         (gimple_cond_set_true_label): Likewise.
5174         (gimple_cond_set_false_label): Likewise.
5175         (gimple_label_set_label): Likewise.
5176         (gimple_goto_set_dest): Likewise.
5177         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
5178         (gimple_debug_bind_get_value): Likewise.
5179         (gimple_debug_bind_get_value_ptr): Likewise.
5180         (gimple_debug_bind_set_var): Likewise.
5181         (gimple_debug_bind_set_value): Likewise.
5182         (gimple_debug_bind_reset_value): Likewise.
5183         (gimple_debug_bind_has_value_p): Likewise.
5184         (gimple_return_retval_ptr): Remove gcc_assert.
5185         (gimple_return_retval): Likewise.
5186         (gimple_return_set_retval): Likewise.
5187         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
5188         (safe_referenced_var_iterator): Remove.
5189         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
5190         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
5191         (fill_referenced_var_vec): Remove.
5192         (first_readonly_imm_use): Remove redundant gcc_assert.
5193         (phi_arg_index_from_use): Combine gcc_asserts.
5194         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
5195         (first_imm_use_stmt): Remove redundant gcc_assert.
5196         * tree-cfg.c (verify_gimple_call): Verify function and chain
5197         operands.  Verify arguments.
5198         (verify_types_in_gimple_stmt): Verify condition code and labels.
5199
5200 2010-01-07  Richard Guenther  <rguenther@suse.de>
5201
5202         PR tree-optimization/42641
5203         * sese.c (rename_map_elt_info): Use the SSA name version, do
5204         not hash pointers.
5205
5206 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
5207
5208         PR tree-optimization/42625
5209         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
5210         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
5211
5212 2010-01-07  Duncan Sands  <baldrick@free.fr>
5213
5214         * Makefile.in (PLUGIN_HEADERS): Add version.h.
5215
5216 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
5217
5218         PR target/42511
5219         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
5220         note itself is not function_invariant_p.
5221
5222 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
5223
5224         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
5225         Do not add the DF_NOTE problem.
5226         * store-motion.c (execute_rtl_store_motion): Likewise.
5227
5228 2010-01-07  Martin Jambor  <mjambor@suse.cz>
5229
5230         PR tree-optimization/42157
5231         * tree-sra.c (compare_access_positions): Stabilize sort if both
5232         accesses have integer types, return zero immediately if they are the
5233         same.
5234
5235 2010-01-06  Richard Henderson  <rth@redhat.com>
5236
5237         PR middle-end/41883
5238         * haifa-sched.c (add_to_note_list): Merge into ...
5239         (concat_note_lists): ... here, and ...
5240         (unlink_other_notes, rm_other_notes): Merge into...
5241         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
5242         NOTE_INSN_EPILOGUE_BEG.
5243
5244 2010-01-06  Richard Guenther  <rguenther@suse.de>
5245
5246         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
5247         not inline regular functions into always-inline functions.
5248
5249 2010-01-06  Nick Clifton  <nickc@redhat.com>
5250
5251         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
5252         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
5253         used together.
5254         (OVERRIDE_OPTIONS): Delete.
5255         (OPTIMIZATION_OPTIONS): Define.
5256         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
5257         * config/rx/rx.c (rx_handle_option): Issue an error message if
5258         -mcpu=rx200 and -fpu are used together.
5259         (rx_set_optimization_options): New function.  Issue an error
5260         message if an optimization attribute attempts to reset the FPU/
5261         math optimization pairing.
5262         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
5263         * config/rx/rx.opt: Set the default to 32-bit doubles.
5264         * config/rx/t-rx: Add multilibs for -nofpu option.
5265         * doc/invoke.texi: Update documentation of RX options.
5266
5267 2010-01-06  Richard Guenther  <rguenther@suse.de>
5268
5269         * tree-ssa-pre.c (name_to_id): New global.
5270         (alloc_expression_id): Simplify SSA name handling.
5271         (lookup_expression_id): Likewise.
5272         (init_pre): Zero name_to_id.
5273         (fini_pre): Free it.
5274
5275 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
5276
5277         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
5278
5279 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5280
5281         PR target/42542
5282         * config/i386/sse.md (smaxv2di3): New.
5283         (umaxv2di3): Likewise.
5284         (sminv2di3): Likewise.
5285         (uminv2di3): Likewise.
5286
5287 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5288
5289         PR target/42564
5290         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
5291         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
5292         (legitimize_tls_address): Likewise.
5293         (sparc_tls_referenced_p): Likewise.
5294         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
5295         and adjust calls to legitimize_pic_address.
5296         (legitimate_constant_p) Use sparc_tls_referenced_p.
5297         (legitimate_pic_operand_p): Likewise.
5298         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
5299         (sparc_tls_symbol_ref_1): Delete.
5300         (sparc_tls_referenced_p): Make static, recognize specific patterns.
5301         (legitimize_tls_address): Make static, handle CONST patterns.
5302         (legitimize_pic_address): Make static, remove unused parameter and
5303         adjust recursive calls.
5304         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
5305         and adjust call to legitimize_pic_address.
5306         (sparc_output_mi_thunk): Likewise.
5307
5308 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
5309             H.J. Lu  <hongjiu.lu@intel.com>
5310
5311         PR target/42542
5312         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
5313         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
5314         operands to make them signed.
5315
5316         Revert:
5317         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5318
5319         PR target/42542
5320         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5321         GTU to GT for V4SI and V2DI.
5322
5323         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5324         (umin<mode>3): Removed.
5325         (uminv8hi3): New.
5326         (uminv4si3): Likewise.
5327
5328 2010-01-05  Martin Jambor  <mjambor@suse.cz>
5329
5330         PR tree-optimization/42462
5331         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
5332         current_function_decl to helper functions and macros.
5333
5334 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5335
5336         PR bootstrap/41771
5337         * flags.h: Don't include real.h.
5338         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
5339         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
5340         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
5341         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
5342         * dominance.c: Update copyright.
5343         * gimple.c (walk_gimple_op): Remove inline.
5344         * tree-ssa-reassoc.c: Include real.h.
5345         * Makefile.in (FLAGS_H): Remove $(REAL_H).
5346         (tree-ssa-reassoc.o): Depend on $(REAL_H).
5347
5348 2010-01-05  Nick Clifton  <nickc@redhat.com>
5349
5350         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
5351         register to push into the stack frame when the accumulator has to
5352         be saved during interrupts.
5353
5354 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
5355
5356         * doc/invoke.texi: Remove the documentation about option
5357         -Wunreachable-code.
5358         * common.opt (Wunreachable-code):  Preserved for backward
5359         compatibility.
5360         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
5361         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
5362         the backward compatibility flag section.
5363
5364 2010-01-05  Richard Guenther  <rguenther@suse.de>
5365
5366         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
5367
5368 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
5369
5370         PR other/42611
5371         * cfgexpand.c (expand_one_var): Diagnose too large variables.
5372
5373         PR tree-optimization/42508
5374         * tree-sra.c (convert_callers): Check for recursive call
5375         by comparing cgraph nodes instead of decls.
5376         (modify_function): Call ipa_modify_formal_parameters also
5377         on all same_body aliases.
5378
5379         * cgraphunit.c (cgraph_materialize_all_clones): Compare
5380         cgraph nodes when checking for same_body aliases.
5381
5382 2010-01-05  Richard Guenther  <rguenther@suse.de>
5383
5384         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
5385         allocation and lookup.
5386         (get_or_alloc_expr_for_constant): Likewise.
5387         (phi_translate): Sink allocation.
5388
5389 2010-01-04  Richard Guenther  <rguenther@suse.de>
5390
5391         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
5392         a new entry only if needed.
5393         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
5394         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
5395         hashtable lookup.
5396         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
5397         the result array.
5398         (phi_translate): Handle CONSTANTs early.
5399
5400 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5401
5402         PR tree-optimization/42398
5403         * tree-sra.c (struct access): Removed flag grp_different_types.
5404         (dump_access): Do not dump the removed flag.
5405         (sort_and_splice_var_accesses): Do not set the removed flag.
5406         (sra_modify_expr): Check for type compatibility directly.
5407
5408 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5409
5410         PR tree-optimization/42366
5411         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
5412         edges with variable number of parameters.
5413         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
5414         flag instead of asserting it.
5415         (ipa_read_node_info): Read uses_analysis_done flag.
5416
5417 2010-01-04  Richard Guenther  <rguenther@suse.de>
5418
5419         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
5420         iterative_hash_* as intended.
5421         (vn_reference_compute_hash): Likewise.  Simplify hashing
5422         SSA names.
5423         (vn_reference_lookup_2): Likewise.
5424         (vn_nary_op_compute_hash): Likewise.
5425         (vn_phi_compute_hash): Likewise.
5426         (expressions_equal_p): Remove strange code.
5427         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
5428         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
5429         (bitmap_insert_into_set_1): Take value-id as parameter.
5430         (add_to_value): Pass it.
5431         (bitmap_insert_into_set): Likewise.
5432         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
5433
5434 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
5435
5436         PR driver/42442
5437         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
5438         (do_self_spec): For switches with SWITCH_IGNORE set set also
5439         SWITCH_IGNORE_PERMANENTLY.
5440         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
5441         of SWITCH_IGNORE.
5442
5443 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
5444
5445         * lto-streamer-out.c (output_unreferenced_globals): Output the full
5446         tree of an unreferenced global var.
5447
5448 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5449
5450         PR target/42542
5451         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5452         GTU to GT for V4SI and V2DI.
5453
5454         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5455         (umin<mode>3): Removed.
5456         (uminv8hi3): New.
5457         (uminv4si3): Likewise.
5458
5459 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5460
5461         PR lto/42581
5462         * collect2.c (main): Turn on trace in collect2 if -v is passed
5463         to gcc with LTO.
5464
5465 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
5466
5467         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
5468         description of expression operand.
5469
5470 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
5471
5472         * configure.ac: Add install-html to target_list for Make-hooks.
5473         * configure: Regenerate.
5474         * fortran/Make-lang.in (F95_HTMLFILES): New.
5475         (fortran.html): Use it.
5476         (fortran.install-html): New.
5477         * Makefile.in (install-html): Add lang.install-html.
5478         * java/Make-lang.in (JAVA_HTMLFILES): New.
5479         (java.html): Use it.
5480         (java.install-html): New.
5481         * objc/Make-lang.in (objc.install-html): New.
5482         * objcp/Make-lang.in (obj-c++.install-html): New.
5483         * cp/Make-lang.in (c++.install-html): New.
5484         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
5485         * lto/Make-lang.in (lto.install-html): New.
5486
5487 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5488
5489         PR lto/42520
5490         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
5491
5492 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5493
5494         PR rtl-optimization/41862
5495         * store-motion.c (store_killed_in_insn, compute_store_table,
5496         remove_reachable_equiv_notes, replace_store_insn,
5497         build_store_vectors): Ignore all DEBUG_INSNs.
5498
5499 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5500
5501         PR lto/41564
5502         * common.opt: Add dumpdir.
5503
5504         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
5505         isn't specified.
5506         (option_map): Add --dumpdir.
5507
5508         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
5509
5510         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
5511
5512         * opts.c (decode_options): Try dump_dir_name first if
5513         dump_base_name isn't an absolute path.
5514         (common_handle_option): Handle OPT_dumpdir.
5515
5516         * toplev.c (dump_dir_name): New.
5517         (print_switch_values): Also ignore -dumpdir.
5518
5519         * toplev.h (dump_dir_name): New.
5520
5521 2010-01-03  Richard Guenther  <rguenther@suse.de>
5522
5523         PR tree-optimization/42589
5524         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
5525         double-word expansion of bswap32.
5526
5527 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5528
5529         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
5530         with BLOCK_FOR_INSN.
5531         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
5532         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
5533         noce_process_if_block): Likewise.
5534         * gcse.c (compute_local_properties, insert_expr_in_table,
5535         insert_set_in_table, canon_list_insert, find_avail_set,
5536         pre_insert_copy_insn): Likewise.
5537
5538         * basic-block.h (BLOCK_NUM): Move from here...
5539         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
5540
5541 2010-01-03  Richard Guenther  <rguenther@suse.de>
5542
5543         PR tree-optimization/42438
5544         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
5545         contains_may_not_return_call flag.
5546         (BB_MAY_NOTRETURN): New.
5547         (valid_in_sets): Trapping nary operations are not valid
5548         in blocks that may not return.
5549         (insert_into_preds_of_block): Remove check for trapping expressions.
5550         (compute_avail): Compute also BB_MAY_NOTRETURN.
5551
5552 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
5553
5554         * doc/invoke.texi: Add 2010 to copyright years.
5555
5556 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5557
5558         * config/sparc/sparc.c: Fix formatting nits.
5559
5560 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
5561             Alexander Monakov  <amonakov@ispras.ru>
5562
5563         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
5564
5565 2010-01-02  Richard Guenther  <rguenther@suse.de>
5566
5567         PR middle-end/42577
5568         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
5569         (simplify_switch_using_ranges): Mark to be removed edges
5570         as non-executable.
5571
5572 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5573
5574         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
5575
5576         * collect2.c (scan_libraries): Add missing argument in call to
5577         scan_prog_file.
5578
5579 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
5580
5581         PR target/42448
5582         * config/alpha/predicates.md (aligned_memory_operand): Return false
5583         for CQImode.
5584         (unaligned_memory_operand): Return true for CQImode.
5585         * config/alpha/alpha.c (get_aligned_mem): Assert that location
5586         doesn not cross aligned SImode word boundary.
5587
5588 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
5589
5590         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
5591         Remove.
5592         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
5593         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
5594
5595 2010-01-02  Richard Guenther  <rguenther@suse.de>
5596
5597         PR lto/41597
5598         * toplev.c (compile_file): Emit LTO marker properly.  Change
5599         it to __gnu_lto_v1.
5600         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5601
5602 2010-01-01  Richard Guenther  <rguenther@suse.de>
5603
5604         PR debug/42455
5605         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
5606
5607 2010-01-01  Richard Guenther  <rguenther@suse.de>
5608
5609         PR c/42570
5610         * c-decl.c (grokdeclarator): For zero-size arrays force
5611         structural equality checks as layout_type does.
5612
5613 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5614
5615         * builtins.c: Update copyright to 2010.
5616
5617 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
5618
5619         PR lto/42531
5620         * lto-streamer-out.c (produce_asm): Revert the last change.
5621         (copy_function): Likewise.
5622
5623         * lto-streamer.c (lto_get_section_name): Skip any leading
5624         asterisk in name.
5625
5626 2010-01-01  Richard Guenther  <rguenther@suse.de>
5627
5628         PR middle-end/42559
5629         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
5630         for LABEL_DECLs.
5631
5632 \f
5633 Copyright (C) 2010 Free Software Foundation, Inc.
5634
5635 Copying and distribution of this file, with or without modification,
5636 are permitted in any medium without royalty provided the copyright
5637 notice and this notice are preserved.