OSDN Git Service

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