OSDN Git Service

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