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  <rguenther@suse.de>
4069
4070         PR middle-end/42991
4071         * expr.c (get_inner_reference): Always initialize *pbitsize.
4072
4073 2010-02-07  Richard Guenther  <rguenther@suse.de>
4074
4075         PR middle-end/42956
4076         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
4077         new ARRAY_REFs on variable size element or minimal index arrays.
4078         Complete.
4079         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
4080         gimple_fold_indirect_ref.
4081
4082 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
4083
4084         PR target/42957
4085         * arm.c (arm_override_options): Just return if the user has specified
4086         an invalid fpu name.
4087
4088 2010-02-03  Jason Merrill  <jason@redhat.com>
4089
4090         PR c++/42870
4091         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
4092         i386_pe_maybe_record_exported_symbol.
4093
4094 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
4095
4096         PR target/42924
4097         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
4098         (pa_delegitimize_address): New function.
4099
4100 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
4101
4102         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
4103         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
4104
4105 2010-02-05  Richard Guenther  <rguenther@suse.de>
4106
4107         PR lto/42762
4108         * lto-streamer-in.c (get_resolution): Deal with references
4109         to undefined functions.
4110
4111 2010-02-05  Richard Guenther  <rguenther@suse.de>
4112
4113         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
4114         (fold_const_aggregate_ref): Likewise.
4115         (ccp_fold_stmt): Substitute loads.
4116         (maybe_fold_reference): Verify types before substituting.
4117         Unshare properly.
4118         (fold_gimple_assign): Unshare properly.
4119         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
4120
4121 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
4122
4123         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
4124         for rs6000_gen_cell_microcode.
4125
4126 2010-02-04  Richard Guenther  <rguenther@suse.de>
4127
4128         PR rtl-optimization/42952
4129         * dse.c (const_or_frame_p): Remove MEM handling.
4130
4131 2010-02-04  Nick Clifton  <nickc@redhat.com>
4132
4133         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
4134         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
4135         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
4136         (mn10300_asm_output_mi_thunk): New function.
4137         (mn10300_can_output_mu_thunk): New function.
4138         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
4139         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
4140         (FUNCTION_ARG): Delete incorrect comment.
4141
4142 2010-02-03  Jason Merrill  <jason@redhat.com>
4143
4144         PR c++/40138
4145         * fold-const.c (operand_equal_p): Handle erroneous types.
4146
4147 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
4148
4149         * config/h8300/h8300.md (can_delay): Fix attibute condition.
4150
4151 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
4152
4153         PR rtl-optimization/42941
4154         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
4155         of xmalloc.
4156
4157 2010-02-03  Jason Merrill  <jason@redhat.com>
4158
4159         PR c++/35652
4160         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
4161
4162 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
4163
4164         PR debug/42896
4165         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
4166         (cselib_reset_table): Renamed from...
4167         (cselib_reset_table_with_next_value): ... this.
4168         (cselib_get_next_uid): Renamed from...
4169         (cselib_get_next_unknown_value): ... this.
4170         * cselib.c (next_uid): Renamed from...
4171         (next_unknown_value): ... this.
4172         (cselib_clear_table): Adjust.
4173         (cselib_reset_table): Adjust.  Renamed from...
4174         (cselib_reset_table_with_next_value): ... this.
4175         (cselib_get_next_uid): Adjust.  Renamed from...
4176         (cselib_get_next_unknown_value): ... this.
4177         (get_value_hash): Use hash.
4178         (cselib_hash_rtx): Likewise.
4179         (new_cselib_val): Adjust.  Set and dump uid.
4180         (cselib_lookup_mem): Pass next_uid as hash.
4181         (cselib_subst_to_values): Likewise.
4182         (cselib_log_lookup): Dump uid.
4183         (cselib_lookup): Pass next_uid as hash.  Adjust.
4184         (cselib_process_insn): Adjust.
4185         (cselib_init): Initialize next_uid.
4186         (cselib_finish): Adjust.
4187         (dump_cselib_table): Likewise.
4188         * dse.c (canon_address): Dump value uid.
4189         * print-rtl.c (print_rtx): Print value uid.
4190         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
4191         (dvuid): New type.
4192         (dv_uid): New function, sort of renamed from...
4193         (dv_htab_hash): ... this, reimplemented in terms of it and...
4194         (dv_uid2hash): ... this.  New.
4195         (variable_htab_eq): Drop excess assertions.
4196         (tie_break_pointers): Removed.
4197         (canon_value_cmp): Compare uids.
4198         (variable_post_merge_New_vals): Print uids.
4199         (vt_add_function_parameters): Adjust.
4200         (vt_initialize): Reset table.  Adjust.
4201
4202 2010-02-03  Richard Guenther  <rguenther@suse.de>
4203
4204         PR tree-optimization/42944
4205         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
4206         (call_may_clobber_ref_p_1): Likewise.  Properly handle
4207         malloc and calloc clobbering errno.
4208
4209 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
4210
4211         * doc/invoke.texi: Fix name of sched1 dump.
4212
4213         * opts.c (decode_options): Set flag_tree_switch_conversion
4214         only conditionally on optimize >= 2.
4215
4216         * gcse.c: Assorted comment fixes in pass description.
4217
4218 2010-02-03  Anthony Green  <green@moxielogic.com>
4219
4220         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
4221         nop padding in order to maintain alignment of storage location of
4222         target function address.
4223         (moxie_trampoline_init): Store target function address at newly
4224         aligned location.
4225         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
4226         to 32.
4227         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
4228
4229 2010-02-03  Richard Guenther  <rguenther@suse.de>
4230
4231         PR middle-end/42927
4232         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
4233
4234 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4235
4236         * config.gcc: Reenable check for obsolete targets.
4237         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
4238         mips-sgi-irix6.[0-4]*.
4239
4240 2010-02-02  Nick Clifton  <nickc@redhat.com>
4241
4242         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
4243         constant size of 4 as being the same as 0.
4244         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
4245         can take values in the range 0..4.
4246
4247 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
4248
4249         PR java/41991
4250         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
4251         as _darwin10_Unwind_FindEnclosingFunction().
4252         * libgcc-libsystem.ver: New.
4253
4254 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
4255
4256         PR target/41399
4257         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
4258         implicitly set registers.
4259
4260 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
4261
4262         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
4263         (arm_override_options): Allow automatic selection of the thread
4264         pointer register if thumb2.
4265         (legitimize_pic_address): Improve code sequences for Thumb2.
4266         (arm_call_tls_get_addr): Likewise.
4267         (legitimize_tls_address): Likewise.
4268         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
4269         (pic_load_addr_32bit): ... this.  New named pattern.
4270         * thumb2.md (pic_load_addr_thumb2): Delete.
4271         (pic_load_dot_plus_four): Delete.
4272         (tls_load_dot_plus_four): New named pattern.
4273
4274 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4275
4276         PR libgomp/29986
4277         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
4278         Document fix for TLS bug.
4279
4280 2010-01-31  Richard Guenther  <rguenther@suse.de>
4281
4282         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
4283         conservatively correct.
4284
4285 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4286
4287         PR target/42850
4288         Revert:
4289         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4290
4291         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4292
4293 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4294
4295         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
4296
4297 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
4298
4299         * config.gcc: Adjust order of makefile fragments for mingw targets.
4300
4301 2010-01-31  Richard Guenther  <rguenther@suse.de>
4302
4303         PR middle-end/42898
4304         * gimplify.c (gimplify_init_constructor): For volatile LHS
4305         initialize a temporary.
4306
4307 2010-01-31  Matthias Klose  <doko@ubuntu.com>
4308
4309         * configure.ac: Fix __stack_chk_fail check for cross builds configured
4310         --with-headers
4311         * configure: Regenerate.
4312
4313 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
4314
4315         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
4316         the same alias set and their sizes different constantness.
4317         (aliasing_component_refs_p): Revert 2009-10-24 change.
4318
4319 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4320
4321         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
4322         unused.
4323
4324 2010-01-29  Richard Guenther  <rguenther@suse.de>
4325
4326         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
4327         Assert we successfully updated the call.
4328
4329 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
4330
4331         PR rtl-optimization/42889
4332         * df.h (df_set_bb_dirty_nonlr): New prototype.
4333         * df-core.c (df_set_bb_dirty_nonlr): New function.
4334         * df-scan.c (df_insn_rescan): Call it instead of
4335         df_set_bb_dirty for DEBUG_INSNs.
4336
4337 2010-01-29  Richard Guenther  <rguenther@suse.de>
4338
4339         PR middle-end/37448
4340         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
4341         quadratic behavior in most cases.
4342
4343 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
4344
4345         PR target/42891
4346         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
4347         in the call to gen_x86_movsicc_0_m1.
4348
4349 2010-01-28  Richard Guenther  <rguenther@suse.de>
4350
4351         PR tree-optimization/42871
4352         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
4353
4354 2010-01-28  Richard Guenther  <rguenther@suse.de>
4355
4356         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
4357         into call arguments.
4358
4359 2010-01-28  Richard Guenther  <rguenther@suse.de>
4360
4361         PR middle-end/42883
4362         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
4363         the forwarder if the destination is an EH landing pad.
4364
4365 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
4366
4367         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
4368         block list passed to gimple_duplicate_sese_tail.
4369         (parallelize_loops): Avoid parallelization when the function
4370         has_nonlocal_label.
4371         Avoid parallelization when the preheader is IRREDUCIBLE.
4372         Try to optimize when estimated_loop_iterations_int is unresolved.
4373         Add the loop's location to the dump file.
4374         * tree-cfg.c (add_phi_args_after_redirect): Remove.
4375         (gimple_duplicate_sese_tail): Remove the check for the latch.
4376         Redirect nexits to the exit block.
4377         Remove handling of the incoming edges to the latch.
4378         Redirect the backedge from the copied latch to the exit bb.
4379
4380 2010-01-28  Michael Matz  <matz@suse.de>
4381
4382         PR target/42881
4383         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
4384         Wrap force_reg into a sequence, emit it before user.
4385
4386 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
4387
4388         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
4389         (arm_rev): New.
4390         (arm_legacy_rev): Likewise.
4391         (thumb_legacy_rev): Likewise.
4392
4393 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
4394
4395         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
4396         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
4397         on MEM's address failed, try avoid_constant_pool_reference and
4398         recurse if it returned something different.
4399         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
4400         address, try avoid_constant_pool_reference and recurse if it
4401         returned something different.
4402         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
4403         address and avoid_constant_pool_reference returned something
4404         different, don't set have_address.
4405
4406 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
4407
4408         PR debug/42861
4409         * var-tracking.c (val_store): Add modified argument, obey it.
4410         Adjust callers.
4411         (count_uses): Move down logging of main.
4412         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
4413         don't need resolution.
4414         (emit_notes_in_bb): Likewise.
4415
4416 2010-01-27  Richard Guenther  <rguenther@suse.de>
4417
4418         PR middle-end/42878
4419         * tree-inline.c (remap_decl): Delay remapping of SSA name
4420         default definitions until we need them.
4421
4422 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
4423
4424         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
4425         (rs6000_delegitimize_address): New function.
4426
4427         * config/s390/s390.c (s390_delegitimize_address): Call
4428         delegitimize_mem_from_attrs.
4429
4430         PR middle-end/42874
4431         * tree-inline.c (cannot_copy_type_1): Removed.
4432         (copy_forbidden): Don't forbid copying of functions containing
4433         records/unions with variable length fields.
4434
4435 2010-01-27  Christian Bruel  <christian.bruel@st.com>
4436
4437         Revert:
4438         PR target/42841
4439         * config/sh/sh.c (find_barrier): Increase length for non delayed
4440         conditional branches.
4441
4442 2010-01-27  Matthias Klose  <doko@ubuntu.com>
4443
4444         * configure.ac (gnu-unique-object): Fix ldd version check.
4445         * configure: Regenerate.
4446
4447 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4448
4449         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
4450         HAVE_GNU_AS value.
4451         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
4452         Test for HAVE_GNU_AS value.
4453
4454 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4455
4456         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
4457         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
4458         INT64_TYPE): Define.
4459         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
4460         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
4461         INT_LEAST64_TYPE): Define.
4462         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
4463         UINT_LEAST64_TYPE): Define.
4464         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
4465         INT_FAST64_TYPE): Define.
4466         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
4467         UINT_FAST64_TYPE): Define.
4468         (INTMAX_TYPE, UINTMAX_TYPE): Define.
4469         (INTPTR_TYPE, UINTPTR_TYPE): Define.
4470         (SIG_ATOMIC_TYPE): Define.
4471
4472 2010-01-26  Richard Guenther  <rguenther@suse.de>
4473
4474         * df-scan.c (df_scan_set_bb_info): Remove assert.
4475         (df_insn_rescan_debug_internal): Merge asserts.
4476         (df_install_ref): Likewise.
4477         (df_mark_reg): Use bitmap_set_range.
4478         (df_hard_reg_used_p): Remove assert.
4479         (df_hard_reg_used_count): Likewise.
4480
4481 2010-01-26  Richard Guenther  <rguenther@suse.de>
4482
4483         PR rtl-optimization/42685
4484         * web.c (web_main): Ignore DEBUG_INSNs.
4485
4486 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
4487
4488         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
4489
4490         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
4491         Fix types of fndecl and arglist parameters.
4492
4493 2010-01-26  Richard Guenther  <rguenther@suse.de>
4494
4495         PR middle-end/42806
4496         * tree-eh.c (unsplit_eh): Skip debug insns.
4497
4498 2010-01-26  Richard Guenther  <rguenther@suse.de>
4499
4500         PR tree-optimization/42250
4501         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
4502
4503 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
4504
4505         PR fortran/42866
4506         * omp-low.c (expand_omp_sections): Only use single_pred if
4507         l2_bb is single_pred_p.
4508
4509 2010-01-25  Christian Bruel  <christian.bruel@st.com>
4510
4511         PR target/42841
4512         * config/sh/sh.c (find_barrier): Increase length for non delayed
4513         conditional branches.
4514         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
4515
4516 2010-01-24  David S. Miller  <davem@davemloft.net>
4517
4518         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
4519         define if not using GAS.
4520         * config/sparc/sparc.c (sparc_elf_asm_named_section):
4521         Likewise.  Delete SECTION_MERGE code, which is only applicable
4522         when using GAS.
4523
4524 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
4525
4526         PR c++/42748
4527         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
4528         mangling of va_list in system headers.
4529
4530 2010-01-23  Toon Moene  <toon@moene.org>
4531
4532         * tree-predcom.c (combine_chains): Return NULL, not false.
4533
4534 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
4535
4536         * tree-loop-distribution.c (distribute_loop): Fix declaration and
4537         initialization of variable res to agree with return type.
4538
4539 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
4540
4541         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
4542         * tree-sra.c: Add include of expr.h.
4543
4544 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
4545
4546         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
4547         insert the debug stmt on the single non-EH edge from the stmt.
4548
4549 2010-01-22  Richard Henderson  <rth@redhat.com>
4550
4551         PR tree-opt/42833
4552         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
4553         the RHS until after generate_subtree_copies has insertted its
4554         code before the current statement.
4555
4556 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
4557
4558         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
4559
4560         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
4561
4562 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4563
4564         PR tree-optimization/42585
4565         * tree-sra.c (struct access): New field grp_total_scalarization.
4566         (dump_access): Dump the new field.
4567         (should_scalarize_away_bitmap): New variable.
4568         (cannot_scalarize_away_bitmap): Likewise.
4569         (sra_initialize): Allocate new bitmaps.
4570         (sra_deinitialize): Free new bitmaps.
4571         (create_access_1): New function.
4572         (create_access): Parts moved to create_access_1.
4573         (type_consists_of_records_p): New function.
4574         (completely_scalarize_record): Likewise.
4575         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
4576         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
4577         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
4578         access.
4579         (analyze_all_variable_accesses): Completely scalarize small eligible
4580         records.
4581
4582 2010-01-21  Martin Jambor  <mjambor@suse.cz>
4583
4584         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
4585
4586 2010-01-21  Andrew Haley  <aph@redhat.com>
4587
4588         * gcc.c (process_command): Move lang_specific_driver before
4589         setting cc_libexec_prefix.
4590
4591 2010-01-21  Richard Guenther  <rguenther@suse.de>
4592
4593         PR middle-end/19988
4594         * fold-const.c (negate_expr_p): Pretend only negative
4595         real constants are easily negatable.
4596
4597 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
4598             Jason Merrill  <jason@redhat.com>
4599
4600         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
4601         (TYPE_TRANSPARENT_AGGR): this, for union and record.
4602         * calls.c (initialize argument_information): Handle it.
4603         * c-common.c (handle_transparent_union_attribute): Use new name.
4604         * c-decl.c (finish_struct): Ditto.
4605         * c-typeck.c (type_lists_compatible_p): Ditto.
4606         (convert_for_assignment): Use new name and also handle record.
4607         * function.c (aggregate_value_p): Handle it.
4608         (pass_by_reference): Ditto.
4609         (assign_parm_data_types): Ditto.
4610         * print-tree.c (print_node): Ditto.
4611         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
4612         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
4613         * tree.c (first_field): New fn.
4614
4615 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
4616
4617         PR target/42818
4618         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
4619         even when linking statically, for now.
4620
4621 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4622
4623         PR debug/42715
4624         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
4625         without a cselib val.
4626         (count_uses): Accept MO_VAL_SET with no val on stores.
4627         (add_stores): Likewise.
4628
4629 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4630
4631         * var-tracking.c (check_value_val): Add a compile time assertion.
4632         (dv_is_decl_p): Simplify.
4633         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
4634         gcc_assert if ENABLE_CHECKING.
4635
4636 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
4637
4638         PR debug/42782
4639         * var-tracking.c: Include tree-flow.h.
4640         (mem_dies_at_call): New.
4641         (dataflow_set_preserve_mem_locs): Use it.
4642         (dataflow_set_remove_mem_locs): Likewise.
4643         (dump_var): Renamed from dump_variable.  Adjust all callers.
4644         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
4645         * Makefile.in (var-tracking.o): Adjust deps.
4646
4647 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
4648
4649         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
4650
4651 2010-01-20  Richard Guenther  <rguenther@suse.de>
4652
4653         PR tree-optimization/42717
4654         * tree-ssa-dce.c (get_live_post_dom): Remove.
4655         (forward_edge_to_pdom): Take an arbitrary edge to copy
4656         degenerate PHI args from.
4657         (remove_dead_stmt): Use the first post-dominator even if it
4658         does not contain live statements as redirection destination.
4659
4660 2010-01-20  Richard Guenther  <rguenther@suse.de>
4661
4662         * tree-inline.c (estimate_num_insns): Handle EH builtins.
4663
4664 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4665
4666         * sel-sched.c (create_speculation_check): Remove set but not used
4667         variable twin.
4668         (try_transformation_cache): Remove set but not used variable ds.
4669         (calculate_privileged_insns): Remove set but not used variables
4670         cur_insn and min_spec_insn.
4671         (find_best_expr): Remove set but not used variable avail_n.
4672         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
4673         variable e.
4674         * cgraphunit.c (assemble_thunk): Remove set but not used variable
4675         false_label.
4676         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
4677         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
4678         new_scop_exit_edge.
4679
4680 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
4681
4682         PR bootstrap/42786
4683         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
4684         cpu types.  Add support for *-sse3 cpu types.
4685         (x86_64-*-*): Ditto.
4686
4687 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4688
4689         PR middle-end/42803
4690         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
4691         argument, call initializer_constant_valid_p_1 instead of
4692         initializer_constant_valid_p, pass CACHE to it, return NULL
4693         immediately if first call returns NULL.
4694         (initializer_constant_valid_p_1): New function.
4695         (initializer_constant_valid_p): Use it.
4696
4697 2010-01-20  Thomas Quinot  <quinot@adacore.com>
4698
4699         * tree.def (PLACEHOLDER_EXPR): Fix comment.
4700
4701 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
4702
4703         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
4704         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
4705         (loc_list_from_tree): Don't handle unsigned division.  Handle
4706         signed modulo using DW_OP_{over,over,div,mul,minus}.
4707         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
4708         modulo instead of signed.
4709
4710 2010-01-20  DJ Delorie  <dj@redhat.com>
4711
4712         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
4713         (Fpa): Pass it
4714         (h8300_emit_stack_adjustment): Propogate it.
4715         (push): Pass it.
4716         (h8300_expand_prologue): Likewise.
4717         (h8300_expand_epilogue): Likewise.
4718
4719 2010-01-19  Michael Matz  <matz@suse.de>
4720
4721         PR tree-optimization/41783
4722         * tree-data-ref.c (toplevel): Include flags.h.
4723         (dump_data_dependence_relation):  Also dump the inputs if the
4724         result will be unknown.
4725         (split_constant_offset_1): Look through some conversions.
4726         * tree-predcom.c (determine_roots_comp): Restart a new chain if
4727         the offset from last element is too large.
4728         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
4729         (reassociate_to_the_same_stmt): Handle vector registers.
4730         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
4731         (e.g. conversions).
4732         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
4733         wide_prolog_niters argument, emit widening instructions.
4734         (vect_do_peeling_for_alignment): Adjust caller, use widened
4735         variant of the iteration cound.
4736         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
4737
4738 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4739
4740         PR target/38697
4741         * config/arm/neon-testgen.m (emit_automatics): New parameter
4742         features. Adjust for Fixed_return_reg feature.
4743         (test_intrinsic): Call emit_automatics with new feature.
4744         * config/arm/neon.ml: Update copyright years.
4745         (features): New Fixed_return_reg feature.
4746         (ops): Update feature for Vget_low.
4747
4748 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
4749
4750         PR tree-optimization/42719
4751         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
4752         stmt uses.
4753
4754         PR debug/42728
4755         * fwprop.c (all_uses_available_at): Return false if def_set dest
4756         is a REG that is used in def_insn.
4757
4758 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
4759
4760         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
4761
4762         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
4763         Add argument names.
4764
4765         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
4766
4767         * target.h (struct gcc_target) <secondary_reload>: Change type
4768         of last argument to secondary_reload_info *.
4769
4770 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
4771
4772         PR target/42774
4773         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
4774         memory references with unaligned offsets.  Remove CQImode handling.
4775         (unaligned_memory_operand): Return 1 for memory references with
4776         unaligned offsets.  Remove CQImode handling.
4777
4778 2010-01-18  Richard Guenther  <rguenther@suse.de>
4779
4780         PR middle-end/39954
4781         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
4782         builtin calls.
4783
4784 2010-01-18  Richard Guenther  <rguenther@suse.de>
4785
4786         PR tree-optimization/42781
4787         * tree-ssa-structalias.c (find_what_var_points_to): Skip
4788         restrict processing only if the original variable was artificial.
4789
4790 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
4791
4792         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
4793         find number of popped argument bytes.
4794
4795         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
4796         Fix the text that describes the return value for invalid insns.
4797
4798         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
4799
4800         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
4801         Clarify what 'cost of the -dependence' is.  Fix quoting.
4802
4803         * toplev.c (default_get_pch_validity): Rename argument to "sz".
4804         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
4805
4806 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
4807
4808         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4809         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
4810
4811 2010-01-17  Richard Guenther  <rguenther@suse.de>
4812
4813         PR middle-end/42248
4814         * function.c (split_complex_args): Take a VEC to modify.
4815         (assign_parms_augmented_arg_list): Build a VEC instead of
4816         a chain of PARM_DECLs.
4817         (assign_parms_unsplit_complex): Take a VEC of arguments.
4818         Do not fixup unmodified parms.
4819         (assign_parms): Deal with the VEC.
4820         (gimplify_parameters): Likewise.
4821
4822 2010-01-17  Richard Guenther  <rguenther@suse.de>
4823
4824         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
4825         node existence check.
4826         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
4827         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
4828         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
4829         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
4830         (gimple_execute_on_growing_pred): Likewise.
4831
4832 2010-01-17  Richard Guenther  <rguenther@suse.de>
4833
4834         PR tree-optimization/42773
4835         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
4836         (compute_antic_aux): Likewise.
4837         (compute_partial_antic_aux): Likewise.
4838
4839 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
4840
4841         PR debug/42767
4842         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
4843         and US_TRUNCATE.
4844
4845 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
4846
4847         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
4848         appearance.
4849
4850         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
4851         Fix markup for strict argument.
4852
4853         (TARGET_SCHED_REORDER2): Fix argument types.
4854
4855         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
4856         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
4857
4858         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
4859         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
4860
4861         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
4862         Add argument name.
4863
4864         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
4865         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
4866         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
4867         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
4868         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
4869
4870         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
4871
4872         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
4873
4874         (TARGET_ASM_RELOC_RW_MASK): Add return type.
4875         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
4876
4877         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
4878
4879         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
4880         Use prototype.
4881
4882         (TARGET_ASM_NAMED_SECTION): Fix argument list.
4883
4884         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
4885         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
4886
4887         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
4888
4889         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
4890
4891         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
4892         referring to it.  Fix language.
4893
4894         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
4895
4896         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
4897
4898         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
4899
4900         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
4901
4902         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
4903         '@var{stream}.  Remove stray 'and'.
4904
4905         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
4906
4907         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
4908
4909         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
4910
4911         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
4912         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
4913
4914         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
4915         Fix description of return value.
4916         Rename argument "sz" to "len."
4917
4918         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
4919         Clarify meaning of 'true' return value.
4920
4921         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
4922
4923         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
4924         rep_mode versus mode_rep.
4925
4926         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
4927
4928         (TARGET_BUILTIN_DECL): Fix name.
4929
4930         (TARGET_COMMUTATIVE_P): Fix type of first argument.
4931
4932         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
4933
4934         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
4935
4936         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
4937
4938         (TARGET_RELAXED_ORDERING): Use @deftypevr.
4939
4940         (TARGET_GET_DRAP_RTX): Note that this is a hook.
4941         Clarify language.
4942
4943         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
4944         Rename argument tm_fn to md_fn.
4945
4946         (TARGET_OPTION_PRINT): Fix argument list.
4947
4948 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
4949
4950         PR target/42664
4951         * config/i386/i386.c (ix86_fixup_binary_operands):
4952         Revert FMA4 fixup of operands.
4953
4954 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4955
4956         PR gcc/42525
4957         * Makefile.in (write_entries_to_file, install-plugin):
4958         Use \012 instead of \n with tr.
4959
4960 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
4961
4962         * configure.ac (HAVE_AS_REF): New C macro.
4963         * configure: Regenerate.
4964         * config.in: Likewise.
4965         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
4966         if HAVE_AS_REF.
4967         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
4968         if HAVE_AS_REF.
4969
4970 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
4971
4972         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
4973
4974         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
4975
4976         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
4977
4978         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
4979
4980         (TARGET_IN_SMALL_DATA_P): Fix argument type.
4981
4982         (TARGET_BINDS_LOCAL_P): Fix argument type.
4983
4984         (TARGET_ASM_FILE_END): Use prototype.
4985
4986         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
4987
4988         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
4989
4990         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
4991
4992         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
4993
4994         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
4995         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
4996
4997         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
4998         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
4999
5000         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
5001         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
5002         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
5003         (TARGET_ADDR_SPACE_CONVERT): Likewise.
5004
5005         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
5006
5007         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
5008
5009         (TARGET_INIT_BUILTINS): Use prototype.
5010
5011         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
5012         Put 'const char *' in braces.  Fix parameter types.
5013         (TARGET_INVALID_CONVERSION): Fix parameter types.
5014         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
5015         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
5016
5017         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
5018         Fix argument type.
5019
5020         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
5021
5022         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
5023
5024 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
5025
5026         * doc/tm.texi (TARGET_HELP): Fix return type.
5027
5028         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
5029         in braces.  Fix argument types.
5030
5031         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
5032
5033         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
5034
5035         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
5036
5037         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
5038         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
5039
5040         (TARGET_MANGLE_TYPE): Fix argument types.
5041
5042         (TARGET_IRA_COVER_CLASSES): Use prototype.
5043
5044         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
5045
5046         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
5047
5048         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
5049
5050         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
5051
5052         (TARGET_CALLEE_COPIES): Fix argument types.
5053
5054         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
5055
5056         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
5057
5058         (TARGET_FUNCTION_VALUE): Fix argument types.
5059
5060         (TARGET_RETURN_IN_MSB): Fix argument type.
5061
5062         (TARGET_RETURN_IN_MEMORY): Fix argument types.
5063
5064         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
5065
5066         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
5067
5068         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
5069         agree with return type.
5070
5071         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
5072
5073 2010-01-15  Jing Yu  <jingyu@google.com>
5074
5075         PR rtl-optimization/42691
5076         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
5077         a pseudo to a constant and are merged, and adjust comments.
5078
5079 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
5080
5081         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
5082
5083 2010-01-15  Richard Guenther  <rguenther@suse.de>
5084
5085         PR middle-end/42739
5086         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
5087         labels of computed or non-local gotos to the destination.
5088         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
5089         landing pad label is the first label.
5090
5091 2010-01-15  Richard Guenther  <rguenther@suse.de>
5092
5093         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
5094
5095 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
5096
5097         PR target/42747
5098         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
5099         to allow generation of the xssqrtdp instruction on power7.
5100         (sqrtdf2_fpr): Ditto.
5101
5102 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5103
5104         PR middle-end/42674
5105         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
5106         functions with noreturn attribute.
5107
5108         PR c++/42608
5109         * varasm.c (declare_weak): Add weak attribute to decl if it
5110         doesn't have one already.
5111         (assemble_external): Only add decls to weak_decls if they also
5112         have weak attribute.
5113
5114 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
5115
5116         * var-tracking.c (var_reg_delete): Don't delete the association
5117         between REGs and values or one-part variables if the register
5118         isn't clobbered.
5119
5120 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5121
5122         PR debug/42657
5123         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
5124         because its first operand is a non-localized variable.
5125
5126 2010-01-14  Martin Jambor  <mjambor@suse.cz>
5127
5128         PR tree-optimization/42706
5129         * tree-sra.c (encountered_recursive_call): New variable.
5130         (encountered_unchangable_recursive_call): Likewise.
5131         (sra_initialize): Initialize both new variables.
5132         (callsite_has_enough_arguments_p): New function.
5133         (scan_function): Call decl and flags check only for IPA-SRA, check
5134         whether there is a recursive call and whether it has enough arguments.
5135         (all_callers_have_enough_arguments_p): New function.
5136         (convert_callers): Look for recursive calls only when
5137         encountered_recursive_call is set.
5138         (ipa_early_sra): Bail out either if
5139         !all_callers_have_enough_arguments_p or
5140         encountered_unchangable_recursive_call.
5141
5142 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5143
5144         * sel-sched.c: Add 2010 to copyright years.
5145         * sel-sched-ir.c: Likewise.
5146         * sel-sched-ir.h: Likewise.
5147
5148 2010-01-14  Martin Jambor  <mjambor@suse.cz>
5149
5150         PR tree-optimization/42714
5151         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
5152         constructors specially.
5153
5154 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5155
5156         * config/i386/drivers-i386.c (detect_caches_intel):
5157         Add l2sizekb parameter and fill in.
5158         (host_detect_local_cpu): Add l2sizekb, fill in.
5159         Add Atom small cache heuristic.
5160
5161 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5162
5163         * config/i386/drivers-i386.c (detect_caches_cpuid4):
5164         Add level3 parameter and fill in.
5165         (detect_caches_intel): Handle level3 cache.
5166
5167 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5168
5169         * config/i386/drivers-i386.c (host_detect_local_cpu):
5170         Fix core duo detection.
5171
5172 2010-01-14  Andi Kleen  <ak@linux.intel.com>
5173
5174         * config/i386/drivers-i386.c (host_detect_local_cpu):
5175         Fix Atom detection.
5176
5177 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5178
5179         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
5180         (rs6000_variable_issue_1): this.  Use...
5181         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
5182
5183 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5184
5185         * sel-sched-ir.c (sel_restore_other_notes): Rename to
5186         sel_restore_notes.  Update all callers.  Call reemit_notes
5187         for all insns.
5188
5189 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5190
5191         PR rtl-optimization/42246
5192         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
5193         loops.
5194
5195 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5196
5197         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
5198         all successors is the same as number of successors in current region.
5199
5200 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5201
5202         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
5203         to rename is not separable.  Otherwise check that its LHS is not NULL.
5204
5205 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5206
5207         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
5208
5209 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5210
5211         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
5212         available registers when failed to discover LHS register class.
5213         Fix indentation.  Update comment.
5214
5215 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5216             Alexander Monakov  <amonakov@ispras.ru>
5217
5218         PR rtl-optimization/42389
5219         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
5220         to can_issue_more.
5221         (advance_state_on_fence): Likewise.
5222         (sel_target_adjust_priority): Print debug output only when
5223         sched_verbose >= 4, not 2.
5224         (get_expr_cost): Do not issue all unique insns on the next cycle.
5225         (fill_insns): Initialize can_issue_more from the value saved
5226         with the fence.
5227         * sel-sched-ir.c (flist_add): New parameter issue_more.
5228         Init FENCE_ISSUE_MORE with it.
5229         (merge_fences): Likewise.
5230         (init_fences): Update call to flist_add.
5231         (add_to_fences, add_clean_fence_to_fences)
5232         (add_dirty_fence_to_fences): Likewise.
5233         (move_fence_to_fences): Update call to merge_fences.
5234         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
5235         sched groups.
5236         * sel-sched-ir.h (struct _fence): New field issue_more.
5237         (FENCE_ISSUE_MORE): New accessor macro.
5238
5239 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5240
5241         PR rtl-optimization/42388
5242         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
5243         that have no predecessors nor successors.  Do not call move_bb_info
5244         for empty blocks outside of current region.
5245
5246 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5247
5248         PR rtl-optimization/42294
5249         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
5250         * sel-sched.c (move_exprs_to_boundary): Transitively add all
5251         originators' originators.
5252
5253 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
5254
5255         PR rtl-optimization/39453
5256         PR rtl-optimization/42246
5257         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
5258         for pipelining_p.
5259         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
5260
5261 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
5262             Alexander Monakov  <amonakov@ispras.ru>
5263
5264         PR middle-end/42245
5265         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
5266         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
5267         argument.  Update all callers.
5268         (tidy_control_flow): ... and here.  Recompute topological order
5269         of basic blocks in region if necessary.
5270         (sel_redirect_edge_and_branch): Change return type.  Return true
5271         if topological order might have been invalidated.
5272         (purge_empty_blocks): Export and move from...
5273         * sel-sched.c (purge_empty_blocks): ... here.
5274         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
5275         (maybe_tidy_empty_bb): Delete prototype.
5276         (purge_empty_blocks): Declare.
5277
5278 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
5279
5280         PR rtl-optimization/42249
5281         * sel-sched.c (try_replace_dest_reg): When chosen register
5282         and original register is the same, do not bail out early, but
5283         still check all original insns for validity of replacing destination
5284         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
5285         in this case.
5286
5287 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
5288
5289         PR c/42721
5290         Port from no-undefined-overflow branch:
5291         2009-03-09  Richard Guenther  <rguenther@suse.de>
5292
5293         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5294
5295 2010-01-14  Richard Guenther  <rguenther@suse.de>
5296
5297         PR lto/42665
5298         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
5299
5300 2010-01-14  Ira Rosen  <irar@il.ibm.com>
5301
5302         PR tree-optimization/42709
5303         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
5304         as scalar type in creation of constant vector operand.
5305
5306 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5307
5308         PR testsuite/42414
5309         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
5310         (check-parallel-%): Match `testsuite' directory component only
5311         at the end.
5312
5313 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
5314
5315         PR translation/39521
5316         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
5317         strings with _().
5318
5319 2010-01-13  Richard Guenther  <rguenther@suse.de>
5320
5321         PR tree-optimization/42730
5322         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
5323         offset zero.
5324
5325 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
5326
5327         PR target/pr42542
5328         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
5329         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
5330         them signed.
5331
5332 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
5333
5334         * config/bfin/libgcc-bfin.ver: Regenerate based on current
5335         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
5336         ___umulsi3_highpart.
5337
5338         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
5339         rather than schedule_insns if the pass is enabled.
5340
5341 2010-01-13  Martin Jambor  <mjambor@suse.cz>
5342
5343         PR tree-optimization/42704
5344         * tree-sra.c (sra_modify_assign): Do not delete assignments to
5345         SSA_NAMEs.
5346
5347 2010-01-13  Martin Jambor  <mjambor@suse.cz>
5348
5349         PR tree-optimization/42703
5350         * tree-sra.c (analyze_access_subtree): Check that we can build a
5351         reference to the original data within the aggregate.
5352
5353 2010-01-13  Richard Guenther  <rguenther@suse.de>
5354
5355         PR tree-optimization/42705
5356         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
5357
5358 2010-01-13  Richard Guenther  <rguenther@suse.de>
5359
5360         PR middle-end/42716
5361         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
5362
5363 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
5364
5365         PR debug/41371
5366         * var-tracking.c (values_to_unmark): New variable.
5367         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
5368         values_to_unmark vector.  Moved body to...
5369         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
5370         instead queue it into values_to_unmark vector.
5371         (vt_find_locations): Free values_to_unmark vector.
5372
5373 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
5374
5375         * config/s390/s390.c (override_options): Set
5376         default of max-pending-list-length to 256
5377
5378 2010-01-13  Richard Guenther  <rguenther@suse.de>
5379
5380         PR lto/42678
5381         * tree-pass.h (PROP_gimple_lcx): New.
5382         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
5383         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
5384         before the final cleanup_eh.
5385         (dump_properties): Dump PROP_gimple_lcx.
5386         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
5387         (tree_lower_complex_O0): Remove.
5388         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
5389         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
5390         tree_lower_complex, schedule TODO_update_ssa.
5391         * lto-streamer-out.c (output_function): Stream the functions
5392         properties.
5393         * lto-streamer-in.c (input_function): Likewise.
5394         (lto_read_body): Do not override them here.
5395
5396 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
5397
5398         PR c/42708
5399         * c-typeck.c (build_c_cast): Fold value cast to union type before
5400         wrapping it in a CONSTRUCTOR.
5401
5402 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
5403
5404         PR rtl-optimization/42699
5405         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
5406         involved.
5407
5408 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5409
5410         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
5411         SUBTARGET_WARN_UNUSED_SPEC): Move ...
5412         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
5413         SUBTARGET_WARN_UNUSED_SPEC): ... here
5414         * config/mips/iris5.h (LIBGCC_SPEC): Define.
5415
5416 2010-01-12  Julian Brown  <julian@codesourcery.com>
5417
5418         * config/arm/neon-schedgen.ml (Utils): Don't try to
5419         open missing module.
5420         (find_with_result): New.
5421
5422 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
5423
5424         PR debug/42662
5425         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
5426         sharing when canonicalizing ({lt,ge}u (plus a b) b).
5427
5428         PR tree-optimization/42645
5429         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
5430         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
5431         decl_map, set processing_debug_stmt to -1 and return name without
5432         any remapping.
5433
5434 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
5435
5436         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
5437         binutils version, and reword target configuration description.
5438
5439 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5440
5441         * config/avr/avr.h (LINKER_NAME): Remove.
5442
5443 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
5444
5445         PR target/42416
5446         * config/rs6000/rs6000.c (rs6000_override_options): On targets
5447         that support VSX, warn for -mno-altivec if vsx is not disabled,
5448         and disable vsx.
5449
5450 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
5451             Shujing Zhao  <pearly.zhao@oracle.com>
5452
5453         PR translation/42469
5454         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
5455         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
5456         character between option name and help text.
5457         * c.opt (imultilib): Likewise.
5458
5459 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
5460
5461         * lto-streamer-out.c (output_unreferenced_globals): Output static
5462         variables.
5463
5464 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
5465
5466         PR rtl-optimization/42621
5467         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
5468         optimizing for size.
5469         (duplicate_computed_gotos): Remove now-redundant check.
5470
5471 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
5472
5473         PR target/37454
5474         * configure.ac: Save and restore LDFLAGS and LIBS
5475         * configure: Regenerate.
5476
5477 2010-01-10  Richard Guenther  <rguenther@suse.de>
5478
5479         PR middle-end/42667
5480         * builtins.c (fold_builtin_strlen): Add type argument and
5481         convert the resulting length to it.
5482         (fold_builtin_1): Adjust.
5483
5484 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5485
5486         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
5487         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
5488         1 insn.
5489         (num_insns_constant_wide): Adjust for that change.
5490
5491 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5492
5493         PR debug/42631
5494         * web.c (union_defs): Add used argument, to combine uses of
5495         uninitialized regs.
5496         (entry_register): Adjust type and tests of used argument.
5497         (web_main): Widen used for new use.  Pass it to union_defs.
5498         * df.h (union_defs): Adjust prototype.
5499
5500 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5501
5502         PR debug/42630
5503         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
5504         uses in new incoming argument.  Free body.
5505         (reset_debug_uses_in_loop): New.
5506         (analyze_insn_to_expand_var): Call the latter if the former found
5507         anything.  Fix whitespace.  Reject invalid dest overlaps before
5508         going through all insns in the loop.
5509
5510 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5511
5512         PR debug/42629
5513         * haifa-sched.c (dying_use_p): Debug insns don't count.
5514
5515 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5516
5517         PR middle-end/42363
5518         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
5519         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
5520         (verify_gimple_call): Reject LHS in noreturn calls.
5521
5522 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5523
5524         PR debug/42604
5525         PR debug/42395
5526         * tree-vect-loop-manip.c (adjust_info): New type.
5527         (adjust_vec): New pointer to vector.
5528         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
5529         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
5530         (slpeel_update_phis_for_duplicate_loop): Use them.
5531         (slpeel_update_phi_nodes_for_guard1): Likewise.
5532         (slpeel_update_phi_nodes_for_guard2): Likewise.
5533         (slpeel_tree_peel_loop_to_edge): Likewise.
5534         (vect_update_ivs_after_vectorizer): Likewise.
5535
5536 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5537
5538         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
5539         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
5540
5541 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
5542
5543         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
5544         bogus uninitialized warning.
5545
5546 2010-01-09  Richard Guenther  <rguenther@suse.de>
5547
5548         PR middle-end/42512
5549         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
5550         the evolution is compatible with the initial condition.
5551
5552 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
5553
5554         * gcc.c (process_command): Update copyright notice dates.
5555         * gcov.c (print_version): Likewise.
5556         * gcov-dump.c (print_version): Likewise.
5557         * mips-tfile.c (main): Likewise.
5558         * mips-tdump.c (main): Likewise.
5559
5560 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
5561
5562         PR target/41885
5563         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
5564         (rotlhi3): Delete.
5565         (rotlhi3_8): Delete.
5566         (rotlsi3): Delete.
5567         (rotlsi3_8): Delete.
5568         (rotlsi3_16): Delete.
5569         (rotlsi3_24): Delete.
5570         (rotl<mode>3): New.
5571         (*rotw<mode>3): New.
5572         (*rotb<mode>3): New.
5573         * config/avr/avr.c (avr_rotate_bytes): New function.
5574         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
5575
5576 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
5577
5578         PR target/37454
5579         * configure.ac: Modify -rdynamic check.
5580         * configure: Regenerate.
5581
5582 2010-01-08  DJ Delorie  <dj@redhat.com>
5583
5584         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
5585         register popping order.
5586
5587 2010-01-08  Richard Guenther  <rguenther@suse.de>
5588
5589         PR lto/42528
5590         * c.opt (fsigned-char): Also let LTO handle this option.
5591         (funsigned-char): Likewise.
5592
5593 2010-01-07  Richard Guenther  <rguenther@suse.de>
5594
5595         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
5596         (gimple_op): Likewise.
5597         (gimple_op_ptr): Likewise.
5598         (gimple_assign_set_lhs): Remove gcc_assert.
5599         (gimple_assign_set_rhs1): Likewise.
5600         (gimple_assign_set_rhs2): Likewise.
5601         (gimple_call_set_lhs): Likewise.
5602         (gimple_call_set_fn): Likewise.
5603         (gimple_call_set_fndecl): Likewise.
5604         (gimple_call_fndecl): Likewise.
5605         (gimple_call_return_type): Likewise.
5606         (gimple_call_set_chain): Likewise.
5607         (gimple_call_num_args): Likewise.
5608         (gimple_call_set_arg): Likewise.
5609         (gimple_cond_set_code): Likewise.
5610         (gimple_cond_set_lhs): Likewise.
5611         (gimple_cond_set_rhs): Likewise.
5612         (gimple_cond_set_true_label): Likewise.
5613         (gimple_cond_set_false_label): Likewise.
5614         (gimple_label_set_label): Likewise.
5615         (gimple_goto_set_dest): Likewise.
5616         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
5617         (gimple_debug_bind_get_value): Likewise.
5618         (gimple_debug_bind_get_value_ptr): Likewise.
5619         (gimple_debug_bind_set_var): Likewise.
5620         (gimple_debug_bind_set_value): Likewise.
5621         (gimple_debug_bind_reset_value): Likewise.
5622         (gimple_debug_bind_has_value_p): Likewise.
5623         (gimple_return_retval_ptr): Remove gcc_assert.
5624         (gimple_return_retval): Likewise.
5625         (gimple_return_set_retval): Likewise.
5626         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
5627         (safe_referenced_var_iterator): Remove.
5628         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
5629         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
5630         (fill_referenced_var_vec): Remove.
5631         (first_readonly_imm_use): Remove redundant gcc_assert.
5632         (phi_arg_index_from_use): Combine gcc_asserts.
5633         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
5634         (first_imm_use_stmt): Remove redundant gcc_assert.
5635         * tree-cfg.c (verify_gimple_call): Verify function and chain
5636         operands.  Verify arguments.
5637         (verify_types_in_gimple_stmt): Verify condition code and labels.
5638
5639 2010-01-07  Richard Guenther  <rguenther@suse.de>
5640
5641         PR tree-optimization/42641
5642         * sese.c (rename_map_elt_info): Use the SSA name version, do
5643         not hash pointers.
5644
5645 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
5646
5647         PR tree-optimization/42625
5648         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
5649         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
5650
5651 2010-01-07  Duncan Sands  <baldrick@free.fr>
5652
5653         * Makefile.in (PLUGIN_HEADERS): Add version.h.
5654
5655 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
5656
5657         PR target/42511
5658         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
5659         note itself is not function_invariant_p.
5660
5661 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
5662
5663         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
5664         Do not add the DF_NOTE problem.
5665         * store-motion.c (execute_rtl_store_motion): Likewise.
5666
5667 2010-01-07  Martin Jambor  <mjambor@suse.cz>
5668
5669         PR tree-optimization/42157
5670         * tree-sra.c (compare_access_positions): Stabilize sort if both
5671         accesses have integer types, return zero immediately if they are the
5672         same.
5673
5674 2010-01-06  Richard Henderson  <rth@redhat.com>
5675
5676         PR middle-end/41883
5677         * haifa-sched.c (add_to_note_list): Merge into ...
5678         (concat_note_lists): ... here, and ...
5679         (unlink_other_notes, rm_other_notes): Merge into...
5680         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
5681         NOTE_INSN_EPILOGUE_BEG.
5682
5683 2010-01-06  Richard Guenther  <rguenther@suse.de>
5684
5685         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
5686         not inline regular functions into always-inline functions.
5687
5688 2010-01-06  Nick Clifton  <nickc@redhat.com>
5689
5690         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
5691         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
5692         used together.
5693         (OVERRIDE_OPTIONS): Delete.
5694         (OPTIMIZATION_OPTIONS): Define.
5695         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
5696         * config/rx/rx.c (rx_handle_option): Issue an error message if
5697         -mcpu=rx200 and -fpu are used together.
5698         (rx_set_optimization_options): New function.  Issue an error
5699         message if an optimization attribute attempts to reset the FPU/
5700         math optimization pairing.
5701         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
5702         * config/rx/rx.opt: Set the default to 32-bit doubles.
5703         * config/rx/t-rx: Add multilibs for -nofpu option.
5704         * doc/invoke.texi: Update documentation of RX options.
5705
5706 2010-01-06  Richard Guenther  <rguenther@suse.de>
5707
5708         * tree-ssa-pre.c (name_to_id): New global.
5709         (alloc_expression_id): Simplify SSA name handling.
5710         (lookup_expression_id): Likewise.
5711         (init_pre): Zero name_to_id.
5712         (fini_pre): Free it.
5713
5714 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
5715
5716         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
5717
5718 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5719
5720         PR target/42542
5721         * config/i386/sse.md (smaxv2di3): New.
5722         (umaxv2di3): Likewise.
5723         (sminv2di3): Likewise.
5724         (uminv2di3): Likewise.
5725
5726 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
5727
5728         PR target/42564
5729         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
5730         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
5731         (legitimize_tls_address): Likewise.
5732         (sparc_tls_referenced_p): Likewise.
5733         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
5734         and adjust calls to legitimize_pic_address.
5735         (legitimate_constant_p) Use sparc_tls_referenced_p.
5736         (legitimate_pic_operand_p): Likewise.
5737         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
5738         (sparc_tls_symbol_ref_1): Delete.
5739         (sparc_tls_referenced_p): Make static, recognize specific patterns.
5740         (legitimize_tls_address): Make static, handle CONST patterns.
5741         (legitimize_pic_address): Make static, remove unused parameter and
5742         adjust recursive calls.
5743         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
5744         and adjust call to legitimize_pic_address.
5745         (sparc_output_mi_thunk): Likewise.
5746
5747 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
5748             H.J. Lu  <hongjiu.lu@intel.com>
5749
5750         PR target/42542
5751         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
5752         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
5753         operands to make them signed.
5754
5755         Revert:
5756         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5757
5758         PR target/42542
5759         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5760         GTU to GT for V4SI and V2DI.
5761
5762         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5763         (umin<mode>3): Removed.
5764         (uminv8hi3): New.
5765         (uminv4si3): Likewise.
5766
5767 2010-01-05  Martin Jambor  <mjambor@suse.cz>
5768
5769         PR tree-optimization/42462
5770         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
5771         current_function_decl to helper functions and macros.
5772
5773 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5774
5775         PR bootstrap/41771
5776         * flags.h: Don't include real.h.
5777         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
5778         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
5779         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
5780         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
5781         * dominance.c: Update copyright.
5782         * gimple.c (walk_gimple_op): Remove inline.
5783         * tree-ssa-reassoc.c: Include real.h.
5784         * Makefile.in (FLAGS_H): Remove $(REAL_H).
5785         (tree-ssa-reassoc.o): Depend on $(REAL_H).
5786
5787 2010-01-05  Nick Clifton  <nickc@redhat.com>
5788
5789         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
5790         register to push into the stack frame when the accumulator has to
5791         be saved during interrupts.
5792
5793 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
5794
5795         * doc/invoke.texi: Remove the documentation about option
5796         -Wunreachable-code.
5797         * common.opt (Wunreachable-code):  Preserved for backward
5798         compatibility.
5799         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
5800         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
5801         the backward compatibility flag section.
5802
5803 2010-01-05  Richard Guenther  <rguenther@suse.de>
5804
5805         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
5806
5807 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
5808
5809         PR other/42611
5810         * cfgexpand.c (expand_one_var): Diagnose too large variables.
5811
5812         PR tree-optimization/42508
5813         * tree-sra.c (convert_callers): Check for recursive call
5814         by comparing cgraph nodes instead of decls.
5815         (modify_function): Call ipa_modify_formal_parameters also
5816         on all same_body aliases.
5817
5818         * cgraphunit.c (cgraph_materialize_all_clones): Compare
5819         cgraph nodes when checking for same_body aliases.
5820
5821 2010-01-05  Richard Guenther  <rguenther@suse.de>
5822
5823         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
5824         allocation and lookup.
5825         (get_or_alloc_expr_for_constant): Likewise.
5826         (phi_translate): Sink allocation.
5827
5828 2010-01-04  Richard Guenther  <rguenther@suse.de>
5829
5830         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
5831         a new entry only if needed.
5832         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
5833         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
5834         hashtable lookup.
5835         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
5836         the result array.
5837         (phi_translate): Handle CONSTANTs early.
5838
5839 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5840
5841         PR tree-optimization/42398
5842         * tree-sra.c (struct access): Removed flag grp_different_types.
5843         (dump_access): Do not dump the removed flag.
5844         (sort_and_splice_var_accesses): Do not set the removed flag.
5845         (sra_modify_expr): Check for type compatibility directly.
5846
5847 2010-01-04  Martin Jambor  <mjambor@suse.cz>
5848
5849         PR tree-optimization/42366
5850         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
5851         edges with variable number of parameters.
5852         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
5853         flag instead of asserting it.
5854         (ipa_read_node_info): Read uses_analysis_done flag.
5855
5856 2010-01-04  Richard Guenther  <rguenther@suse.de>
5857
5858         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
5859         iterative_hash_* as intended.
5860         (vn_reference_compute_hash): Likewise.  Simplify hashing
5861         SSA names.
5862         (vn_reference_lookup_2): Likewise.
5863         (vn_nary_op_compute_hash): Likewise.
5864         (vn_phi_compute_hash): Likewise.
5865         (expressions_equal_p): Remove strange code.
5866         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
5867         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
5868         (bitmap_insert_into_set_1): Take value-id as parameter.
5869         (add_to_value): Pass it.
5870         (bitmap_insert_into_set): Likewise.
5871         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
5872
5873 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
5874
5875         PR driver/42442
5876         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
5877         (do_self_spec): For switches with SWITCH_IGNORE set set also
5878         SWITCH_IGNORE_PERMANENTLY.
5879         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
5880         of SWITCH_IGNORE.
5881
5882 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
5883
5884         * lto-streamer-out.c (output_unreferenced_globals): Output the full
5885         tree of an unreferenced global var.
5886
5887 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5888
5889         PR target/42542
5890         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
5891         GTU to GT for V4SI and V2DI.
5892
5893         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
5894         (umin<mode>3): Removed.
5895         (uminv8hi3): New.
5896         (uminv4si3): Likewise.
5897
5898 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5899
5900         PR lto/42581
5901         * collect2.c (main): Turn on trace in collect2 if -v is passed
5902         to gcc with LTO.
5903
5904 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
5905
5906         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
5907         description of expression operand.
5908
5909 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
5910
5911         * configure.ac: Add install-html to target_list for Make-hooks.
5912         * configure: Regenerate.
5913         * fortran/Make-lang.in (F95_HTMLFILES): New.
5914         (fortran.html): Use it.
5915         (fortran.install-html): New.
5916         * Makefile.in (install-html): Add lang.install-html.
5917         * java/Make-lang.in (JAVA_HTMLFILES): New.
5918         (java.html): Use it.
5919         (java.install-html): New.
5920         * objc/Make-lang.in (objc.install-html): New.
5921         * objcp/Make-lang.in (obj-c++.install-html): New.
5922         * cp/Make-lang.in (c++.install-html): New.
5923         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
5924         * lto/Make-lang.in (lto.install-html): New.
5925
5926 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5927
5928         PR lto/42520
5929         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
5930
5931 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5932
5933         PR rtl-optimization/41862
5934         * store-motion.c (store_killed_in_insn, compute_store_table,
5935         remove_reachable_equiv_notes, replace_store_insn,
5936         build_store_vectors): Ignore all DEBUG_INSNs.
5937
5938 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5939
5940         PR lto/41564
5941         * common.opt: Add dumpdir.
5942
5943         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
5944         isn't specified.
5945         (option_map): Add --dumpdir.
5946
5947         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
5948
5949         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
5950
5951         * opts.c (decode_options): Try dump_dir_name first if
5952         dump_base_name isn't an absolute path.
5953         (common_handle_option): Handle OPT_dumpdir.
5954
5955         * toplev.c (dump_dir_name): New.
5956         (print_switch_values): Also ignore -dumpdir.
5957
5958         * toplev.h (dump_dir_name): New.
5959
5960 2010-01-03  Richard Guenther  <rguenther@suse.de>
5961
5962         PR tree-optimization/42589
5963         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
5964         double-word expansion of bswap32.
5965
5966 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
5967
5968         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
5969         with BLOCK_FOR_INSN.
5970         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
5971         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
5972         noce_process_if_block): Likewise.
5973         * gcse.c (compute_local_properties, insert_expr_in_table,
5974         insert_set_in_table, canon_list_insert, find_avail_set,
5975         pre_insert_copy_insn): Likewise.
5976
5977         * basic-block.h (BLOCK_NUM): Move from here...
5978         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
5979
5980 2010-01-03  Richard Guenther  <rguenther@suse.de>
5981
5982         PR tree-optimization/42438
5983         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
5984         contains_may_not_return_call flag.
5985         (BB_MAY_NOTRETURN): New.
5986         (valid_in_sets): Trapping nary operations are not valid
5987         in blocks that may not return.
5988         (insert_into_preds_of_block): Remove check for trapping expressions.
5989         (compute_avail): Compute also BB_MAY_NOTRETURN.
5990
5991 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
5992
5993         * doc/invoke.texi: Add 2010 to copyright years.
5994
5995 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5996
5997         * config/sparc/sparc.c: Fix formatting nits.
5998
5999 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
6000             Alexander Monakov  <amonakov@ispras.ru>
6001
6002         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
6003
6004 2010-01-02  Richard Guenther  <rguenther@suse.de>
6005
6006         PR middle-end/42577
6007         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
6008         (simplify_switch_using_ranges): Mark to be removed edges
6009         as non-executable.
6010
6011 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6012
6013         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
6014
6015         * collect2.c (scan_libraries): Add missing argument in call to
6016         scan_prog_file.
6017
6018 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
6019
6020         PR target/42448
6021         * config/alpha/predicates.md (aligned_memory_operand): Return false
6022         for CQImode.
6023         (unaligned_memory_operand): Return true for CQImode.
6024         * config/alpha/alpha.c (get_aligned_mem): Assert that location
6025         doesn not cross aligned SImode word boundary.
6026
6027 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
6028
6029         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
6030         Remove.
6031         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
6032         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
6033
6034 2010-01-02  Richard Guenther  <rguenther@suse.de>
6035
6036         PR lto/41597
6037         * toplev.c (compile_file): Emit LTO marker properly.  Change
6038         it to __gnu_lto_v1.
6039         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
6040
6041 2010-01-01  Richard Guenther  <rguenther@suse.de>
6042
6043         PR debug/42455
6044         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
6045
6046 2010-01-01  Richard Guenther  <rguenther@suse.de>
6047
6048         PR c/42570
6049         * c-decl.c (grokdeclarator): For zero-size arrays force
6050         structural equality checks as layout_type does.
6051
6052 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
6053
6054         * builtins.c: Update copyright to 2010.
6055
6056 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
6057
6058         PR lto/42531
6059         * lto-streamer-out.c (produce_asm): Revert the last change.
6060         (copy_function): Likewise.
6061
6062         * lto-streamer.c (lto_get_section_name): Skip any leading
6063         asterisk in name.
6064
6065 2010-01-01  Richard Guenther  <rguenther@suse.de>
6066
6067         PR middle-end/42559
6068         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
6069         for LABEL_DECLs.
6070
6071 \f
6072 Copyright (C) 2010 Free Software Foundation, Inc.
6073
6074 Copying and distribution of this file, with or without modification,
6075 are permitted in any medium without royalty provided the copyright
6076 notice and this notice are preserved.