OSDN Git Service

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