1169689Skan2005-12-31  Andrew Pinski  <pinskia@physics.uc.edu>
2169689Skan
3169689Skan	PR tree-opt/25612
4169689Skan	* tree-ssa-pre.c (compute_avail): Treat the static chain decl as a
5169689Skan	parameter and pretend that it is defined in the entry basic block.
6169689Skan
7169689Skan2005-12-30  Kazu Hirata  <kazu@codesourcery.com>
8169689Skan
9169689Skan	* tree-outof-ssa.c (_elim_graph): Change the type of STACK to
10169689Skan	VEC(int,heap).
11169689Skan	(new_elim_graph, delete_elim_graph, elim_forward,
12169689Skan	eliminate_phi): Use the VEC API on STACK.
13169689Skan
14169689Skan2005-12-29  Daniel Berlin  <dberlin@dberlin.org>
15169689Skan
16169689Skan	* tree.h (VALUE_HANDLE_VUSES): New.
17169689Skan	(struct tree_value_handle): Add vuses.
18169689Skan
19169689Skan	* tree-vn.c (struct val_expr_pair_d): Remove stmt, add vuses.
20169689Skan	(vn_compute): Remove stmt argument.
21169689Skan	Don't use vuses in hash value computation.
22169689Skan	(val_expr_pair_eq): Compare vuse lists.
23169689Skan	(copy_vuses_from_stmt): New function.
24169689Skan	(shared_vuses_from_stmt): Ditto.
25169689Skan	(vn_add): Rewrite in terms of vn_add_with_vuses.
26169689Skan	(vn_add_with_vuses): New function.
27169689Skan	(vn_lookup): Rewrite in terms of vn_lookup_with_vuses.
28169689Skan	(vn_lookup_with_vuses): New function.
29169689Skan	(vuses_compare): New function.
30169689Skan	(print_creation_to_file): Ditto.
31169689Skan	(vn_lookup_or_add): Rewrite to handle vuses.
32169689Skan	(sort_vuses): New function.
33169689Skan	(vn_lookup_or_add_with_vuses): Ditto.
34169689Skan	(vn_init): Initialize shared_lookup_vuses.
35169689Skan	(vn_delete): Free shared_lookup_vuses.
36169689Skan
37169689Skan	* tree-ssa-pre.c: Update todo list.
38169689Skan	(bb_value_sets_t): Add rvuse_in, rvuse_out, rvuse_gen, and
39169689Skan	rvuse_kill.
40169689Skan	(RVUSE_IN): New macro.
41169689Skan	(RVUSE_GEN): Ditto.
42169689Skan	(RVUSE_KILL): Ditto.
43169689Skan	(RVUSE_OUT): Ditto.
44169689Skan	(modify_expr_node_pool): New function.
45169689Skan	(pretemp): New.
46169689Skan	(storetemp): Ditto.
47169689Skan	(mergephitemp): Ditto.
48169689Skan	(prephitemp): Ditto.
49169689Skan	(struct expr_pred_trans_d): Add vuses member.
50169689Skan	(expr_pred_trans_eq): Compare vuses.
51169689Skan	(phi_trans_lookup): Add vuses argument.
52169689Skan	(phi_trans_add): Ditto.
53169689Skan	(translate_vuses_through_block): New function.
54169689Skan	(phi_translate): Use vuses to ask about those expressions that can
55169689Skan	have vuses.
56169689Skan	Properly translate virtual uses through phis, and use
57169689Skan	vn_lookup_or_add_with vuses.  Handle tcc_reference.
58169689Skan	(phi_translate_set): Don't add pointless translations to the
59169689Skan	cache.
60169689Skan	(get_representative): New function.
61169689Skan	(vuses_dies_in_block_x): Ditto.
62169689Skan	(valid_in_set): Add block argument.  Check virtual use validity.
63169689Skan	(clean): Add block argument. Update call to valid_in_set
64169689Skan	(compute_antic_aux): Update call to clean.
65169689Skan	(dump_bitmap_of_names): New function.
66169689Skan	(compute_vuse_representatives): Ditto.
67169689Skan	(compute_rvuse): Ditto.
68169689Skan	(can_value_number_call): Modified to accept calls with vuses.
69169689Skan	(can_value_number_operation): New function.
70169689Skan	(can_PRE_operation): Ditto.
71169689Skan	(need_creation): New vector of stores that may need creation.
72169689Skan	(find_or_generate_expression): use can_PRE_operation.
73169689Skan	(create_expression_by_pieces): Handle INDIRECT_REF.
74169689Skan	Only create one temp until we have to change types.
75169689Skan	Mark new vars for renaming.
76169689Skan	(insert_into_preds_of_block): Ignore loopiness of loads.
77169689Skan	Use can_PRE_operation.
78169689Skan	Only create one temp until we have to chnge types.
79169689Skan	(insert_aux): Use can_PRE_operation.
80169689Skan	Don't pass name to insert_into_preds_of_block.
81169689Skan	(insert_extra_phis): Only use one temp until we have to change
82169689Skan	types.
83169689Skan	(poolify_tree): New function.
84169689Skan	(modify_expr_template): New var.
85169689Skan	(poolify_modify_expr): New function.
86169689Skan	(insert_fake_stores): Ditto.
87169689Skan	(realify_fake_stores): Ditto.
88169689Skan	(compute_avail): Use can_value_number_operation.
89169689Skan	(mark_operand_necessary): Return NULL for non-SSA names.
90169689Skan	(remove_dead_inserted_code): Update comment.
91169689Skan	(init_pre): Initialize pretemp, need_creation, storetemp,
92169689Skan	mergephitemp, prephitemp.
93169689Skan	Create modify_expr_node_pool.
94169689Skan	(fini_pre): Free modify_expr_node_pool and need_creation array.
95169689Skan	(execute_pre): Call insert_fake_stores, compute_rvuse, and
96169689Skan	realify_fake_stores.
97169689Skan	* tree-flow.h (vn_compute): Fix prototype.
98169689Skan	(vn_add): Ditto.
99169689Skan	(vn_lookup): Ditto.
100169689Skan	(sort_vuses): New.
101169689Skan	(vn_lookup_or_add_with_vuses): Ditto.
102169689Skan	(vn_add_with_vuses): Ditto.
103169689Skan	(vn_lookup_with_vuses): Ditto.
104169689Skan	* passes.c (pass_may_alias): Add.
105169689Skan
106169689Skan2005-12-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
107169689Skan
108169689Skan	* c-pretty-print.h (struct c_pretty_print_info): Add new member
109169689Skan	"constant".
110169689Skan	(pp_constant): New macro.
111169689Skan	* c-pretty-print.c (pp_c_pretty_printer_init): Set pp->constant.
112169689Skan
113169689Skan2005-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
114169689Skan
115169689Skan	PR fortran/25586
116169689Skan	* pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point
117169689Skan	store patterns.
118169689Skan
119169689Skan2005-12-29 Kenneth Zadeck <zadeck@naturalbridge.com>
120169689Skan
121169689Skan	* bitmap.c (bitmap_element_free, bitmap_element_link,
122169689Skan	bitmap_elt_insert_after, bitmap_and, bitmap_and_compl,
123169689Skan	bitmap_and_compl, bitmap_ior, bitmap_ior_into, bitmap_xor,
124169689Skan	bitmap_xor_into): Added code to properly maintain the variants
125169689Skan	associated with the CURRENT and HEAD fields.
126169689Skan	(bitmap_popcount, bitmap_clear_range, bitmap_compl_and_into): New
127169689Skan	functions.
128169689Skan	* bitmap.h: Added defs for bitmap_popcount, bitmap_clear_range,
129169689Skan	and bitmap_compl_and_into.
130169689Skan
131169689Skan
132169689Skan2005-12-29  Mike Stump  <mrs@apple.com>
133169689Skan
134169689Skan	* doc/invoke.texi (Objective-C and Objective-C++ Dialect Options
135169689Skan	-fobjc-exceptions): Don't imply this doesn't work with the GNU
136169689Skan	runtime.
137169689Skan
138169689Skan2005-12-29  Nathan Sidwell  <nathan@codesourcery.com>
139169689Skan
140169689Skan	* varasm.c (get_section): Use gcc_assert.
141169689Skan
142169689Skan2005-12-29  Paul Brook  <paul@codesourcery.com>
143169689Skan
144169689Skan	* config/m68k/m68k.h (RETURN_ADDR_RTX): Define.
145169689Skan	* config/m68k/m68k.c (m68k_initial_elimination_offset): Remove FIXME.
146169689Skan	Include offset due to FIRST_PARM_OFFSET.
147169689Skan
148169689Skan2005-12-29  Paul Brook  <paul@codesourcery.com>
149169689Skan
150169689Skan	* config/m68k/lb1sf68.asm (__cmpdf2): Fix typo in immediate mask.
151169689Skan	Create wrapper and rename body...
152169689Skan	(__cmpdf2_internal): ... to this.  Return correct value for unordered
153169689Skan	result.
154169689Skan	(__cmpsf2): Create wrapper and rename body...
155169689Skan	(__cmpsf2_internal): ... to this.  Return corerct value for unordered
156169689Skan	result.
157169689Skan	(__eqdf2, __nedf2, __gtdf2, __gedf2, __ltdf2, __ledf2): Use
158169689Skan	__cmpdf2_internal.
159169689Skan	(__eqsf2, __nesf2, __gtsf2, __gesf2, __ltsf2, __lesf2): Use
160169689Skan	__cmpsf2_internal.
161169689Skan
162169689Skan2005-12-29  Paul Brook  <paul@codesourcery.com>
163169689Skan
164169689Skan	* config/m68k/fpgnulib.c (__extendsfdf2): Handle negative zero.
165169689Skan	(__truncdfsf2): Ditto.
166169689Skan	(__extenddfxf2): Ditto.
167169689Skan	(__truncxfdf2): Ditto.
168169689Skan	* config/m68k/lb1sf68.asm (__addsf3): Return -0.0 for -0.0 + -0.0.
169169689Skan	(__adddf3): Ditto.
170169689Skan
171169689Skan2005-12-29  Daniel Jacobowitz  <dan@codesourcery.com>
172169689Skan	Paul Brook  <paul@codesourcery.com>
173169689Skan
174169689Skan	* config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for
175169689Skan	!TARGET_68020.
176169689Skan	* config/m68k/t-m68kelf (EXTRA_PARTS): Remove.
177169689Skan	(EXTRA_MULTILIB_PARTS): Set.
178169689Skan	* config/m68k/t-uclinux (EXTRA_PARTS): Remove.
179169689Skan	(EXTRA_MULTILIB_PARTS): Set.
180169689Skan
181169689Skan2005-12-29  Alan Modra  <amodra@bigpond.net.au>
182169689Skan
183169689Skan	PR target/25572
184169689Skan	* config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live.
185169689Skan
186169689Skan2005-12-28  Nathan Sidwell  <nathan@codesourcery.com>
187169689Skan
188169689Skan	* config.gcc (mt-*-*): Add --with-arch support.
189169689Skan	(--with): Print accepted options on error.
190169689Skan	* config/mt/mt.h (OPTION_DEFAULT_SPECS): Define.
191169689Skan
192169689Skan	* config/mt/mt.c (DEF_VEC_P(basic_block),
193169689Skan	DEF_VEC_ALLOC_P(basic_bloc,heap)): Remove from here.
194169689Skan
195169689Skan2005-12-28  Daniel Berlin  <dberlin@dberlin.org>
196169689Skan
197169689Skan	Fix PR tree-optimization/25394
198169689Skan	* fold-const.c (fold_checksum_tree): Guard
199169689Skan	portions of checksumming with correct structure checks.
200169689Skan
201169689Skan2005-12-27  Kazu Hirata  <kazu@codesourcery.com>
202169689Skan
203169689Skan	* global.c, tree-ssa-pre.c: Move DEF_VEC_P(basic_block) and
204169689Skan	DEF_VEC_ALLOC_P(basic_block,{gc,heap}) to ...
205169689Skan	* basic-block.h: ... here.
206169689Skan
207169689Skan2005-12-27  Roger Sayle  <roger@eyesopen.com>
208169689Skan
209169689Skan	* fold-const.c (int_const_binop): Return NULL_TREE when an expression
210169689Skan	can't be evaluated at compile-time (instead of calling abort).
211169689Skan	Return NULL_TREE for division (and modulus) by zero.
212169689Skan	(const_binop): Return NULL_TREE for floating point operators that
213169689Skan	aren't handled by real_arithmetic.
214169689Skan	(fold_binary): Eliminate "wins" variable, and "binary" label, by
215169689Skan	folding operators with constant operands early.  Assert that
216169689Skan	operands are non-NULL.
217169689Skan
218169689Skan2005-12-27  Kazu Hirata  <kazu@codesourcery.com>
219169689Skan
220169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Use
221169689Skan	build_int_cst instead of fold_convert.
222169689Skan
223169689Skan2005-12-26  Mark Mitchell  <mark@codesourcery.com>
224169689Skan
225169689Skan	PR c++/23171, c++/23172, c++/25417.
226169689Skan	* c-decl.c (compound_literal_number): Remove.
227169689Skan	(build_compound_literal): Use set_compound_literal_name.
228169689Skan	* c-common.c (compound_literal_number): New variable.
229169689Skan	(set_compound_literal_name): New function.
230169689Skan	* c-common.h (set_compound_literal_name): Declare.
231169689Skan
232169689Skan2005-12-26  Kazu Hirata  <kazu@codesourcery.com>
233169689Skan
234169689Skan	PR tree-optimization/25125
235169689Skan	* convert.c (convert_to_integer): Don't narrow the type of a
236169689Skan	PLUS_EXPR or MINUS_EXPR if !flag_wrapv and the unwidened type
237169689Skan	is signed.
238169689Skan
239169689Skan2005-12-26  Graham Stott  <graham.stott@btinternet.com>
240169689Skan
241169689Skan	PR middle-end/25568
242169689Skan	* combine.c (simplify_shift_const_1 <case PLUS>):Fix enable-checking
243169689Skan	rtl bootstrap failure.
244169689Skan
245169689Skan2005-12-25  Kazu Hirata  <kazu@codesourcery.com>
246169689Skan
247169689Skan	* final.c (compute_alignments): Make it static.
248169689Skan	* gcse.c (gcse_main, bypass_jumps): Likewise.
249169689Skan	* web.c (web_main): Likewise.
250169689Skan	* output.h: Remove the prototype for compute_alignments.
251169689Skan	* rtl.h: Remove the prototypes for web_main, gcse_main, and
252169689Skan	bypass_jumps.
253169689Skan
254169689Skan2005-12-24  Roger Sayle  <roger@eyesopen.com>
255169689Skan
256169689Skan	* expr.c (force_operand): Use expand_fix and expand_float to
257169689Skan	implement integer <-> FP conversions instead of convert_to_mode.
258169689Skan
259169689Skan2005-12-24  Mark Mitchell  <mark@codesourcery.com>
260169689Skan
261169689Skan	PR c++/23171
262169689Skan	* varasm.c (initializer_constant_valid_p): An ADDR_EXPR of a
263169689Skan	CONSTRUCTOR is invalid.
264169689Skan
265169689Skan2005-12-23  Daniel Berlin  <dberlin@dberlin.org>
266169689Skan
267169689Skan	* tree-pass.h (pass_eliminate_useless_stores): Remove.
268169689Skan	* tree-ssa-pre.c (is_copy_stmt): Ditto.
269169689Skan	(follow_copies_till_vuse): Ditto.
270169689Skan	(do_eustore): Ditto.
271169689Skan	(gate_eustores): Ditto.
272169689Skan	(pass_eliminate_useless_stores): Ditto.
273169689Skan	* passes.c (init_optimization_passes): Ditto.
274169689Skan
275169689Skan2005-12-23  Paolo Bonzini  <bonzini@gnu.org>
276169689Skan
277169689Skan	* combine.c (simplify_shift_const): Fix typo.  Use, whenever
278169689Skan	applicable, simplify_const_binary_operation.
279169689Skan
280169689Skan	(simplify_shift_const): Leave only the fallback
281169689Skan	case when no simplification is possible.  Extract to...
282169689Skan	(simplify_shift_const_1): ... here.  Always create a new
283169689Skan	RTX instead of substituting.  Remove the signed_count variable.
284169689Skan	Return NULL_RTX if no substitution is possible.
285169689Skan
286169689Skan	(simplify_and_const_int): Leave only the fallback
287169689Skan	case when no simplification is possible.  Extract to...
288169689Skan	(simplify_and_const_int_1): ... here.  Always create a new
289169689Skan	RTX instead of substituting.  Return NULL_RTX if no substitution
290169689Skan	is possible.
291169689Skan
292169689Skan	(force_to_mode, simplify_comparison): Don't pass a non-NULL first
293169689Skan	parameter to simplify_and_const_int and simplify_shift_const,
294169689Skan	unless it is equal to the expected non-simplified result.
295169689Skan
296169689Skan2005-12-23  Jakub Jelinek  <jakub@redhat.com>
297169689Skan
298169689Skan	PR target/25005
299169689Skan	* regrename.c (replace_oldest_value_reg): Use validate_change with
300169689Skan	IN_GROUP set to 1 instead of doing direct modifications.
301169689Skan	(copyprop_hardreg_forward_1): Likewise.  If any replace_oldest_*
302169689Skan	replacements have been performed on an instruction, use
303169689Skan	apply_change_group ().
304169689Skan
305169689Skan2005-12-23  Hans-Peter Nilsson  <hp@axis.com>
306169689Skan
307169689Skan	* config/cris/arit.c (do_31div): Clarify what "31" refers to.
308169689Skan	[L_divsi3] (__Udiv): Don't use as inline function.
309169689Skan	[L_modsi3] (__Umod): Ditto.
310169689Skan	(__Div): Rearrange to call do_31div directly instead of __Udiv.
311169689Skan	(__Mod): Similarly regarding __Umod.
312169689Skan
313169689Skan	PR target/24342
314169689Skan	* config/cris/cris.c (cris_split_movdx): Add REG_INC notes for
315169689Skan	emitted insns with post-increments.
316169689Skan	(cris_expand_epilogue): Ditto.
317169689Skan
318169689Skan2005-12-22  Jakub Jelinek  <jakub@redhat.com>
319169689Skan	    Richard Henderson  <rth@redhat.com>
320169689Skan
321169689Skan	Merge from gomp-branch.
322169689Skan	* builtins.def: Move all DEF_SYNC_BUILTIN to ...
323169689Skan	* sync-builtins.def: ... new file.
324169689Skan	(BUILT_IN_FETCH_AND_ADD_16,
325169689Skan	BUILT_IN_FETCH_AND_SUB_16, BUILT_IN_FETCH_AND_OR_16,
326169689Skan	BUILT_IN_FETCH_AND_AND_16, BUILT_IN_FETCH_AND_XOR_16,
327169689Skan	BUILT_IN_FETCH_AND_NAND_16, BUILT_IN_ADD_AND_FETCH_16,
328169689Skan	BUILT_IN_SUB_AND_FETCH_16, BUILT_IN_OR_AND_FETCH_16,
329169689Skan	BUILT_IN_AND_AND_FETCH_16, BUILT_IN_XOR_AND_FETCH_16,
330169689Skan	BUILT_IN_NAND_AND_FETCH_16, BUILT_IN_BOOL_COMPARE_AND_SWAP_16,
331169689Skan	BUILT_IN_VAL_COMPARE_AND_SWAP_16, BUILT_IN_LOCK_TEST_AND_SET_16,
332169689Skan	BUILT_IN_LOCK_RELEASE_16): New builtins.
333169689Skan	* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
334169689Skan	BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
335169689Skan	* builtins.c (expand_builtin): Handle sync BUILT_IN_*_16 builtins.
336169689Skan	* c-common.c (enum c_builtin_type): Move to top-level from
337169689Skan	c_common_nodes_and_builtins enum builtin_type.
338169689Skan	(builtin_types): Move from c_common_nodes_and_builtins.
339169689Skan	(def_fn_type): New.
340169689Skan	(c_common_nodes_and_builtins): Use it.
341169689Skan	(def_builtin_1): Check for error_mark_node.
342169689Skan	(sync_resolve_size): Handle also 128 bit sync builtins.
343169689Skan	* Makefile.in (BUILTINS_DEF): New.  Use it instead of builtins.def.
344169689Skan
345169689Skan	* config/i386/i386.h (x86_cmpxchg8b, x86_cmpxchg16b): New decls.
346169689Skan	(TARGET_CMPXCHG8B, TARGET_CMPXCHG16B): Define.
347169689Skan	* config/i386/i386.c (x86_cmpxchg8b, x86_cmpxchg16b): New variables.
348169689Skan	* config/i386/sync.md (CASMODE, DCASMODE): New mode macros.
349169689Skan	(doublemodesuffix, DCASHMODE): New mode attrs.
350169689Skan	(sync_compare_and_swap<mode>): Change into expand, use CASMODE
351169689Skan	instead of IMODE, if mode is wider than a word, expand into
352169689Skan	sync_double_compare_and_swap*.
353169689Skan	(*sync_compare_and_swap<mode>): New insn.
354169689Skan	(sync_double_compare_and_swap<mode>): Likewise.
355169689Skan	(*sync_double_compare_and_swapdi_pic): Likewise.
356169689Skan	(sync_compare_and_swap_cc<mode>): Use CASMODE instead of IMODE, if
357169689Skan	mode is wider than a word, expand into
358169689Skan	sync_double_compare_and_swap_cc*.
359169689Skan	(sync_double_compare_and_swap_cc<mode>): New insn.
360169689Skan	(*sync_double_compare_and_swap_ccdi_pic): Likewise.
361169689Skan
362169689Skan2005-12-22  Richard Henderson  <rth@redhat.com>
363169689Skan
364169689Skan	* config/i386/mmintrin.h (_mm_add_si64): Only define for SSE2.
365169689Skan	(_mm_sub_si64): Likewise.
366169689Skan	* config/i386/xmmintrin.h (_mm_shuffle_pi16, _m_pshufw): Likewise.
367169689Skan
368169689Skan2005-12-23  Alan Modra  <amodra@bigpond.net.au>
369169689Skan
370169689Skan	PR rtl-optimization/25432
371169689Skan	* reload1.c (eliminate_regs_in_insn): Update insn code on
372169689Skan	successfully re-recognizing modified insn.
373169689Skan
374169689Skan2005-12-22  Richard Guenther  <rguenther@suse.de>
375169689Skan
376169689Skan	* tree.c (tree_fold_gcd): Use build_int_cst where appropriate.
377169689Skan	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
378169689Skan	* varasm.c (array_size_for_constructor): Likewise.
379169689Skan	* fold-const.c (size_diffop, invert_truthvalue,
380169689Skan	optimize_bit_field_compare, make_range, build_range_check,
381169689Skan	fold_cond_expr_with_comparison, fold_truthop,
382169689Skan	fold_single_bit_test_into_sign_test, fold_binary): Likewise.
383169689Skan
384169689Skan2005-12-22  Dale Johannesen  <dalej@apple.com>
385169689Skan
386169689Skan	* config/i386/sse.md (sse_movhlps): Reverse operands for
387169689Skan	2nd and 3rd alternatives.
388169689Skan
389169689Skan2005-12-22  Andrew Pinski <pinskia@physics.uc.edu>
390169689Skan
391169689Skan	PR tree-opt/25513
392169689Skan	* tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex
393169689Skan	variables.
394169689Skan
395169689Skan2005-12-22  Zdenek Dvorak <dvorakz@suse.cz>
396169689Skan	    Steven Bosscher <stevenb@suse.de>
397169689Skan
398169689Skan	* df.c (df_bitmaps_free): Only work for bbs for that structures are
399169689Skan	allocated.
400169689Skan	(df_bb_modify): Realloc tables to the new index.
401169689Skan	(df_find_use): New function.
402169689Skan	(df_find_def, df_reg_used): Handle subregs.
403169689Skan	* df.h (df_find_use): Declare.
404169689Skan
405169689Skan	* loop-invariant.c: Include hashtab.h.
406169689Skan	(struct invariant): Remove processed field, add eqto and reg fields.
407169689Skan	(struct invariant_expr_entry): New.
408169689Skan	(invariant_for_use, hash_invariant_expr_1, invariant_expr_equal_p,
409169689Skan	hash_invariant_expr, eq_invariant_expr, find_or_insert_inv,
410169689Skan	find_identical_invariants, merge_identical_invariants): New functions.
411169689Skan	(create_new_invariant): Return the new invariant.  Initialize new
412169689Skan	fields.
413169689Skan	(find_invariants): Call merge_identical_invariants.
414169689Skan	(get_inv_cost, best_gain_for_invariant, set_move_mark,
415169689Skan	move_invariant_reg): Handle equivalent invariants.
416169689Skan	* Makefile.in (loop-invariant.o): Add HASHTAB_H dependency.
417169689Skan
418169689Skan2005-12-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
419169689Skan
420169689Skan	PR c++/23333
421169689Skan	* c-lex.c (c_lex_with_flags): Add PURE_ZERO to cpp_flags if
422169689Skan	number is a single digit '0'.
423169689Skan
424169689Skan2005-12-22  Kazu Hirata  <kazu@codesourcery.com>
425169689Skan
426169689Skan	PR tree-optimization/23518
427169689Skan	* fold-const.c (make_range): Don't move a constant to the
428169689Skan	other side of the comparison if the type is signed and -fwrapv
429169689Skan	is given.
430169689Skan
431169689Skan2005-12-22  Kazu Hirata  <kazu@codesourcery.com>
432169689Skan
433169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Clean up uses
434169689Skan	of vr0.type.
435169689Skan
436169689Skan2005-12-21  Joseph S. Myers  <joseph@codesourcery.com>
437169689Skan
438169689Skan	PR middle-end/24998
439169689Skan	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add _floatundidf and
440169689Skan	_floatundisf.
441169689Skan
442169689Skan2005-12-21  Andrew Haley  <aph@redhat.com>
443169689Skan
444169689Skan	PR middle-end/25121
445169689Skan	* recog.c (peephole2_optimize): Don't peephole any
446169689Skan	RTX_FRAME_RELATED_P insns.
447169689Skan
448169689Skan2005-12-21  Kazu Hirata  <kazu@codesourcery.com>
449169689Skan
450169689Skan	* tree-data-ref.c (estimate_niter_from_size_of_data): Replace
451169689Skan	fold_build2 with fold_binary.
452169689Skan	* tree-ssa-ccp.c (visit_assignment, maybe_fold_stmt_addition):
453169689Skan	Replace fold_build1 with fold_unary.
454169689Skan	* tree-ssa-reassoc.c (optimize_ops_list): Replace fold_build2
455169689Skan	with fold_binary.
456169689Skan
457169689Skan2005-12-21  Steven Bosscher  <stevenb@suse.de>
458169689Skan
459169689Skan	PR rtl-optimization/25196
460169689Skan	* postreload-gcse.c (record_last_set_info): Notice stack pointer
461169689Skan	changes in push insns without REG_INC notes.
462169689Skan
463169689Skan2005-12-21  Kazu Hirata  <kazu@codesourcery.com>
464169689Skan
465169689Skan	PR tree-optimization/25382.
466169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Extract a range
467169689Skan	from BIT_AND_EXPR.
468169689Skan
469169689Skan2005-12-21  Janis Johnson  <janis187@us.ibm.com>
470169689Skan	    Ben Elliston  <bje@au.ibm.com>
471169689Skan
472169689Skan	* configure.ac: Enable C extension for decimal float if invoked
473169689Skan	with --enable-decimal-float.
474169689Skan	* doc/install.texi (Configuration): Document it.
475169689Skan	* configure, config.in: Regenerate.
476169689Skan
477169689Skan2005-12-20  Mike Stump  <mrs@apple.com>
478169689Skan
479169689Skan	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Handle the
480169689Skan	ambiguity between -seg_addr_table and -seg_addr_table_filename.
481169689Skan	(WORD_SWITCH_TAKES_ARG): Likewise.
482169689Skan	(LINK_SPEC): Likewise.
483169689Skan
484169689Skan2005-12-20  Kenneth Zadeck <zadeck@naturalbridge.com>
485169689Skan
486169689Skan	* cfganal.c (flow_reverse_top_sort_order_compute):
487169689Skan	Renamed to post_order_compute and additional parameter added which
488169689Skan	allows the inclusion of entry and exit blocks into list.
489169689Skan	(mark_dfs_back_edges): Fixed comment.
490169689Skan	(flow_depth_first_order_compute): Renamed to
491169689Skan	pre_and_rev_post_order_compute additional parameter added which
492169689Skan	allows the inclusion of entry and exit blocks into list.
493169689Skan	* global.c (set_up_bb_rts_numbers): Call to
494169689Skan	flow_reverse_top_sort_order_compute renamed to
495169689Skan	post_order_compute.
496169689Skan	* var-tracking.c (vt_stack_adjustments): Fixed comment.
497169689Skan	(vt_find_locations): Call to
498169689Skan	flow_depth_first_order_compute renamed to
499169689Skan	pre_and_rev_post_order_compute.
500169689Skan	* cfgloop.c (flow_find_loops): Ditto.
501169689Skan	* tree-ssa-reassoc.c (init_reassoc): Ditto.
502169689Skan	* df.c (df_analyze_1, df_analyze_subcfg): Calls to
503169689Skan	flow_reverse_top_sort_order_compute renamed to post_order_compute
504169689Skan	and calls to flow_reverse_top_sort_order_compute renamed to
505169689Skan	post_order_compute.
506169689Skan	* basic_block.h: Ditto.
507169689Skan
508169689Skan
509169689Skan2005-12-20  Roger Sayle  <roger@eyesopen.com>
510169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
511169689Skan
512169689Skan	PR rtl-optimization/25115
513169689Skan	* gcse.c (pre_insert_copy_insn): Fall back to the sole
514169689Skan	SET in the insn if there is no SET for an
515169689Skan	expression that is equivalent to EXPR.
516169689Skan
517169689Skan2005-12-20  Richard Guenther  <rguenther@suse.de>
518169689Skan
519169689Skan	PR middle-end/24306
520169689Skan	* builtins.c (std_gimplify_va_arg_expr): Do not align
521169689Skan	va frame for zero sized types.
522169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
523169689Skan
524169689Skan2005-12-20  Kazu Hirata  <kazu@codesourcery.com>
525169689Skan
526169689Skan	PR tree-optimization/25501
527169689Skan	* tree-cfgcleanup.c (merge_phi_nodes): Check that RESULT is
528169689Skan	used in the PHI argument corresponding to the edge from BB to
529169689Skan	DEST.
530169689Skan
531169689Skan2005-12-20  Richard Guenther  <rguenther@suse.de>
532169689Skan
533169689Skan	Revert
534169689Skan	2005-12-02  Richard Guenther  <rguenther@suse.de>
535169689Skan
536169689Skan	* tree-cfg.c (mark_used_vars): New function.
537169689Skan	(dump_function_to_file): Dump only used VAR_DECLs.
538169689Skan
539169689Skan2005-12-19  Roger Sayle  <roger@eyesopen.com>
540169689Skan
541169689Skan	* combine.c (try_combine): Improve splitting of binary operators
542169689Skan	by taking advantage of reassociative transformations.
543169689Skan
544169689Skan2005-12-19  Jeff Law  <law@redhat.com>
545169689Skan
546169689Skan	* tree-ssa-dom.c (thread_across_edge): Do not use local_fold.
547169689Skan	Strip away all type conversions after simplifying the
548169689Skan	condition.
549169689Skan
550169689Skan	* tree-cfgcleanup.c (merge_phi_nodes): Allow merging in some
551169689Skan	cases the forwarder block dominates the destination.
552169689Skan
553169689Skan2005-12-19  DJ Delorie  <dj@redhat.com>
554169689Skan
555169689Skan	* reload1.c (spill_failure): Dump reload data to dump file.
556169689Skan	(find_reload_regs): Likewise.
557169689Skan
558169689Skan2005-12-19  Zdenek Dvorak <dvorakz@suse.cz>
559169689Skan
560169689Skan	PR tree-optimization/24793
561169689Skan	* tree-ssa-loop-ivopts.c (get_ref_tag): Remember the
562169689Skan	original reference if there are subvars.
563169689Skan	* tree-ssa-operands.c (get_tmr_operands): Handle subvars.
564169689Skan
565169689Skan2005-12-19  Kenneth Zadeck <zadeck@naturalbridge.com>
566169689Skan
567169689Skan	* df.c (df_analyze_1, df_analyze_subcfg, iterative_dataflow):
568169689Skan	Corrected basic block number calculations for changes in entry and
569169689Skan	exit numbering.
570169689Skan
571169689Skan2005-12-19  Zdenek Dvorak <dvorakz@suse.cz>
572169689Skan
573169689Skan	* tree-flow.h (struct var_ann_d): Change type of
574169689Skan	may_aliases field to VEC(tree, gc) *.
575169689Skan	(may_aliases): Declaration changed.
576169689Skan	* tree-ssa-alias.c (group_aliases, add_may_alias,
577169689Skan	replace_may_alias, dump_may_aliases_for,
578169689Skan	is_aliased_with, add_type_alias, new_type_alias):
579169689Skan	Work with VEC(tree, gc) * instead of varray.
580169689Skan	* tree-flow-inline.h (may_aliases): Ditto.
581169689Skan	* tree-ssa.c (verify_flow_insensitive_alias_info,
582169689Skan	verify_name_tags): Ditto.
583169689Skan	* tree-ssa-operands.c (add_stmt_operand): Ditto.
584169689Skan
585169689Skan2005-12-19  J"orn Rennecke <joern.rennecke@st.com>
586169689Skan
587169689Skan	* cfgcleanup.c: Temporarily revert patches for PR 20070 till Bernd
588169689Skan	comes back.
589169689Skan
590169689Skan2005-12-19  J"orn Rennecke <joern.rennecke@st.com>
591169689Skan
592169689Skan	* struct-equiv.c (struct_equiv_improve_checkpoint): Fix sets_cc0_p
593169689Skan	check.
594169689Skan
595169689Skan2005-12-19  Ben Elliston  <bje@au.ibm.com>
596169689Skan
597169689Skan	* doc/install.texi (Configuration): Typo in Fortran subheading.
598169689Skan
599169689Skan2005-12-19  Nathan Sidwell  <nathan@codesourcery.com>
600169689Skan
601169689Skan	* config/mt/mt.md (decrement_and_branch_until_zero): Add another
602169689Skan	scratch.  Correct its reload split. Adjust its peephole.
603169689Skan	(doloop_end): Add additional scratch.
604169689Skan	(nop): Use 'nop'.
605169689Skan	* config/mt/mt.c (MT_INT_ARG_FIRST): Remove.
606169689Skan	(mt_asm_output_opcode, mt_print_operand): Use 'nop'.
607169689Skan	(mt_function_arg_slotno): Use FIRST_ARG_REGNUM.
608169689Skan	(mt_builtin_saveregs): Replace with ...
609169689Skan	(mt_setup_incoming_varargs): ... here.  Save just the varadic
610169689Skan	args.
611169689Skan	(mt_va_start): Remove.
612169689Skan	(mt_reorg_hazard): Ignore USE insns.  Don't call set_noop_p.
613169689Skan	(mt_machine_reorg): Split all insns here.
614169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Override.
615169689Skan	* config/mt/mt.h (TARGET_CPU_CPP_BUILTINS): Define __mt__ only.
616169689Skan	Set to CPU type.
617169689Skan	(EXPAND_BUILTIN_VA_START): Remove.
618169689Skan
619169689Skan2005-12-17  Kenneth Zadeck <zadeck@naturalbridge.com>
620169689Skan
621169689Skan	* flow.c (update_life_info, count_or_remove_death_notes): Fixed
622169689Skan	latent bug that could happen if update_life_info was called with a
623169689Skan	blocks parameter and the call to cleanup_cfg actually deleted one
624169689Skan	of those blocks.
625169689Skan
626169689Skan2005-12-19  Zdenek Dvorak <dvorakz@suse.cz>
627169689Skan
628169689Skan	* tree-ssa-structalias.c (update_alias_info): Remove handling
629169689Skan	of may_be_aliased (SSA_NAME_VAR (op)) case.
630169689Skan
631169689Skan2005-12-19  Zdenek Dvorak <dvorakz@suse.cz>
632169689Skan
633169689Skan	* tree-flow.h (struct stmt_ann_d): Remove
634169689Skan	makes_aliased_loads and makes_aliased_stores fields.
635169689Skan	* tree-ssa-ccp.c (likely_value): Do not use makes_aliased_stores
636169689Skan	and makes_aliased_loads fields.
637169689Skan	* tree-ssa-dom.c (eliminate_redundant_computations): Do not
638169689Skan	use makes_aliased_stores.
639169689Skan	* tree-ssa-operands.c (clobbered_aliased_loads,
640169689Skan	clobbered_aliased_stores, ro_call_aliased_loads): Removed.
641169689Skan	(build_ssa_operands, add_stmt_operand, add_call_clobber_ops,
642169689Skan	add_call_read_ops): Do not set makes_aliased_stores and
643169689Skan	makes_aliased_loads fields.
644169689Skan	* tree-ssa.c (verify_ssa): Do not verify makes_aliased_stores
645169689Skan	field.
646169689Skan
647169689Skan2005-12-18  Geoffrey Keating  <geoffk@apple.com>
648169689Skan
649169689Skan	* config/darwin.h: Don't include darwin-sections.def to declare
650169689Skan	global variables; instead create darwin_section_enum.
651169689Skan	(darwin_section_enum): New.
652169689Skan	(darwin_sections): New.
653169689Skan	* config/darwin.c: Don't include darwin-sections.def to define
654169689Skan	global variables.
655169689Skan	(darwin_sections): New.
656169689Skan	(output_objc_section_asm_op): Rewrite to take advantage of
657169689Skan	darwin_sections.
658169689Skan	(darwin_init_sections): Rewrite to use darwin_sections.
659169689Skan	(machopic_output_indirection): Update for darwin_sections array.
660169689Skan	(machopic_select_section): Likewise.
661169689Skan	(machopic_select_rtx_section): Likewise.
662169689Skan	(machopic_asm_out_constructor): Likewise.
663169689Skan	(machopic_asm_out_destructor): Likewise.
664169689Skan	(darwin_file_end): Likewise.
665169689Skan	* config/rs6000/rs6000.c (machopic_output_stub): Likewise.
666169689Skan	* config/i386/i386.c (machopic_output_stub): Likewise.
667169689Skan
668169689Skan2005-12-18  Richard Guenther  <rguenther@suse.de>
669169689Skan
670169689Skan	PR tree-optimization/25481
671169689Skan	* tree-ssa-structalias.c (handle_ptr_arith): Handle accesses we
672169689Skan	don't have a varinfo for.
673169689Skan
674169689Skan2005-12-18  Jon Grimm  <jgrimm2@us.ibm.com>
675169689Skan	    Janis Johnson  <janis187@us.ibm.com>
676169689Skan	    Ben Elliston  <bje@au.ibm.com>
677169689Skan
678169689Skan	* optabs.c (init_floating_libfuncs): Handle decimal float modes.
679169689Skan	(init_optabs): Handle libfuncs for decimal float.
680169689Skan	* genopinit.c (gen_insn): Handle MODE_DECIMAL_FLOAT.
681169689Skan	* stor-layout.c (int_mode_for_mode): Likewise.
682169689Skan	* simplify-rtx.c (simplify_immed_subreg): Likewise.
683169689Skan	(simplify_unary_operation_1): Skip optimisations for decimal float
684169689Skan	modes.
685169689Skan	* varasm.c (output_constant_pool_2): Handle MODE_DECIMAL_FLOAT.
686169689Skan	* emit-rtl.c (gen_const_vector): Add assertion check.
687169689Skan	(init_emit_once): Populate const_tiny_rtx with constants in each
688169689Skan	decimal float mode.
689169689Skan	* expmed.c (extract_high_half, expand_mult_highpart_optab,
690169689Skan	expand_mult_highpart): Assert that mode is not a scalar float
691169689Skan	mode.
692169689Skan	* expr.c (convert_move): Handle conversion between decimal and
693169689Skan	binary floats of the same size.
694169689Skan	* convert.c (convert_to_real): Consider decimal float types when
695169689Skan	folding.
696169689Skan	* dwarf2out.c (base_type_die): Use DW_ATE_decimal_float to
697169689Skan	describe decimal floating point types.
698169689Skan
699169689Skan2005-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
700169689Skan
701169689Skan	PR rtl-optimization/21041
702169689Skan	* reload.c (find_reloads_subreg_address): Replace paradoxical
703169689Skan	subreg of MEM by widened access only if the resulting memory
704169689Skan	is properly aligned, even on !STRICT_ALIGNMENT targets.
705169689Skan
706169689Skan2005-12-18  Andreas Krebbel  <krebbel1@de.ibm.com>
707169689Skan
708169689Skan	* tree-cfg.c (tree_flow_call_edges_add): Check for empty basic blocks.
709169689Skan
710169689Skan2005-12-18  Steven Bosscher  <stevenb@suse.de>
711169689Skan
712169689Skan	* gcse.c (gcse_main, bypass_jumps): Fix non-GNU-isms from
713169689Skan	the 2005-12-17 patch to renumber the entry and exit blocks.
714169689Skan
715169689Skan2005-12-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
716169689Skan
717169689Skan	* doc/objc.texi (Type encoding): Fix typo.
718169689Skan
719169689Skan2005-12-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
720169689Skan
721169689Skan	* tree-tailcall.c (find_tail_calls): Use XNEW.
722169689Skan	* tree-ssa-dom.c (allocate_edge_info): Use XCNEW.
723169689Skan	(free_all_edge_infos): Use explicit cast to convert from void *.
724169689Skan	(vrp_free): Likewise.
725169689Skan	(dom_opt_finalize_block): Likewise.
726169689Skan	(record_equivalences_from_incoming_edge): Likewise.
727169689Skan	(thread_across_edge): Likewise.  Use XCNEWVEC.
728169689Skan	(record_cond): Use XCNEW.
729169689Skan	(record_conditions): Use XNEWVEC.
730169689Skan	(record_edge_info): Use XCNEWVEC.
731169689Skan	(lookup_avail_expr): Use XNEW.
732169689Skan	(record_range): Likewise.  Use GGC_NEW.
733169689Skan	* tree-nested.c (var_map_hash): Use explicit cast to convert from
734169689Skan	void *.
735169689Skan	(var_map_eq): Likewise.
736169689Skan	(lookup_field_for_decl): Likewise.
737169689Skan	(convert_nonlocal_reference): Likewise.
738169689Skan	(convert_local_reference): Likewise.
739169689Skan	(convert_nl_goto_reference): Likewise.
740169689Skan	(convert_nl_goto_receiver): Likewise.
741169689Skan	(convert_call_expr): Likewise.
742169689Skan	(convert_tramp_reference): Likewise.
743169689Skan	(lookup_tramp_for_decl): Likewise.Use GGC_NEW.
744169689Skan	(convert_nl_goto_reference): Likewise.
745169689Skan	(lookup_field_for_decl): Use GGC_NEW.
746169689Skan	(create_nesting_tree): Use GGC_CNEW.
747169689Skan	* tree-ssa-phiopt.c (blocks_in_phiopt_order): Use XNEWVEC.
748169689Skan	* tree-ssa-alias.c (init_alias_info): Use XCNEW.
749169689Skan	(create_alias_map_for): Likewise.
750169689Skan	(setup_pointers_and_addressables): Use XCNEWVEC.
751169689Skan	(get_ptr_info): Use GGC_NEW.
752169689Skan	(used_part_map_eq): Use explicit cast to convert from void *.
753169689Skan	(up_lookup): Likewise.
754169689Skan	(up_insert): Use XNEW.
755169689Skan	(get_or_create_used_part_for): Use XCNEW.
756169689Skan	(get_tmt_for): Likewise.
757169689Skan	* tree-ssa-operands.c (ssa_operand_alloc): Use GGC_NEW.
758169689Skan	* tree-ssa-pre.c (phi_trans_add): Use XNEW.
759169689Skan	(bitmap_set_new): Use explicit cast to convert from void *.
760169689Skan	(set_new): Likewise.
761169689Skan	(insert_into_set): Likewise.
762169689Skan	(pool_copy_list): Likewise.
763169689Skan	(phi_translate): Likewise.
764169689Skan	(create_value_expr_from): Likewise.
765169689Skan	(insert_aux): Use XCNEWVEC.
766169689Skan	(compute_avail): Use XNEWVEC.
767169689Skan	* tree-ssa-live.c (calculate_live_on_entry): Likewise.
768169689Skan	(sort_coalesce_list): Likewise.
769169689Skan	(build_tree_conflict_graph): Use XCNEWVEC.
770169689Skan	* tree-ssa-dce.c (tree_dce_init): Use XNEWVEC.
771169689Skan	* tree-ssa-copy.c (init_copy_prop): Likewise.
772169689Skan	(fini_copy_prop): Likewise.
773169689Skan	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use XNEW
774169689Skan	and XCNEWVEC.
775169689Skan	(record_equiv): Use XNEW.
776169689Skan	(uncprop_into_successor_phis): Use explicit cast to convert from
777169689Skan	void *.
778169689Skan	(uncprop_initialize_block): Likewise.
779169689Skan
780169689Skan2005-12-18  Dorit Nuzman  <dorit@il.ibm.com>
781169689Skan
782169689Skan	PR tree-optimization/24378
783169689Skan	* tree-vect-transform.c (vect_transform_loop): Create single-predecessor
784169689Skan	basic-block after loop-versioning.
785169689Skan
786169689Skan2005-12-18  Jeff Law  <law@redhat.com>
787169689Skan
788169689Skan	* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Code
789169689Skan	to simplify SWITCH_EXPR_CODE moved from here to ...
790169689Skan	* tree-ssa-forwprop.c (simplify_switch_expr): Here.
791169689Skan	(tree-ssa-forward_propagate_single_use_vars): Call
792169689Skan	simplify_switch_expr when appropriate.
793169689Skan
794169689Skan2005-12-17  Andrew Pinski  <pinskia@physics.uc.edu>
795169689Skan
796169689Skan	* doc/objc.texi (Type encoding): Add documentation about encoding
797169689Skan	complex types and _Bool.
798169689Skan
799169689Skan2005-12-17  Paul Brook  <paul@codesourcery.com>
800169689Skan
801169689Skan	* config/m68k/m68k.md (m68k_output_function_prologue): Always call
802169689Skan	dwarf2out_def_cfa. Only add space for frame pointer to cfa_offset
803169689Skan	when frame_pointer_needed.
804169689Skan
805169689Skan2005-12-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
806169689Skan
807169689Skan	* tree-vn.c (vn_add): Use XNEW.
808169689Skan	* tree-ssa-ccp.c (ccp_initialize): Use XNEWVEC.
809169689Skan	(ccp_fold): Likewise.
810169689Skan	(fold_stmt_r): Use explicit cast to convert from void *.
811169689Skan	* tree-outof-ssa.c (new_temp_expr_table): Use XCNEWVEC.
812169689Skan	(new_temp_expr_table): Likewise.
813169689Skan	* gimplify.c (lookup_tmp_var): Use XNEW.
814169689Skan	(gimplify_asm_expr): Use explcit cast to convert from void *.
815169689Skan	* tree-into-ssa.c (get_ssa_name_ann): Likewise.
816169689Skan	(get_def_blocks_for): Use XNEW.
817169689Skan	(add_to_repl_tbl): Likewise.
818169689Skan	(mark_def_sites): Use explicit cast to convert from void *.
819169689Skan	(def_blocks_free): Likewise.
820169689Skan	(mark_def_sites_initialize_block): Likewise.
821169689Skan	(update_ssa): Use XNEWVEC.
822169689Skan	* tree-dfa.c (create_var_ann): Use GGC_NEW.
823169689Skan	(create_stmt_ann): Likewise.
824169689Skan	(create_tree_ann): Likewise.
825169689Skan	(referenced_var_insert): Likewise.
826169689Skan	(set_default_def): Likewise.
827169689Skan	(referenced_var_lookup_if_exists): Use explicit cast to convert
828169689Skan	from void *.
829169689Skan	(referenced_var_lookup): Likewise.
830169689Skan	(default_def): Likewise.
831169689Skan	(set_default_def): Likewise.
832169689Skan	* tree-cfg.c (create_bb): Likewise.
833169689Skan	(edge_to_cases_cleanup): Likewise.
834169689Skan	(verify_node_sharing): Likewise.
835169689Skan	(record_switch_edge): Use XNEW.
836169689Skan	(cleanup_dead_labels): Use XCNEWVEC.
837169689Skan	(tree_duplicate_sese_region): Use XNEWVEC.
838169689Skan	* tree-scalar-evolution.c (get_instantiated_value): Likewise.
839169689Skan	* tree-ssa.c (verify_ssa): Use XCNEWVEC.
840169689Skan	(int_tree_map_eq): Use explicit cast to convert from void *.
841169689Skan	* libgcov.c (gcov_exit): Use explicit cast to convert from void *.
842169689Skan	(__gcov_execl): Likewise.
843169689Skan	(__gcov_execlp): Likewise.
844169689Skan	(__gcov_execle): Likewise.
845169689Skan	* tree-eh.c (struct_ptr_eq): Likewise.
846169689Skan	(struct_ptr_hash): Likewise.
847169689Skan	(lookup_stmt_eh_region_fn): Likewise.
848169689Skan	(outside_finally_tree): Likewise.
849169689Skan	(find_goto_replacement): Likewise.
850169689Skan	(make_eh_edge): Likewise.
851169689Skan	(mark_eh_edge): Likewise.
852169689Skan	(add_stmt_to_eh_region_fn): Use GGC_NEW.
853169689Skan	(record_in_finally_tree): Use XNEW.
854169689Skan	(maybe_record_in_goto_queue): Use XRESIZEVEC.
855169689Skan	(lower_try_finally_copy): Use XCNEWVEC.
856169689Skan
857169689Skan2005-12-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
858169689Skan
859169689Skan	* tree-inline.c (copy_body_r): Use explicit cast when converting
860169689Skan	from void *.
861169689Skan	(copy_bb): Likewise.
862169689Skan	(copy_edges_for_bb): Likewise.
863169689Skan	(remap_decl_1): Likewise.
864169689Skan	(estimate_num_insns_1): Likewise.
865169689Skan	* cgraph.c (hash_node): Use explicit cast when converting from
866169689Skan	void *.
867169689Skan	(eq_node): Likewise.
868169689Skan	(cgraph_create_node): Use GGC_CNEW.
869169689Skan	(cgraph_create_edge): Use GGC_NEW.
870169689Skan	(cgraph_remove_node): Use explicit cast when converting from void *.
871169689Skan	(hash_varpool_node): Likewise.
872169689Skan	(eq_varpool_node): Likewise.
873169689Skan	(cgraph_varpool_node): Use GGC_CNEW.
874169689Skan	* lambda.h (lambda_vector_new): Use GGC_CNEWVEC.
875169689Skan	* tree-scalar-evolution.c (new_scev_info_str): Use XNEW.
876169689Skan	(eq_scev_info): Use explicit cast when converting from void *.
877169689Skan	(find_var_scev_info): Likewise.
878169689Skan	(set_instantiated_value): Likewise.
879169689Skan	(gather_stats_on_scev_database_1): Likewise.
880169689Skan	* cfgloop.h (simple_loop_desc): Use explicit cast when converting
881169689Skan	from void *.
882169689Skan	* c-pch.c (c_common_write_pch): Use XNEWVEC.
883169689Skan	(c_common_read_pch): Likewise.
884169689Skan	* prefix.c (save_string): Use XNEWVEC.
885169689Skan	(translate_name): Use explicit cast when converting from void *.
886169689Skan	* c-ppoutput.c (print_line): Use explicit cast when converting
887169689Skan	from void *.
888169689Skan	(pp_dir_change): Likewise.
889169689Skan	* c-cppbuiltin.c (builtin_define_std): Likewise.
890169689Skan	(builtin_define_with_value): Likewise.
891169689Skan	(builtin_define_with_value_n): Likewise.
892169689Skan	(builtin_define_with_int_value): Likewise.
893169689Skan	(builtin_define_type_max): Likewise.
894169689Skan	* c-incpath.c (add_env_var_paths): Use XNEWVEC.
895169689Skan	(add_path): Use XNEW.
896169689Skan	* c-format.c (check_format_info_main): Use GGC_NEW.
897169689Skan	(format_type_warning): Use explicit cast when converting from void *.
898169689Skan	* c-typeck.c (alloc_tagged_tu_seen_cache): Use XNEW instead of
899169689Skan	xmalloc.
900169689Skan	(start_init): Likewise.
901169689Skan	* tree-flow-inline.h (first_referenced_var): Use explicit cast
902169689Skan	when converting from void *.
903169689Skan	(next_referenced_var): Likewise.
904169689Skan	* c-pragma.c (push_alignment): Use GGC_NEW instead of ggc_alloc.
905169689Skan	* gensupport.c (lookup_predicate): Use explicit cast to convert
906169689Skan	from void *.
907169689Skan	(init_predicate_table): Use XCNEW instead of xcalloc.
908169689Skan	* genpreds.c (process_define_predicate): Likewise.
909169689Skan
910169689Skan2005-12-17  Danny Berlin <dberlin@dberlin.org>
911169689Skan	    Kenneth Zadeck <zadeck@naturalbridge.com>
912169689Skan
913169689Skan	* basic-block.h: Changed basic block numbering so that the entry
914169689Skan	block is 0 and the exit block is 1.  Changed insn iterators so
915169689Skan	that they are tolerant of blocks with no insns.
916169689Skan	* regrename.c (copyprop_hardreg_forward): Changed basic block
917169689Skan	numbering so that the entry block is 0 and the exit block is 1.
918169689Skan	* sched-ebb.c (sehedule_ebbs): Ditto.
919169689Skan	* tracer.c (branch_ratio_cutoff): Ditto.
920169689Skan	* cfgloopmanip.c (fix_loop_structure): Ditto.
921169689Skan	* cfghooks.c (verify_flow_info): Ditto.
922169689Skan	* cfg.c (compact_blocks): Ditto.
923169689Skan	* reorg.c (dbr_schedule): Ditto.
924169689Skan	* flow.c (calculate_global_regs_live, libcall_dead_p): Ditto.
925169689Skan	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
926169689Skan	calculate_dominance_info): Ditto.
927169689Skan	* cfganal.c (create_edge_list, print_edge_list,
928169689Skan	flow_depth_first_order_compute, flow_dfs_compute_reverse_init,
929169689Skan	flow_dfs_compute_reverse_add_bb, flow_dfs_compute_reverse_execute,
930169689Skan	dfs_enumerate_from): Ditto.
931169689Skan	* global.c (global_alloc, set_up_bb_rts_numbers): Ditto.
932169689Skan	* ifcvt.c (find_if_case_2): Ditto.
933169689Skan	* cfgbuild.c (control_flow_insn_p, count_basic_blocks,
934169689Skan	find_basic_blocks): Ditto.
935169689Skan	* predict.c (predict_loops, tree_bb_level_predictions,
936169689Skan	predict_paths_leading_to, propagate_freq): Ditto.
937169689Skan	* lcm.c (compute_antinout_edge, compute_laterin,
938169689Skan	compute_available): Ditto.
939169689Skan	* function.c (thread_prologue_and_epilogue_insns): Ditto.
940169689Skan	* gcse.c (gcse_main, bypass_jumps): Ditto.
941169689Skan	* profile.c (compute_branch_probabilities,
942169689Skan	compute_value_histograms, branch_prob): Ditto.
943169689Skan	* tree-flow-inline.h (bsi_start, bsi_after_labels,
944169689Skan	bsi_last): Ditto.
945169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt,
946169689Skan	blocks_in_phiopt_order): Ditto.
947169689Skan	* bt-load.c (compute_defs_uses_and_gen, compute_kill,
948169689Skan	compute_out, link_btr_uses, migrate_btr_defs): Ditto.
949169689Skan	* tree-dfa.c (collect_dfa_stats): Ditto.
950169689Skan	* cfgcleanup.c (try_forward_edges, try_optimize_cfg): Ditto.
951169689Skan	* cfglayout.c (fixup_reorder_chain): Ditto.
952169689Skan	* bb-reorder.c (reorder_basic_blocks, duplicate_computed_gotos,
953169689Skan	partition_hot_cold_basic_blocks): Ditto.
954169689Skan	* var-tracking.c (vt_find_locations): Ditto.
955169689Skan	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find, get_loop_body): Ditto.
956169689Skan	* sched-rgn.c (compute_trg_info, init_regions, schedule_insns): Ditto.
957169689Skan	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, make_edges
958169689Skan	label_to_block_fn, print_loop_ir, tree_flow_call_edges_add): Ditto.
959169689Skan	* tree-ssa-reassoc.c (init_reassoc): Ditto.
960169689Skan	* cfgrtl.c (entry_of_function, rtl_verify_flow_info,
961169689Skan	rtl_flow_call_edges_add, rtl_flow_call_edges_add): Ditto.
962169689Skan	* df.c (df_analyze_1, hybrid_search, iterative_dataflow): Ditto
963169689Skan	and removed unused reverse orders.
964169689Skan	* df.h (): Ditto.
965169689Skan	* combine.c: Fix document typo.
966169689Skan
967169689Skan2005-12-17  Jan Hubicka  <jh@suse.cz>
968169689Skan
969169689Skan	* tree-flow-inline.h (set_default_def, default_def): Kill.
970169689Skan	* tree-dfa.c (default_defs): New global variable.
971169689Skan	(default_def, set_default_def): New functions.
972169689Skan	* tree-ssa.c (init_tree_ssa, delete_tree_ssa): Add default_def hash.
973169689Skan	* tree-flow.h (struct var_ann_d): Kill default_def field.
974169689Skan	(set_default_def, default_def): Update prototype.
975169689Skan	(default_defs): Declare.
976169689Skan
977169689Skan2005-12-16  Jeff Law  <law@redhat.com>
978169689Skan
979169689Skan	* tree-ssa-dom.c (update_rhs_and_lookup_avail_expr): Kill.
980169689Skan	(simplify_rhs_and_lookup_avail_expr): Kill.  Remnants moved
981169689Skan	into tree-ssa-forwprop.c.
982169689Skan	(eliminate_redundant_computations): Do not call
983169689Skan	simplify_rhs_and_lookup_avail_expr anymore.
984169689Skan	* tree-ssa-forwprop.c (simplify_not_neg_expr): New function
985169689Skan	extracted from remnants of simplify_rhs_and_lookup_avail_expr.
986169689Skan	(tree_ssa_forward_propagate_single_use_vars): Call
987169689Skan	simplify_not_neg_expr appropriately.
988169689Skan
989169689Skan2005-12-16  Bernd Trog  <berndtrog@yahoo.com>
990169689Skan
991169689Skan	PR target/20016
992169689Skan	* config/avr/t-avr: Add -Os to TARGET_LIBGCC2_CFLAGS.
993169689Skan
994169689Skan2005-12-17  Kazu Hirata  <kazu@codesourcery.com>
995169689Skan
996169689Skan	PR rtl-optimization/25456
997169689Skan	* struct-equiv.c (struct_equiv_improve_checkpoint): Replace
998169689Skan	info->x_start with p->x_start.
999169689Skan
1000169689Skan2005-12-17  Alan Modra  <amodra@bigpond.net.au>
1001169689Skan
1002169689Skan	* simplify-rtx.c (simplify_binary_operation_1 <IOR>): Correct bug
1003169689Skan	introduced 2005-12-16.
1004169689Skan
1005169689Skan2005-12-16  Steven Bosscher  <stevenb@suse.de>
1006169689Skan
1007169689Skan	PR rtl-optimization/23837
1008169689Skan	* optabs.c (expand_binop): For a multi-word rotate, never emit
1009169689Skan	a REG_NO_CONFLICT block.
1010169689Skan
1011169689Skan2005-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1012169689Skan
1013169689Skan	PR middle-end/25457
1014169689Skan	* reorg.c (mostly_true_jump): Remove unused variable 'insn'.
1015169689Skan
1016169689Skan	PR target/25447
1017169689Skan	* config/pa/pa.c (pa_scalar_mode_supported_p): Handle
1018169689Skan	MODE_DECIMAL_FLOAT.
1019169689Skan
1020169689Skan2005-12-16  Steven Bosscher  <stevenb@suse.de>
1021169689Skan
1022169689Skan	* loop-invariant.c (move_loop_invariants): Add missing hunk from
1023169689Skan	the previous patch, to nullify df.
1024169689Skan
1025169689Skan2005-12-16  Steven Bosscher  <stevenb@suse.de>
1026169689Skan
1027169689Skan	* reorg.c (mostly_true_jump): Clean up code depending on
1028169689Skan	LABEL_OUTSIDE_LOOP_P and loop notes.  Remove code doing
1029169689Skan	poor man's branch prediction, instead rely on REG_BR_PROB
1030169689Skan	notes to be available.
1031169689Skan
1032169689Skan2005-12-16  Jakub Jelinek  <jakub@redhat.com>
1033169689Skan
1034169689Skan	PR rtl-optimization/24899
1035169689Skan	* loop.c (strength_reduce): Don't reduce giv that is not always
1036169689Skan	computable and where add_val or mult_val can trap.
1037169689Skan
1038169689Skan	* doc/invoke.texi (-fdump-tree-*): Remove note about C/C++ only.
1039169689Skan
1040169689Skan2005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
1041169689Skan
1042169689Skan	* config/mt/mt.h (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Correct
1043169689Skan	names of ms1-16-002 files.
1044169689Skan
1045169689Skan2005-12-16  Alan Modra  <amodra@bigpond.net.au>
1046169689Skan
1047169689Skan	PR driver/20425
1048169689Skan	* gcc.c (for_each_path): New function.
1049169689Skan	(add_to_obstack, file_at_path): New functions.
1050169689Skan	(struct file_at_path_info, struct add_to_obstack_info): New.
1051169689Skan	(build_search_list): Rewrite using for_each_path.  Constify struct
1052169689Skan	path_prefix pointer.  Add do_multi param.  Adjust all callers.
1053169689Skan	(find_a_file): Similarly, but just change existing param to bool.
1054169689Skan	(putenv_from_prefixes): Add do_multi param, make "paths" const.
1055169689Skan	(do_spec_path): Delete.
1056169689Skan	(struct spec_path_info): New.
1057169689Skan	(spec_path): New function.
1058169689Skan	(do_spec_1): Use for_each_path for %D and %I.
1059169689Skan	(find_file): Adjust for find_a_file changes.
1060169689Skan	(main): Search multilibs for specs.  Print multilib lib path for
1061169689Skan	-print-search-dirs.  Likewise add multilibs to LIBRARY_PATH_ENV.
1062169689Skan	(read_specs): Search multilibs for %include and %include_noerr.
1063169689Skan	(is_directory): Remove second string param.  Change last param
1064169689Skan	to a bool.  Don't use concat.  Remove SMALL_ARG_MAX test, always
1065169689Skan	check path is a dir.  Update all callers.
1066169689Skan	* doc/hostconfig.texi (SMALL_ARG_MAX): Remove mention.
1067169689Skan	* system.h (SMALL_ARG_MAX): Poison.
1068169689Skan	* config.gcc: Don't define SMALL_ARG_MAX.
1069169689Skan	* config.host: Likewise.
1070169689Skan	* config.build: Likewise.
1071169689Skan
1072169689Skan2005-12-16  Paolo Bonzini  <bonzini@gnu.org>
1073169689Skan
1074169689Skan	* combine.c (combine_simplify_rtx <case NOT, NEG, TRUNCATE,
1075169689Skan	FLOAT_TRUNCATE, FLOAT_EXTEND, PLUS, MINUS, AND, IOR, XOR,
1076169689Skan	ABS, VEC_SELECT, POPCOUNT, PARITY, FFS, FLOAT>,
1077169689Skan	simplify_logical): Move simplifications that do not require
1078169689Skan	additional infrastructure...
1079169689Skan	* simplify-rtx.c (simplify_unary_operation_1,
1080169689Skan	simplify_binary_operation_1): ... here.
1081169689Skan
1082169689Skan2005-12-16  Andreas Krebbel  <krebbel1@de.ibm.com>
1083169689Skan
1084169689Skan	PR 24823
1085169689Skan	* flow.c (mark_used_dest_regs): New function.
1086169689Skan	(mark_used_regs): Call mark_used_dest_regs.
1087169689Skan
1088169689Skan2005-12-16  Jeff Law  <law@redhat.com>
1089169689Skan
1090169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Correctly handle PHI nodes which
1091169689Skan	represent a use and definition of the same SSA_NAME.
1092169689Skan
1093169689Skan2005-12-16  Jon Grimm  <jgrimm2@us.ibm.com>
1094169689Skan	    Janis Johnson  <janis187@us.ibm.com>
1095169689Skan	    Ben Elliston  <bje@au.ibm.com>
1096169689Skan
1097169689Skan	* target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): New.
1098169689Skan	(TARGET_INITIALIZER): Add TARGET_DECIMAL_FLOAT_P.
1099169689Skan	* target.h (struct gcc_target): Add decimal_float_supported_p.
1100169689Skan	* targhooks.c (default_scalar_mode_supported_p): Handle
1101169689Skan	MODE_DECIMAL_FLOAT.
1102169689Skan	* builtins.def: Add new builtins for 32, 64 and 128 bit variants
1103169689Skan	of inf, nan, finite, isinf and isnan.
1104169689Skan	* builtin-types.def (BT_DFLOAT32, BT_DFLOAT64, BT_DFLOAT128,
1105169689Skan	BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR,
1106169689Skan	BT_FN_DFLOAT32, BT_FN_DFLOAT64, BT_FN_DFLOAT128,
1107169689Skan	BT_FN_INT_DFLOAT32, BT_FN_INT_DFLOAT64, BT_FN_INT_DFLOAT128,
1108169689Skan	BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT64_CONST_STRING,
1109169689Skan	BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT32_DFLOAT32,
1110169689Skan	BT_FN_DFLOAT64_DFLOAT64, BT_FN_DFLOAT128_DFLOAT128): New.
1111169689Skan	* c-decl.c (declspecs_add_type): Verify combos on type qualifiers.
1112169689Skan	Pedwarn if decimal floating point types are used.  Error if
1113169689Skan	decimal floating point is not supported by the target.
1114169689Skan	(finish_declspecs): Return type from DFP typespec_word.
1115169689Skan	* c-typeck.c (c_common_type): Choose the decimal floating point
1116169689Skan	type with the greater precision when determining a common type.
1117169689Skan	(convert_arguments): Warn if there is a mismatch between argument
1118169689Skan	and prototype for decimal float types.  Warn of conversions with
1119169689Skan	binary float types and of precision narrowing due to prototype.
1120169689Skan	* c-parser.c (reswords): Add _Decimal32, _Decimal64, _Decimal128.
1121169689Skan	(c_token_starts_typename): Handle RID_DFLOAT32/64/128.
1122169689Skan	(c_token_starts_declspecs): Likewise.
1123169689Skan	(c_parser_attributes): Likewise.
1124169689Skan	* c-common.h (enum rid): Add new enumeration values RID_DFLOAT32,
1125169689Skan	RID_DFLOAT64, RID_DFLOAT128.
1126169689Skan	(T_D32, TEX_D32, T_D64, TEX_D64, T_D128, TEX_D128): New macros.
1127169689Skan	* c-common.c (c_common_type_for_mode): Handle decimal float modes.
1128169689Skan	(shorten_compare): Convert DFP/BFP operands to a common type.
1129169689Skan	(c_common_modes_and_builtins): Register built-in decimal float
1130169689Skan	types if the target supports them.
1131169689Skan	(handle_mode_addtribute): Handle MODE_DECIMAL_FLOAT.
1132169689Skan	* builtins.c (fold_builtin_1): Handle 32, 64 and 128 bit cases of
1133169689Skan	inf, nan, finite, isinf and isnan builtins.
1134169689Skan	* c-cppbuiltin.c (builtin_define_decimal_float_constants): New.
1135169689Skan	(builtin_define_float_constants): Assert non-decimal radix.
1136169689Skan	(c_cpp_builtins): Register built-in __DEC_EVAL_METHOD__ define.
1137169689Skan	Call builtin_define_decimal_float_constants for each type.
1138169689Skan	* c-lex.c (interpret_float): Decode decimal float types from CPP_N
1139169689Skan	flags.  Use real_from_string3, which can handle binary or decimal
1140169689Skan	floats.
1141169689Skan	* c-tree.h (enum c_typespec_keyword): Add cts_dfloat32,
1142169689Skan	cts_dfloat64, cts_dfloat128.
1143169689Skan	* tree.c (build_common_tree_nodes_2): Add decimal float types.
1144169689Skan	* tree.h (enum tree_index): Add new enumeration values
1145169689Skan	TI_DFLOAT32_TYPE, TI_DFLOAT64_TYPE, TI_DFLOAT128_TYPE,
1146169689Skan	TI_DFLOAT32_PTR_TYPE, TI_DFLOAT64_PTR_TYPE, TI_DFLOAT128_PTR_TYPE.
1147169689Skan	(dfloat32_type_node): New macro.
1148169689Skan	(dfloat64_type_node, dfloat128_type_node): Likewise.
1149169689Skan	(dfloat32_ptr_type_node, dfloat64_ptr_type_node): Likewise.
1150169689Skan	(dfloat128_ptr_type_node): Likewise.
1151169689Skan	* c-pretty-print.c (pp_c_floating_constant): Append 32, 64 and 128
1152169689Skan	bit decimal floating point types with "df", "dd" and "dl".
1153169689Skan	* c-format.h (enum format_lengths): Add new enumeration values
1154169689Skan	FMT_LEN_H, FMT_LEN_D and FMT_LEN_DD.
1155169689Skan	* c-format.c (printf_length_specs, scanf_length_specs): Add
1156169689Skan	entries for H, D, DD.
1157169689Skan	(print_char_table, scan_char_table): Use new entries.
1158169689Skan	(asm_fprintf_char_table, gcc_diag_char_table,
1159169689Skan	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Adjust for longer
1160169689Skan	length arrays.
1161169689Skan	* defaults.h (DECIMAL32_TYPE_SIZE): Define.
1162169689Skan	(DECIMAL64_TYPE_SIZE): Likewise.
1163169689Skan	(DECIMAL128_TYPE_SIZE): Likewise.
1164169689Skan	(TARGET_DEC_EVAL_METHOD): Likewise.
1165169689Skan	* doc/extend.texi (Decimal Float): New node.
1166169689Skan	(Constructing Calls): Document decimal float built-ins.
1167169689Skan	* doc/tm.texi: Document TARGET_DECIMAL_FLOAT_SUPPORTED_P hook.
1168169689Skan	* Makefile.in (USER_H): Add $(srcdir)/ginclude/decfloat.h.
1169169689Skan	* ginclude/decfloat.h: New file.
1170169689Skan
1171169689Skan2005-12-16  Alan Modra  <amodra@bigpond.net.au>
1172169689Skan
1173169689Skan	* reload.c (find_reloads): Fix comment typo.
1174169689Skan	* recog.h (recog_memoized): Correct comment.
1175169689Skan
1176169689Skan2005-12-16  Kazu Hirata  <kazu@codesourcery.com>
1177169689Skan
1178169689Skan	* basic-block.h, config/i386/winnt.c, config/pa/pa.c,
1179169689Skan	config/s390/s390.c, dfp.c, expr.c, fold-const.c, params.def,
1180169689Skan	reload.c, struct-equiv.c, tree-ssa-ccp.c, tree-ssa-pre.c,
1181169689Skan	tree-ssa-reassoc.c, tree-ssa-structalias.c: Fix comment typos.
1182169689Skan	* doc/invoke.texi, doc/tm.texi: Fix typos.
1183169689Skan
1184169689Skan2005-12-16  Ben Elliston  <bje@au.ibm.com>
1185169689Skan
1186169689Skan	* real.c (decimal_quad_format): Correct values for emin, emax.
1187169689Skan
1188169689Skan2005-12-15  DJ Delorie  <dj@redhat.com>
1189169689Skan
1190169689Skan	* config/m32c/predicates.md (m32c_psi_scale): New.
1191169689Skan	* config/m32c/m32c.c (m32c_expand_neg_mulpsi3): New.
1192169689Skan	* config/m32c/muldiv.md (mulpsi3): Support negative constants.
1193169689Skan
1194169689Skan2005-12-16  Jan Hubicka  <jh@suse.cz>
1195169689Skan
1196169689Skan	PR rtl-optimization/25224
1197169689Skan	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
1198169689Skan	tables.
1199169689Skan
1200169689Skan2005-12-15  Zdenek Dvorak <dvorakz@suse.cz>
1201169689Skan	    Steven Bosscher <stevenb@suse.de>
1202169689Skan
1203169689Skan	* loop-invariant.c (df): New global variable.
1204169689Skan	(find_defs, check_dependencies, find_invariant_insn, record_uses,
1205169689Skan	find_invariants_bb, find_invariants_body, find_invariants,
1206169689Skan	find_invariants_to_move, move_invariants, free_inv_motion_data,
1207169689Skan	move_single_loop_invariants, move_loop_invariants): Do not pass df in
1208169689Skan	arguments.
1209169689Skan
1210169689Skan2005-12-15  Jakub Jelinek  <jakub@redhat.com>
1211169689Skan
1212169689Skan	* varasm.c (default_unique_section_1): Use special section
1213169689Skan	names for SECCAT_DATA_REL{,_RO}{,_LOCAL}.
1214169689Skan
1215169689Skan2005-12-16  Ben Elliston  <bje@au.ibm.com>
1216169689Skan
1217169689Skan	* doc/invoke.texi (Warning Options): Document -Walways-true being
1218169689Skan	enabled by -Wall.
1219169689Skan
1220169689Skan2005-12-15  Joseph S. Myers  <joseph@codesourcery.com>
1221169689Skan
1222169689Skan	PR other/25028
1223169689Skan	* libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define.
1224169689Skan	* libgcc2.c (__floatdixf, __floatundixf, __floatditf,
1225169689Skan	__floatunditf): Use #error if type sizes don't match requirements
1226169689Skan	of implementation.
1227169689Skan	(__floatdisf, __floatdidf): Unify.  Possibly use XFmode or TFmode
1228169689Skan	as wider floating-point type.  Use #error if type sizes don't
1229169689Skan	match requirements of implementation.  Avoid overflow in computing
1230169689Skan	Wtype_MAXp1_F * Wtype_MAXp1_F.  When special casing conversion,
1231169689Skan	shift one more bit.  Cast 1 to DWtype or UDWtype for shifting.
1232169689Skan	(__floatundisf, __floatundidf): Likewise.
1233169689Skan	* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define.
1234169689Skan	* config/ia64/ia64.c (ia64_init_libfuncs): Use
1235169689Skan	_U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for
1236169689Skan	TFmode-TImode conversions.
1237169689Skan	* doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document.
1238169689Skan
1239169689Skan2005-12-14  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1240169689Skan
1241169689Skan	* freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS):
1242169689Skan	Use builtin_define_with_int_value() instead of
1243169689Skan	adding a new check for every new major FreeBSD version.
1244169689Skan
1245169689Skan2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
1246169689Skan
1247169689Skan	* config/t-darwin (darwin-c.o): Depend on $(TREE_H) instead of tree.h.
1248169689Skan
1249169689Skan2005-12-15  Richard Sandiford  <richard@codesourcery.com>
1250169689Skan
1251169689Skan	* config/arm/predicates.md (call_memory_operand): New.
1252169689Skan	* config/arm/arm.md (*call_mem, *call_value_mem): Use it.
1253169689Skan
1254169689Skan2005-12-15  Andrew Haley  <aph@redhat.com>
1255169689Skan
1256169689Skan	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Guard
1257169689Skan	against prev_cache_entry == NULL when moving a cache entry to the
1258169689Skan	head of the list.
1259169689Skan
1260169689Skan2005-12-15  Nathan Sidwell  <nathan@codesourcery.com>
1261169689Skan
1262169689Skan	* config/mt/mt.c (mt_override_options): Require lower case
1263169689Skan	architectures.  Revert accidental default to ms2.
1264169689Skan	* config/mt/mt.h (ASM_SPEC, LIBSPEC, STARTFILE_SPEC,
1265169689Skan	ENDFILE_SPEC): Require lower case architectures.  Revert default
1266169689Skan	to ms2.
1267169689Skan
1268169689Skan	* doc/invoke.texi (MT Options): Rename and update.
1269169689Skan	* doc/md.texi (MorphoTech family): Rename and update.
1270169689Skan
1271169689Skan2005-12-15  Olivier Hainque  <hainque@adacore.com>
1272169689Skan
1273169689Skan	* stor-layout.c (layout_type): Don't complain about a too small
1274169689Skan	an array element type size compared to its alignment when the
1275169689Skan	size overflows.
1276169689Skan
1277169689Skan2005-12-15  Jan Hubicka  <jh@suse.cz>
1278169689Skan
1279169689Skan	PR target/24969
1280169689Skan	* i386.c (classify_argument): Properly adjust offset of bitfield for
1281169689Skan	substructures.
1282169689Skan
1283169689Skan2005-12-15  Richard Sandiford  <richard@codesourcery.com>
1284169689Skan
1285169689Skan	* final.c (final_scan_insn): Flip in_cold_section_p when changing
1286169689Skan	between the hot and cold sections.  Use current_function_section
1287169689Skan	to get the new section.
1288169689Skan	* dwarf2out.c (output_line_info): Use in_cold_section_p to
1289169689Skan	determine whether we are assembling hot or cold code.
1290169689Skan	(secname_for_decl, dwarf2out_var_location): Likewise.
1291169689Skan	(dwarf2out_init, dwarf2out_finish): Use switch_to_section.
1292169689Skan	* varasm.c (last_text_section): Delete.
1293169689Skan	(in_cold_section_p): New variable.
1294169689Skan	(hot_function_section): New function.
1295169689Skan	(current_function_section): Pass in_cold_section_p as the
1296169689Skan	reloc argument to select_section.  Use it to decide between
1297169689Skan	unlikely_function_section and hot_function_section.
1298169689Skan	(assemble_start_function): Use switch_to_section.  Set
1299169689Skan	in_cold_section_p instead of last_text_section.
1300169689Skan	(assemble_end_function): Use switch_to_section.
1301169689Skan	(switch_to_section): Don't set last_text_section.
1302169689Skan	* config/darwin/darwin.c (machopic_select_section): Trust the reloc
1303169689Skan	argument to make the right choice between hot and cold sections.
1304169689Skan
1305169689Skan2005-12-15  Nathan Sidwell  <nathan@codesourcery.com>
1306169689Skan
1307169689Skan	Second part of MS1->MT renaming
1308169689Skan	* config/mt/mt.md (doloop_end): Call mt_add_loop.
1309169689Skan	(movqi, movhi): Call mt_set_memflags.
1310169689Skan	(*movdf_internal): Call mt_split_words.
1311169689Skan	(reload_inqi, reload_outqi, reload_inhi, reload_outhi): Call
1312169689Skan	mt_set_memflags.
1313169689Skan	(cmpsi): Store to mt_compare_op[01].
1314169689Skan	(beq, bne, bge, bgt, ble, blt, bgeu, bgtu, bleu, bltu, bunge,
1315169689Skan	bungt, bunle, bunlt): Call mt_emit_cbranch.
1316169689Skan	(prologue): Call mt_expand_prologue.
1317169689Skan	(epilogu): Call mt_expend_epilogue.
1318169689Skan	(eh_return): Call mt_expand_eh_return.
1319169689Skan	(eh_epilogue): Call me_emit_eh_epilogue.
1320169689Skan	(conditional_trap): Store to mt_compare_op[01].
1321169689Skan	* config/mt/crti.asm: Adjust comment.
1322169689Skan	* config/mt/crtn.asm: Adjust comment.
1323169689Skan	* config/mt/mt.c (MT_INT_ARG_FIRST): Renamed.
1324169689Skan	(mt_compare_op0, mt_compare_op1): Renamed.
1325169689Skan	(current_frame_info, zero_frame_info): Adjust type.
1326169689Skan	(mt_ucmpsi3_libcall): Renamed.
1327169689Skan	(mt_flag_delayed_branch): Renamed.
1328169689Skan	(mt_struct_value_rtx, mt_return_addr_rtx): Renamed.
1329169689Skan	(mt_nops_required, mt_nop_reasons): Renamed.
1330169689Skan	(mt_asm_output_opcode, mt_get_attr_type, mt_final_prescan_insn,
1331169689Skan	mt_debug_stack, mt_print_operand_simple_address,
1332169689Skan	mt_print_operand_address, mt_print_operand): Renamed, adjusted.
1333169689Skan	(mt_init_cumulative_args, mt_function_arg_slotno, mt_function_arg,
1334169689Skan	mt_function_arg_advance, mt_arg_partial_bytes,
1335169689Skan	mt_pass_by_reference, mt_function_arg_boundary,
1336169689Skan	mt_reg_ok_for_base_p, mt_legitimate_simple_address_p,
1337169689Skan	mt_legitimate_address_p): Renamed, adjusted.
1338169689Skan	(mt_cpu): Renamed.
1339169689Skan	(mt_init_machine_status, mt_override_options, mt_builtin_saveregs,
1340169689Skan	mt_va_start, mt_compute_frame_size, mt_emit_save_restore,
1341169689Skan	mt_emit_save_fp, mt_emit_save_regs, mt_interrupt_function_p,
1342169689Skan	mt_expand_prologue, mt_epilogue_uses, mt_expand_epilogue,
1343169689Skan	mt_expand_eh_return, mt_emit_eh_prologue,
1344169689Skan	mt_handl_interrupt_attribute): Renamed, adjusted.
1345169689Skan	(mt_attribute_table): Renamed, adjusted.
1346169689Skan	(mt_initial_elimination_offset, mt_generate_compare,
1347169689Skan	mt_emit_cbranch, mt_set_memflags_1, mt_set_memflags,
1348169689Skan	mt_secondary_reload_class, mt_function_value, mt_split_words,
1349169689Skan	mt_pass_in_stack, mt_add_loop, mt_loop_nesting, mt_block_length,
1350169689Skan	mt_scan_loop, mt_reorg_loops): Renamed, adjusted.
1351169689Skan	(mt_labels): Renamed.
1352169689Skan	(mt_add_branches, mt_check_delay_slot, mt_reorg_hazard,
1353169689Skan	mt_machine_reorg): Renamed, adjusted.
1354169689Skan	(mt_attribute_table: Renamed.
1355169689Skan	(TARGET_ATTRIBUTE_TABLE, TARGET_STRUCT_VALUE_RTX,
1356169689Skan	TARGET_PASS_BY_REFERENCE, TARGET_MUST_PASS_IN_STACK,
1357169689Skan	TARGET_ARG_PARTIAL_BYTES, TARGET_MACHINE_DEPENDENT_REORG): Adjust.
1358169689Skan	* config/mt/mt.opt (march): Set mt_cpu_string.
1359169689Skan	* config/mt/mt.h (mt_ucmpsi3_libcall, mt_cpu): Renamed.
1360169689Skan	(TARGET_CPU_CPP_BUILTINS): Adjust.
1361169689Skan	(TARGET_MS1_64_001, TARGET_MS1_16_002, TARGET_MS1_16_003,
1362169689Skan	TARGET_MS2): Adjust.
1363169689Skan	(TARGET_VERSION, OVERRIDE_OPTIONS, SECONDARY_RELOAD_CLASS): Adjust.
1364169689Skan	(MT_MIN_INT): Renamed.
1365169689Skan	(RETURN_ADDR_RTX): Adjust.
1366169689Skan	(struct mt_frame_info): Renamed.
1367169689Skan	(current_frame_info): Adjust type.
1368169689Skan	(INITIAL_ELIMINATION_OFFSET): Adjust.
1369169689Skan	(MT_NUM_ARG_REGS): Renamed.
1370169689Skan	(REG_PARM_STACK_SPACE, FUNCTION_ARG, INIT_CUMULATVE_ARGS,
1371169689Skan	FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY, FUNCTION_VALUE,
1372169689Skan	LIBCALL_VALUE, EPILOGUE_USES, EXPAND_BUILTIN_VA_START,
1373169689Skan	GO_IF_LEGITIMATE_ADDRESS, REG_OK_FOR_BASE_P, ASM_OUTPUT_OPCODE,
1374169689Skan	FINAL_REPSCAN_INSN, PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Adjust.
1375169689Skan	(mt_compare_op0, mt_compare_op1): Renamed.
1376169689Skan	* config/mt/mt-protos.h: Rename prototypes.
1377169689Skan
1378169689Skan2005-12-15  Richard Guenther  <rguenther@suse.de>
1379169689Skan
1380169689Skan	* tree-flow.h (okay_component_ref_for_subvars): Remove.
1381169689Skan	(get_ref_base_and_extent): Declare.
1382169689Skan	* tree-dfa.c (okay_component_ref_for_subvars): Remove.
1383169689Skan	(get_ref_base_and_extent): New function.
1384169689Skan	* tree-ssa-alias.c (find_used_portions): Use it.
1385169689Skan	* tree-ssa-structalias.c (get_constraint_for_component_ref):
1386169689Skan	Likewise.
1387169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
1388169689Skan
1389169689Skan2005-12-15  Paolo Bonzini  <bonzini@gnu.org>
1390169689Skan
1391169689Skan	* combine.c: Remove force_to_mode's fourth parameter.
1392169689Skan	(force_to_mode): Do not handle REG.
1393169689Skan	(canon_reg_for_combine): New.
1394169689Skan	(make_field_assignment): Use it where the removed argument was non-NULL.
1395169689Skan
1396169689Skan2005-12-15  Alan Modra  <amodra@bigpond.net.au>
1397169689Skan
1398169689Skan	PR target/25406
1399169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align): Handle
1400169689Skan	error_mark_node.  Make alignment params unsigned.
1401169689Skan	* config/rs6000/rs6000-protos.h
1402169689Skan	(rs6000_special_round_type_align): Update prototype.
1403169689Skan	(rs6000_machopic_legitimize_pic_address): Remove arg names.
1404169689Skan
1405169689Skan2005-12-14  Ulrich Weigand  <uweigand@de.ibm.com>
1406169689Skan
1407169689Skan	PR rtl-optimization/25310
1408169689Skan	* reload1.c (eliminate_regs_in_insn): Handle lowpart SUBREGs
1409169689Skan	of the eliminable register when substituting into a PLUS.
1410169689Skan
1411169689Skan2005-12-14  Jakub Jelinek  <jakub@redhat.com>
1412169689Skan
1413169689Skan	PR debug/25023
1414169689Skan	* config/i386/i386.c (ix86_force_to_memory): Always use
1415169689Skan	SImode push for HImode in -m32.
1416169689Skan	(ix86_free_from_memory): Likewise.
1417169689Skan
1418169689Skan2005-12-14  Richard Sandiford  <richard@codesourcery.com>
1419169689Skan
1420169689Skan	* config/arm/arm.md: Provide a big-endian version of the
1421169689Skan	(zero_extend:SI (subreg:QI ...)) splitter.
1422169689Skan
1423169689Skan2005-12-14  J"orn Rennecke <joern.rennecke@st.com>
1424169689Skan
1425169689Skan	* struct-equiv.c (note_local_live): Handle hard regs with different
1426169689Skan	hard_regno_nregs.
1427169689Skan
1428169689Skan2005-12-14  Jeff Law  <law@redhat.com>
1429169689Skan
1430169689Skan	* tree-ssa-ccp.c (fold_stmt_r): DATA argument is now a pointer
1431169689Skan	to a structure containing state rather than a pointer to bool.
1432169689Skan	(case ARRAY_REF): New code to handle folding some array references.
1433169689Skan	(case ADDR_EXPR): Note when we are processing expressions found
1434169689Skan	within an ADDRE_EXPR.
1435169689Skan	(fold_stmt, fold_stmt_inplace): Pass in a structure to fold_stmt_r
1436169689Skan	for state variables rather than just a pointer to a boolean.
1437169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Remove
1438169689Skan	handling of constant string references.
1439169689Skan
1440169689Skan2005-12-14  Adrian Straetling  <straetling@de.ibm.com>
1441169689Skan
1442169689Skan	* config/s390/s390.md ("*tstdi_extimm", "*tstsi_extimm"): Merge.
1443169689Skan	("*tstdi_cconly_extimm", "*tstsi_cconly_extimm"): Merge.
1444169689Skan	("*tstdi_cconly2", "*tstsi_cconly2"): Merge.
1445169689Skan	Move other tst* patterns to retain partial order.
1446169689Skan
1447169689Skan2005-12-14  Adrian Straetling  <straetling@de.ibm.com>
1448169689Skan
1449169689Skan	* config/s390/s390.md ("d0", "1"): New mode attributes.
1450169689Skan	("<shift>di3", "<shift>si3"): Merge.
1451169689Skan	("*<shift>di3_and", "*<shift>si3_and"): Merge.
1452169689Skan	("ashrdi3", "ashrsi3"): Merge.
1453169689Skan	("*ashrdi3_cc", "*ashrsi3_cc"): Merge.
1454169689Skan	("*ashrdi3_cc_and", "*ashrsi3_cc_and"): Merge.
1455169689Skan	("*ashrdi3_cconly", "*ashrsi3_cconly"): Merge.
1456169689Skan	("*ashrdi3_cconly_and", "*ashrsi3_cconly_and"): Merge.
1457169689Skan	("*ashrdi3", "*ashrsi3"): Merge.
1458169689Skan	("*ashrdi3_and", "*ashrsi3_and"): Merge.
1459169689Skan
1460169689Skan2005-12-14  Adrian Straetling  <straetling@de.ibm.com>
1461169689Skan
1462169689Skan	* config/s390/s390.md ("extend<mode>di2", "extend<mode>si2"): Merge.
1463169689Skan	("*extendqidi2_extimm", "*extendqisi2_extimm"): Merge.
1464169689Skan	("*extendqidi2", "*extendqisi2") Merge.
1465169689Skan	("*extendqidi2_short_displ", "*extendqisi2_short_displ"): Merge.
1466169689Skan	("zero_extendhidi2", "zero_extendqidi2"): Merge.
1467169689Skan	("*zero_extend<mode>di2_extimm", "*zero_extend<mode>si2_extimm"): Merge.
1468169689Skan	Move some patterns to retain partial ordering.
1469169689Skan
1470169689Skan2005-12-14  Adrian Straetling  <straetling@de.ibm.com>
1471169689Skan
1472169689Skan	* config/s390/s390.md ("atype", "length"): Rewrite.
1473169689Skan	("*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): Add mode.
1474169689Skan
1475169689Skan2005-12-14  Sebastian Pop  <pop@cri.ensmp.fr>
1476169689Skan
1477169689Skan	* tree-ssa-operands.c (build_ssa_operands): Update leading comment.
1478169689Skan
1479169689Skan2005-12-14  J"orn Rennecke <joern.rennecke@st.com>
1480169689Skan
1481169689Skan	* struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for
1482169689Skan	PARALLELs with a mode.
1483169689Skan
1484169689Skan2005-12-14  Sebastian Pop  <pop@cri.ensmp.fr>
1485169689Skan
1486169689Skan	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Adjust the type of
1487169689Skan	cond_expr parameter.
1488169689Skan
1489169689Skan2005-12-14  Sebastian Pop  <pop@cri.ensmp.fr>
1490169689Skan
1491169689Skan	* loop-unswitch.c (unswitch_loop): Free zero_bitmap before returning.
1492169689Skan
1493169689Skan2005-12-14  J"orn Rennecke <joern.rennecke@st.com>
1494169689Skan
1495169689Skan	PR bootstrap/25397:
1496169689Skan
1497169689Skan	* struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing
1498169689Skan	of STACK_REGS bits.
1499169689Skan
1500169689Skan	* struct-euiv.c (rtx_equiv_p): Remove SUBREG case.
1501169689Skan
1502169689Skan2005-12-14  Jakub Jelinek  <jakub@redhat.com>
1503169689Skan
1504169689Skan	PR target/25254
1505169689Skan	PR target/24188
1506169689Skan	* config/i386/i386.c (x86_64_elf_select_section): If DECL is not
1507169689Skan	DECL_P, call get_section rather than get_named_section.  Supply
1508169689Skan	section flags to it.
1509169689Skan
1510169689Skan2005-12-14  Ben Elliston  <bje@au.ibm.com>
1511169689Skan
1512169689Skan	* c-common.c (c_common_truthvalue_conversion): Generalise warning
1513169689Skan	for addresses converted to booleans; not just function addresses.
1514169689Skan	* c-typeck.c (build_binary_op): Warn for address comparisons which
1515169689Skan	can never be NULL (eg. func == NULL or &var == NULL).
1516169689Skan	* common.opt (Walways-true): New option.
1517169689Skan	* c-opts.c (c_common_handle_option): Set it with -Wall.
1518169689Skan	* doc/invoke.texi: Document it.
1519169689Skan
1520169689Skan2005-12-13  Paul Brook  <paul@codesourcery.com>
1521169689Skan
1522169689Skan	* config/m68k/fpgnulib.c (__unordsf2, __unorddf2, __unordxf2,
1523169689Skan	__floatunsidf, __floatunsisf, __floatunsixf): New functions.
1524169689Skan
1525169689Skan2005-12-13  Nathan Sidwell  <nathan@codesourcery.com>
1526169689Skan
1527169689Skan	* config/mt/t-mt (crti.o, crtn.o): Add multilib options.
1528169689Skan	(EXTRA_MULTILIB_PARTS): Define.
1529169689Skan
1530169689Skan2005-12-13  J"orn Rennecke <joern.rennecke@st.com>
1531169689Skan
1532169689Skan	PR rtl-optimization/20070 / part1
1533169689Skan	* flow.c (update_life_info): If PROP_POST_REGSTACK is set, call
1534169689Skan	count_or_remove_death_notes with kill == -1.
1535169689Skan	(mark_set_1): Don't add REG_DEAD / REG_UNUSED notes for stack
1536169689Skan	registers if PROP_POST_REGSTACK is set.
1537169689Skan	(mark_used_reg): Likewise.
1538169689Skan	(count_or_remove_death_notes): If kill is -1, don't remove REG_DEAD /
1539169689Skan	REG_UNUSED notes for stack regs.
1540169689Skan	* cfgcleanup.c (condjump_equiv_p): Change parameters and processing
1541169689Skan	to match rtx_equiv_p machinery.  Change caller.
1542169689Skan	(outgoing_edges_match): Likewise.
1543169689Skan	(try_crossjump_to_edge): Use struct_equiv_block_eq
1544169689Skan	instead of flow_find_cross_jump.
1545169689Skan	* basic-block.h (PROP_POST_REGSTACK, STRUCT_EQUIV_START): Define.
1546169689Skan	(STRUCT_EQUIV_RERUN, STRUCT_EQUIV_FINAL): Likewise.
1547169689Skan	(STRUCT_EQUIV_NEED_FULL_BLOCK, STRUCT_EQUIV_MATCH_JUMPS): Likewise.
1548169689Skan	(STRUCT_EQUIV_MAX_LOCAL): Likewise.
1549169689Skan	(struct struct_equiv_checkpoint, struct equiv_info): Likewise.
1550169689Skan	(insns_match_p): Update prototype.
1551169689Skan	(flow_find_cross_jump): Remove prototype.
1552169689Skan	(struct_equiv_block_eq, struct_equiv_init): Declare.
1553169689Skan	(rtx_equiv_p, condjump_equiv_p): Likewise.
1554169689Skan	* struct-equiv.c: Include reload.h.
1555169689Skan	(IMPOSSIBLE_MOVE_FACTOR): Define.
1556169689Skan	(assign_reg_reg_set, struct_equiv_make_checkpoint): New functions.
1557169689Skan	(struct_equiv_improve_checkpoint): Likewise.
1558169689Skan	(struct_equiv_restore_checkpoint, rtx_equiv_p): Likewise.
1559169689Skan	(set_dest_equiv_p, set_dest_addr_equiv_p, struct_equiv_init): Likewise.
1560169689Skan	(struct_equiv_merge, find_dying_input): Likewise.
1561169689Skan	(resolve_input_conflict, note_local_live): Likewise.
1562169689Skan	(death_notes_match_p): Change parameters and processing
1563169689Skan	to match rtx_equiv_p machinery.  Change caller.
1564169689Skan	(insns_match_p): Likewise.
1565169689Skan	(flow_find_cross_jump): Replace with:
1566169689Skan	(struct_equiv_block_eq).
1567169689Skan
1568169689Skan	Back out this change:
1569169689Skan	2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
1570169689Skan	  * recog.c (verify_changes): Make it static.
1571169689Skan	  * recog.h: Remove the corresponding prototype.
1572169689Skan
1573169689Skan2005-12-13  J"orn Rennecke <joern.rennecke@st.com>
1574169689Skan
1575169689Skan	* rtlhooks.c (gen_lowpart_general): Handle SUBREGs of floating point
1576169689Skan	values.
1577169689Skan
1578169689Skan2005-12-13  Nathan Sidwell  <nathan@codesourcery.com>
1579169689Skan
1580169689Skan	* config/mt/t-mt (MULTILIB_OPTIONS): Add ms2
1581169689Skan	(MULTILIB_DIRNAMES): Add ms2.  Prefix ms1 dirs with 'ms1'.
1582169689Skan	* config/mt/mt.c (ms1_final_prescan): Use TARGET_MS2,
1583169689Skan	TARGET_MS1_64_001 appropriately.
1584169689Skan	(ms1_machine_reorg): Use TARGET_MS2.
1585169689Skan
1586169689Skan2005-12-13  Jakub Jelinek  <jakub@redhat.com>
1587169689Skan
1588169689Skan	PR debug/25023
1589169689Skan	PR target/25293
1590169689Skan	* expr.c (emit_move_resolve_push): Handle PRE_MODIFY
1591169689Skan	and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
1592169689Skan	Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
1593169689Skan	* config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
1594169689Skan	Set mode to SI, adjust constraints.
1595169689Skan	(pushhi2_rex64, pushqi2_rex64): Set mode to DI.
1596169689Skan	* config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
1597169689Skan	32-bit code.
1598169689Skan
1599169689Skan2005-12-13  Carlos O'Donell <carlos@codesourcery.com>
1600169689Skan
1601169689Skan	* c-cppbuiltin.c (builtin_define_float_constants): Add
1602169689Skan	fp_cast parameter, pass to builtin_define_with_hex_fp_value.
1603169689Skan	Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__.
1604169689Skan	(builtin_define_with_hex_fp_value): Use fp_cast when building macro.
1605169689Skan	(c_cpp_builtins): If flag_single_precision_constant then set fp_cast
1606169689Skan	to "((double)%sL)" otherwise "%s".
1607169689Skan
1608169689Skan2005-12-13  Paul Brook  <paul@codesourcery.com>
1609169689Skan
1610169689Skan	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for
1611169689Skan	apcs/atpcs.
1612169689Skan
1613169689Skan2005-12-11 Rafael vila de Espndola <rafael.espindola@gmail.com>
1614169689Skan
1615169689Skan	* tree-flow.h: Allow compilation with a C++ compiler.
1616169689Skan	(struct edge_prediction): Prefix all field names  with "ep_".
1617169689Skan	* predict.c (tree_predicted_by_p): Likewise for struct edge_prediction.
1618169689Skan	(tree_predict_edge, combine_predictions_for_bb): Likewise.
1619169689Skan	(remove_predictions_associated_with_edge): Likewise.
1620169689Skan
1621169689Skan2005-12-12  Jeff Law  <law@redhat.com>
1622169689Skan
1623169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Remove
1624169689Skan	reassociation code.
1625169689Skan	* passes.c (init_optimization_passes): Run reassociation again
1626169689Skan	after loop optimizations.
1627169689Skan
1628169689Skan2005-12-12  Daniel Berlin  <dberlin@dberlin.org>
1629169689Skan
1630169689Skan	* tree-ssa-dom.c (thread_across_edge): Canonicalize condition
1631169689Skan	if necessary.
1632169689Skan	(optimize_stmt): Ditto.
1633169689Skan	(canonicalize_comparison): New function.
1634169689Skan	* tree-ssa-operands.c (swap_tree_operands): Make external.
1635169689Skan	(get_expr_operands): Stop auto-canonicalization.
1636169689Skan	* tree-ssa-reassoc.c: Rewrite.
1637169689Skan	(init_optimization_passes):
1638169689Skan	* tree-flow.h (swap_tree_operands): Prototype.
1639169689Skan	* Makefile.in (tree-ssa-reassoc.o): Update dependencies.
1640169689Skan
1641169689Skan2005-12-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1642169689Skan
1643169689Skan	* pa.c (pa_output_function_epilogue): Set cfun->machine->in_nsubspa to
1644169689Skan	indicate function epilogue has been output.
1645169689Skan	(pa_asm_output_mi_thunk): Likewise.
1646169689Skan	(output_deferred_plabels): Put plabels in readonly data section when
1647169689Skan	not generating PIC code.
1648169689Skan	(som_output_text_section_asm_op): Use .NSUBSPA to output debug
1649169689Skan	information.  Add assert.
1650169689Skan	(som_output_comdat_data_section_asm_op): New function.
1651169689Skan	(pa_som_asm_init_sections): Use som_output_comdat_data_section_asm_op
1652169689Skan	instead of output_section_asm_op for COMDAT sections.
1653169689Skan
1654169689Skan2005-12-12  J"orn Rennecke <joern.rennecke@st.com>
1655169689Skan
1656169689Skan	* cfgcleanup.c (condjump_equiv_p, try_crossjump_to_edge):
1657169689Skan	Fix whitespace in vincinity of to-be-installed changes.
1658169689Skan	* struct-equiv.c (merge_memattrs, death_notes_match_p): Fix whitespace.
1659169689Skan	(insns_match_p): Likewise.
1660169689Skan
1661169689Skan2005-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1662169689Skan
1663169689Skan	* config.gcc (ms1): Replace with ...
1664169689Skan	(mt): ... this.
1665169689Skan	* config/ms1: Rename to ...
1666169689Skan	* config/mt: ... here.  Rename ms1 files to mt.
1667169689Skan	* config/mt/mt.c: Adjust gt-mt.h #include.
1668169689Skan	* config/mt/t-mt (LIB1ASMSRCS, LIB2FUNCS_EXTRA): Adjust.
1669169689Skan	(crti.o, crtn.o): Adjust file names.
1670169689Skan
1671169689Skan2005-12-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1672169689Skan
1673169689Skan	* varray.h: Allow compilation with a C++ compiler.
1674169689Skan	(union varray_data_tag): Prefix all field names with "vdt_".
1675169689Skan	(VARRAY_CHAR, VARRAY_UCHAR, VARRAY_SHORT, VARRAY_USHORT,
1676169689Skan	VARRAY_INT, VARRAY_UINT, VARRAY_LONG, VARRAY_ULONG,
1677169689Skan	VARRAY_WIDE_INT, VARRAY_UWIDE_INT, VARRAY_GENERIC_PTR,
1678169689Skan	VARRAY_GENERIC_PTR_NOGC, VARRAY_CHAR_PTR, VARRAY_RTX,
1679169689Skan	VARRAY_RTVEC, VARRAY_TREE, VARRAY_BITMAP, VARRAY_REG, VARRAY_BB,
1680169689Skan	VARRAY_ELT_LIST, VARRAY_EDGE, VARRAY_TREE_PTR): Adjust definition.
1681169689Skan	(VARRAY_PUSH_CHAR, VARRAY_PUSH_UCHAR, VARRAY_PUSH_SHORT,
1682169689Skan	VARRAY_PUSH_USHORT, VARRAY_PUSH_INT, VARRAY_PUSH_UINT,
1683169689Skan	VARRAY_PUSH_LONG, VARRAY_PUSH_ULONG, VARRAY_PUSH_WIDE_INT,
1684169689Skan	VARRAY_PUSH_UWIDE_INT, VARRAY_PUSH_GENERIC_PTR,
1685169689Skan	VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_CHAR_PTR,
1686169689Skan	VARRAY_PUSH_RTX, VARRAY_PUSH_RTVEC, VARRAY_PUSH_TREE,
1687169689Skan	VARRAY_PUSH_BITMAP, VARRAY_PUSH_REG, VARRAY_PUSH_BB,
1688169689Skan	VARRAY_PUSH_EDGE, VARRAY_PUSH_TREE_PTR): Likewise.
1689169689Skan	(VARRAY_TOP_CHAR, VARRAY_TOP_UCHAR, VARRAY_TOP_SHORT,
1690169689Skan	VARRAY_TOP_USHORT, VARRAY_TOP_INT, VARRAY_TOP_UINT,
1691169689Skan	VARRAY_TOP_LONG, VARRAY_TOP_ULONG, VARRAY_TOP_WIDE_INT,
1692169689Skan	VARRAY_TOP_UWIDE_INT, VARRAY_TOP_GENERIC_PTR,
1693169689Skan	VARRAY_TOP_GENERIC_PTR_NOGC, VARRAY_TOP_CHAR_PTR, VARRAY_TOP_RTX,
1694169689Skan	VARRAY_TOP_RTVEC, VARRAY_TOP_TREE, VARRAY_TOP_BITMAP,
1695169689Skan	VARRAY_TOP_REG, VARRAY_TOP_BB, VARRAY_TOP_EDGE,
1696169689Skan	VARRAY_TOP_TREE_PTR): Likewise.
1697169689Skan	* varray.c (varray_grow): Likewise.
1698169689Skan	(varray_clear): Likewise.
1699169689Skan
1700169689Skan2005-12-12  Alan Modra  <amodra@bigpond.net.au>
1701169689Skan
1702169689Skan	PR target/25299
1703169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align): Increase
1704169689Skan	alignment to doubleword if the first field is a double array.
1705169689Skan	* config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define.
1706169689Skan
1707169689Skan2005-12-11  Daniel Berlin  <dberlin@dberlin.org>
1708169689Skan
1709169689Skan	* tree-ssa-structalias.c (process_constraint): Remove code to
1710169689Skan	transform addressofs into scalar.
1711169689Skan	(create_variable_info_for): In whole-program IPA, globals don't
1712169689Skan	point to ANYTHING by default.
1713169689Skan
1714169689Skan2005-12-11  Daniel Berlin  <dberlin@dberlin.org>
1715169689Skan
1716169689Skan	* timevar.def (TV_IPA_PTA): New.
1717169689Skan	* tree-pass.h (pass_ipa_pta): New
1718169689Skan	* tree-ssa-structalias.c: Include cgraph.h
1719169689Skan	(in_ipa_mode): New.
1720169689Skan	(predbitmap_obstack): New.
1721169689Skan	(EXECUTE_IF_IN_NONNULL_BITMAP): New.
1722169689Skan	(struct constraint_stats): Add num_edges.
1723169689Skan	(new_var_info): Don't call bitmap_clear.
1724169689Skan	(struct constraint_edge): Update docs.
1725169689Skan	(new_constraint_edge): Remove src param.
1726169689Skan	(struct constraint_graph): Add zero_weight_succs,
1727169689Skan	zero_weight_preds.  Update docs.
1728169689Skan	(constraint_expr_equal): Reformat.
1729169689Skan	(constraint_edge_equal): Update for removal of src.
1730169689Skan	(constraint_edge_less): Ditto.
1731169689Skan	(constraint_edge_vec_find): Ditto.
1732169689Skan	(erase_graph_self_edge): Update for removal of src and and zero
1733169689Skan	weight bitmap.
1734169689Skan	(clear_edges_for_node): Ditto.
1735169689Skan	(add_graph_edge): Ditto.
1736169689Skan	(get_graph_weights): Ditto.
1737169689Skan	(allocate_graph_weights): Ditto.
1738169689Skan	(merge_graph_nodes): Ditto.
1739169689Skan	(int_add_graph_edge): Ditto.
1740169689Skan	(valid_graph_edge): Ditto.
1741169689Skan	(valid_weighted_graph_edge): Ditto.
1742169689Skan	(build_constraint_graph): Ditto.
1743169689Skan	(scc_visit): Ditto.
1744169689Skan	(collapse_nodes): Ditto.
1745169689Skan	(process_unification_queue): Ditto.
1746169689Skan	(topo_visit): Ditto.
1747169689Skan	(solve_graph): Ditto.
1748169689Skan	(do_structure_copy): Ditto.
1749169689Skan	(perform_var_substitution): Ditto.
1750169689Skan	Init and release obstack.
1751169689Skan	(handle_ptr_arith): Try to resolve directly.
1752169689Skan	(find_func_aliases): Don't call update_alias_info here
1753169689Skan	Handle RETURN_EXPR, and CALL_EXPR's in IPA mode.
1754169689Skan	(do_sd_constraint): Add code for propagating faster.
1755169689Skan	Update.
1756169689Skan	(do_ds_constraint): Ditto.
1757169689Skan	(count_num_arguments): New function.
1758169689Skan	(create_function_info_for): Ditto.
1759169689Skan	(create_variable_info_for): Handle FUNCTION_DECL.
1760169689Skan	(intra_create_variable_infos): Use make_constraint_to_anything.
1761169689Skan	(init_alias_vars): Init obstacks here.
1762169689Skan	(need_to_solve): Handle zero weight graph changes.
1763169689Skan	(compute_points_to_sets): Call update_alias_info here.
1764169689Skan	(delete_points_to_sets): Free zero weight preds/succs here.
1765169689Skan	(gate_ipa_pta): New.
1766169689Skan	(ipa_pta_execute): New
1767169689Skan
1768169689Skan2005-12-11  Daniel Berlin  <dberlin@dberlin.org>
1769169689Skan
1770169689Skan	* tree-ssa-structalias.c (var_anyoffset): Removed.
1771169689Skan	(anyoffset_tree): Ditto.
1772169689Skan	(anyoffset_id): Ditto.
1773169689Skan	(do_deref): Take vector of constraints, no return value.
1774169689Skan	Update to work on vector.
1775169689Skan	(get_constraint_for): Ditto.
1776169689Skan	(get_constraint_for_component_ref): Ditto.
1777169689Skan	(do_structure_copy): Ditto.
1778169689Skan	(handle_ptr_arith): Ditto.
1779169689Skan	(find_func_aliases): Ditto.
1780169689Skan	(set_uids_in_ptset): Remove anyoffset handling.
1781169689Skan	(init_base_vars): Ditto.
1782169689Skan
1783169689Skan2005-12-10  Mark Mitchell  <mark@codesourcery.com>
1784169689Skan
1785169689Skan	PR c++/25010
1786169689Skan	* ipa-inline.c (cgraph_clone_inlined_nodes): Do not assume that
1787169689Skan	DECL_EXTERNAL functions have no bodies.  Tidy.
1788169689Skan
1789169689Skan2005-12-10  Andreas Schwab  <schwab@suse.de>
1790169689Skan
1791169689Skan	* except.c (switch_to_exception_section): Only define if
1792169689Skan	TARGET_UNWIND_INFO is not defined.
1793169689Skan
1794169689Skan2005-12-10  Richard Sandiford  <richard@codesourcery.com>
1795169689Skan
1796169689Skan	* config/darwin.h (HAS_INIT_SECTION): Remove definition.
1797169689Skan	(INIT_SECTION_ASM_OP): Restore empty definition from before 2005-12-07.
1798169689Skan
1799169689Skan2005-12-10  Richard Sandiford  <richard@codesourcery.com>
1800169689Skan
1801169689Skan	* output.h (init_section, fini_section): Delete.
1802169689Skan	* varasm.c (init_section, fini_section): Delete.
1803169689Skan	(init_varasm_once): Don't initialize them.
1804169689Skan	* doc/tm.texi (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Say that
1805169689Skan	there are no corresponding varasm.c variables.
1806169689Skan
1807169689Skan2005-12-10  Richard Sandiford  <richard@codesourcery.com>
1808169689Skan
1809169689Skan	* dwarf2out.c (default_eh_frame_section): Delete, moving handling
1810169689Skan	of EH_FRAME_SECTION_NAME into...
1811169689Skan	(switch_to_eh_frame_section): ...here.  Try to set eh_frame_section
1812169689Skan	if it is still null.
1813169689Skan	* except.c (default_exception_section): Delete, moving most
1814169689Skan	of the code to...
1815169689Skan	(switch_to_exception_section): ...this new function.  Set
1816169689Skan	exception_section if it is still null, then switch to it.
1817169689Skan	(output_function_exception_table): Use switch_to_exception_section.
1818169689Skan	* varasm.c (exception_section, eh_frame_section): Update comments.
1819169689Skan	(get_section): Hoist use of SECTION_NAMED.
1820169689Skan	(init_varasm_once): Don't set exception_section and eh_frame_section.
1821169689Skan	* output.h (default_exception_section): Delete.
1822169689Skan	(default_eh_frame_section): Delete.
1823169689Skan
1824169689Skan2005-12-09  Bernd Schmidt  <bernd.schmidt@analog.com>
1825169689Skan
1826169689Skan	* config/bfin/bfin.c: Include "cgraph.h".
1827169689Skan	(bfin_load_pic_reg): Omit loading pic reg if in a local function.
1828169689Skan	Return the reg that holds the pointer to the GOT.
1829169689Skan	(bfin_expand_prologue): Use return value of bfin_load_pic_reg when
1830169689Skan	doing stack checking.
1831169689Skan
1832169689Skan2005-12-09  Diego Novillo  <dnovillo@redhat.com>
1833169689Skan
1834169689Skan	* tree.c (recompute_tree_invariant_for_addr_expr): Rename from
1835169689Skan	recompute_tree_invarant_for_addr_expr.
1836169689Skan	Update uses everywhere.
1837169689Skan
1838169689Skan2005-12-09  Aldy Hernandez  <aldyh@redhat.com>
1839169689Skan
1840169689Skan	* config/ms1/t-ms1 (MULTILIB_OPTIONS): Define.
1841169689Skan	(MULTILIB_DIRNAMES): Define.
1842169689Skan
1843169689Skan2005-12-09  Ulrich Weigand  <uweigand@de.ibm.com>
1844169689Skan
1845169689Skan	PR target/25311
1846169689Skan	* config/s390/s390.c (struct s390_address): New field literal_pool.
1847169689Skan	(s390_decompose_address): Compute literal_pool field.  Do not
1848169689Skan	assume register %r13 is always (and solely) used as pool base.
1849169689Skan	(s390_extra_constraint_str): Use literal_pool field.
1850169689Skan
1851169689Skan2005-12-09  Thiemo Seufer  <ths@networkno.de>
1852169689Skan
1853169689Skan	* config/mips/mips.c (override_options): Don't allow too small
1854169689Skan	integers in FP registers.
1855169689Skan
1856169689Skan2005-12-09  Ulrich Weigand  <uweigand@de.ibm.com>
1857169689Skan
1858169689Skan	* config/s390/s390.c (s390_function_ok_for_sibcall): Use
1859169689Skan	targetm.binds_local_p to check for local function calls.
1860169689Skan
1861169689Skan2005-12-09  Alan Modra  <amodra@bigpond.net.au>
1862169689Skan
1863169689Skan	PR debug/24908
1864169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
1865169689Skan	call_used_regs can't be used to save reg in another reg.
1866169689Skan
1867169689Skan2005-12-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1868169689Skan	    Christophe Jaillet  <christophe.jaillet@wanadoo.fr>
1869169689Skan
1870169689Skan	* ipa-type-escape.c (analyze_variable): Use gcc_assert instead of
1871169689Skan	abort.
1872169689Skan	* except.c (output_ttype): Likewise.
1873169689Skan	* tree-object-size.c (collect_object_sizes_for): Likewise.
1874169689Skan	(check_for_plus_in_loops_1): Likewise.
1875169689Skan	(check_for_plus_in_loops): Likewise.
1876169689Skan	(compute_object_sizes): Use gcc_unreachable instead of abort.
1877169689Skan
1878169689Skan2005-12-08  Nathan Sidwell  <nathan@codesourcery.com>
1879169689Skan
1880169689Skan	* config/ms1/ms1.md (UNSPEC_LOOP): New constant.
1881169689Skan	(loop_end, loop_init, doloop_end): New insns.
1882169689Skan	* config/ms1/ms1.h (LOOP_FIRST, LOOP_LAST): New.
1883169689Skan	(SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust.
1884169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
1885169689Skan	(REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust.
1886169689Skan	* config/ms1/ms1.c: #include basic-block.h
1887169689Skan	(struct machine_function): Add has_loops field.
1888169689Skan	(ms1_add_loop): New.
1889169689Skan	(MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New.
1890169689Skan	(struct loop_info, struct loop_work): New.
1891169689Skan	(ms1_loop_nesting, ms1_block_length, ms1_scan_loop): New workers.
1892169689Skan	(ms1_reorg_loops): New loop optimization.
1893169689Skan	(ms1_machine_reorg): Call it.
1894169689Skan	* config/ms1/ms1-protos.h (ms1_add_loop): Declare.
1895169689Skan
1896169689Skan2005-12-08  Zdenek Dvorak  <dvorakz@suse.cz>
1897169689Skan
1898169689Skan	PR tree-optimization/25248
1899169689Skan	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
1900169689Skan	evolution_of_loop from the failed attempt.  Remove handling
1901169689Skan	of MULT_EXPR.
1902169689Skan
1903169689Skan2005-12-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1904169689Skan
1905169689Skan	* tree.h (DECL_EXTERNAL): Clarify documentation.
1906169689Skan
1907169689Skan2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
1908169689Skan	    Jakub Jelinek  <jakub@redhat.com>
1909169689Skan
1910169689Skan	PR target/25268
1911169689Skan	* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
1912169689Skan	argument.  Don't drop outer ANDs.
1913169689Skan	(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
1914169689Skan	* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
1915169689Skan	prototype.
1916169689Skan	* config/s390/predicates.md (setmem_operand): Remove.
1917169689Skan	(shift_count_operand): Rename to...
1918169689Skan	(shift_count_or_setmem_operand): ... this.  Adjust
1919169689Skan	s390_decompose_shift_count caller.
1920169689Skan	* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
1921169689Skan	ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
1922169689Skan	ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
1923169689Skan	<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
1924169689Skan	rotl<mode>3_and, setmem_long_and): New insns.
1925169689Skan	(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
1926169689Skan	ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
1927169689Skan	<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
1928169689Skan	<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
1929169689Skan	of shift_count_operand.
1930169689Skan	(setmem_long): Use shift_count_or_setmem_operand instead of
1931169689Skan	setmem_operand.
1932169689Skan
1933169689Skan2005-12-08  Daniel Jacobowitz  <dan@codesourcery.com>
1934169689Skan	    Andreas Tobler  <a.tobler@schweiz.ch>
1935169689Skan
1936169689Skan	* Makefile.in (ALL_GTFILES_H): Replace sed statement with more portable
1937169689Skan	tr expression.
1938169689Skan
1939169689Skan2005-12-07  J"orn Rennecke <joern.rennecke@st.com>
1940169689Skan
1941169689Skan	* expr.c (force_operand): Use convert_to_mode for conversions.
1942169689Skan
1943169689Skan2005-12-07  J"orn Rennecke <joern.rennecke@st.com>
1944169689Skan
1945169689Skan	* reload.h (reg_equiv_invariant): Declare.
1946169689Skan	* reload.c (refers_to_regno_for_reload_p): Allow R to be a pseudo
1947169689Skan	register also when reg_equiv_invariant[R] is set.
1948169689Skan
1949169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
1950169689Skan	    Andreas Tobler  <a.tobler@schweiz.ch>
1951169689Skan
1952169689Skan	* config/darwin.h: Guard section variables with #ifndef USED_FOR_TARGET.
1953169689Skan
1954169689Skan2005-12-07  Daniel Berlin  <dberlin@dberlin.org>
1955169689Skan
1956169689Skan	* tree-ssa-pre.c (bitmap_set_and): New function.
1957169689Skan	(bitmap_set_and_compl): New function.
1958169689Skan	(bitmap_set_empty_p): New function.
1959169689Skan	(insert_extra_phis): New function.
1960169689Skan	(compute_avail): Use insert_extra_phis.
1961169689Skan
1962169689Skan2005-12-07  Adrian Straetling  <straetling@de.ibm.com>
1963169689Skan
1964169689Skan	* config/s390/s390.c (s390_expand_atomic): New function.
1965169689Skan	Adjust comment of helper functions.
1966169689Skan	* config/s390/s390-protos.h (s390_expand_atomic): Declare.
1967169689Skan	* config/s390/s390.md ("ATOMIC"): New code macro.
1968169689Skan	("atomic"): Corresponding new code attribute.
1969169689Skan	("sync_lock_test_and_set[hq]i",
1970169689Skan	"sync_{new_,old_,}{and,ior,xor,add,sub,nand}[hq]i"): New pattern.
1971169689Skan
1972169689Skan2005-12-07  Adrian Straetling  <straetling@de.ibm.com>
1973169689Skan
1974169689Skan	* config/s390/s390.c (s390_expand_mask_and_shift,
1975169689Skan	struct alignment_context, init_alignment_context,
1976169689Skan	s390_expand_cs_hqi): New.
1977169689Skan	* config/s390/s390-protos.h (s390_expand_cs_hqi): Declare.
1978169689Skan	* config/s390/s390.md ("sync_compare_and_swaphi",
1979169689Skan	"sync_compare_and_swapqi"): New pattern.
1980169689Skan
1981169689Skan2005-12-07  Daniel Berlin <dberlin@dberlin.org>
1982169689Skan
1983169689Skan	Fix PR tree-optimization/25291
1984169689Skan	* tree-ssa-operands.c (add_call_clobber_ops): Remove
1985169689Skan	redundant and crashing check.
1986169689Skan
1987169689Skan2005-12-08  Alan Modra  <amodra@bigpond.net.au>
1988169689Skan
1989169689Skan	PR target/25212
1990169689Skan	* config/rs6000/rs6000.c (legitimate_indexed_address_p): Relax
1991169689Skan	tests further when !strict && reload_in_progress.
1992169689Skan	(print_operand): Check that both operands of indexed address are regs.
1993169689Skan	(print_operand_address): Likewise.
1994169689Skan	* config/rs6000/rs6000.h (INT_REG_OK_FOR_INDEX_P): Simplify.
1995169689Skan	(INT_REG_OK_FOR_BASE_P): Correct.
1996169689Skan
1997169689Skan2005-12-07  J"orn Rennecke <joern.rennecke@st.com>
1998169689Skan
1999169689Skan	Preparation for PR rtl-optimization/20070 / part1
2000169689Skan	* basic-block.h (insns_match_p, flow_find_cross_jump): Declare.
2001169689Skan	* cfgcleanup.c (condjump_equiv_p): New function, broken out of
2002169689Skan	outgoing_edges_match.
2003169689Skan	(outgoing_edges_match): Use condjump_equiv_p.
2004169689Skan	(merge_memattrs, insns_match_p, flow_find_cross_jump): Move from here
2005169689Skan	into..
2006169689Skan	* struct-equiv.c: New file.
2007169689Skan	(death_notes_match_p) New function, broken out of insns_match_p.
2008169689Skan	* Makefile.in (OBJS-common): Add struct-equiv.o.
2009169689Skan	(struct-equiv.o): New target.
2010169689Skan
2011169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
2012169689Skan
2013169689Skan	* coretypes.h: Revert previous change.
2014169689Skan	* config/darwin.h: Revert previous reversion.
2015169689Skan	* config/avr/avr.h (progmem_section): Guard with #ifndef IN_LIBGCC2.
2016169689Skan
2017169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
2018169689Skan
2019169689Skan	* coretypes.h (section): Provide dummy definition for target files.
2020169689Skan	* config/darwin.h: Revert previous change.
2021169689Skan
2022169689Skan2005-12-07  Rafael vila de Espndola  <rafael.espindola@gmail.com>
2023169689Skan
2024169689Skan	* doc/sourcebuild.texi (all.build, install-normal): Remove.
2025169689Skan	* configure.ac: Remove all.build and install-normal from target_list
2026169689Skan	* configure: Regenerate.
2027169689Skan	* Makefile.in (install): Don't depend on install-normal.
2028169689Skan
2029169689Skan2005-12-07  Rafael vila de Espndola  <rafael.espindola@gmail.com>
2030169689Skan
2031169689Skan	* Makefile.in: Document the use of stamps.
2032169689Skan
2033169689Skan2005-12-07  Rafael vila de Espndola  <rafael.espindola@gmail.com>
2034169689Skan
2035169689Skan	* doc/gty.texi: Remove instructions for adding a dependency on s-gtype.
2036169689Skan	* Makefile.in: Add code to compute some dependencies on s-gtype
2037169689Skan	automatically.  Remove the declaration of those dependencies.
2038169689Skan
2039169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
2040169689Skan
2041169689Skan	* reload.c (push_secondary_reload): Fix typo:
2042169689Skan	s/insn_constraint/scratch_constraint/.
2043169689Skan
2044169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
2045169689Skan
2046169689Skan	* config/darwin.h: Guard section variables with #ifndef IN_LIBGCC2.
2047169689Skan
2048169689Skan2005-12-07  Richard Sandiford  <richard@codesourcery.com>
2049169689Skan
2050169689Skan	* config/alpha/alpha.c (alpha_start_function): Use switch_to_section.
2051169689Skan	(alpha_elf_select_rtx_section): Return the selected section rather
2052169689Skan	than emitting assembly code.
2053169689Skan	(alpha_write_linkage): Emit a ".link" directive directly and then
2054169689Skan	set in_section to NULL.
2055169689Skan	(vms_asm_out_constructor): Use switch_to_section.
2056169689Skan	(vms_asm_out_destructor): Likewise.
2057169689Skan	(unicosmk_output_common): Set in_section to NULL instead of calling
2058169689Skan	the dummy common_section function.
2059169689Skan	(unicosmk_text_section): Delete in favor of...
2060169689Skan	(unicosmk_output_text_section_asm_op): ...this new function.
2061169689Skan	(unicosmk_data_section): Delete in favor of...
2062169689Skan	(unicosmk_output_data_section_asm_op): ...this new function.
2063169689Skan	(unicosmk_init_sections): New function.
2064169689Skan	(unicosmk_output_deferred_case_vectors): Use switch_to_section.
2065169689Skan	(unicosmk_output_ssib): Set in_section to NULL instead of calling
2066169689Skan	the dummy ssib_section function.
2067169689Skan	(unicosmk_section_buf): Delete.
2068169689Skan	* config/alpha/alpha-protos.h (unicosmk_text_section): Delete.
2069169689Skan	(unicosmk_data_section): Delete.
2070169689Skan	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
2071169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, sbss_section, sdata_section)
2072169689Skan	(SECTION_FUNCTION_TEMPLATE): Delete.
2073169689Skan	* config/alpha/unicosmk.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP)
2074169689Skan	(READONLY_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2075169689Skan	(common_section, COMMON_SECTION, ssib_section, SSIB_SECTION): Delete.
2076169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
2077169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2078169689Skan	* config/alpha/vms.h (LINK_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP)
2079169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2080169689Skan	(link_section, literals_section): Delete.
2081169689Skan	(ASM_OUTPUT_DEF): Emit the ".literal" directive directly and then
2082169689Skan	set in_section to NULL.
2083169689Skan
2084169689Skan	* config/arm/aof.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Delete.
2085169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, ZERO_INIT_SECTION): Delete.
2086169689Skan	(COMMON_SECTION): Delete.
2087169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2088169689Skan	(ASM_OUTPUT_COMMON): Set in_section to NULL rather than calling
2089169689Skan	the dummy common_section function.
2090169689Skan	* config/arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
2091169689Skan	* config/arm/arm.c (get_jump_table_size): Use pointer comparison
2092169689Skan	between readonly_data_section and text_section to check whether
2093169689Skan	read-only data is being put in the text section.
2094169689Skan	(arm_output_function_epilogue): Use switch_to_section.
2095169689Skan	(arm_elf_asm_constructor): Likewise.
2096169689Skan	(thumb_call_via_reg): Replace call to in_text_section with
2097169689Skan	a comparison between in_section and text_section.
2098169689Skan	(arm_file_end): Use switch_to_section.
2099169689Skan	(aof_text_section): Delete in favor of...
2100169689Skan	(aof_output_text_section_asm_op): ...this new function.
2101169689Skan	(aof_data_section): Delete in favor of...
2102169689Skan	(aof_output_data_section_asm_op): ...this new function.
2103169689Skan	(aof_asm_init_sections): New function.
2104169689Skan	(zero_init_section): Moved from config/arm/aof.h.
2105169689Skan	(aof_dump_imports, aof_file_start): Use switch_to_section.
2106169689Skan	* config/arm/arm.h (thumb_call_via_label): Update comment.
2107169689Skan	* config/arm/arm-protos.h (aof_text_section, aof_data_section): Delete.
2108169689Skan	(common_section): Delete.
2109169689Skan	* config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
2110169689Skan	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
2111169689Skan	global switch_to_section function instead of the old port-local one.
2112169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION)
2113169689Skan	(SWITCH_TO_SECTION_FUNCTION): Delete.
2114169689Skan	(drectve_section): Redefine as a macro.
2115169689Skan	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS):
2116169689Skan	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use get_named_section and
2117169689Skan	switch_to_section.
2118169689Skan
2119169689Skan	* config/avr/avr.c (progmem_section): New variable.
2120169689Skan	(avr_output_progmem_section_asm_op): New function.
2121169689Skan	(avr_asm_init_sections): New function.
2122169689Skan	(avr_output_addr_vec_elt): Use switch_to_section.
2123169689Skan	* config/avr/avr.h (progmem_section): Declare.
2124169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2125169689Skan	(READONLY_DATA_SECTION): Delete.
2126169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2127169689Skan	(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
2128169689Skan	* config/avr/avr-protos.h (progmem_section): Delete.
2129169689Skan
2130169689Skan	* config/bfin/bfin.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
2131169689Skan
2132169689Skan	* config/c4x/c4x.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2133169689Skan	(INIT_SECTION_FUNCTION, FINI_SECTION_FUNCTION): Delete.
2134169689Skan
2135169689Skan	* config/darwin-sections.def: New file.
2136169689Skan	* config/darwin.c: Define all sections in darwin-sections.def.
2137169689Skan	(output_objc_section_asm_op, darwin_init_sections): New functions.
2138169689Skan	(machopic_output_indirection): Use switch_to_section.
2139169689Skan	(machopic_select_section): Return the selected section rather than
2140169689Skan	emitting assembly code.  Replace the static function table with
2141169689Skan	inline conditional expressions.  Update the tests of last_text_section
2142169689Skan	and move them into the FUNCTION_DECL block.
2143169689Skan	(machopic_select_rtx_section): Return the selected section rather than
2144169689Skan	emitting assembly code.
2145169689Skan	(machopic_asm_out_constructor, machopic_asm_out_destructor)
2146169689Skan	(darwin_file_end): Use switch_to_section.
2147169689Skan	* config/darwin.h: Use darwin-sections.def to declare sections.
2148169689Skan	(INIT_SECTION_ASM_OP): Remove empty definition.
2149169689Skan	(HAS_INIT_SECTION): Define this instead.
2150169689Skan	(SECTION_FUNCTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2151169689Skan	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
2152169689Skan	(TARGET_ASM_EH_FRAME_SECTION): Delete.
2153169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2154169689Skan	* config/darwin-protos.h (darwin_init_sections): Declare.
2155169689Skan	(machopic_picsymbol_stub_section, machopic_picsymbol_stub1_section)
2156169689Skan	(machopic_symbol_stub_section, machopic_symbol_stub1_section): Delete.
2157169689Skan	(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
2158169689Skan	(constructor_section, destructor_section, mod_init_section): Delete.
2159169689Skan	(mod_term_section): Delete.
2160169689Skan	(darwin_exception_section, darwin_eh_frame_section): Delete.
2161169689Skan	(machopic_select_section): Return a section.
2162169689Skan	(machopic_select_rtx_section): Likewise.
2163169689Skan	(text_coal_section, text_unlikely_section, text_unlikely_coal_section)
2164169689Skan	(const_section, const_coal_section, const_data_section): Delete.
2165169689Skan	(const_data_coal_section, data_coal_section, cstring_section): Delete.
2166169689Skan	(literal4_section, literal8_section, constructor_section): Delete.
2167169689Skan	(mod_init_section, mod_term_section, destructor_section): Delete.
2168169689Skan	(objc_class_section, objc_meta_class_section, objc_category_section)
2169169689Skan	(objc_class_vars_section, objc_instance_vars_section): Delete.
2170169689Skan	(objc_cls_meth_section, objc_inst_meth_section): Delete.
2171169689Skan	(objc_cat_cls_meth_section, objc_cat_inst_meth_section): Delete.
2172169689Skan	(objc_selector_refs_section, objc_selector_fixup_section): Delete.
2173169689Skan	(objc_symbols_section, objc_module_info_section): Delete.
2174169689Skan	(objc_image_info_section, objc_protocol_section): Delete.
2175169689Skan	(objc_string_object_section, objc_constant_string_object_section)
2176169689Skan	(objc_class_names_section, objc_meth_var_names_section): Delete.
2177169689Skan	(objc_meth_var_types_section, objc_cls_refs_section): Delete.
2178169689Skan	(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
2179169689Skan	(machopic_symbol_stub_section, machopic_picsymbol_stub_section)
2180169689Skan	(darwin_exception_section, darwin_eh_frame_section): Delete.
2181169689Skan	* config/t-darwin (darwin.o): Depend on config/darwin-sections.def.
2182169689Skan
2183169689Skan	* config/frv/frv.c (frv_asm_out_constructor): Use switch_to_section.
2184169689Skan	(frv_asm_out_destructor): Likewise.
2185169689Skan	* config/frv/frv.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2186169689Skan	(SDATA_SECTION_FUNCTION, FIXUP_SECTION_FUNCTION): Delete.
2187169689Skan	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use switch_to_section and
2188169689Skan	get_named_section.
2189169689Skan	(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
2190169689Skan	* config/frv/frv-protos.h (fixup_section, sdata_section, sbss_section)
2191169689Skan	(data_section): Delete.
2192169689Skan
2193169689Skan	* config/i386/cygming.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2194169689Skan	(DRECTVE_SECTION_FUNCTION): Delete.
2195169689Skan	(drectve_section): Redefine as a macro that sets in_section after
2196169689Skan	emitting the directive.
2197169689Skan	(SWITCH_TO_SECTION_FUNCTION): Delete.
2198169689Skan	* config/i386/darwin.h (ASM_OUTPUT_ALIGN): Replace call to
2199169689Skan	in_text_section with comparison between in_section and text_section.
2200169689Skan	* config/i386/i386.c (x86_64_elf_select_section): Return the section
2201169689Skan	rather than emitting assembly code.  Use get_named_section.
2202169689Skan	(x86_output_aligned_bss, ix86_file_end): Use switch_to_section and
2203169689Skan	get_named_section.
2204169689Skan	(machopic_output_stub): Use switch_to_section.
2205169689Skan	* config/i386/nwld.c (nwld_named_section_asm_out_constructor)
2206169689Skan	(nwld_named_section_asm_out_destructor): Use get_section and
2207169689Skan	switch_to_section.
2208169689Skan
2209169689Skan	* config/ia64/ia64.c (ia64_select_rtx_section): Return the section
2210169689Skan	rather than emitting assembly code.
2211169689Skan	(ia64_rwreloc_select_section): Likewise.
2212169689Skan	(ia64_rwreloc_select_rtx_section): Likewise.
2213169689Skan	* config/ia64/ia64-protos.h (sdata_section, sbss_section): Delete.
2214169689Skan	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
2215169689Skan	switch_to_section.
2216169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2217169689Skan	(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Delete.
2218169689Skan
2219169689Skan	* config/iq2000/iq2000.c (iq2000_select_rtx_section): Return the
2220169689Skan	section rather than emitting assembly code.
2221169689Skan	(iq2000_select_section): Likewise.
2222169689Skan	* config/iq2000/iq2000.h (rdata_section, sdata_section): Delete.
2223169689Skan	(sbss_section): Delete.
2224169689Skan
2225169689Skan	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use switch_to_section
2226169689Skan	and get_named_section.
2227169689Skan	* config/m32r/m32r-protos.h (sbss_section, sdata_section): Delete.
2228169689Skan
2229169689Skan	* config/mcore/mcore-elf.h (EXPORTS_SECTION_ASM_OP): Delete.
2230169689Skan	(SUBTARGET_EXTRA_SECTIONS, SUBTARGET_EXTRA_SECTION_FUNCTIONS): Delete.
2231169689Skan	(EXPORT_SECTION_FUNCTION, SUBTARGET_SWITCH_SECTIONS): Delete.
2232169689Skan	(MCORE_EXPORT_NAME): Emit the exports directive directly, then set
2233169689Skan	in_section to NULL.
2234169689Skan	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
2235169689Skan	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
2236169689Skan	global switch_to_section function instead of the old port-local one.
2237169689Skan	* config/mcore/mcore.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2238169689Skan	(SWITCH_SECTION_FUNCTION): Delete.
2239169689Skan	* config/mcore/mcore-pe.h (SUBTARGET_SWITCH_SECTIONS): Delete.
2240169689Skan	(DRECTVE_SECTION_ASM_OP, SUBTARGET_EXTRA_SECTIONS): Delete.
2241169689Skan	(SUBTARGET_EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION): Delete.
2242169689Skan	(MCORE_EXPORT_NAME): Emit ".section .drectve" directly, then set
2243169689Skan	in_section to NULL.
2244169689Skan	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
2245169689Skan	global switch_to_section function instead of the old port-local one.
2246169689Skan	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
2247169689Skan
2248169689Skan	* config/mips/mips.c (mips_file_start): Update comment.
2249169689Skan	(mips_output_aligned_bss): Use switch_to_section and get_named_section.
2250169689Skan	(mips_output_aligned_decl_common): Use switch_to_section.
2251169689Skan	(mips_select_rtx_section): Return the section rather than emitting
2252169689Skan	assembly code.  Use get_named_section.
2253169689Skan	(mips_function_rodata_section: Likewise get_section.
2254169689Skan	(build_mips16_function_stub): Use switch_to_section.
2255169689Skan	* config/mips/mips.h (ASM_OUTPUT_IDENT): Use switch_to_section.
2256169689Skan	(SDATA_SECTION_ASM_OP): Delete.
2257169689Skan	* config/mips/vxworks.h (EXTRA_SECTIONS): Delete.
2258169689Skan	(EXTRA_SECTION_FUNCTIONS): Delete.
2259169689Skan
2260169689Skan	* config/mmix/mmix.c (mmix_file_start, mmix_file_end)
2261169689Skan	(mmix_asm_output_aligned_local): Use switch_to_section.
2262169689Skan
2263169689Skan	* config/pa/pa.c (som_readonly_data_section, som_one_only_data_section)
2264169689Skan	(som_one_only_readonly_data_section): New variables.
2265169689Skan	(pa_output_function_epilogue): Set in_section to NULL instead of
2266169689Skan	calling forget_section.
2267169689Skan	(output_deferred_plabels): Use select_section.
2268169689Skan	(pa_asm_output_mi_thunk): Likewise.  Set in_section to NULL instead
2269169689Skan	of calling forget_section.
2270169689Skan	(pa_asm_output_aligned_bss, pa_asm_output_aligned_common)
2271169689Skan	(pa_asm_output_aligned_local): Use select_section.
2272169689Skan	(som_text_section_asm_op): Delete in favor of...
2273169689Skan	(som_output_text_section_asm_op): ...this new function.
2274169689Skan	(pa_som_asm_init_sections): New function.
2275169689Skan	(pa_select_section): Return the section rather than emitting
2276169689Skan	assembly code.
2277169689Skan	* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2278169689Skan	(SOM_READONLY_DATA_SECTION_FUNCTION): Delete.
2279169689Skan	(SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION): Delete.
2280169689Skan	(SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): Delete.
2281169689Skan	* config/pa/pa-protos.h (som_text_section_asm_op): Delete.
2282169689Skan	(som_readonly_data_section, som_one_only_readonly_data_section)
2283169689Skan	(som_one_only_data_section, forget_section): Delete.
2284169689Skan	* config/pa/som.h (TEXT_SECTION_ASM_OP): Delete.
2285169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2286169689Skan	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
2287169689Skan
2288169689Skan	* config/rs6000/rs6000.c (read_only_data_section): New variable.
2289169689Skan	(private_data_section, read_only_private_data_section): New variables.
2290169689Skan	(sdata2_section, toc_section): New variables.
2291169689Skan	(rs6000_file_start): Use switch_to_section.
2292169689Skan	(rs6000_assemble_integer): Use comparisons against in_section
2293169689Skan	instead of calling in_toc_section and in_text_section.  Use
2294169689Skan	unlikely_text_section_p.
2295169689Skan	(rs6000_elf_output_toc_section_asm_op): New function, derived
2296169689Skan	from the old rs6000/sysv4.h toc_section function.
2297169689Skan	(rs6000_elf_asm_init_sections): New function.
2298169689Skan	(rs6000_elf_select_rtx_section, rs6000_elf_select_section): Return
2299169689Skan	the section rather than emitting assembly code.
2300169689Skan	(machopic_output_stub): Use switch_to_section.
2301169689Skan	(toc_section): Delete dummy function.
2302169689Skan	(rs6000_elf_asm_out_constructor, rs6000_elf_asm_out_destructor): Use
2303169689Skan	switch_to_section and get_section.
2304169689Skan	(rs6000_xcoff_output_readonly_section_asm_op): New function.
2305169689Skan	(rs6000_xcoff_output_readwrite_section_asm_op): New function.
2306169689Skan	(rs6000_xcoff_output_toc_section_asm_op): New function, derived from
2307169689Skan	the old rs6000/xcoff.h toc_section function.
2308169689Skan	(rs6000_xcoff_asm_init_sections): New function.
2309169689Skan	(rs6000_xcoff_select_section, rs6000_xcoff_select_rtx_section): Return
2310169689Skan	the section rather than emitting assembly code.
2311169689Skan	(rs6000_xcoff_file_start): Use switch_to_section.
2312169689Skan	(rs6000_xcoff_file_end): Likewise.
2313169689Skan	* config/rs6000/rs6000-protos.h (toc_section, sdata_section): Delete.
2314169689Skan	(sdata2_section, sbss_section, private_data_section): Delete.
2315169689Skan	(read_only_data_section, read_only_private_data_section): Delete.
2316169689Skan	* config/rs6000/sysv4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2317169689Skan	(TOC_SECTION_FUNCTION, SDATA_SECTION_FUNCTION, SDATA2_SECTION_FUNCTION)
2318169689Skan	(SBSS_SECTION_FUNCTION, INIT_SECTION_FUNCTION): Delete.
2319169689Skan	(FINI_SECTION_FUNCTION): Delete.
2320169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2321169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
2322169689Skan	* config/rs6000/xcoff.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2323169689Skan	(READ_ONLY_DATA_SECTION_FUNCTION, PRIVATE_DATA_SECTION_FUNCTION)
2324169689Skan	(READ_ONLY_PRIVATE_DATA_SECTION_FUNCTION, TOC_SECTION_FUNCTION)
2325169689Skan	(READONLY_DATA_SECTION): Delete.
2326169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2327169689Skan	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.  Set in_section
2328169689Skan	to NULL rather than no_section.
2329169689Skan	(TARGET_ASM_EXCEPTION_SECTION): Delete.
2330169689Skan
2331169689Skan	* config/sh/sh.c (sh_file_start): Use switch_to_section.
2332169689Skan
2333169689Skan	* config/sparc/sparc.c (emit_pic_helper): Use switch_to_section.
2334169689Skan	(sparc_output_deferred_case_vectors): Likewise.  Remove argument
2335169689Skan	from call to current_function_section.
2336169689Skan
2337169689Skan	* config/stormy16/stormy16.c: Include ggc.h and gt-storm16.h.
2338169689Skan	(bss100_section): New variable.
2339169689Skan	(xstormy16_asm_output_aligned_common): Use switch_to_section.
2340169689Skan	(xstormy16_asm_init_sections): New function.
2341169689Skan	(xstormy16_asm_out_destructor, xstormy16_asm_out_constructor): Use
2342169689Skan	switch_to_section and get_section.
2343169689Skan	(xstormy16_output_addr_vec): Use switch_to_section.  Remove argument
2344169689Skan	from calls to current_function_section.
2345169689Skan	* config/stormy16/stormy16.h (EXTRA_SECTIONS): Delete.
2346169689Skan	(XSTORMY16_SECTION_FUNCTION, EXTRA_SECTION_FUNCTIONS): Delete.
2347169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2348169689Skan	* config/stormy16/stormy16-protos.h (bss100_section): Delete.
2349169689Skan
2350169689Skan	* config/svr3.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
2351169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, INIT_SECTION_FUNCTION)
2352169689Skan	(FINI_SECTION_FUNCTION): Delete.
2353169689Skan
2354169689Skan	* config/v850/v850.c: Include gt-v850.h.
2355169689Skan	(rosdata_section, rozdata_section, tdata_section, zdata_section)
2356169689Skan	(zbss_section): New variables.
2357169689Skan	(v850_output_aligned_bss): Use switch_to_section.
2358169689Skan	(v850_asm_init_sections): New function.
2359169689Skan	(v850_select_section): Return the section rather than emitting
2360169689Skan	assembly code.
2361169689Skan	* config/v850/v850.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
2362169689Skan	(ZDATA_SECTION_ASM_OP, ZBSS_SECTION_ASM_OP, TDATA_SECTION_ASM_OP)
2363169689Skan	(ROSDATA_SECTION_ASM_OP, ROZDATA_SECTION_ASM_OP): Delete.
2364169689Skan	(TARGET_ASM_INIT_SECTIONS): Define.
2365169689Skan	* config/v850/v850-protos.h (sdata_section, rosdata_section): Delete.
2366169689Skan	(sbss_section, tdata_section, zdata_section, rozdata_section): Delete.
2367169689Skan	(zbss_section): Delete.
2368169689Skan
2369169689Skan	* config/vax/vaxv.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
2370169689Skan
2371169689Skan	* config/vx-common.h (vxworks_exception_section): Delete.
2372169689Skan	(TARGET_ASM_EXCEPTION_SECTION): Delete.
2373169689Skan
2374169689Skan	* config/xtensa/xtensa.c (xtensa_select_rtx_section): Return the
2375169689Skan	section rather than emitting assembly code.
2376169689Skan	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Use
2377169689Skan	switch_to_section.
2378169689Skan
2379169689Skan	* Makefile.in (GTFILES): Add $(srcdir)/output.h.
2380169689Skan	* coretypes.h (section): New union and typedef.
2381169689Skan	* dbxout.c (FORCE_TEXT): Use switch_to_section.  Remove argument
2382169689Skan	from call to current_function_section.
2383169689Skan	(dbxout_function_end, dbxout_init, dbxout_source_file, dbxout_finish)
2384169689Skan	(dbxout_symbol_location): Use switch_to_section.
2385169689Skan	* dwarf2out.c (named_section_eh_frame_section): Delete, moving
2386169689Skan	most of the code into...
2387169689Skan	(default_eh_frame_section): ...here.  Return a section.
2388169689Skan	(collect2_eh_frame_section): Delete, moving most of the code into..
2389169689Skan	(switch_to_eh_frame_section): ...this new function.
2390169689Skan	(debug_info_section, debug_abbrev_section, debug_aranges_section)
2391169689Skan	(debug_macinfo_section, debug_line_section, debug_loc_section)
2392169689Skan	(debug_pubnames_section, debug_str_section, debug_ranges_section): New
2393169689Skan	variables.
2394169689Skan	(output_call_frame_info): Call switch_to_eh_frame_section instead of
2395169689Skan	eh_frame_section.  Use switch_to_section and get_section.
2396169689Skan	(dwarf2out_begin_prologue): Use switch_to_section.
2397169689Skan	(AT_string_form): Check the flags in debug_str_section instead of
2398169689Skan	DEBUG_STR_SECTION_FLAGS.
2399169689Skan	(output_comp_unit): Use switch_to_section, get_section, and
2400169689Skan	debug_info_section.
2401169689Skan	(output_line_info, secname_for_decl): Use unlikely_text_section_p.
2402169689Skan	(dwarf2out_begin_block): Use switch_to_section.  Remove argument
2403169689Skan	from call to current_function_section.
2404169689Skan	(dwarf2out_var_location): Use unlikely_text_section_p.
2405169689Skan	(dwarf2out_source_line): Use switch_to_section.  Remove argument
2406169689Skan	from call to current_function_section.
2407169689Skan	(dwarf2out_start_source_file, dwarf2out_end_source_file)
2408169689Skan	(dwarf2out_define, dwarf2out_undef: Use switch_to_section and
2409169689Skan	debug_macinfo_section.
2410169689Skan	(dwarf2out_init): Initialize the new section variables.  Use them
2411169689Skan	instead of calls to named_section_flags.  Use switch_to_section.
2412169689Skan	(output_indirect_string): Use switch_to_section and debug_str_section.
2413169689Skan	(dwarf2out_finish): Use switch_to_section and the new section
2414169689Skan	variables.
2415169689Skan	* except.c (default_exception_section): Return the section instead
2416169689Skan	of emitting assembly code.
2417169689Skan	(output_function_exception_table): Use the global exception_section
2418169689Skan	variable instead of the target hook.  Use switch_to_section.  Remove
2419169689Skan	argument from call to current_function_section.
2420169689Skan	* final.c (HAVE_READONLY_DATA_SECTION): Delete.
2421169689Skan	(shorten_branches): Use pointer comparisons to detect whether the
2422169689Skan	text section is the same as readonly_data_section.
2423169689Skan	(profile_function): Use switch_to_section.  Remove argument from
2424169689Skan	call to current_function_section.
2425169689Skan	(final_scan_insn): Likewise.  Update use of last_text_section.
2426169689Skan	* gengtype.c (open_base_files): Add an include of output.h.
2427169689Skan	* output.h (text_section, data_section, readonly_data_section)
2428169689Skan	(ctors_section, dtors_section, bss_section, init_section)
2429169689Skan	(fini_section, sdata_section): Turn into section pointers.
2430169689Skan	(in_text_section, in_unlikely_text_section, exports_section)
2431169689Skan	(drectve_section, named_section, mergeable_string_section)
2432169689Skan	(last_text_section_name): Delete.
2433169689Skan	(default_exception_section, default_eh_frame_section): Return sections.
2434169689Skan	(SECTION_DECLARED, SECTION_NAMED): New macros.
2435169689Skan	(SECTION_MACH_DEP): Bump value.
2436169689Skan	(section_common, named_section, unnamed_section): New structures.
2437169689Skan	(unnamed_section_callback): New typedef.
2438169689Skan	(section): New union.
2439169689Skan	(sbss_section, exception_section, eh_frame_section): New variables.
2440169689Skan	(in_section, last_text_section): Turn into section pointers.
2441169689Skan	(get_unnamed_section, get_section, get_named_section): New functions.
2442169689Skan	(mergeable_constant_section, function_section): Return a section.
2443169689Skan	(unlikely_text_section): Likewise.
2444169689Skan	(current_function_section): Likewise.  Remove the decl argument.
2445169689Skan	(unlikely_text_section_p, switch_to_section): New functions.
2446169689Skan	(output_section_asm_op): New function.
2447169689Skan	(set_named_section_flags, named_section_flags, named_section_real)
2448169689Skan	(named_section_first_declaration): Delete.
2449169689Skan	(default_select_section, default_elf_select_section): Return a section.
2450169689Skan	(default_elf_select_section_1, default_function_rodata_section)
2451169689Skan	(default_no_function_rodata_section, default_select_rtx_section)
2452169689Skan	(default_elf_select_rtx_section): Likewise.
2453169689Skan	* rtl.h (in_data_section): Delete.
2454169689Skan	* sdbout.c (sdbout_one_type): Use switch_to_section.
2455169689Skan	* system.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Poison.
2456169689Skan	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Poison.
2457169689Skan	(TARGET_ASM_EH_FRAME_SECTION): Poison.
2458169689Skan	* target-def.h (TARGET_ASM_INIT_SECTIONS): New macro.
2459169689Skan	(TARGET_ASM_EXCEPTION_SECTION, TARGET_ASM_EH_FRAME_SECTION): Delete.
2460169689Skan	(TARGET_ASM_OUT): Update after above changes.
2461169689Skan	* target.h (init_sections): New hook.
2462169689Skan	(exception_section, eh_frame_section): Delete.
2463169689Skan	(select_section, select_rtx_section, function_rodata_section): Return
2464169689Skan	a section rather than emitting assembly code.
2465169689Skan	* varasm.c (text_section, data_section, readonly_data_section)
2466169689Skan	(ctors_section, dtors_section, bss_section, init_section)
2467169689Skan	(fini_section): Turn into section pointers.
2468169689Skan	(sdata_section, sbss_section, exception_section): New variables.
2469169689Skan	(eh_frame_section): New variable.
2470169689Skan	(in_section): Make global and turn into a section pointer.
2471169689Skan	(last_text_section): Turn into a section pointer.
2472169689Skan	(unnamed_sections): New variable.
2473169689Skan	(in_named_name, last_text_section_name): Delete.
2474169689Skan	(EXTRA_SECTION_FUNCTIONS): Delete.
2475169689Skan	(in_named_entry): Delete.
2476169689Skan	(section_htab): New variable, replacing...
2477169689Skan	(in_named_htab): ...this deleted variable.
2478169689Skan	(section_entry_eq, section_entry_hash): New functions, based on...
2479169689Skan	(in_named_entry_eq, in_named_entry_hash): ...these deleted functions.
2480169689Skan	(get_unnamed_section, get_section): New functions.
2481169689Skan	(unlikely_text_section): Return a section instead of emitting
2482169689Skan	assembly code.
2483169689Skan	(in_text_section, in_unlikely_text_section, in_data_section): Delete.
2484169689Skan	(get_named_section_flags, named_section_first_declaration): Delete.
2485169689Skan	(unlikely_text_section_p): New function.
2486169689Skan	(named_section_real, named_section): Delete.
2487169689Skan	(get_named_section): New function.
2488169689Skan	(asm_output_bss, asm_output_aligned_bss): Use switch_to_section.
2489169689Skan	(function_section): Return a section rather than emitting
2490169689Skan	assembly code.
2491169689Skan	(current_function_section): Likewise.  Remove argument.  Use
2492169689Skan	last_text_section if nonnull, otherwise use function_section.
2493169689Skan	(default_function_rodata_section): Return a section rather than
2494169689Skan	emitting assembly code.  Use get_section.
2495169689Skan	(default_no_function_rodata_section): Return a section rather than
2496169689Skan	emitting assembly code.
2497169689Skan	(variable_section): Use switch_to_section and get_named_section.
2498169689Skan	(mergeable_string_section): Return a section rather than emitting
2499169689Skan	assembly code.  Use get_section.  Make static.  Don't take special
2500169689Skan	countermeasures for empty strings.
2501169689Skan	(mergeable_constant_section): Return a section rather than emitting
2502169689Skan	assembly code.  Use get_section.
2503169689Skan	(default_named_section_asm_out_destructor): Use switch_to_section
2504169689Skan	and get_section.
2505169689Skan	(default_dtor_section_asm_out_destructor): Use switch_to_section.
2506169689Skan	(default_named_section_asm_out_constructor): Use switch_to_section
2507169689Skan	and get_section.
2508169689Skan	(default_ctor_section_asm_out_constructor): Use switch_to_section.
2509169689Skan	(assemble_start_function): Likewise.  Set last_text_section to
2510169689Skan	NULL rather than no_section.  Change the type of save_section.
2511169689Skan	(assemble_zeros, assemble_variable): Use the section flags to detect
2512169689Skan	whether or not a section is text.
2513169689Skan	(assemble_static_space): Use switch_to_section.
2514169689Skan	(assemble_trampoline_template): Likewise.
2515169689Skan	(output_constant_def_contents): Use switch_to_section and
2516169689Skan	get_named_section.
2517169689Skan	(output_constant_pool_1): Use switch_to_section.  Use the section
2518169689Skan	flags to see whether sections contain mergeable data.
2519169689Skan	(init_varasm_once): Initialize section_htab instead of in_named_htab.
2520169689Skan	Initialize new section variables.  Call TARGET_ASM_INIT_SECTIONS.
2521169689Skan	(default_elf_asm_named_section): Use SECTION_DECLARED to detect
2522169689Skan	whether a section has already been declared.
2523169689Skan	(default_select_section, default_elf_select_section): Return a
2524169689Skan	section rather than emitting assembly code.
2525169689Skan	(default_elf_select_section_1): Likewise.  Use bss_section for
2526169689Skan	SECCAT_BSS if nonnull.  Use get_named_section.
2527169689Skan	(default_select_rtx_section): Return a section rather than
2528169689Skan	emitting assembly code.
2529169689Skan	(default_elf_select_rtx_section): Likewise.  Use get_named_section.
2530169689Skan	(file_end_indicate_exec_stack): Use switch_to_section and get_section.
2531169689Skan	(output_section_asm_op, switch_to_section): New functions.
2532169689Skan	* vmsdbgout.c (vmsdbgout_finish): Use switch_to_section and
2533169689Skan	get_named_section.
2534169689Skan
2535169689Skan	* doc/tm.texi: Expand the introduction to the sections documentation.
2536169689Skan	(TRAMPOLINE_SECTION): Document new interface.
2537169689Skan	(SDATA_SECTION_ASM_OP): Document new macro.
2538169689Skan	(READONLY_DATA_SECTION): Delete.
2539169689Skan	(SDATA_SECTION_ASM_OP): Document new macro.
2540169689Skan	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
2541169689Skan	(TARGET_ASM_INIT_SECTIONS): Document new hook.
2542169689Skan	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_FUNCTION_RODATA_SECTION)
2543169689Skan	(TARGET_ASM_SELECT_RTX_SECTION): Adjust for new interface.
2544169689Skan	(TARGET_EXCEPTION_SECTION, TARGET_EH_FRAME_SECTION): Delete.
2545169689Skan
2546169689Skan2005-12-07  Alan Modra  <amodra@bigpond.net.au>
2547169689Skan
2548169689Skan	* gcc.c (init_gcc_specs): Match braces inside conditionally
2549169689Skan	compiled strings.
2550169689Skan
2551169689Skan2005-12-06  Geoffrey Keating  <geoffk@apple.com>
2552169689Skan
2553169689Skan	* config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.
2554169689Skan
2555169689Skan2005-12-06  Aldy Hernandez  <aldyh@redhat.com>
2556169689Skan
2557169689Skan	PR C++/24138
2558169689Skan	* tree.c (integer_all_onesp): Always return true if all bits on.
2559169689Skan
2560169689Skan	* testsuite/g++.dg/init/array0.C: New.
2561169689Skan
2562169689Skan2005-12-06  Adrian Straetling  <straetling@de.ibm.com>
2563169689Skan
2564169689Skan	* doc/md.texi: Adapt to implementation.
2565169689Skan
2566169689Skan2005-12-06  Andreas Schwab  <schwab@suse.de>
2567169689Skan
2568169689Skan	* opts.c (decode_options): Fix typo in message.
2569169689Skan
2570169689Skan2005-12-06  Alan Modra  <amodra@bigpond.net.au>
2571169689Skan
2572169689Skan	PR other/13873
2573169689Skan	* longlong.h: Merge PPC tests from upstream.
2574169689Skan
2575169689Skan2005-12-06  Richard Guenther  <rguenther@suse.de>
2576169689Skan
2577169689Skan	* fold-const.c (fold_convert): Do not build and fold
2578169689Skan	CONVERT_EXPR, but always use NOP_EXPR.
2579169689Skan
2580169689Skan2005-12-06  Jan Beulich  <jbeulich@novell.com>
2581169689Skan
2582169689Skan	* config/i386/i386.c (builtin_description): Use MASK_SSE2 for
2583169689Skan	__builtin_ia32_paddq and __builtin_ia32_psubq.
2584169689Skan	(ix86_init_mmx_sse_builtins): Use MASK_SSE|MASK_3DNOW_A for
2585169689Skan	__builtin_ia32_pshufw.
2586169689Skan	* config/i386/i386.md (mmx_adddi3, mmx_subdi3): Depend on TARGET_SSE2.
2587169689Skan
2588169689Skan2005-12-05  James E Wilson  <wilson@specifix.com>
2589169689Skan
2590169689Skan	PR target/24934
2591169689Skan	* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
2592169689Skan	is set.
2593169689Skan
2594169689Skan2005-12-05  Daniel Berlin  <dberlin@dberlin.org>
2595169689Skan
2596169689Skan	* print-tree.c (print_node): Ditto.
2597169689Skan	* tree-dfa.c (add_referenced_var): Tag's don't have DECL_INITIAL.
2598169689Skan	* tree-dump.c (dequeue_and_dump): Check for decl_common structure
2599169689Skan	before accessing DECL_ARTIFICIAL.
2600169689Skan	Handle new tag tree codes.
2601169689Skan	* tree-flow-inline.h (clear_call_clobbered): Update for tag
2602169689Skan	changes.
2603169689Skan	(unmodifiable_var_p): Ditto.
2604169689Skan	* tree-flow.h (mem_tag_kind): Remove.
2605169689Skan	(struct var_ann_d): Remove mem_tag_kind member.
2606169689Skan	* tree-gimple.c (is_gimple_reg): Tags are not gimple registers.
2607169689Skan	* tree-pretty-print.c (dump_generic_node): Handle memory tags.
2608169689Skan	* tree-ssa-alias.c (init_alias_info): Update for memory tag changes.
2609169689Skan	(group_aliases): Ditto.
2610169689Skan	(setup_pointers_and_addressables): Ditto.
2611169689Skan	(is_escape_site): Ditto.
2612169689Skan	(may_alias_p): Ditto.
2613169689Skan	(create_tag_raw): New function.
2614169689Skan	(create_memory_tag): Use it.
2615169689Skan	(dump_alias_info): Update for tags.
2616169689Skan	(may_be_aliased): Ditto.
2617169689Skan	(add_type_alias): Ditto.
2618169689Skan	(new_type_alias): Ditto.
2619169689Skan	(create_sft): Ditto.
2620169689Skan	(create_structure_vars): Ditto.
2621169689Skan	* tree-ssa-ccp.c (get_default_value): Ditto.
2622169689Skan	* tree-ssa-operands.c (get_expr_operands): Ditto.
2623169689Skan	(add_stmt_operand): Ditto.
2624169689Skan	(add_call_clobber_ops): Remove duplicated condition.
2625169689Skan	* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
2626169689Skan	tags.
2627169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Ditto.
2628169689Skan	* tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
2629169689Skan	* tree.c (init_ttree): Update structures for new tree codes.
2630169689Skan	(tree_code_size): Update sizes for new tree codes.
2631169689Skan	(make_node_stat): Don't try to set common things on minimal
2632169689Skan	structures.
2633169689Skan	(tree_node_structure): Update for tags.
2634169689Skan	(is_global_var): Ditto.
2635169689Skan	* tree.def: Add new tree codes.
2636169689Skan	* tree.h (MTAG_P): New macro.
2637169689Skan	(TREE_MEMORY_TAG_CHECK): Ditto.
2638169689Skan	(SSA_VAR_P): Update for tags.
2639169689Skan	(struct tree_memory_tag): New structure.
2640169689Skan	(MTAG_GLOBAL): New macro.
2641169689Skan	(union tree_node): Add memory tag member.
2642169689Skan	* treestruct.def (TS_MEMORY_TAG): New.
2643169689Skan
2644169689Skan2005-12-05  Dale Johannesen  <dalej@apple.com>
2645169689Skan
2646169689Skan	* config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Fix to match
2647169689Skan	what was approved (PR 24323).
2648169689Skan
2649169689Skan2005-12-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2650169689Skan
2651169689Skan	* doc/c-tree.texi (Function Bodies): Remove description of
2652169689Skan	RETURN_INIT.
2653169689Skan
2654169689Skan2005-12-05  Joseph S. Myers  <joseph@codesourcery.com>
2655169689Skan
2656169689Skan	* doc/libgcc.texi (__floatunsisf, __floatunsidf, __floatunsitf,
2657169689Skan	__floatunsixf, __floatundisf, __floatundidf, __floatunditf,
2658169689Skan	__floatundixf, __floatuntisf, __floatuntidf, __floatuntitf,
2659169689Skan	__floatuntixf, __powisf2, __powidf2, __powixf2, __mulsc3,
2660169689Skan	__muldc3, __multc3, __mulxc3, __divsc3, __divdc3, __divtc3,
2661169689Skan	__divxc3): Document.
2662169689Skan
2663169689Skan2005-12-05  Geoffrey Keating  <geoffk@apple.com>
2664169689Skan
2665169689Skan	* config/arm/arm.c (arm_cxx_determine_class_data_visibility): Preserve
2666169689Skan	previous behaviour.
2667169689Skan	* config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Define to
2668169689Skan	hook_bool_void_false.
2669169689Skan	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
2670169689Skan	* config/darwin.c (darwin_cxx_determine_class_data_visibility): New.
2671169689Skan
2672169689Skan	* config/darwin.c (machopic_select_section): It's not defined
2673169689Skan	as weak if it's only marked as weak_import.
2674169689Skan
2675169689Skan	* config/darwin-protos.h (darwin_cxx_determine_class_data_visibility):
2676169689Skan	Prototype.
2677169689Skan
2678169689Skan	* varasm.c (default_binds_local_p_1): Weakrefs don't bind locally.
2679169689Skan	A hidden weak object does bind locally.  Strong linkonce data
2680169689Skan	counts like any other strong symbol for binding.
2681169689Skan	(weak_finish_1): Don't specially handle weakrefs, they no longer
2682169689Skan	arrive here.
2683169689Skan	(assemble_alias): Weakrefs can't be TREE_PUBLIC yet.
2684169689Skan	* c-common.c (handle_alias_attribute): Allow static aliases
2685169689Skan	of variables.
2686169689Skan	(handle_weakref_attribute): Don't call declare_weak on weakrefs.
2687169689Skan	* gthr-dce.h: Make weakrefs static.
2688169689Skan	* gthr-tpf.h: Likewise.
2689169689Skan	* gthr-solaris.h: Likewise.
2690169689Skan	* gthr-posix.h: Likewise.
2691169689Skan	* gthr-posix95.h: Likewise.
2692169689Skan	* config/darwin.c (darwin_encode_section_info): static weakref
2693169689Skan	variables are not necessarily defined in this translation unit.
2694169689Skan	* doc/extend.texi (Function Attributes): Mention that an alias
2695169689Skan	attribute creates a definition for the thing it's attached to.
2696169689Skan	Change the documentation for weakref to say that the thing
2697169689Skan	it's attached to must be static.
2698169689Skan
2699169689Skan	* config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so
2700169689Skan	we don't go into an infinite loop.
2701169689Skan
2702169689Skan2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
2703169689Skan
2704169689Skan	* config/rs6000/predicates.md (logical_const_operand): Split
2705169689Skan	out of logical_operand.
2706169689Skan	(logical_operand): Use it.
2707169689Skan	* config/rs6000/rs6000.md (cmp -> xor peephole2): Use
2708169689Skan	logical_const_operand.
2709169689Skan
2710169689Skan2005-12-05  Jan Beulich  <jbeulich@novell.com>
2711169689Skan
2712169689Skan	* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_CMPNEPS
2713169689Skan	and IX86_BUILTIN_CMPNESS.
2714169689Skan	(ix86_init_mmx_sse_builtins): Remove ti_ftype_ti_ti.
2715169689Skan	* config/i386/i386.h (ALIGN_MODE_128): Don't check TFmode explicitly.
2716169689Skan	* config/i386/i386.md (movti_internal): Correct type attribute.
2717169689Skan	Simplify mode attribute.
2718169689Skan	(movti_rex64, movsf_1, movdf_nointeger, movdf_integer, movtf_internal):
2719169689Skan	Correct type attribute.
2720169689Skan	(absxf2): Correct operator.
2721169689Skan	* config/i386/mmx.md (mov<mode>_internal_rex64, mov<mode>_internal,
2722169689Skan	movv2sf_internal_rex64, movv2sf_internal): Correct type attribute.
2723169689Skan	* config/i386/sse.md (mov<mode>_internal, movv2df_internal): Simplify
2724169689Skan	mode attribute.
2725169689Skan	(sse2_vmsqrtv2df2): Correct mode attribute.
2726169689Skan
2727169689Skan2005-12-05  Jan Beulich  <jbeulich@novell.com>
2728169689Skan
2729169689Skan	* config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
2730169689Skan	16 bits. Provide insn pattern for this case.
2731169689Skan
2732169689Skan2005-12-05  Jan Beulich  <jbeulich@novell.com>
2733169689Skan
2734169689Skan	* libgcc2.c (__popcountSI2): Don't use wide type for iterator and
2735169689Skan	result.
2736169689Skan	(__popcountDI2): Likewise.
2737169689Skan
2738169689Skan2005-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2739169689Skan
2740169689Skan	PR target/25166
2741169689Skan	* pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and
2742169689Skan	_U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs.
2743169689Skan	* pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New
2744169689Skan	functions.
2745169689Skan
2746169689Skan2005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
2747169689Skan
2748169689Skan	* c-typeck.c (null_pointer_constant_p): New function.
2749169689Skan	(build_conditional_expr, build_c_cast, convert_for_assignment,
2750169689Skan	build_binary_op): Use it.
2751169689Skan
2752169689Skan2005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
2753169689Skan
2754169689Skan	* c-common.c (binary_op_error): Do not allow NOP_EXPR.
2755169689Skan	(c_common_truthvalue_conversion): Handle NOP_EXPR the same as
2756169689Skan	CONVERT_EXPR.
2757169689Skan	(check_function_arguments_recurse): Allow both NOP_EXPR and
2758169689Skan	CONVERT_EXPR but check conversions preserve precision.
2759169689Skan	* c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR
2760169689Skan	but check conversions preserve precision.
2761169689Skan	(build_unary_op): Don't allow NOP_EXPR.  Use gcc_unreachable () in
2762169689Skan	default case.
2763169689Skan
2764169689Skan2005-12-04  Roger Sayle  <roger@eyesopen.com>
2765169689Skan
2766169689Skan	PR c/7776
2767169689Skan	* common.opt (Wstring-literal-comparison): New command line option.
2768169689Skan	* c-opts.c (c_common_handle_option): Set it with -Wall.
2769169689Skan	* c-typeck.c (parser_build_binary_op): Issue warning if either
2770169689Skan	operand of a comparison operator is a string literal, except for
2771169689Skan	testing equality or inequality against NULL.
2772169689Skan
2773169689Skan	* doc/invoke.texi: Document new -Wstring-literal-comparison option.
2774169689Skan
2775169689Skan2005-12-03  Joseph S. Myers  <joseph@codesourcery.com>
2776169689Skan
2777169689Skan	* c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead
2778169689Skan	of building a NOP_EXPR.
2779169689Skan	(c_alignof_expr): Likewise.  Handle CONVERT_EXPR the same as
2780169689Skan	NOP_EXPR.
2781169689Skan	* c-convert.c (convert): Use fold_convert instead of building
2782169689Skan	NOP_EXPRs and CONVERT_EXPRs directly.  Don't special case
2783169689Skan	c_objc_common_truthvalue_conversion returning a NOP_EXPR.  Remove
2784169689Skan	#if 0 code.
2785169689Skan	* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
2786169689Skan	NOP_EXPR the same as CONVERT_EXPR.
2787169689Skan	* c-typeck.c (build_function_call): Use fold_convert instead of
2788169689Skan	building a NOP_EXPR directly.
2789169689Skan	(build_compound_expr): Handle NOP_EXPR the same as CONVERT_EXPR.
2790169689Skan
2791169689Skan2005-12-03  Alan Modra  <amodra@bigpond.net.au>
2792169689Skan
2793169689Skan	PR rtl-optimization/25197
2794169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr <rule 12>): Assert we
2795169689Skan	have a reg.
2796169689Skan
2797169689Skan2005-12-02  Stuart Hastings  <stuart@apple.com>
2798169689Skan
2799169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove -fpic
2800169689Skan	warning.
2801169689Skan
2802169689Skan2005-12-03  Joseph S. Myers  <joseph@codesourcery.com>
2803169689Skan
2804169689Skan	* c-typeck.c (default_function_array_conversion,
2805169689Skan	build_function_call): Allow for CONVERT_EXPR as well as NOP_EXPR.
2806169689Skan	(build_conditional_expr): Apply integer_zerop to orig_op1 and
2807169689Skan	orig_op2.  Don't check them for NOP_EXPR.
2808169689Skan	(build_c_cast, convert_for_assignment): Don't check for NOP_EXPR
2809169689Skan	around integer zero.
2810169689Skan
2811169689Skan2005-12-03  Alan Modra  <amodra@bigpond.net.au>
2812169689Skan
2813169689Skan	* config/rs6000/rs6000.c (rs6000_stack_t): Remove toc_save_p,
2814169689Skan	toc_save_offset, toc_size, lr_size.
2815169689Skan	(rs6000_stack_info): Use memset rather than bss struct copy to init.
2816169689Skan	Test rs6000_ra_ever_killed last in condition setting lr_save_p.
2817169689Skan	Adjust for removal of unused rs6000_stack_t fields.
2818169689Skan	(debug_stack_info): Adjust.
2819169689Skan	(rs6000_ra_ever_killed): Expand FIND_REG_INC_NOTE.  Test for calls
2820169689Skan	first, and don't bother checking for set/inc of lr on sibcalls.
2821169689Skan	(rs6000_emit_epilogue): Tidy code restoring stack pointer.
2822169689Skan
2823169689Skan2005-12-02  Jakub Jelinek  <jakub@redhat.com>
2824169689Skan
2825169689Skan	PR target/25199
2826169689Skan	* config/i386/i386.md (movqi_1): Only force imovx for alternative
2827169689Skan	5 if operand 1 is not aligned.  Undo previous constraint change.
2828169689Skan	* config/i386/predicates.md (aligned_operand): Use MEM_ALIGN.
2829169689Skan
2830169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2831169689Skan
2832169689Skan	* tree.h (build): Remove prototype.
2833169689Skan	(build, _buildN1, _buildN2, _buildC1, _buildC2): Remove macros.
2834169689Skan	* tree.c (build): Remove.
2835169689Skan	(build0_stat): Update comment.
2836169689Skan
2837169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2838169689Skan
2839169689Skan	* tree-ssa-loop-im.c (schedule_sm): Use buildN instead of build.
2840169689Skan	* tree-complex.c (update_complex_assignment, expand_complex_div_wide):
2841169689Skan	Likewise.
2842169689Skan	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref,
2843169689Skan	maybe_fold_offset_to_component_ref): Likewise.
2844169689Skan	* tree-ssa-dom.c (thread_across_edge,
2845169689Skan	simplify_rhs_and_lookup_avail_expr,
2846169689Skan	find_equivalent_equality_comparison, record_equivalences_from_stmt):
2847169689Skan	Likewise.
2848169689Skan	* gimple-low.c (lower_function_body, lower_return_expr): Likewise.
2849169689Skan	* tree-eh.c (do_return_redirection, honor_protect_cleanup_actions,
2850169689Skan	lower_try_finally_switch): Likewise.
2851169689Skan	* tree-if-conv.c (add_to_dst_predicate_list,
2852169689Skan	replace_phi_with_cond_modify_expr, ifc_temp_var): Likewise.
2853169689Skan	* gimplify.c (internal_get_tmp_var, gimple_build_eh_filter,
2854169689Skan	voidify_wrapper_expr, build_stack_save_restore, gimplify_bind_expr,
2855169689Skan	gimplify_return_expr, gimplify_decl_expr, gimplify_switch_expr,
2856169689Skan	gimplify_case_label_expr, gimplify_exit_expr, gimplify_self_mod_expr,
2857169689Skan	shortcut_cond_r, shortcut_cond_expr, gimplify_cond_expr,
2858169689Skan	gimplify_init_ctor_eval, gimplify_init_constructor,
2859169689Skan	gimplify_variable_sized_compare, gimplify_boolean_expr,
2860169689Skan	gimplify_cleanup_point_expr, gimple_push_cleanup, gimplify_target_expr,
2861169689Skan	gimplify_expr, gimplify_body, gimplify_function_tree,
2862169689Skan	force_gimple_operand): Likewise.
2863169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
2864169689Skan	* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for,
2865169689Skan	mx_register_decls): Likewise.
2866169689Skan	* tree-nested.c (init_tmp_var, save_tmp_var, get_static_chain,
2867169689Skan	get_frame_field, finalize_nesting_tree_1): Likewise.
2868169689Skan	* tree-inline.c (setup_one_parameter): Likewise.
2869169689Skan	* tree-vect-transform.c (vectorizable_condition): Likewise.
2870169689Skan	* tree-outof-ssa.c (insert_copy_on_edge, insert_backedge_copies):
2871169689Skan	Likewise.
2872169689Skan	* tree-profile.c (tree_gen_edge_profiler): Likewise.
2873169689Skan	* tree-cfg.c (factor_computed_gotos, gimplify_val): Likewise.
2874169689Skan	* c-parser.c (c_parser_if_body, c_parser_switch_statement): Likewise.
2875169689Skan	* tree-chrec.h (build_polynomial_chrec): Likewise.
2876169689Skan
2877169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2878169689Skan
2879169689Skan	* config/alpha/alpha.c (alpha_va_start, alpha_gimplify_va_arg_1i,
2880169689Skan	alpha_gimplify_va_arg): Use buildN and fold_buildN where applicable.
2881169689Skan	* config/frv/frv.c (frv_expand_builtin_va_start): Likewise.
2882169689Skan	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
2883169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
2884169689Skan	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
2885169689Skan	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
2886169689Skan	Likewise.
2887169689Skan	* config/sh/sh.c (sh_va_start, sh_gimplify_va_arg_expr,
2888169689Skan	sh_adjust_unroll_max): Likewise.
2889169689Skan	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
2890169689Skan	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
2891169689Skan	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_gimplify_va_arg_expr):
2892169689Skan	Likewise.
2893169689Skan	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
2894169689Skan	Likewise.
2895169689Skan	* config/mips/mips.c (mips_va_start, mips_gimplify_va_arg_expr):
2896169689Skan	Likewise.
2897169689Skan
2898169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2899169689Skan
2900169689Skan	* tree-vrp.c (build_assert_expr_for, process_assert_insertions_for,
2901169689Skan	simplify_cond_using_ranges): Use buildN instead of build.
2902169689Skan	* tree-tailcall.c (adjust_accumulator_values,
2903169689Skan	adjust_return_value): Likewise.
2904169689Skan	* tree-sra.c (generate_one_element_ref, generate_copy_inout,
2905169689Skan	generate_element_copy, generate_element_zero,
2906169689Skan	generate_one_element_init): Likewise.
2907169689Skan	* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Likewise.
2908169689Skan	* lambda-code.c (gcc_loop_to_lambda_loop, lbv_to_gcc_expression,
2909169689Skan	lle_to_gcc_expression, lambda_loopnest_to_gcc_loopnest,
2910169689Skan	perfect_nestify): Likewise.
2911169689Skan
2912169689Skan2005-12-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2913169689Skan
2914169689Skan	* pa.c (pa_secondary_reload): Revise initialization of variable regno.
2915169689Skan
2916169689Skan2005-12-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2917169689Skan
2918169689Skan	* ggc.h (GGC_RESIZEVEC): New.
2919169689Skan
2920169689Skan2005-12-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2921169689Skan
2922169689Skan	* gcc.c (execute): Improve readability.
2923169689Skan
2924169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2925169689Skan
2926169689Skan	* tree-cfg.c (mark_used_vars): New function.
2927169689Skan	(dump_function_to_file): Dump only used VAR_DECLs.
2928169689Skan
2929169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2930169689Skan
2931169689Skan	* convert.c (convert_to_integer): Fix compare for nonpositive
2932169689Skan	constant to use tree_int_cst_sgn <= 0.
2933169689Skan
2934169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2935169689Skan
2936169689Skan	* convert.c (convert_to_integer): Use fold_convert instead
2937169689Skan	of fold_build1 (NOP_EXPR, ...).  Use tree_int_cst_sgn < 0
2938169689Skan	instead of comparing against 0.  Use build_int_cst instead
2939169689Skan	of converting integer_zero_node.
2940169689Skan
2941169689Skan2005-12-02  Richard Guenther  <rguenther@suse.de>
2942169689Skan
2943169689Skan	* tree-pretty-print.c (op_symbol): Handle LROTATE_EXPR
2944169689Skan	and RROTATE_EXPR.
2945169689Skan
2946169689Skan2005-12-02  Alan Modra  <amodra@bigpond.net.au>
2947169689Skan
2948169689Skan	PR target/21017
2949169689Skan	* combine.c (simplify_logical <IOR>): Simplify more patterns to
2950169689Skan	rotates.
2951169689Skan
2952169689Skan2005-12-02  Alan Modra  <amodra@bigpond.net.au>
2953169689Skan
2954169689Skan	PR middle-end/25176
2955169689Skan	* function.c (expand_function_end): Emit blockage for unwinder
2956169689Skan	after return label.
2957169689Skan
2958169689Skan2005-12-01  Roger Sayle  <roger@eyesopen.com>
2959169689Skan
2960169689Skan	* tree.h (TREE_OVERFLOW): Make this flag/predicate specific to
2961169689Skan	constant nodes, i.e. INTEGER_CST, REAL_CST, etc...
2962169689Skan	* tree-vrp.c (compare_values): Only check TREE_OVERFLOW for
2963169689Skan	integer constant comparisons.
2964169689Skan
2965169689Skan2005-12-02  Jon Grimm  <jgrimm2@us.ibm.com>
2966169689Skan	    Janis Johnson  <janis187@us.ibm.com>
2967169689Skan	    David Edelsohn  <dje@watson.ibm.com>
2968169689Skan	    Ben Elliston  <bje@au.ibm.com>
2969169689Skan
2970169689Skan	* dfp.h, dfp.c: New files.
2971169689Skan	* Makefile.in (DECNUM, DECNUMINC, LIBDECNUMBER): New variables.
2972169689Skan	(DECNUM_H): Likewise.
2973169689Skan	(LIBDEPS, LIBS, BACKEND): Append $(LIBDECNUMBER).
2974169689Skan	(INCLUDES): Append $(DECNUMINC).
2975169689Skan	(OBJS-common): Add dfp.o.
2976169689Skan	(dfp.o): New rule.
2977169689Skan	* real.h (EXP_BITS): Pinch one bit to ..
2978169689Skan	(struct real_value): Add decimal field.
2979169689Skan	(real_format): Change table size, update documentation.
2980169689Skan	(REAL_MODE_FORMAT): Update for to handle float, decimal float.
2981169689Skan	(real_from_string3): Declare.
2982169689Skan	(decimal_single_format): Declare.
2983169689Skan	(decimal_double_format): Declare.
2984169689Skan	(decimal_quad_format): Declare.
2985169689Skan	(REAL_VALUE_TO_TARGET_DECIMAL32): New.
2986169689Skan	(REAL_VALUE_TO_TARGET_DECIMAL64): New.
2987169689Skan	(REAL_VALUE_TO_TARGET_DECIMAL128): New.
2988169689Skan	* real.c: Include dfp.h.
2989169689Skan	(normalize): Early return for decimal floats.
2990169689Skan	(do_add): Zero decimal field.
2991169689Skan	(do_compare): Call do_decimal_compare for decimal floats.
2992169689Skan	(do_fix_trunc): Likewise, call decimal_do_fix_trunc.
2993169689Skan	(real_arithmetic): Call decimal_real_arithmetic for decimal
2994169689Skan	floating point operands.
2995169689Skan	(real_identical): If a and b are of differing radix, return false.
2996169689Skan	(real_to_integer): Call decimal_real_to_integer if the value is a
2997169689Skan	decimal float.
2998169689Skan	(real_to_integer2): Likewise, call decimal_real_to_integer2.
2999169689Skan	(real_to_decimal): Likewise, call decimal_real_to_decimal.
3000169689Skan	(real_to_hexadecimal): Place "N/A" in the return string for
3001169689Skan	decimal float.
3002169689Skan	(real_from_string3): New variant, given a mode.
3003169689Skan	(real_maxval): Use decimal_real_maxval for decimal floats.
3004169689Skan	(round_for_format): Use decimal_round_for_format for decimals.
3005169689Skan	(real_convert): Use decimal_real_convert where appropriate.
3006169689Skan	(significand_size): Handle base 10.
3007169689Skan	(encode_decimal_single, decode_decimal_single,
3008169689Skan	encode_decimal_double, decode_decimal_double, encode_decimal_quad,
3009169689Skan	decode_decimal_quad): New functions.
3010169689Skan	(decimal_single_format): New.
3011169689Skan	(decimal_double_format): New.
3012169689Skan	(decimal_quad_format): New.
3013169689Skan	* machmode.def: Add SD, DD and TD decimal floating point modes.
3014169689Skan	* machmode.h (FLOAT_MODE_P, SCALAR_FLOAT_MODE_P, MODES_WIDEN_P):
3015169689Skan	Include MODE_DECIMAL_FLOAT.
3016169689Skan	(DECIMAL_FLOAT_MODE_P): New.
3017169689Skan	* mode-classes.def (MODE_DECIMAL_FLOAT): New mode class.
3018169689Skan	* genmodes.c (struct mode_data): Add counter field.
3019169689Skan	(struct mode_data): Update comment for format.
3020169689Skan	(blank_mode): Initialise counter field.
3021169689Skan	(new_mode): Increment counter field for each mode defined.
3022169689Skan	(complete_mode): Handle MODE_DECIMAL_FLOAT, update check for mode
3023169689Skan	using a format.
3024169689Skan	(make_complex_modes): Handle modes containing `D'.
3025169689Skan	(DECIMAL_FLOAT_MODE, FRACTIONAL_DECIMAL_FLOAT_MODE): New.
3026169689Skan	(make_decimal_float_mode): New.
3027169689Skan	(reset_float_format): Handle MODE_DECIMAL_FLOAT.
3028169689Skan	(cmp_modes): Compare counter field if other characteristics
3029169689Skan	similar.
3030169689Skan	(emit_real_format_for_mode): Support formats for decimal floats.
3031169689Skan	* doc/rtl.texi (Machine Modes): Document SD, DD and TDmodes.
3032169689Skan	Document MODE_DECIMAL_FLOAT.
3033169689Skan
3034169689Skan2005-12-02  Alan Modra  <amodra@bigpond.net.au>
3035169689Skan
3036169689Skan	* simplify-rtx.c (simplify_plus_minus): Do simplify constants.
3037169689Skan	Delete dead code.
3038169689Skan
3039169689Skan2005-12-01  Richard Henderson  <rth@redhat.com>
3040169689Skan
3041169689Skan	* optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
3042169689Skan
3043169689Skan2005-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3044169689Skan
3045169689Skan	* builtins.def (BUILT_IN_PUTC, BUILT_IN_PUTC_UNLOCKED): New.
3046169689Skan
3047169689Skan	* config/pa/pa.c (pa_init_builtins): If we detect
3048169689Skan	DONT_HAVE_FPUTC_UNLOCKED, set builtin fputc_unlocked to
3049169689Skan	putc_unlocked.
3050169689Skan
3051169689Skan2005-12-01  Richard Guenther  <rguenther@suse.de>
3052169689Skan
3053169689Skan	* fold-const.c (fold_binary): Use fold_build2, not
3054169689Skan	fold (build (...)).
3055169689Skan
3056169689Skan2005-12-01  Nathan Sidwell  <nathan@codesourcery.com>
3057169689Skan
3058169689Skan	* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
3059169689Skan
3060169689Skan	* vec.h (VEC_block_remove): New.
3061169689Skan
3062169689Skan2005-12-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3063169689Skan
3064169689Skan	PR c/13384
3065169689Skan	* c-common.c (lvalue_error): Fix wording.
3066169689Skan
3067169689Skan2005-12-01  Richard Guenther  <rguenther@suse.de>
3068169689Skan
3069169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix
3070169689Skan	thinko in last patch.
3071169689Skan
3072169689Skan2005-12-01  Geoffrey Keating  <geoffk@apple.com>
3073169689Skan
3074169689Skan	* config/t-slibgcc-darwin (SHLIB_LINK): Use -single_module rather
3075169689Skan	than -flat_namespace.
3076169689Skan
3077169689Skan2005-12-01  Ben Elliston  <bje@au.ibm.com>
3078169689Skan
3079169689Skan	* mklibgcc.in: Parameterise the script to build soft float
3080169689Skan	functions by iterating over each type, rather than cloning the
3081169689Skan	code for each type.
3082169689Skan
3083169689Skan2005-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3084169689Skan
3085169689Skan	PR middle-end/25158
3086169689Skan	* builtins.c (fold_builtin_fputs): Defer check for missing
3087169689Skan	replacement functions.
3088169689Skan
3089169689Skan2005-11-30  Kean Johnston  <jkj@sco.com>
3090169689Skan
3091169689Skan	* config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
3092169689Skan	simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
3093169689Skan
3094169689Skan2005-11-30  Richard Guenther  <rguenther@suse.de>
3095169689Skan
3096169689Skan	PR tree-optimization/22501
3097169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
3098169689Skan	function split out from ...
3099169689Skan	(forward_propagate_addr_expr): ... here.  Use it to propagate
3100169689Skan	ADDR_EXPRs to all uses.
3101169689Skan
3102169689Skan2005-11-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3103169689Skan
3104169689Skan	* tree.h (CASE_FLT_FN, CASE_INT_FN): New macros.
3105169689Skan	* builtins.c (expand_builtin_mathfn): Use them.
3106169689Skan	(expand_builtin_mathfn_2): Likewise.
3107169689Skan	(expand_builtin_mathfn_3): Likewise.
3108169689Skan	(expand_builtin_int_roundingfn): Likewise.
3109169689Skan	(expand_builtin): Likewise.
3110169689Skan	(integer_valued_real_p): Likewise.
3111169689Skan	(fold_builtin_int_roundingfn): Likewise.
3112169689Skan	(fold_builtin_bitop): Likewise.
3113169689Skan	(fold_builtin_logarithm): Likewise.
3114169689Skan	(fold_builtin_1): Likewise.
3115169689Skan	* convert.c (convert_to_integer): Likewise.
3116169689Skan	* fold-const.c (negate_mathfn_p): Likewise.
3117169689Skan	(tree_expr_nonnegative_p): Likewise.
3118169689Skan
3119169689Skan2005-11-30  Dale Johannesen  <dalej@apple.com>
3120169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
3121169689Skan
3122169689Skan	* combine.c (find_split_point): Sign extend bitmask
3123169689Skan	when changing bitfield assignment to IOR of AND.
3124169689Skan
3125169689Skan2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
3126169689Skan
3127169689Skan	* config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
3128169689Skan	clobber to scratch reg.
3129169689Skan	(*decrement_and_branch_until_zero_no_clobber): Remove.
3130169689Skan	(decrement_and_branch peephole): Add dummy scratch reg to pattern.
3131169689Skan	(mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
3132169689Skan	* config/ms1/ms1.opt (mmul): Remove.
3133169689Skan	* config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
3134169689Skan	(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
3135169689Skan
3136169689Skan2005-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3137169689Skan	    Bernd Schmidt  <bernd.schmidt@analog.com>
3138169689Skan
3139169689Skan	* pa/predicates.md (symbolic_operand): Add comment.
3140169689Skan	* pa/pa.md (reload_insi_r1, reload_indi_r1): New reload expanders.
3141169689Skan	* pa/pa-protos.h (pa_secondary_reload_class): Delete.
3142169689Skan	* pa/pa.c (TARGET_SECONDARY_RELOAD): Define.
3143169689Skan	(pa_secondary_reload_class): Delete.
3144169689Skan	(pa_secondary_reload): New function derived from SECONDARY_RELOAD_CLASS
3145169689Skan	and pa_secondary_reload_class.  Reorder some checks.  Update inline
3146169689Skan	copy of symbolic operand.
3147169689Skan	* pa/pa.h (SECONDARY_RELOAD_CLASS): Delete.
3148169689Skan
3149169689Skan2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
3150169689Skan
3151169689Skan	* loop-doloop.c (add_test): Only add jump notes if we did emit a
3152169689Skan	jump.
3153169689Skan
3154169689Skan2005-11-30  Jeff Law  <law@redhat.com>
3155169689Skan
3156169689Skan	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
3157169689Skan	handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
3158169689Skan
3159169689Skan2005-11-30  Jakub Jelinek  <jakub@redhat.com>
3160169689Skan
3161169689Skan	* config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
3162169689Skan	Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
3163169689Skan	(ia64_expand_move): Adjust caller.
3164169689Skan
3165169689Skan	* config/ia64/ia64.c (ia64_expand_atomic_op): Only use
3166169689Skan	fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
3167169689Skan	negate VAL.
3168169689Skan
3169169689Skan2005-11-30  Paolo Bonzini  <bonzini@gnu.org>
3170169689Skan
3171169689Skan	* simplify-rtx.c (simplify_plus_minus): Remove final parameter.
3172169689Skan	Always produce an output if we can remove NEGs or canonicalize
3173169689Skan	(minus (minus ...)) expressions.  Provide a fast path for the
3174169689Skan	two-operand case.
3175169689Skan	(simplify_gen_binary): Do not call simplify_plus_minus.
3176169689Skan	(simplify_binary_operation_1): Reassociate at the end of the
3177169689Skan	function.
3178169689Skan
3179169689Skan2005-11-29  Evan Cheng  <evan.cheng@apple.com>
3180169689Skan
3181169689Skan	* config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
3182169689Skan	moves and unpack to speed up.
3183169689Skan
3184169689Skan2005-11-29  David S. Miller  <davem@sunset.davemloft.net>
3185169689Skan
3186169689Skan	* config/sparc/sparc.c (gen_compare_reg): Kill 2nd and 3rd
3187169689Skan	argument, they are always sparc_compare_op0 and sparc_compare_op1.
3188169689Skan	(gen_v9_scc): Update callers.
3189169689Skan	* config/sparc/sparc.md: Likewise.
3190169689Skan	* config/sparc/sparc-protos.h: Update extern declaration.
3191169689Skan
3192169689Skan	* tree-into-ssa.c (rewrite_into_ssa): Fix comment typo.
3193169689Skan
3194169689Skan2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
3195169689Skan
3196169689Skan	* fold-const.c (negate_expr) <case BIT_NOT_EXPR>: Add break after
3197169689Skan	the if.
3198169689Skan
3199169689Skan2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
3200169689Skan
3201169689Skan	* fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
3202169689Skan	(fold_unary) <case NEGATE_EXPR>: Move -(~a) transformation to ...
3203169689Skan	(negate_expr): Here.
3204169689Skan
3205169689Skan2005-11-29  Ben Elliston  <bje@au.ibm.com>
3206169689Skan
3207169689Skan	* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN):
3208169689Skan	Fix typo in comment.
3209169689Skan
3210169689Skan2005-11-29  Ben Elliston  <bje@au.ibm.com>
3211169689Skan
3212169689Skan	* Makefile.in (clean-target): Depend on clean-target-libgcc.
3213169689Skan	(clean-target-libgcc): Import rule from the top-level Makefile.in.
3214169689Skan
3215169689Skan2005-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3216169689Skan
3217169689Skan	PR middle-end/20109
3218169689Skan	PR middle-end/25120
3219169689Skan	* builtins.c (init_target_chars): New.
3220169689Skan	(expand_builtin_printf, expand_builtin_fprintf,
3221169689Skan	expand_builtin_sprintf, fold_builtin_sprintf,
3222169689Skan	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
3223169689Skan	fold_builtin_snprintf_chk, fold_builtin_printf,
3224169689Skan	fold_builtin_fprintf): Check for matching format strings using
3225169689Skan	the target charset.
3226169689Skan
3227169689Skan2005-11-29  Paul Brook  <paul@codesourcery.com>
3228169689Skan
3229169689Skan	* config.gcc: Do not use fixproto on m68k-elf.
3230169689Skan
3231169689Skan2005-11-28  Roger Sayle  <roger@eyesopen.com>
3232169689Skan
3233169689Skan	* expmed.c (div_cost): Replace with...
3234169689Skan	(sdiv_cost, udiv_cost): New.
3235169689Skan	(init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
3236169689Skan	Rename the div and mod fields, used to initialize sdiv_pow2_cheap
3237169689Skan	and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
3238169689Skan	(expand_divmod): Replace use of div_cost with either sdiv_cost
3239169689Skan	or udiv_cost depending upon the signedness of the operation.
3240169689Skan
3241169689Skan2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
3242169689Skan
3243169689Skan	PR libfortran/24991
3244169689Skan	* config/darwin.c (machopic_indirection_name,
3245169689Skan	machopic_output_indirection): Follow transparent alias chain.
3246169689Skan
3247169689Skan2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
3248169689Skan
3249169689Skan	* varasm.c (ultimate_transparent_alias_target): Add comment.
3250169689Skan
3251169689Skan2005-11-28  Kazu Hirata  <kazu@codesourcery.com>
3252169689Skan
3253169689Skan	* config/m68k/m68k.c (notice_update_cc): Use SET_DEST and
3254169689Skan	SET_SRC instead of XEXP where appropriate.
3255169689Skan
3256169689Skan2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
3257169689Skan
3258169689Skan	* config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
3259169689Skan	__builtin_expect.
3260169689Skan
3261169689Skan2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
3262169689Skan
3263169689Skan	* config/fp-bit.h (LSHIFT): Take shift count parameter.
3264169689Skan	* config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
3265169689Skan	bit at a time.
3266169689Skan
3267169689Skan2005-11-28  Bernd Schmidt  <bernd.schmidt@analog.com>
3268169689Skan
3269169689Skan	* config/bfin/bfin.c (bfin_secondary_reload): Renamed from
3270169689Skan	secondary_input_reload_class, made static.  Adapt to new
3271169689Skan	infrastructure.
3272169689Skan	(secondary_output_reload_class): Delete.
3273169689Skan	(TARGET_SECONDARY_RELOAD): New macro.
3274169689Skan	* config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
3275169689Skan	SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
3276169689Skan
3277169689Skan2005-11-28  Nathan Sidwell  <nathan@codesourcery.com>
3278169689Skan
3279169689Skan	PR c++/21166
3280169689Skan	* c-decl.c (finish_struct): Only set DECL_PACKED on a field
3281169689Skan	when its natural alignment is > BITS_PER_UNIT.
3282169689Skan	* stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
3283169689Skan	* c-common.c (handle_packed_attribute): Ignore packing on a field
3284169689Skan	whose type is naturally char aligned.
3285169689Skan
3286169689Skan2005-11-28  Richard Guenther  <rguenther@suse.de>
3287169689Skan
3288169689Skan	* c-common.c (strict_aliasing_warning): Handle all
3289169689Skan	component-ref like accesses.
3290169689Skan
3291169689Skan2005-11-28  Roger Sayle  <roger@eyesopen.com>
3292169689Skan	    Uros Bizjak  <uros@kss-loka.si>
3293169689Skan
3294169689Skan	PR middle-end/20219
3295169689Skan	* fold-const.c (fold binary) <RDIV_EXPR>: Optimize
3296169689Skan	sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
3297169689Skan	when flag_unsafe_math_optimizations is set and
3298169689Skan	we don't care about NaNs or Infinities.
3299169689Skan
3300169689Skan	Move x/expN(y) and x/pow(y,z) transformation into common
3301169689Skan	flag_unsafe_math_optimizations section.
3302169689Skan
3303169689Skan2005-11-27  Mark Mitchell  <mark@codesourcery.com>
3304169689Skan
3305169689Skan	* gcc.c (main): Change type of argv to "char **".
3306169689Skan
3307169689Skan2005-11-28  Alan Modra  <amodra@bigpond.net.au>
3308169689Skan
3309169689Skan	* doc/invoke.texi (powerpc msdata-data): Static data doesn't go in
3310169689Skan	small data sections.
3311169689Skan	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global.
3312169689Skan	* config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare.
3313169689Skan	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to..
3314169689Skan	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm.  Don't
3315169689Skan	output locals to sbss if !rs6000_elf_in_small_data_p.
3316169689Skan	(ASM_OUTPUT_ALIGNED_BSS): Adjust for above.
3317169689Skan
3318169689Skan2005-11-28  Alan Modra  <amodra@bigpond.net.au>
3319169689Skan
3320169689Skan	PR target/24997
3321169689Skan	* config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
3322169689Skan	generated by reload.
3323169689Skan	* config/rs6000/predicates.md (indexed_or_indirect_operand): Use
3324169689Skan	indexed_or_indirect_address.
3325169689Skan	(indexed_or_indirect_address): Don't test for base reg.  Call
3326169689Skan	address_operand last.  Make it a special predicate.
3327169689Skan
3328169689Skan2005-11-27  Kazu Hirata  <kazu@codesourcery.com>
3329169689Skan
3330169689Skan	* config/m68k/m68k.c (notice_update_cc): Remove useless code.
3331169689Skan
3332169689Skan2005-11-27  Andrew Pinski  <pinskia@physics.uc.edu>
3333169689Skan
3334169689Skan	PR middle-end/24575
3335169689Skan	* fold-const.c (negate_expr_p): Add case for signed divides if overflow
3336169689Skan	is undefined.
3337169689Skan	(negate_expr): Likewise.
3338169689Skan
3339169689Skan2005-11-27  Andreas Schwab  <schwab@suse.de>
3340169689Skan
3341169689Skan	* config/m68k/m68k.c: Reindent and fix whitespace, remove
3342169689Skan	redundant parens.
3343169689Skan
3344169689Skan2005-11-27  Steven Bosscher  <stevenb@suse.de>
3345169689Skan
3346169689Skan	* cfgcleanup.c (try_crossjump_to_edge): Always split SRC2 if it
3347169689Skan	has EH predecessor edges.
3348169689Skan
3349169689Skan2005-11-26  Eric Christopher  <echristo@apple.com>
3350169689Skan
3351169689Skan	* config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
3352169689Skan	register stalls by zero extending to the full register.
3353169689Skan
3354169689Skan2005-11-27  Joseph S. Myers  <joseph@codesourcery.com>
3355169689Skan
3356169689Skan	* config/floatunsisf.c, config/floatunsidf.c,
3357169689Skan	config/floatunsixf.c, config/floatunsitf.c: New files.
3358169689Skan	* config/ia64/t-hpux: Add floatunsitf.c.
3359169689Skan	* config/ia64/ia64.c (ia64_init_libfuncs): Use
3360169689Skan	_U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion.
3361169689Skan
3362169689Skan2005-11-26  Richard Henderson  <rth@redhat.com>
3363169689Skan
3364169689Skan	* c-lex.c (pragma_lex): Rename from c_lex.
3365169689Skan	* c-pch.c: Update for pragma_lex rename.
3366169689Skan	* c-pragma.c, c-pragma.h, config/ia64/ia64-c.c: Likewise.
3367169689Skan	* config/m32c/m32c-pragma.c, config/darwin-c.c: Likewise.
3368169689Skan	* config/rs6000/rs6000-c.c, config/c4x/c4x-c.c: Likewise.
3369169689Skan	* config/sol2-c.c, config/v850/v850-c.c: Likewise.
3370169689Skan	* doc/tm.texi: Likewise.
3371169689Skan
3372169689Skan2005-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
3373169689Skan
3374169689Skan	PR middle-end/23669
3375169689Skan	* fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
3376169689Skan	when overflow is undefined.
3377169689Skan
3378169689Skan2005-11-26  Hans-Peter Nilsson  <hp@axis.com>
3379169689Skan
3380169689Skan	* doc/md.texi (Insn Canonicalizations): Refer to the
3381169689Skan	function commutative_operand_precedence for further rules.
3382169689Skan
3383169689Skan2005-11-25  Roger Sayle  <roger@eyesopen.com>
3384169689Skan
3385169689Skan	PR middle-end/21309
3386169689Skan	* expmed.c (choose_mult_variant): Return immediately when mult_cost
3387169689Skan	is less than zero.  Limit mult_cost to a reasonable upper bound for
3388169689Skan	the synthetic multiplication sequence.
3389169689Skan
3390169689Skan2005-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3391169689Skan
3392169689Skan	PR middle-end/25022
3393169689Skan	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
3394169689Skan	fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
3395169689Skan	Lookup the explicit replacement functions for any unlocked
3396169689Skan	stdio builtin transformations.
3397169689Skan
3398169689Skan2005-11-25  Hans-Peter Nilsson  <hp@axis.com>
3399169689Skan
3400169689Skan	* config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
3401169689Skan	earlyclobber.
3402169689Skan	* targhooks.c (default_secondary_reload): Don't require operand 2
3403169689Skan	for an input reload to be earlyclobber.
3404169689Skan
3405169689Skan2005-11-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3406169689Skan
3407169689Skan	* fold-const.c (negate_mathfn_p): Fix comment and add support
3408169689Skan	for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
3409169689Skan	BUILT_IN_ATANH.
3410169689Skan
3411169689Skan2005-11-25  Joseph S. Myers  <joseph@codesourcery.com>
3412169689Skan
3413169689Skan	PR middle-end/24998
3414169689Skan	* config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
3415169689Skan	_Q_ulltoq for unsigned conversions from SImode and DImode to
3416169689Skan	TFmode.
3417169689Skan
3418169689Skan2005-11-25  Alan Modra  <amodra@bigpond.net.au>
3419169689Skan
3420169689Skan	* config/rs6000/ppc64-fp.c (__floatunditf): New function.
3421169689Skan	(__floatundidf, __floatundisf): Likewise.
3422169689Skan
3423169689Skan2005-11-25  David Edelsohn  <edelsohn@gnu.org>
3424169689Skan
3425169689Skan	* config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
3426169689Skan	(rs6000_override_options): Remove initialization of
3427169689Skan	rs6000_sr_alias_set.
3428169689Skan	(rs6000_emit_eh_reg_restore): Use gen_frame_mem.
3429169689Skan	(rs6000_emit_stack_tie): Same.
3430169689Skan	(emit_frame_save): Same.
3431169689Skan	(gen_frame_mem_offset): Same.
3432169689Skan	(rs6000_emit_prologue): Same.
3433169689Skan	(rs6000_emit_epilogue): Same.
3434169689Skan
3435169689Skan2005-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
3436169689Skan
3437169689Skan	PR middle-end/24989
3438169689Skan	* fold-const.c (fold_build): Convert bool_var != 1 and
3439169689Skan	bool_var == 0 to !bool_var.
3440169689Skan
3441169689Skan2005-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
3442169689Skan
3443169689Skan	PR middle-end/24990
3444169689Skan	* fold-const.c (fold_binary): Fold (~a) == C to a == ~C
3445169689Skan	for C being INTEGER_CST.  Likewise for !=.
3446169689Skan
3447169689Skan2005-11-25  Joseph S. Myers  <joseph@codesourcery.com>
3448169689Skan
3449169689Skan	PR middle-end/24998
3450169689Skan	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
3451169689Skan	unsigned conversions from SImode to TFmode.
3452169689Skan
3453169689Skan2005-11-24  Bernd Schmidt  <bernd.schmidt@analog.com>
3454169689Skan
3455169689Skan	* expr.c (expand_expr_real_1): Fix error in last change.
3456169689Skan
3457169689Skan2005-11-24  J"orn Rennecke <joern.rennecke@st.com>
3458169689Skan
3459169689Skan	* caller-save.c: (this_insn_sets): Move into:
3460169689Skan	(save_call_clobbered_regs).
3461169689Skan	(mark_set_regs): Get this_insn_sets from data.
3462169689Skan
3463169689Skan	(save_call_clobbered_regs): Take sets of the return value by
3464169689Skan	sibcalls into account.
3465169689Skan
3466169689Skan2005-11-24  J"orn Rennecke <joern.rennecke@st.com>
3467169689Skan	PR target/21623:
3468169689Skan
3469169689Skan	* regclass.c (FORBIDDEN_INC_DEC_CLASSES): Remove
3470169689Skan	SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS tests.
3471169689Skan	(init_fake_stack_mems): Remove HAVE_SECONDARY_RELOADS test.
3472169689Skan	(memory_move_secondary_cost, init_reg_autoinc): Remove
3473169689Skan	SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_OUTPUT_RELOAD_CLASS tests.
3474169689Skan	Replace SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with
3475169689Skan	secondary_reload_class call.
3476169689Skan	(copy_cost): Likewise.  Add new parameter prev_sri.  Changed all
3477169689Skan	callers.
3478169689Skan	* reload.c (entire file): Remove HAVE_SECONDARY_RELOADS checks.
3479169689Skan	(push_secondary_reload): Use secondary_reload target hook.
3480169689Skan	(secondary_reload_class, scratch_reload_class): New functions.
3481169689Skan	(push_reload): Remove SECONDARY_INPUT_RELOAD_CLASS and
3482169689Skan	SECONDARY_OUTPUT_RELOAD_CLASS tests.  Replace
3483169689Skan	SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with secondary_reload_class call.
3484169689Skan	* reload.h (HAVE_SECONDARY_RELOADS): Don't define nor test.
3485169689Skan	(secondary_reload_class, scratch_reload_class): Declare.
3486169689Skan	* reload1.c: Include target.h.
3487169689Skan	(reload_adjust_reg_for_temp): New function.
3488169689Skan	(reload_adjust_reg_for_icode): Likewise.
3489169689Skan	(choose_reload_regs): Remove SECONDARY_INPUT_RELOAD_CLASS test.
3490169689Skan	Replace SECONDARY_INPUT_RELOAD_CLASS use with secondary_reload_class
3491169689Skan	call.
3492169689Skan	(emit_input_reload_insns): Likewise.  Rewrite secondary reload checks
3493169689Skan	for inheritance.  Support case when both secondary & tertiary reloads
3494169689Skan	are for intermediate registers.
3495169689Skan	(emit_output_reload_insns): Replace SECONDARY_OUTPUT_RELOAD_CLASS use
3496169689Skan	with secondary_reload_class call.  Support case when both secondary
3497169689Skan	& tertiary reloads are for intermediate registers.
3498169689Skan	* target-def.h (TARGET_SECONDARY_RELOAD): Provide default definition.
3499169689Skan	(TARGET_INITIALIZER) Add TARGET_SECONDARY_RELOAD.
3500169689Skan	* target.h (secondary_reload_info): New struct / typedef.
3501169689Skan	(struct gcc_target): New member secondary_reload.
3502169689Skan	* targhooks.c Include reload.h, optabs.h and recog.h.
3503169689Skan	(default_secondary_reload): New function.
3504169689Skan	* targhooks.h (default_secondary_reload): Declare.
3505169689Skan	* doc/tm.texi: Document secondary_reload target hook.  Update
3506169689Skan	description of SECONDARY_*RELOAD_CLASS and reload_{in,out}<mode>.
3507169689Skan	* doc/md.texi: Likewise.
3508169689Skan
3509169689Skan	* sh-protos.h (sh_secondary_reload): Declare.
3510169689Skan	* sh.c (TARGET_SECONDARY_RELOAD): Override.
3511169689Skan	(sh_secondary_reload): New function.
3512169689Skan	* sh.h (SECONDARY_INOUT_RELOAD_CLASS): Don't define.
3513169689Skan	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3514169689Skan	(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
3515169689Skan	(HAVE_SECONDARY_RELOADS): Define.
3516169689Skan	* sh.md (reload_indf): Rename to:
3517169689Skan	(reload_indf__frn).
3518169689Skan	(reload_outdf): Rename to:
3519169689Skan	(reload_outdf__RnFRm).
3520169689Skan	(reload_insf): Rename to:
3521169689Skan	(reload_insf__frn).
3522169689Skan	(reload_insi): Rename to:
3523169689Skan	(reload_insi__i_fpul).
3524169689Skan
3525169689Skan2005-11-24  Uros Bizjak  <uros@kss-loka.si>
3526169689Skan
3527169689Skan	* configure.ac: Require at least texinfo 4.4.
3528169689Skan	* configure: Regenerate.
3529169689Skan
3530169689Skan	* doc/install.texi (Tools/packages necessary for building GCC):
3531169689Skan	Update required version of texinfo to at least 4.4.
3532169689Skan	(Installing GCC: Building): Update required version of texinfo
3533169689Skan	to at least 4.4.
3534169689Skan	(Installing GCC: Final installation): Update required version
3535169689Skan	of texi2dvi to at least 4.4.
3536169689Skan	(Host/target specific installation notes for GCC): Update required
3537169689Skan	version of texinfo to at least 4.4.
3538169689Skan
3539169689Skan2005-11-24  Richard Guenther  <rguenther@suse.de>
3540169689Skan	Dirk Mueller <dmueller@suse.de>
3541169689Skan
3542169689Skan	PR c++/14024
3543169689Skan	* c-common.h (strict_aliasing_warning): Declare.
3544169689Skan	* c-common.c (strict_aliasing_warning): New function,
3545169689Skan	split out from ...
3546169689Skan	* c-typeck.c (build_c_cast): ... here.
3547169689Skan
3548169689Skan2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
3549169689Skan
3550169689Skan	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
3551169689Skan	to order operands.
3552169689Skan	(swap_commutative_operands_with_target): New.
3553169689Skan
3554169689Skan2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
3555169689Skan
3556169689Skan	* gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
3557169689Skan	also when doing PRE, rather than only for global CPROP.
3558169689Skan
3559169689Skan2005-11-24  Ben Elliston  <bje@au.ibm.com>
3560169689Skan
3561169689Skan	* machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
3562169689Skan	* optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
3563169689Skan	formatting.
3564169689Skan	(expand_twoval_unop): Likewise.
3565169689Skan	(widen_clz): Likewise.
3566169689Skan	(expand_parity): Likewise.
3567169689Skan	(expand_unop): Likewise.
3568169689Skan	(emit_cmp_and_jmp_insn_1): Likewise.
3569169689Skan	(prepare_float_lib_cmp): Likewise.
3570169689Skan
3571169689Skan2005-11-24  Ben Elliston  <bje@au.ibm.com>
3572169689Skan
3573169689Skan	* optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
3574169689Skan	Remove unused `class' variable.
3575169689Skan
3576169689Skan2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3577169689Skan
3578169689Skan	PR c++/21667
3579169689Skan	* c-typeck.c (build_array_ref): Avoid code duplicate.  Use common
3580169689Skan	C/C++ diagnostic function warn_array_subscript_with_type_char.
3581169689Skan	* c-common.h (warn_array_subscript_with_type_char): Declare.
3582169689Skan	* c-common.c (warn_array_subscript_with_type_char): Define.
3583169689Skan
3584169689Skan2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3585169689Skan
3586169689Skan	PR c/21668
3587169689Skan	* c-decl.c (grokdeclarator): Don't warn for 'extern const' when
3588169689Skan	compiling at the intersection of C and C++.
3589169689Skan
3590169689Skan2005-11-23  Mark Mitchell  <mark@codesourcery.com>
3591169689Skan
3592169689Skan	* doc/invoke.texi: For man pages, include gcc-vers.texi.
3593169689Skan	List @file in the option summary.  Include the libiberty
3594169689Skan	documentation for @file.
3595169689Skan	* gcc.c (main): Call expandargv.
3596169689Skan	* Makefile.in (gcc-vers.texi): Define srcdir.
3597169689Skan
3598169689Skan2005-11-23  Diego Novillo  <dnovillo@redhat.com>
3599169689Skan
3600169689Skan	* passes.c (init_optimization_passes): Document
3601169689Skan	sequencing of passes.
3602169689Skan
3603169689Skan2005-11-23  Kazu Hirata  <kazu@codesourcery.com>
3604169689Skan
3605169689Skan	* config/m68k/predicates.md (pcrel_address, extend_operator,
3606169689Skan	post_inc_operand, pre_dec_operand): Remove redundant
3607169689Skan	conditionals.
3608169689Skan	(const_uint32_operand, const_sint32_operand): Use gcc_assert
3609169689Skan	instead of abort.
3610169689Skan	(valid_dbcc_comparison_p): Rewrite in the lisp style.
3611169689Skan
3612169689Skan2005-11-23  Ben Elliston  <bje@au.ibm.com>
3613169689Skan
3614169689Skan	* dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
3615169689Skan
3616169689Skan2005-11-22  J"orn Rennecke <joern.rennecke@st.com>
3617169689Skan
3618169689Skan	Preparatory work for PR target/21623:
3619169689Skan	* alpha.c (secondary_reload_class): Rename to:
3620169689Skan	(alpha_secondary_reload_class).
3621169689Skan	* alpha.h, alpha-protos.h: Likewise.
3622169689Skan	* mn10300.c (secondary_reload_class): Rename to:
3623169689Skan	(mn10300_secondary_reload_class).
3624169689Skan	* mn10300.h, mn10300-protos.h: Likewise.
3625169689Skan	* pa.c (secondary_reload_class): Rename to:
3626169689Skan	(pa_secondary_reload_class).
3627169689Skan	* pa.h, pa-protos.h: Likewise.
3628169689Skan	* rs6000.c (secondary_reload_class): Rename to:
3629169689Skan	rs6000_secondary_reload_class.
3630169689Skan	* rs6000.h, rs6000-protos.h: Likewise.
3631169689Skan
3632169689Skan2005-11-22  Eric Botcazou  <ebotcazou@adacore.com>
3633169689Skan
3634169689Skan	PR middle-end/22561
3635169689Skan	* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
3636169689Skan
3637169689Skan2005-11-22  Ian Lance Taylor  <ian@airs.com>
3638169689Skan
3639169689Skan	* optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
3640169689Skan	a mode_class.
3641169689Skan	(prepare_cmp_insn): Likewise.
3642169689Skan
3643169689Skan2005-11-22  Kazu Hirata  <kazu@codesourcery.com>
3644169689Skan
3645169689Skan	PR target/23435
3646169689Skan	* m68k.md (zero_extendsidi2): Force operands[1] to a register
3647169689Skan	if both operands[0] and operands[1] are memory.
3648169689Skan
3649169689Skan2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
3650169689Skan
3651169689Skan	PR middle-end/23606
3652169689Skan	* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
3653169689Skan	COMPARISON_CLASS_P and an integral types create create a new
3654169689Skan	expression with the new type and fold that.
3655169689Skan
3656169689Skan2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
3657169689Skan
3658169689Skan	PR target/24988
3659169689Skan	* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
3660169689Skan	to SUBTARGET_OS_CPP_BUILTINS.
3661169689Skan
3662169689Skan2005-11-22  Richard Earnshaw  <richard.earnshaw@arm.com>
3663169689Skan
3664169689Skan	* arm.c (emit_set_insn): New function.
3665169689Skan	(arm_split_constant): Call it.
3666169689Skan	(arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
3667169689Skan	(arm_legitimize_address): Likewise.  Use plus_constant.
3668169689Skan	(arm_expand_prologue): Likewise.  Use VOIDmode in SET.
3669169689Skan	(thumb_expand_prologue): Likewise.
3670169689Skan	(arm_gen_load_multiple): Use VOIDmode in SET.
3671169689Skan	(arm_gen_store_multiple): Likewise.
3672169689Skan	(vfp_emit_fstmx): Likewise.  Use plus_constant.
3673169689Skan	(emit_multi_reg_push): Likewise.
3674169689Skan	(emit_sfm): Use plus_constant.
3675169689Skan
3676169689Skan2005-11-23  Alan Modra  <amodra@bigpond.net.au>
3677169689Skan
3678169689Skan	PR target/24954
3679169689Skan	* config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
3680169689Skan	typo last change.
3681169689Skan
3682169689Skan2005-11-22  Alan Modra  <amodra@bigpond.net.au>
3683169689Skan
3684169689Skan	PR middle-end/24950
3685169689Skan	* expmed.c (store_bit_field): Don't attempt to insv a field
3686169689Skan	larger than the reg.
3687169689Skan
3688169689Skan2005-11-22  Alan Modra  <amodra@bigpond.net.au>
3689169689Skan
3690169689Skan	PR target/24954
3691169689Skan	* config/rs6000/predicated.md (easy_vector_constant_add_self): Use
3692169689Skan	explicit sign extension, not a (char) cast.
3693169689Skan
3694169689Skan2005-11-22  Ben Elliston  <bje@au.ibm.com>
3695169689Skan
3696169689Skan	* optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
3697169689Skan	GET_MODE_CLASS (x) == MODE_FLOAT.
3698169689Skan	* config/i386/i386.c: Likewise.
3699169689Skan	* config/rs6000/xcoff.h: Likewise.
3700169689Skan	* config/rs6000/linux64.h: Likewise.
3701169689Skan	* config/rs6000/rs6000.c: Likewise.
3702169689Skan	* config/rs6000/rs6000.h: Likewise.
3703169689Skan	* config/rs6000/predicates.md: Likewise.
3704169689Skan	* config/rs6000/sysv4.h: Likewise.
3705169689Skan
3706169689Skan2005-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3707169689Skan
3708169689Skan	* c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
3709169689Skan	flag_pic is set.
3710169689Skan
3711169689Skan	* config/alpha/freebsd.h, config/alpha/linux.h,
3712169689Skan	config/arm/linux-elf.h, config/bfin/bfin.h,
3713169689Skan	config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
3714169689Skan	config/i386/beos-elf.h, config/i386/gnu.h,
3715169689Skan	config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
3716169689Skan	config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
3717169689Skan	config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
3718169689Skan	config/rs6000/linux64.h, config/rs6000/sysv4.h,
3719169689Skan	config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
3720169689Skan	config/sh/linux.h, config/sh/sh.h, config/sol2.h,
3721169689Skan	config/sparc/linux.h, config/sparc/linux64.h,
3722169689Skan	config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
3723169689Skan
3724169689Skan	* doc/invoke.texi: Document that the macros __pic__ and __PIC__
3725169689Skan	are both defined when either flag -fpic or -fPIC are used.
3726169689Skan
3727169689Skan2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
3728169689Skan
3729169689Skan	* config/fp-bit.c (clzusi): New function.
3730169689Skan	(si_to_float, usi_to_float): Use it to compute proper shift.
3731169689Skan	(usi_to_float): Preserve guard bits when shifting right.
3732169689Skan	* libgcc-std.ver (GCC_4.2.0): New version.
3733169689Skan	* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
3734169689Skan	__floatundisf): New functions.
3735169689Skan	* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
3736169689Skan	__floatundisf): Declare.
3737169689Skan	* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
3738169689Skan	_floatundixf, and _floatunditf.
3739169689Skan	* optabs.c (expand_float): If target does not define a pattern for
3740169689Skan	signed or unsigned conversion, use an unsigned libcall instead of
3741169689Skan	a signed one.
3742169689Skan	(init_optabs): Initialize ufloat_optab.
3743169689Skan
3744169689Skan2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
3745169689Skan
3746169689Skan	* config/rs6000/rs6000.opt (mmulhw): New option.
3747169689Skan	* doc/invoke.texi (-mmulhw): Document.
3748169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
3749169689Skan	for 405 and 440.
3750169689Skan	* config/rs6000/rs6000.md: Add half-word multiply and
3751169689Skan	multiply-accumulate instructions for 405 and 440.
3752169689Skan
3753169689Skan2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
3754169689Skan
3755169689Skan	* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
3756169689Skan	which matches behavior of gcc 4.0 and older for RTEMS targets.  The
3757169689Skan	default now includes a linker group which makes the RTEMS one nest.
3758169689Skan
3759169689Skan2005-11-22  Ben Elliston  <bje@au.ibm.com>
3760169689Skan
3761169689Skan	* cse.c (fold_rtx): Typo fix.
3762169689Skan	(find_comparison_args): Pass the mode of arg1, not arg1 itself.
3763169689Skan
3764169689Skan2005-11-21  Richard Henderson  <rth@redhat.com>
3765169689Skan
3766169689Skan	* c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
3767169689Skan	langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
3768169689Skan
3769169689Skan	* c-tree.h (lookup_name): Move declaration ...
3770169689Skan	* c-common.h (lookup_name): ... here.
3771169689Skan	* config/darwin-c.c: Include c-common.h.
3772169689Skan	* config/t-darwin: Update dependencies.
3773169689Skan
3774169689Skan2005-11-22  Ben Elliston  <bje@au.ibm.com>
3775169689Skan
3776169689Skan	* optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
3777169689Skan	explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
3778169689Skan	* genopinit.c (gen_insn): Likewise.
3779169689Skan	* reload.c (find_equiv_reg): Likewise.
3780169689Skan	* loop.c (load_mems): Likewise.
3781169689Skan	* rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
3782169689Skan	* cse.c (find_comparison_args, fold_rtx): Likewise.
3783169689Skan	* dwarf2out.c (add_const_value_attribute): Likewise.
3784169689Skan	* expr.c (convert_move): Likewise.
3785169689Skan	* recog.c (general_operand, register_operand): Likewise.
3786169689Skan	* reg-stack.c (replace_reg): Likewise.
3787169689Skan	* tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
3788169689Skan	* c-common.c (handle_vector_size_attribute): Likewise.
3789169689Skan	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
3790169689Skan	(simplify_binary_operation_1): Likewise.
3791169689Skan	(simplify_const_binary_operation): Likewise.
3792169689Skan	(simplify_relational_operation): Likewise.
3793169689Skan	(simplify_const_relational_operation): Likewise.
3794169689Skan	(simplify_immed_subreg): Likewise.
3795169689Skan	* emit-rtl.c (gen_lowpart_common): Likewise.
3796169689Skan	* expmed.c (expand_mult): Likewise.
3797169689Skan	* stor-layout.c (layout_type): Likewise.
3798169689Skan
3799169689Skan2005-11-21  Paolo Bonzini  <bonzini@gnu.org>
3800169689Skan
3801169689Skan	PR target/24951
3802169689Skan	* config/rs6000/rs6000.c (output_vec_const_move): Load cst and
3803169689Skan	cst2 only for SPE vectors.
3804169689Skan
3805169689Skan2005-11-21  David Edelsohn  <edelsohn@gnu.org>
3806169689Skan
3807169689Skan	PR target/24953
3808169689Skan	* config/rs6000/predicates.md (vrsave_operation): Check
3809169689Skan	UNSPEC_VOLATILE value.
3810169689Skan
3811169689Skan2005-11-21  Jan Hubicka  <jh@suse.cz>
3812169689Skan
3813169689Skan	PR tree-optimization/24653
3814169689Skan	* tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
3815169689Skan
3816169689Skan2005-11-21  Uros Bizjak  <uros@kss-loka.si>
3817169689Skan
3818169689Skan	* config/i386/predicates.md (ax_reg_operand): New predicate.
3819169689Skan	(memory_displacement_only_operand): New predicate.
3820169689Skan	* config/i386/i386.md ("modrm" attribute): Return 0 if one
3821169689Skan	operand is AX register and the other operand is memory operand
3822169689Skan	with displacement only.
3823169689Skan
3824169689Skan2005-11-21  Uros Bizjak  <uros@kss-loka.si>
3825169689Skan
3826169689Skan	* fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
3827169689Skan	if we don't care about NaNs or Infinities.
3828169689Skan
3829169689Skan2005-11-20  Ian Lance Taylor  <ian@airs.com>
3830169689Skan
3831169689Skan	PR rtl-optimization/24883
3832169689Skan	* combine.c (combinable_i3pat): When checking whether the
3833169689Skan	destination of i3 is used in i3, consider paradoxical subregs.
3834169689Skan
3835169689Skan2005-11-21  Kazu Hirata  <kazu@codesourcery.com>
3836169689Skan
3837169689Skan	PR middle-end/20583
3838169689Skan	* cse.c (cse_insn): Reject invalid forms of CONST earlier.
3839169689Skan
3840169689Skan2005-11-20  Joseph S. Myers  <joseph@codesourcery.com>
3841169689Skan
3842169689Skan	* combine.c (try_combine): Do not run subst on i1src and i2src in
3843169689Skan	the case of generating a PARALLEL for a comparison.
3844169689Skan
3845169689Skan2005-11-20  Richard Henderson  <rth@redhat.com>
3846169689Skan
3847169689Skan	PR 24931
3848169689Skan	* tree-sra.c (struct sra_elt): Add all_no_warning.
3849169689Skan	(struct sra_walk_fns) <use>: Add use_all argument.
3850169689Skan	(sra_walk_expr): Pass it.
3851169689Skan	(sra_walk_modify_expr): Likewise.
3852169689Skan	(scalarize_ldst): Likewise.
3853169689Skan	(scan_use): Update for new argument.
3854169689Skan	(mark_no_warning): New.
3855169689Skan	(scalarize_use): Use it.
3856169689Skan
3857169689Skan2005-11-20  Bernd Schmidt  <bernd.schmidt@analog.com>
3858169689Skan
3859169689Skan	* expr.c (expand_expr_real): Use usmul_optab for widening
3860169689Skan	signed * unsigned multiplies.
3861169689Skan	* genopinit.c (optabs): Add usmul_widen_optab.
3862169689Skan	* optabs.c (init_optabs): Likewise.
3863169689Skan	* optabs.h (enum optab_index): Add OTI_usmul_widen.
3864169689Skan	(usmul_widen_optab): Define.
3865169689Skan	* config/bfin/bfin.md (usmulhisi3): New pattern.
3866169689Skan
3867169689Skan	* doc/md.texi (usmulqihi3, usmulhisi3, usmulsidi3): Document.
3868169689Skan
3869169689Skan2005-11-20  Graham Stott <btinternet.com>
3870169689Skan
3871169689Skan	* gensupport.c (std_preds): Fixed extraneous `false` in last change.
3872169689Skan
3873169689Skan2005-11-20  Andreas Schwab  <schwab@suse.de>
3874169689Skan
3875169689Skan	PR target/24757
3876169689Skan	* config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
3877169689Skan	insn.
3878169689Skan
3879169689Skan2005-11-19  Richard Henderson  <rth@redhat.com>
3880169689Skan
3881169689Skan	PR tree-opt/24665
3882169689Skan	* tree-gimple.c (is_gimple_id): Export.
3883169689Skan	* tree-gimple.h (is_gimple_id): Declare.
3884169689Skan	* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
3885169689Skan	(get_default_value): Use it.
3886169689Skan	(maybe_fold_stmt_indirect): Likewise.
3887169689Skan
3888169689Skan2005-11-19  James A. Morrison  <phython@gcc.gnu.org>
3889169689Skan
3890169689Skan	* tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
3891169689Skan	than VR1 or vice-versa.
3892169689Skan
3893169689Skan2005-11-19  Hans-Peter Nilsson  <hp@axis.com>
3894169689Skan
3895169689Skan	PR middle-end/24912
3896169689Skan	PR middle-end/24750
3897169689Skan	* reload.c (find_reloads_address_1): Mention dependency on
3898169689Skan	gen_reload.
3899169689Skan	* reload1.c (gen_reload): For IN with an unary operation, try
3900169689Skan	moving inner expression to OUT if trivial SET is not valid.
3901169689Skan	Confirm that the result is valid.  Move common code block into...
3902169689Skan	(emit_insn_if_valid_for_reload): New function.
3903169689Skan
3904169689Skan2005-11-19  Richard Guenther  <rguenther@suse.de>
3905169689Skan
3906169689Skan	* fold-const.c (fold_indirect_ref_1): Make sure we fold
3907169689Skan	ARRAY_REFs of constant strings.
3908169689Skan
3909169689Skan2005-11-19  Jakub Jelinek  <jakub@redhat.com>
3910169689Skan
3911169689Skan	* gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
3912169689Skan	fatal format string.
3913169689Skan
3914169689Skan2005-11-19  Joseph S. Myers  <joseph@codesourcery.com>
3915169689Skan
3916169689Skan	* combine.c (make_compound_operation): Swap operands of
3917169689Skan	commutative operation if necessary before returning.
3918169689Skan
3919169689Skan2005-11-19  Richard Guenther  <rguenther@suse.de>
3920169689Skan
3921169689Skan	PR middle-end/23294
3922169689Skan	* fold-const.c (fold_plusminus_mult_expr): New function.
3923169689Skan	(fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
3924169689Skan	cases, remove now unnecessary code.
3925169689Skan
3926169689Skan2005-11-19  Paolo Bonzini  <bonzini@gcc.gnu.org>
3927169689Skan
3928169689Skan	* gensupport.c (old_preds): Rename to std_preds, add special field.
3929169689Skan	(struct old_pred_table): Rename to struct std_pred_table, add special
3930169689Skan	field.
3931169689Skan	(NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
3932169689Skan	(NUM_OLD_SPECIAL_MODE_PREDS): Remove.
3933169689Skan	(init_predicate_table): Adjust, and set along the way whether a
3934169689Skan	predicate is special.
3935169689Skan
3936169689Skan2005-11-18  Mark Mitchell  <mark@codesourcery.com>
3937169689Skan
3938169689Skan	* BASE-VER: Change to 4.2.0.
3939169689Skan
3940169689Skan2005-11-18  James E Wilson  <wilson@specifix.com>
3941169689Skan
3942169689Skan	* builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
3943169689Skan	returning it.
3944169689Skan
3945169689Skan2005-11-18  Mike Stump  <mrs@apple.com>
3946169689Skan
3947169689Skan	* c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
3948169689Skan	* config/darwin-c.c (darwin_pragma_unused): Likewise.
3949169689Skan	* c-decl.c (lookup_name_two) Remove.
3950169689Skan	* c-tree.h (lookup_name_two): Remove.
3951169689Skan	* c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
3952169689Skan	* langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
3953169689Skan	(LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
3954169689Skan	* langhooks.h (lang_hooks_for_decls): Add lookup_name.
3955169689Skan
3956169689Skan2005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
3957169689Skan
3958169689Skan	PR target/24914
3959169689Skan	* arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
3960169689Skan	when not generating code to use that co-processor.
3961169689Skan
3962169689Skan2005-11-18  James A. Morrison  <phython@gcc.gnu.org>
3963169689Skan
3964169689Skan	* tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
3965169689Skan	add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
3966169689Skan	these functions are now in tree-phinodes.c.
3967169689Skan
3968169689Skan2005-11-18  Jie Zhang  <jie.zhang@analog.com>
3969169689Skan
3970169689Skan	* config/bfin/bfin.md (trap): New pattern.
3971169689Skan
3972169689Skan2005-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3973169689Skan
3974169689Skan	* tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
3975169689Skan	on types.
3976169689Skan
3977169689Skan	* expr.c (expand_expr_real): Don't call record_block_change unless
3978169689Skan	ib_boundaries_block is non-null
3979169689Skan
3980169689Skan	* postreload.c (reload_cse_move2add): Don't try to work with BImode.
3981169689Skan
3982169689Skan	* fold-const.c (build_range_check): Use proper type for subtraction
3983169689Skan	when merging lower bound.
3984169689Skan
3985169689Skan2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
3986169689Skan
3987169689Skan	PR rtl-optimization/24497
3988169689Skan	* loop-unroll.c (apply_opt_in_copies): Do not verify equality of
3989169689Skan	the copied insn.
3990169689Skan
3991169689Skan2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
3992169689Skan
3993169689Skan	* tree-scalar-evolution.c (expression_expensive_p): New function.
3994169689Skan	(scev_const_prop): Use compute_overall_effect_of_inner_loop.
3995169689Skan
3996169689Skan2005-11-18  Bernd Schmidt  <bernd.schmidt@analog.com>
3997169689Skan
3998169689Skan	* config/bfin/crtlibid.s: New file.
3999169689Skan
4000169689Skan2005-11-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4001169689Skan
4002169689Skan	PR target/24348
4003169689Skan	* config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
4004169689Skan	when not using sjlj exceptions.
4005169689Skan	* config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
4006169689Skan	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4007169689Skan	* config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
4008169689Skan	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
4009169689Skan	DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
4010169689Skan	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
4011169689Skan	* config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
4012169689Skan	DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
4013169689Skan	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
4014169689Skan	* config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
4015169689Skan	(FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
4016169689Skan	DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
4017169689Skan	ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
4018169689Skan	defines.
4019169689Skan	* config/pa/hpux-unwind.h: New file.
4020169689Skan
4021169689Skan2005-11-17  Alexandre Oliva  <aoliva@redhat.com>
4022169689Skan
4023169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
4024169689Skan	* defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
4025169689Skan	* varasm.c (do_assemble_alias): Adjust call.
4026169689Skan	(weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
4027169689Skan	is defined.
4028169689Skan	* doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
4029169689Skan
4030169689Skan2005-11-17  James E Wilson  <wilson@specifix.com>
4031169689Skan
4032169689Skan	* tree.def (FUNCTION_DECL): Correct typo in comment.
4033169689Skan
4034169689Skan2005-11-17  Richard Henderson  <rth@redhat.com>
4035169689Skan
4036169689Skan	* dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
4037169689Skan	(lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
4038169689Skan	and DW_CFA_def_cfa_sf.
4039169689Skan	(def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
4040169689Skan	(dbx_reg_number): Don't assert particular registers here.
4041169689Skan	(based_loc_descr): ... do it here instead.  Fold in ...
4042169689Skan	(eliminate_reg_to_offset): ... this function.
4043169689Skan	(compute_frame_pointer_to_cfa_displacement): Fold in the effects
4044169689Skan	of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
4045169689Skan	* unwind-dw2.c (execute_cfa_program): Apply data align factor
4046169689Skan	to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
4047169689Skan	* function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
4048169689Skan	(instantiate_virtual_regs): Likewise.
4049169689Skan	* var-tracking.c (adjust_stack_reference): Likewise.
4050169689Skan	* doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
4051169689Skan
4052169689Skan2005-11-17  Bernd Schmidt  <bernd.schmidt@analog.com>
4053169689Skan
4054169689Skan	* config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
4055169689Skan	* config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
4056169689Skan	* config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
4057169689Skan	crtlibid.o.
4058169689Skan	($(T)crtlibid.o): New rule.
4059169689Skan
4060169689Skan2005-11-16  Richard Guenther  <rguenther@suse.de>
4061169689Skan
4062169689Skan	PR middle-end/24851
4063169689Skan	* fold-const.c (extract_array_ref): Return byte offset
4064169689Skan	in all cases.
4065169689Skan	(fold_binary): Fold &x[a] CMP &x[b] to
4066169689Skan	a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
4067169689Skan	behavior.
4068169689Skan
4069169689Skan2005-11-16  Richard Henderson  <rth@redhat.com>
4070169689Skan
4071169689Skan	PR middle-end/23497
4072169689Skan	* tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
4073169689Skan	parts of an SSA_NAME.
4074169689Skan
4075169689Skan2005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
4076169689Skan
4077169689Skan	PR target/24861
4078169689Skan	* arm.md (split for movsf with immediate): Restrict split to insns
4079169689Skan	that set a general register.
4080169689Skan
4081169689Skan2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
4082169689Skan
4083169689Skan	* config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
4084169689Skan	uw_update_context.
4085169689Skan	* unwind-dw2.c (uw_advance_context): Likewise.
4086169689Skan	* unwind-sjlj.c (uw_advance_context): Likewise.  Also call
4087169689Skan	_Unwind_SjLj_Unregister.
4088169689Skan	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
4089169689Skan
4090169689Skan2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
4091169689Skan
4092169689Skan	* unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
4093169689Skan
4094169689Skan2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
4095169689Skan
4096169689Skan	* config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
4097169689Skan	langhook to get a DImode integer type.
4098169689Skan
4099169689Skan2005-11-16  Richard Henderson  <rth@redhat.com>
4100169689Skan	    J"orn Rennecke <joern.rennecke@st.com>
4101169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
4102169689Skan
4103169689Skan	PR rtl-opt/24160
4104169689Skan	PR target/24621
4105169689Skan	* reload1.c (reg_equiv_invariant): New.
4106169689Skan	(reload): Allocate, initialize, and free it.
4107169689Skan	(calculate_needs_all_insns): Check it when skipping equivalence
4108169689Skan	setting insns.
4109169689Skan	(alter_reg): Likewise.
4110169689Skan	(eliminate_regs_1): Rename from eliminate_regs.  Add new
4111169689Skan	may_use_invariant argument; only use reg_equiv_invariant when true.
4112169689Skan	(eliminate_regs): New.
4113169689Skan	(eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
4114169689Skan	a context for which may_use_invariant may be true.
4115169689Skan
4116169689Skan2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
4117169689Skan
4118169689Skan	* fold-const.c (const_binop): Don't constant fold the operation
4119169689Skan	if the result has overflowed and flag_trapping_math.
4120169689Skan	* simplify-rtx.c (simplify_const_binary_operation): Likewise.
4121169689Skan
4122169689Skan2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
4123169689Skan
4124169689Skan	* config/arm/unwind-arm.c (abort): Add prototype here.
4125169689Skan	(UCB_FORCED_STOP_ARG): Correct typo in macro argument.
4126169689Skan	(struct phase1_vrs): Add prev_sp.
4127169689Skan	(unwind_phase2_forced): Save the original core registers instead of
4128169689Skan	modifying entry_vrs.  Take a new flag argument for resuming unwinding
4129169689Skan	and set action flags accordingly.  Always set _US_END_OF_STACK when
4130169689Skan	get_eit_entry fails.  Unwind before calling the stop function.
4131169689Skan	(_Unwind_GetCFA): New function.
4132169689Skan	(__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
4133169689Skan	(__gnu_Unwind_Resume_or_Rethrow): Likewise.
4134169689Skan	(__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
4135169689Skan	just call unwind_phase2_forced.
4136169689Skan	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
4137169689Skan	* config/arm/unwind-arm.h (abort): Remove prototype.
4138169689Skan	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
4139169689Skan	prototypes.
4140169689Skan	(_Unwind_GetCFA): New prototype.
4141169689Skan	* config/arm/pr-support.c (abort): Add prototype here.
4142169689Skan	* unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
4143169689Skan	forced unwinding.
4144169689Skan	* config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
4145169689Skan	not schedule the prologue with non-call exceptions and EABI.
4146169689Skan
4147169689Skan2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
4148169689Skan
4149169689Skan	* config/arm/unwind-arm.h: Reorder interface function declarations.
4150169689Skan	(_URC_END_OF_STACK): New enumeration value.
4151169689Skan	(_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
4152169689Skan	(struct _Unwind_Control_Block): Document reserved field use.
4153169689Skan	(_Unwind_Stop_Fn): New typedef.
4154169689Skan	(_Unwind_ForcedUnwind): Declare.
4155169689Skan	(_Unwind_Resume_or_Rethrow): Declare.
4156169689Skan	* config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
4157169689Skan	argument.  Adjust.
4158169689Skan	(_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
4159169689Skan	* config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
4160169689Skan	(UCB_FORCED_STOP_ARG): New.
4161169689Skan	(search_EIT_table): Update boundary condition checks.
4162169689Skan	(get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
4163169689Skan	(unwind_phase2): Replace for with do..while.
4164169689Skan	(unwind_phase2_forced): New.
4165169689Skan	(__gnu_Unwind_RaiseException): Replace for with do..while.
4166169689Skan	(__gnu_Unwind_ForcedUnwind): New.
4167169689Skan	(__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
4168169689Skan	Use appropriate phase2 unwinder.
4169169689Skan	(__gnu_Unwind_Resume_or_Rethrow): New.
4170169689Skan	(__gnu_unwind_pr_common): Cope with forced unwinding.
4171169689Skan
4172169689Skan2005-11-16  David Edelsohn  <edelsohn@gnu.org>
4173169689Skan
4174169689Skan	PR target/24772
4175169689Skan	* config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
4176169689Skan
4177169689Skan	* config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
4178169689Skan	roundsf2): Remove "s" from mnemonic.
4179169689Skan
4180169689Skan2005-11-16  Bernd Schmidt  <bernd.schmidt@analog.com>
4181169689Skan
4182169689Skan	* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
4183169689Skan	__PIC__ is defined.
4184169689Skan	* config/bfin/crtn.s: Change epilogues to match.
4185169689Skan	* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
4186169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
4187169689Skan	__PIC__ and __pic__.
4188169689Skan
4189169689Skan2005-11-16  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
4190169689Skan
4191169689Skan	PR 24357
4192169689Skan	* doc/invoke.texi: Distinguish between free and fixed form instead of
4193169689Skan	Fortran and Fortran 90/95.  Remove ratfor from the list of supported
4194169689Skan	languages.
4195169689Skan	* gcc.c (default_compilers): Remove double entries, add entries for
4196169689Skan	suffixes '.F90' and '.F95'.
4197169689Skan
4198169689Skan2005-11-16  Eric Botcazou <ebotcazou@adacore.com>
4199169689Skan
4200169689Skan	* config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
4201169689Skan	in the stack probing loop.
4202169689Skan
4203169689Skan2005-11-15  David Edelsohn  <edelsohn@gnu.org>
4204169689Skan
4205169689Skan	* configure.ac: Use .machine power5 not power5x.
4206169689Skan	* configure: Regenerate.
4207169689Skan
4208169689Skan2005-11-15  Mike Stump  <mrs@apple.com>
4209169689Skan
4210169689Skan	* c-decl.c (lookup_name_two): Add.
4211169689Skan	* c-tree.h (lookup_name_two): Likewise.
4212169689Skan	* c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
4213169689Skan	* config/darwin-c.c (darwin_pragma_unused): Likewise.
4214169689Skan
4215169689Skan2005-11-16  Alan Modra  <amodra@bigpond.net.au>
4216169689Skan
4217169689Skan	PR rtl-optimization/23392
4218169689Skan	* regrename.c (enum scan_actions) Add mark_access.
4219169689Skan	(scan_actions_name): Ditto.
4220169689Skan	(scan_rtx_reg): Handle mark_access.
4221169689Skan	(scan_rtx_address): Do nothing for mark_access.
4222169689Skan	(build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
4223169689Skan	and regs in REG_INC notes before closing chains for dead regs.
4224169689Skan	Mark destination regs in REG_FRAME_RELATED_EXPR notes after
4225169689Skan	opening chains for new writes.
4226169689Skan
4227169689Skan2005-11-15  David Edelsohn  <edelsohn@gnu.org>
4228169689Skan
4229169689Skan	* c.opt (ffixed-line-length-none): New.
4230169689Skan
4231169689Skan2005-11-15  Steve Ellcey  <sje@cup.hp.com>
4232169689Skan
4233169689Skan	* mklibgcc.in: Change contents of eh_dummy.c.
4234169689Skan
4235169689Skan2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
4236169689Skan
4237169689Skan	* loop.c (scan_loop): Do not insert temporaries for hard registers.
4238169689Skan
4239169689Skan2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
4240169689Skan
4241169689Skan	* config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
4242169689Skan	of making syscalls.
4243169689Skan	* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define.  Set r7 also.
4244169689Skan
4245169689Skan2005-11-15  Jan Hubicka  <jh@suse.cz>
4246169689Skan
4247169689Skan	* invoke.texi (large-unit-insns): Document.
4248169689Skan	* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
4249169689Skan	* params.def (large-unit-insns): New param.
4250169689Skan
4251169689Skan2005-11-15  Hans-Peter Nilsson  <hp@axis.com>
4252169689Skan
4253169689Skan	PR target/24869
4254169689Skan	* config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
4255169689Skan	special register for operand 3.  Reindent constraints to align
4256169689Skan	them vertically.
4257169689Skan
4258169689Skan2005-11-14  David Edelsohn  <edelsohn@gnu.org>
4259169689Skan
4260169689Skan	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
4261169689Skan	-mpopcntb, -mfprnd. Add -mcpu=power5+.
4262169689Skan	* configure.ac: Add test for FP rounding instructions.
4263169689Skan	* configure: Regenerate.
4264169689Skan	* config.in: Regenerate.
4265169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
4266169689Skan	_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
4267169689Skan	features enabled.
4268169689Skan	* config/rs6000/rs6000.opt (mfprnd): New.
4269169689Skan	* config/rs6000/rs6000.c (processor_target_table): Add power5+.
4270169689Skan	(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
4271169689Skan	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
4272169689Skan	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
4273169689Skan	(TARGET_FPRND): New.
4274169689Skan	* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
4275169689Skan	UNSPEC_FRIZ): New.
4276169689Skan	(btrunc<mode>2): New.
4277169689Skan	(ceil<mode>2): New.
4278169689Skan	(floor<mode>2): New.
4279169689Skan	(round<mode>2): New.
4280169689Skan
4281169689Skan2005-11-14  Geoffrey Keating  <geoffk@apple.com>
4282169689Skan
4283169689Skan	* gcc.c (version_compare_spec_function): Use fatal() rather than
4284169689Skan	abort().
4285169689Skan
4286169689Skan	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
4287169689Skan	(SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
4288169689Skan	* config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
4289169689Skan	as empty.
4290169689Skan	* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
4291169689Skan	link in crt2.o.
4292169689Skan
4293169689Skan	* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
4294169689Skan	on -mmacosx-version-min setting.
4295169689Skan
4296169689Skan2005-11-14  Diego Novillo  <dnovillo@redhat.com>
4297169689Skan
4298169689Skan	PR 24840
4299169689Skan	* tree-vrp.c (infer_value_range): Return false if STMT is a
4300169689Skan	block terminator and its basic block has no successors.
4301169689Skan
4302169689Skan2005-11-14  Mike Stump  <mrs@apple.com>
4303169689Skan
4304169689Skan	* config/i386/i386.c (override_options): -masm=intel isn't
4305169689Skan	supported on darwin.
4306169689Skan	* doc/invoke.texi (i386 and x86-64 Options): Likewise.
4307169689Skan
4308169689Skan2005-11-15  Joseph S. Myers  <joseph@codesourcery.com>
4309169689Skan
4310169689Skan	* crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
4311169689Skan	vfork after including auto-host.h.
4312169689Skan
4313169689Skan2005-11-15  Alan Modra  <amodra@bigpond.net.au>
4314169689Skan
4315169689Skan	PR rtl-optimization/22002
4316169689Skan	* combine.c (distribute_notes): Detect cases where a reg dies
4317169689Skan	two or more times in a bb, including on the insn we are combining,
4318169689Skan	and place the death note on the correct range.
4319169689Skan
4320169689Skan2005-11-14  Dale Johannesen  <dalej@apple.com>
4321169689Skan
4322169689Skan	* expmed.c (store_bit_field): Add offset unconditionally for
4323169689Skan	memory targets.
4324169689Skan	(extract_bit_field): Don't force extzv or extv operand into
4325169689Skan	a register if field is too big.
4326169689Skan
4327169689Skan2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
4328169689Skan
4329169689Skan	* config/arm/arm.c (pic_labelno): New.
4330169689Skan	(arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
4331169689Skan	LABEL_REF.  Pass only the labelno to PIC insns.
4332169689Skan	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
4333169689Skan	(arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
4334169689Skan	* arm.md (UNSPEC_PIC_LABEL): New constant.
4335169689Skan	(pic_add_dot_plus_four, pic_add_dot_plus_eight)
4336169689Skan	(tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
4337169689Skan	Use the correct label prefix.
4338169689Skan
4339169689Skan2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
4340169689Skan
4341169689Skan	* config/arm/arm.c (legitimize_tls_address): Use correct rtx for
4342169689Skan	REQ_EQUIV note.
4343169689Skan
4344169689Skan2005-11-14  Richard Earnshaw  <richard.earnshaw@arm.com>
4345169689Skan
4346169689Skan	* loop-invariant.c: Include tm_p.h.
4347169689Skan	* Makefile.in: Updated.
4348169689Skan
4349169689Skan2005-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4350169689Skan
4351169689Skan	* pa.c (store_reg): Revise generation of frame notes in large frames.
4352169689Skan	(set_reg_plus_d): Likewise.
4353169689Skan
4354169689Skan2005-11-13  Andrew MacLeod  <amacleod@redhat.com>
4355169689Skan
4356169689Skan	PR tree-optimization/24709
4357169689Skan	* tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
4358169689Skan	loop check.
4359169689Skan
4360169689Skan2005-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4361169689Skan
4362169689Skan	* gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
4363169689Skan	and duplicate declaration of pthread_self.
4364169689Skan
4365169689Skan2005-11-13  Eric Botcazou  <ebotcazou@adacore.com>
4366169689Skan	    Ian Lance Taylor  <ian@airs.com>
4367169689Skan
4368169689Skan	PR middle-end/24003
4369169689Skan	* calls.c (expand_call): If TARGET is a MEM and some part of the
4370169689Skan	argument area has been saved, force TARGET to a register.
4371169689Skan
4372169689Skan2005-11-13  Razya Ladelsky <razya@il.ibm.com>
4373169689Skan
4374169689Skan	* ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
4375169689Skan	checking.
4376169689Skan
4377169689Skan2005-11-13  Jason Merrill  <jason@redhat.com>
4378169689Skan
4379169689Skan	PR c++/22489
4380169689Skan	* dwarf2out.c (gen_subprogram_die): Force a declaration die for
4381169689Skan	lazily declared methods.
4382169689Skan	(force_decl_die): Stop if forcing out the context already make a
4383169689Skan	DIE for the decl.
4384169689Skan	(force_type_die): Likewise.
4385169689Skan
4386169689Skan2005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
4387169689Skan
4388169689Skan	PR middle-end/24820
4389169689Skan	* builtins.c (integer_valued_real_p): Add break in
4390169689Skan	REAL_CST having TREE_OVERFLOW set.
4391169689Skan
4392169689Skan2005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
4393169689Skan
4394169689Skan	* tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
4395169689Skan	addressing modes during calculation of costs.
4396169689Skan
4397169689Skan2005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
4398169689Skan
4399169689Skan	* function.c (assign_stack_local_1): Restrict sanity check
4400169689Skan	on frame size overflow to 32-bit and above platforms.
4401169689Skan
4402169689Skan2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
4403169689Skan
4404169689Skan	* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4405169689Skan	* config/cris/cris.c: Include reload.h.
4406169689Skan	(cris_initial_elimination_offset): New function.
4407169689Skan	* config/cris/cris-protos.h: (cris_initial_elimination_offset):
4408169689Skan	Prototype.
4409169689Skan
4410169689Skan2005-11-12  Richard Guenther  <rguenther@suse.de>
4411169689Skan
4412169689Skan	* gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
4413169689Skan
4414169689Skan2005-11-12  Jan Hubicka  <jh@suse.cz>
4415169689Skan
4416169689Skan	* expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
4417169689Skan	to compare against 0 when possible.
4418169689Skan
4419169689Skan2005-11-12  Jie Zhang  <jie.zhang@analog.com>
4420169689Skan
4421169689Skan	* config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
4422169689Skan	HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
4423169689Skan	REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
4424169689Skan	* config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
4425169689Skan	in the new order.
4426169689Skan
4427169689Skan2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
4428169689Skan
4429169689Skan	* recog.c (constrain_operands) <case 'g'>: For a match, require
4430169689Skan	that a non-register matches general_operand when strict >= 0.
4431169689Skan
4432169689Skan2005-11-11  Steven Bosscher  <stevenb@suse.de>
4433169689Skan
4434169689Skan	* loop-invariant.c (move_loop_invariants): Fix a thinko in the
4435169689Skan	previous checkin.
4436169689Skan
4437169689Skan2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
4438169689Skan
4439169689Skan	* tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
4440169689Skan	(memory_address_same): New.
4441169689Skan	(dse_optimize_stmt): Call memory_address_same.
4442169689Skan
4443169689Skan2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
4444169689Skan
4445169689Skan	PR middle-end/24750
4446169689Skan	* reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
4447169689Skan	ZERO_EXTEND>: New cases.
4448169689Skan
4449169689Skan2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
4450169689Skan
4451169689Skan	* longlong.h (__clz_tab): Always provide.
4452169689Skan
4453169689Skan2005-11-11  Steven Bosscher  <stevenb@suse.de>
4454169689Skan
4455169689Skan	PR 24265
4456169689Skan	* loop-invariant.c (may_assign_reg_p): Make sure a hard register
4457169689Skan	can be assigned to.
4458169689Skan	(find_invariant_insn): Do the cheapest check, may_assign_reg_p,
4459169689Skan	before check_maybe_invariant.
4460169689Skan	(move_invariant_reg): Use gen_move_insn instead of replacing
4461169689Skan	SET_DEST with the temporary for the invariant.
4462169689Skan	(move_loop_invariants): If checking is enabled, do internal
4463169689Skan	consistency checks after completing the pass.
4464169689Skan
4465169689Skan2005-11-11  David Edelsohn  <edelsohn@gnu.org>
4466169689Skan
4467169689Skan	PR 24644
4468169689Skan	* common.opt (Wvolatile-register-var): New.
4469169689Skan	* varasm.c (make_decl_rtl): Only emit warning when option
4470169689Skan	specified.  Clarify warning message.
4471169689Skan	* doc/invoke.texi (Wvolatile-register-var): Document new option.
4472169689Skan
4473169689Skan	* doc/md.texi (copysign): Document standard named pattern.
4474169689Skan
4475169689Skan2005-11-11  Jie Zhang  <jie.zhang@analog.com>
4476169689Skan
4477169689Skan	* config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
4478169689Skan	bytes when align is 2.
4479169689Skan	* config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
4480169689Skan	by the first instruction of the loop.
4481169689Skan
4482169689Skan2005-11-11  Jason Merrill  <jason@redhat.com>
4483169689Skan
4484169689Skan	PR c++/24686
4485169689Skan	* gimplify.c (gimplify_cleanup_point_expr): Also save and restore
4486169689Skan	the cleanup list.
4487169689Skan
4488169689Skan2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
4489169689Skan
4490169689Skan	PR rtl-optimization/22509
4491169689Skan	* local-alloc.c (memref_used_between_p): Check whether a function call
4492169689Skan	could not reference the memref.
4493169689Skan
4494169689Skan2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
4495169689Skan
4496169689Skan	* postreload.c (reload_cse_simplify_operands): Fix bug in sorting
4497169689Skan	algorithm so as to choose the best, not the worst, alternative.
4498169689Skan	Reset accumulated register class before processing next alternative.
4499169689Skan
4500169689Skan2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
4501169689Skan
4502169689Skan	PR target/24445
4503169689Skan	* calls.c (expand_call): Copy a return value to a plain register
4504169689Skan	if needed.
4505169689Skan
4506169689Skan2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
4507169689Skan
4508169689Skan	PR target/24778
4509169689Skan	* varasm.c (assemble_name): Recompute name only for transparent
4510169689Skan	aliases.
4511169689Skan
4512169689Skan2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
4513169689Skan
4514169689Skan	* tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
4515169689Skan
4516169689Skan2005-11-04  Jeff Law  <law@redhat.com>
4517169689Skan
4518169689Skan	PR middle-end/23181
4519169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
4520169689Skan	perform reassociation if the parent statement will not die as
4521169689Skan	a result of the optimization.
4522169689Skan
4523169689Skan2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
4524169689Skan
4525169689Skan	* tree-ssa-alias.c (compute_may_aliases): Remove call to
4526169689Skan	delete_old_heap_vars.
4527169689Skan	* tree-dfa.c (referenced_var_remove): Remove function.
4528169689Skan	* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
4529169689Skan	(delete_tree_ssa): Remove call to delete_old_heapvars.
4530169689Skan	Add call to delete_alias_heapvars.
4531169689Skan	* tree-flow.h (referenced_var_remove): Remove prototype
4532169689Skan	(init_alias_heapvars): New prototype.
4533169689Skan	(delete_alias_heapvars): Ditto.
4534169689Skan	* Makefile.in (tree-ssa-structalias.o): Add
4535169689Skan	gt-tree-ssa-structalias.o
4536169689Skan	(GTFILES): Add tree-ssa-structalias.h and
4537169689Skan	tree-ssa-structalias.c.
4538169689Skan	(s-gtype): Add gt-tree-ssa-structalias.h.
4539169689Skan	* tree-ssa-structalias.c (heapvars): Remove.
4540169689Skan	(oldheapvars): Remove.
4541169689Skan	(heapvar_for_stmt): New variable.
4542169689Skan	(heapvar_lookup): New function.
4543169689Skan	(heapvar_insert): Ditto.
4544169689Skan	(get_constraint_for): See if we have an old heapvar
4545169689Skan	to reuse.
4546169689Skan	(init_alias_heapvars): New function.
4547169689Skan	(delete_alias_heapvars): Ditto.
4548169689Skan	Add include of gt-tree-ssa-structalias.h.
4549169689Skan
4550169689Skan2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
4551169689Skan
4552169689Skan	PR middle-end/22127
4553169689Skan	* calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
4554169689Skan
4555169689Skan2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
4556169689Skan
4557169689Skan	* tree.c (int_fits_type_p): Only look at the base type
4558169689Skan	if it has the same precision as the original type.
4559169689Skan
4560169689Skan2005-11-10  Jakub Jelinek  <jakub@redhat.com>
4561169689Skan
4562169689Skan	PR other/4372
4563169689Skan	* varasm.c (assemble_alias): Use %q+D in the error
4564169689Skan	message instead of %J and %qD.
4565169689Skan
4566169689Skan2005-11-10  Richard Guenther  <rguenther@suse.de>
4567169689Skan
4568169689Skan	* gcse.c (free_ldst_entry): Only free hashtable if
4569169689Skan	it exists.
4570169689Skan
4571169689Skan2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
4572169689Skan
4573169689Skan	* function.c (assign_stack_local_1): Issue an error message if
4574169689Skan	the frame size overflows in the signed target arithmetics.
4575169689Skan
4576169689Skan2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
4577169689Skan
4578169689Skan	* tree.c (build_qualified_type): Chain the new type to the original
4579169689Skan	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
4580169689Skan	a POINTER_TYPE or a REFERENCE_TYPE respectively.
4581169689Skan	(build_pointer_type_for_mode): Only return unqualified types.
4582169689Skan	(build_reference_type_for_mode): Likewise.
4583169689Skan
4584169689Skan2005-11-09  Jakub Jelinek  <jakub@redhat.com>
4585169689Skan
4586169689Skan	* Makefile.in (gnucompare): Do comparison of all files using one of
4587169689Skan	the chosen methods and only afterwards decide if just warning should
4588169689Skan	be issued or comparison failure raised.
4589169689Skan
4590169689Skan2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
4591169689Skan
4592169689Skan	* ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
4593169689Skan	(noce_try_abs): Negate if the comparison is reversed.
4594169689Skan	Look only one instruction backwards for a REG_EQUAL note.
4595169689Skan
4596169689Skan2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
4597169689Skan
4598169689Skan	PR other/4372
4599169689Skan	* gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
4600169689Skan	gthr-tpf.h: Define __gthrw.  For all identifiers that might
4601169689Skan	be weak, introduce weakrefs or non-weak aliases with __gthrw,
4602169689Skan	and prefix all uses with __ghtrw.
4603169689Skan
4604169689Skan2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
4605169689Skan
4606169689Skan	PR other/4372
4607169689Skan	* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
4608169689Skan	(TREE_DEPRECATED): Adjust comment.  Check for a DECL.
4609169689Skan	* c-common.c (handle_weakref_attribute): New.
4610169689Skan	(c_common_attribute_table): Add weakref.
4611169689Skan	* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
4612169689Skan	in the assembler.
4613169689Skan	* configure, config.in: Rebuilt.
4614169689Skan	* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
4615169689Skan	* doc/extend.texi: Document weakref attribute.
4616169689Skan	* varasm.c (ultimate_transparent_alias_target): New
4617169689Skan	(assemble_name): Use it.
4618169689Skan	(weak_finish_1): Split out of...
4619169689Skan	(weak_finish): ... and deal with weakrefs in...
4620169689Skan	(weakref_targets): ... new list.
4621169689Skan	(globalize_decl): Clean up weakref_targets.
4622169689Skan	(do_assemble_alias): Handle weakrefs.
4623169689Skan	(finish_aliases_1): Do not reject weakrefs to external symbols.
4624169689Skan	(assemble_alias): Handle weakrefs.
4625169689Skan
4626169689Skan2005-11-09  Richard Guenther  <rguenther@suse.de>
4627169689Skan
4628169689Skan	PR tree-optimization/24716
4629169689Skan	* tree-scalar-evolution.c (analyze_evolution_in_loop): Use
4630169689Skan	t_bool to track results from follow_ssa_edge.
4631169689Skan
4632169689Skan2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
4633169689Skan
4634169689Skan	* final.c (force_source_line): New global variable.
4635169689Skan	(final_scan_insn): Set it to true instead of clearing last_filename.
4636169689Skan	(notice_source_line): Return true if force_source_line is true,
4637169689Skan	unless source info is absent.
4638169689Skan
4639169689Skan2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
4640169689Skan
4641169689Skan	PR c/24644
4642169689Skan	* dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
4643169689Skan	a linkage name for a variable if it a register variable.
4644169689Skan	* c-decl.c (grokdeclarator): Global register variables
4645169689Skan	should be set as PUBLIC.
4646169689Skan
4647169689Skan2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
4648169689Skan
4649169689Skan	PR 24624
4650169689Skan	* config/s390/s390.c (struct s390_frame_layout): New fields
4651169689Skan	first_save_gpr_slot and last_save_gpr_slot.
4652169689Skan	(cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
4653169689Skan	s390_emit_epilogue, s390_initial_elimination_offset): Replaced
4654169689Skan	first_save_gpr and last_save_gpr with the _slot variants.
4655169689Skan	(s390_register_info): Calculate first_save_gpr_slot and
4656169689Skan	last_save_gpr_slot using regs_ever_live.
4657169689Skan
4658169689Skan2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
4659169689Skan
4660169689Skan	PR 24623
4661169689Skan	* config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
4662169689Skan	for a function containing a landing pad.
4663169689Skan
4664169689Skan2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
4665169689Skan
4666169689Skan	PR 24034
4667169689Skan	* flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
4668169689Skan	is live afterwards.
4669169689Skan
4670169689Skan2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
4671169689Skan
4672169689Skan	* config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
4673169689Skan	MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
4674169689Skan
4675169689Skan2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
4676169689Skan
4677169689Skan	Add ms2 support
4678169689Skan	* config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
4679169689Skan	constants.
4680169689Skan	(call,load,store): New insn types.
4681169689Skan	(mem_access, branch_access): Adjust reservation conditions.
4682169689Skan	(define_delay): Adjust condition.
4683169689Skan	(decrement_and_branch_until_zero): Allow for ms2.  Set branch
4684169689Skan	type.
4685169689Skan	(*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
4686169689Skan	(*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
4687169689Skan	insn type.
4688169689Skan	(call_internal, call_value_internal, return_internal,
4689169689Skan	return_interrupt_internal, eh_return_internal, indirect_jump,
4690169689Skan	tablejump): Set call insn type.
4691169689Skan	(blockage, ei, di): Use appropriate unspec const.
4692169689Skan	* config/ms1/ms1.c (ms1_flag_delayed_branch): New.
4693169689Skan	(ms1_get_attr_type): Adjust to give load & store types.
4694169689Skan	(ms1_final_prescan_insn): Adjust for new insn types.  Don't look
4695169689Skan	backwards past a barrier.
4696169689Skan	(ms1_override_options): Accept ms2 arch.  Copy and reset delayed
4697169689Skan	branch scheduling.
4698169689Skan	(struct branch_info, struct label_info): New.
4699169689Skan	(ms1_labels): New.
4700169689Skan	(ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
4701169689Skan	(ms1_machine_reorg): New.
4702169689Skan	(TARGET_MACHINE_DEPENDENT_REORG): Override.
4703169689Skan	* config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
4704169689Skan	* config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
4705169689Skan	(ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
4706169689Skan	(TARGET_MS2): New.
4707169689Skan
4708169689Skan2005-11-09  Per Bothner  <per@bothner.com>
4709169689Skan	    Uros Bizjak  <uros@kss-loka.si>
4710169689Skan
4711169689Skan	PR c/24101
4712169689Skan	* toplev.c (process_options): Initialize debug_hooks early
4713169689Skan	in case lang_hooks.post_options ends up calling a debug_hook.
4714169689Skan
4715169689Skan2005-11-08  Jakub Jelinek  <jakub@redhat.com>
4716169689Skan
4717169689Skan	* dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
4718169689Skan	DBX_REGISTER_NUMBER being contiguous.
4719169689Skan
4720169689Skan2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
4721169689Skan	    Diego Novillo  <dnovillo@redhat.com>
4722169689Skan
4723169689Skan	PR 23046
4724169689Skan	* tree-vrp.c (register_edge_assert_for): Do not register
4725169689Skan	always-false predicates.
4726169689Skan
4727169689Skan2005-11-08  Devang Patel <dpatel@apple.com>
4728169689Skan
4729169689Skan	PR tree-optimization/23115
4730169689Skan	* tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
4731169689Skan	relation.
4732169689Skan
4733169689Skan2005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
4734169689Skan
4735169689Skan	* config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
4736169689Skan	-mcpu=440.
4737169689Skan
4738169689Skan2005-11-08  Daniel Berlin  <dberlin@dberlin.org>
4739169689Skan
4740169689Skan	Fix PR tree-optimization/23382
4741169689Skan
4742169689Skan	* tree-ssa-alias.c (compute_may_aliases): Call
4743169689Skan	delete_old_heap_vars.
4744169689Skan	* tree-dfa.c (referenced_var_remove): New function.
4745169689Skan	* tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
4746169689Skan	* tree-flow.h (referenced_var_remove): Add prototype.
4747169689Skan	(delete_old_heap_vars): Ditto.
4748169689Skan	* tree-ssa-structalias.c (heapvars): New variable.
4749169689Skan	(oldheapvars): Ditto.
4750169689Skan	(get_constraint_for): Put heap vars on heapvars list.
4751169689Skan	(delete_old_heap_vars): New function.
4752169689Skan
4753169689Skan2005-11-08  Jason Merrill  <jason@redhat.com>
4754169689Skan
4755169689Skan	* tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
4756169689Skan
4757169689Skan2005-11-08  Uros Bizjak  <uros@kss-loka.si>
4758169689Skan
4759169689Skan	PR target/19340
4760169689Skan	* reg-stack.c (reg_to_stack): Update register liveness also
4761169689Skan	for flag_sched2_use_traces.
4762169689Skan
4763169689Skan2005-11-08  Alan Modra  <amodra@bigpond.net.au>
4764169689Skan
4765169689Skan	PR target/23704
4766169689Skan	* config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
4767169689Skan	override prior explicit -mno-powerpc-gfxopt.
4768169689Skan
4769169689Skan2005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
4770169689Skan
4771169689Skan	* expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
4772169689Skan	if the bitsize is zero.
4773169689Skan	* doc/md.texi (Standard Pattern Names): Document it.
4774169689Skan
4775169689Skan	* config/ia64/ia64.c (ia64_pass_by_reference): Delete.
4776169689Skan	(TARGET_PASS_BY_REFERENCE): Likewise.
4777169689Skan
4778169689Skan2005-11-07  Ian Lance Taylor  <ian@airs.com>
4779169689Skan
4780169689Skan	PR rtl-optimization/24683
4781169689Skan	* config/i386/i386.c (legitimize_pic_address): If constant operand
4782169689Skan	to PLUS is too large, put it in a register.
4783169689Skan
4784169689Skan2005-11-07  Jie Zhang  <jie.zhang@analog.com>
4785169689Skan
4786169689Skan	* configure.ac: Enable checking assembler dwarf2 support for bfin
4787169689Skan	target.
4788169689Skan	* configure: Regenerate.
4789169689Skan
4790169689Skan2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
4791169689Skan
4792169689Skan	PR target/24230
4793169689Skan
4794169689Skan	* config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
4795169689Skan	gen_easy_vector_constant_add_self): Delete.
4796169689Skan	(vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
4797169689Skan	New.
4798169689Skan	(output_vec_const_move): Use gen_easy_altivec_constant.
4799169689Skan	(rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
4800169689Skan	* config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
4801169689Skan	(easy_vector_constant_add_self): Rewritten.
4802169689Skan	* config/rs6000/rs6000-protos.h (easy_vector_splat_const,
4803169689Skan	easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
4804169689Skan	(easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
4805169689Skan	* config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
4806169689Skan	Macroize and adjust for the other changes.
4807169689Skan
4808169689Skan2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
4809169689Skan
4810169689Skan	PR c/24599
4811169689Skan
4812169689Skan	* c-typeck.c (build_c_cast): Try using a shared constant, and see
4813169689Skan	if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
4814169689Skan
4815169689Skan2005-11-07  Jakub Jelinek  <jakub@redhat.com>
4816169689Skan
4817169689Skan	PR rtl-optimization/23567
4818169689Skan	* ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
4819169689Skan	(noce_process_if_block): Don't do any optimizations except
4820169689Skan	if (cond) x = x; if !set_b and write into orig_x may trap
4821169689Skan	or fault.  Remove the MEM_READONLY_P check.
4822169689Skan
4823169689Skan2005-11-06  Diego Novillo  <dnovillo@redhat.com>
4824169689Skan
4825169689Skan	PR 24670
4826169689Skan	* tree-vrp.c (fix_equivalence_set): New.
4827169689Skan	(extract_range_from_assert): Call it.
4828169689Skan
4829169689Skan2005-11-05  Ian Lance Taylor  <ian@airs.com>
4830169689Skan
4831169689Skan	PR target/22432
4832169689Skan	* combine.c (apply_distributive_law): Don't distribute across a
4833169689Skan	vector mode subreg.
4834169689Skan
4835169689Skan2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
4836169689Skan
4837169689Skan	* c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
4838169689Skan	config/ms1/ms1.h, config/rs6000/predicates.md,
4839169689Skan	config/s390/s390.c, params.def, postreload-gcse.c,
4840169689Skan	tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
4841169689Skan	tree-vrp.c, tree.c: Fix comment typos.
4842169689Skan	* doc/invoke.texi: Fix typos.
4843169689Skan
4844169689Skan2005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
4845169689Skan
4846169689Skan	* lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
4847169689Skan	for testing whether the data_dependence_relation contains distance
4848169689Skan	vectors.  Iterate over all distance vectors of the ddr.
4849169689Skan	* lambda.h: Define a vec of lambda_vector pointers.
4850169689Skan	* tree-data-ref.c (dump_data_dependence_relation,
4851169689Skan	dump_data_dependence_direction): Iterate over all distance and
4852169689Skan	direction vectors of the ddr.
4853169689Skan	(initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
4854169689Skan	DDR_DIST_VECTS.
4855169689Skan	(build_classic_dist_vector, build_classic_dir_vector): Push a set
4856169689Skan	of distance/direction vectors instead of a single one.
4857169689Skan	* tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
4858169689Skan	lambda_vectors with a vec of lambda_vectors.
4859169689Skan	(DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
4860169689Skan	(DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
4861169689Skan	DDR_NUM_DIST_VECTS): New.
4862169689Skan	* tree-loop-linear.c (gather_interchange_stats): Test for the
4863169689Skan	existence of distance vectors only after having checked that there
4864169689Skan	is a dependence.  Iterate over all distance vectors of the ddr.
4865169689Skan	(linear_transform_loops): Use dump_data_dependence_relation.
4866169689Skan	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
4867169689Skan	distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
4868169689Skan	distance vectors of the ddr.
4869169689Skan
4870169689Skan2005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
4871169689Skan
4872169689Skan	* config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
4873169689Skan	expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
4874169689Skan	IS_INTHANDLER; all callers changed.
4875169689Skan	(n_regs_saved_by_prologue): Take interrupt handler attributes into
4876169689Skan	account.
4877169689Skan	(do_link, do_unlink): New argument ALL; all callers changed.
4878169689Skan	(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
4879169689Skan	If function isn't leaf, save and restore all registers.
4880169689Skan	(bfin_function_ok_for_sibcall): Only true if not an interrupt or
4881169689Skan	exception handler.
4882169689Skan
4883169689Skan2005-11-05  Jan Hubicka  <jh@suse.cz>
4884169689Skan
4885169689Skan	PR rtl-optimization/23490
4886169689Skan	* doc/invoke.texi (max-predicted-iterations, max-cse-insns,
4887169689Skan	max-flow-memory-location): Document.
4888169689Skan	* flow.c: Include params.h
4889169689Skan	(MAX_MEM_SET_LIST_LEN): Kill.
4890169689Skan	(add_to_mem_set_list): Use new param.
4891169689Skan	* cse.c (cse_basic_block): Replace 1000 by new param.
4892169689Skan	* params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
4893169689Skan	PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
4894169689Skan	* predict.c (predict_loops): Use new param.
4895169689Skan	* predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
4896169689Skan
4897169689Skan	* ipa-inline.c (cgraph_decide_inlining_of_small_function,
4898169689Skan	cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
4899169689Skan	Do not hold memory returned by cgraph_node_name across other call.
4900169689Skan
4901169689Skan2005-11-04  Hans-Peter Nilsson  <hp@axis.com>
4902169689Skan
4903169689Skan	PR target/23424
4904169689Skan	* config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
4905169689Skan	Disable.
4906169689Skan
4907169689Skan2005-11-04  Jeff Law  <law@redhat.com>
4908169689Skan
4909169689Skan	PR/21883
4910169689Skan	* doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
4911169689Skan	* tree-ssa-dom.c: Include params.h.
4912169689Skan	(thread_across_edge): If there are too many statements in the
4913169689Skan	target block, then do not thread through it.
4914169689Skan	* Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
4915169689Skan	* params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
4916169689Skan
4917169689Skan2005-11-03  Diego Novillo  <dnovillo@redhat.com>
4918169689Skan
4919169689Skan	PR 24627
4920169689Skan	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
4921169689Skan	TODO_update_ssa instead of TODO_update_ssa_no_phi.
4922169689Skan
4923169689Skan2005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
4924169689Skan
4925169689Skan	PR/18595
4926169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1,
4927169689Skan	instantiate_parameters, resolve_mixers): Compute the size of an
4928169689Skan	expression to be instantiated and give up the instantiation if the
4929169689Skan	size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
4930169689Skan
4931169689Skan2005-11-04  Richard Guenther  <rguenther@suse.de>
4932169689Skan
4933169689Skan	* tree-flow.h (ref_contains_indirect_ref): Rename to
4934169689Skan	array_ref_contains_indirect_ref.
4935169689Skan	* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
4936169689Skan	(array_ref_contains_indirect_ref): Make comment match the code
4937169689Skan	and vice-versa.
4938169689Skan	(ref_contains_array_ref): Likewise.
4939169689Skan	* tree-ssa-structalias.c (find_func_aliases): Remove call to
4940169689Skan	ref_contains_indirect_ref.
4941169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
4942169689Skan	Rename calls to ref_contains_indirect_ref.
4943169689Skan
4944169689Skan2005-11-04 Paul Brook  <paul@codesourcery.com>
4945169689Skan
4946169689Skan	* config/arm/arm.c (arm_load_pic_register): Pass extra reg to
4947169689Skan	gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
4948169689Skan	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
4949169689Skan	* config/arm/arm.md: Use match_operand in peephole input templates
4950169689Skan	and match_dup in peephole output templates.
4951169689Skan
4952169689Skan2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
4953169689Skan
4954169689Skan	* config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
4955169689Skan	__aeabi_uidiv.
4956169689Skan
4957169689Skan2005-11-04  Mark Mitchell  <mark@codesourcery.com>
4958169689Skan	    Daniel Jacobowitz  <dan@codesourcery.com>
4959169689Skan
4960169689Skan	* longlong.h (add_ssaaaa): Clobber condition code register
4961169689Skan	in ARM version.
4962169689Skan	(sub_ddmmss): Likewise.
4963169689Skan	(umul_ppmm): Likewise.
4964169689Skan
4965169689Skan2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
4966169689Skan	    Paul Brook  <paul@codesourcery.com>
4967169689Skan	    Phil Blundell  <pb@reciva.com>
4968169689Skan
4969169689Skan	* configure.ac: Add test for ARM TLS support.
4970169689Skan	* configure: Regenerated.
4971169689Skan	* config/arm/arm-protos.h (legitimize_tls_address)
4972169689Skan	(arm_tls_referenced_p, tls_mentioned_p)
4973169689Skan	(arm_output_addr_const_extra): New prototypes.
4974169689Skan	(thumb_legitimize_pic_address): Delete.
4975169689Skan	* config/arm/arm.c: Include "gt-arm.h".
4976169689Skan	(enum tls_reloc): New.
4977169689Skan	(arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
4978169689Skan	(pcrel_constant_p, get_tls_get_addr, arm_load_tp)
4979169689Skan	(arm_call_tls_get_addr, legitimize_tls_address)
4980169689Skan	(arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
4981169689Skan	(arm_init_tls_builtins, arm_emit_tls_decoration)
4982169689Skan	(arm_output_addr_const_extra): New functions.
4983169689Skan	(TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
4984169689Skan	(TARGET_HAVE_TLS): Define.
4985169689Skan	(target_thread_pointer): New.
4986169689Skan	(arm_override_options): Handle -mtp=.
4987169689Skan	(legitimize_pic_address): Ignore UNSPECs.
4988169689Skan	(arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
4989169689Skan	relative symbols.
4990169689Skan	(arm_legitimize_address, thumb_legitimize_address): Handle TLS.
4991169689Skan	(tls_get_addr_libfunc): New variable.
4992169689Skan	(symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
4993169689Skan	(arm_init_builtins): Call arm_init_tls_builtins.
4994169689Skan	(arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
4995169689Skan	(arm_encode_section_info): Call default_encode_section_info.
4996169689Skan	* config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
4997169689Skan	(enum arm_tp_type): New.
4998169689Skan	(target_thread_pointer): Add declaration.
4999169689Skan	(LEGITIMATE_CONSTANT_P): Handle TLS.
5000169689Skan	(LEGITIMATE_PIC_OPERAND_P): Handle TLS.
5001169689Skan	(OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
5002169689Skan	(enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
5003169689Skan	* config/arm/arm.md: Add UNSPEC_TLS.
5004169689Skan	(movsi): Handle TLS.
5005169689Skan	(pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
5006169689Skan	non-PIC.
5007169689Skan	(tls_load_dot_plus_eight): New insn and a peephole to create it.
5008169689Skan	(load_tp_hard, load_tp_soft): New insns.
5009169689Skan	* arm.opt: Add -mtp=.
5010169689Skan	* doc/invoke.texi (ARM Options): Document -mtp.
5011169689Skan
5012169689Skan2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
5013169689Skan
5014169689Skan	* config/arm/lib1funcs.asm: Don't include "libunwind.S".
5015169689Skan	* config/arm/libunwind.S: Include "lib1funcs.asm".
5016169689Skan	* config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
5017169689Skan	(LIB2ADDEH): Add libunwind.S.
5018169689Skan	(LIB2ADDEHDEP): Add lib1funcs.asm.
5019169689Skan	* mklibgcc.in: Handle asm files in libgcc_eh.a.
5020169689Skan
5021169689Skan2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
5022169689Skan
5023169689Skan	PR fortran/18452
5024169689Skan	* c.opt: Add a -lang-fortran option.
5025169689Skan	* c-opts.c: Add a lang_fortran flag.
5026169689Skan	(c_common_init_options): Handling the -lang-fortran option.
5027169689Skan	(c_common_handle_option): Add a case for Fortran options in
5028169689Skan	preprocessing. Remove cases for -ffixed-form and
5029169689Skan	-ffixed-line-length. Add a case for -lang-fortran.
5030169689Skan
5031169689Skan2005-11-03  David Edelsohn  <edelsohn@gnu.org>
5032169689Skan
5033169689Skan	* config/rs6000/rs6000.c: Include params.h
5034169689Skan	(optimization_options): Set max-grow-copy-bb-insns default to 16.
5035169689Skan	(bdesc_2arg): Delete vpkuhss and vpkuwss.
5036169689Skan	* config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
5037169689Skan	(UNSPEC_VPKUWSS): Delete.
5038169689Skan	(altivec_vpkuhss): Delete.
5039169689Skan	(altivec_vpkuwss): Delete.
5040169689Skan	* config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
5041169689Skan	final condition.
5042169689Skan	(neg_eq0<mode>): Remove final condition.
5043169689Skan	(neg_eq<mode>): Remove condition and split-condition.
5044169689Skan
5045169689Skan2005-11-04  Alan Modra  <amodra@bigpond.net.au>
5046169689Skan
5047169689Skan	* config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
5048169689Skan	Use associated print macros.
5049169689Skan
5050169689Skan2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
5051169689Skan
5052169689Skan	PR c++/17964
5053169689Skan	* diagnostic.c (diagnostic_set_info_translated): New function.
5054169689Skan	(diagnostic_set_info): Use it.  Add comment.
5055169689Skan	* diagnostic.h (diagnostic_set_info_translated): Declare.
5056169689Skan
5057169689Skan2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
5058169689Skan
5059169689Skan	* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
5060169689Skan	On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
5061169689Skan	reference only if 'public' is true.
5062169689Skan	(dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
5063169689Skan	emit the .hidden directive only if the indirect reference is public.
5064169689Skan	(dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
5065169689Skan	Pass it to dw2_force_const_mem.
5066169689Skan	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
5067169689Skan	* dwarf2out.c (output_cfi): Adjust calls to above function.
5068169689Skan	(output_call_frame_info): Likewise.
5069169689Skan	* except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
5070169689Skan	as 'public' argument to dw2_asm_output_encoded_addr_rtx.
5071169689Skan
5072169689Skan2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
5073169689Skan
5074169689Skan	PR tree-optimization/24483
5075169689Skan	* tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
5076169689Skan	field to elts if possible.
5077169689Skan
5078169689Skan2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
5079169689Skan
5080169689Skan	PR middle-end/23155
5081169689Skan	* gimplifier.c (gimplify_expr): Create a temporary for lvalue
5082169689Skan	CONSTRUCTOR.
5083169689Skan
5084169689Skan2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
5085169689Skan
5086169689Skan	Fix PR tree-optimization/24351
5087169689Skan
5088169689Skan	* tree-ssa-structalias.c (struct variable_info): Add
5089169689Skan	collapsed_into.
5090169689Skan	(get_varinfo_fc): New function to follow collapsing.
5091169689Skan	(new_var_info): Set collapsed_to to NULL.
5092169689Skan	(dump_constraint): Follow collapsing.
5093169689Skan	(build_constraint_graph): Handle collapsing.
5094169689Skan	(do_simple_structure_copy): Return false if something bad
5095169689Skan	happened.
5096169689Skan	(collapse_rest_of_var): New function.
5097169689Skan	(do_structure_copy): Collapse if do_simple_structure_copy returns
5098169689Skan	false.
5099169689Skan
5100169689Skan2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
5101169689Skan
5102169689Skan	PR middle-end/24589
5103169689Skan	* gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
5104169689Skan	expressions to a statement list instead of gimplifying them.
5105169689Skan
5106169689Skan2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5107169689Skan
5108169689Skan	PR rtl-optimization/23585
5109169689Skan	* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
5110169689Skan	that can't trap plus a constant integer, if the mode has zero size.
5111169689Skan
5112169689Skan2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
5113169689Skan
5114169689Skan	PR target/24620
5115169689Skan	* config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
5116169689Skan	as operand 2.
5117169689Skan	("*insv<mode>_reg_extimm"): Likewise.
5118169689Skan
5119169689Skan2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
5120169689Skan
5121169689Skan	PR c/24329
5122169689Skan	* c-pretty-print.c (pp_c_type_specifier): Do not recurse if
5123169689Skan	c_common_type_for_mode returns an unnamed type.
5124169689Skan
5125169689Skan2005-11-02  Richard Henderson  <rth@redhat.com>
5126169689Skan
5127169689Skan	PR target/9350
5128169689Skan	PR target/24374
5129169689Skan	* dwarf2out.c (dwarf2out_reg_save_reg): New.
5130169689Skan	(dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
5131169689Skan	* function.c (assign_parms): Use calls.internal_arg_pointer.
5132169689Skan	(expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
5133169689Skan	code.
5134169689Skan	* target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
5135169689Skan	(TARGET_CALLS): Add it.
5136169689Skan	* target.h (struct gcc_target): Add calls.internal_arg_pointer.
5137169689Skan	* targhooks.c (default_internal_arg_pointer): New.
5138169689Skan	* targhooks.h (default_internal_arg_pointer): Declare.
5139169689Skan	* tree.h (dwarf2out_reg_save_reg): Declare.
5140169689Skan	* doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
5141169689Skan	* config/i386/i386.c (dbx_register_map): Add return column.
5142169689Skan	(dbx64_register_map, svr4_dbx_register_map): Likewise.
5143169689Skan	(TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
5144169689Skan	(TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
5145169689Skan	(ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
5146169689Skan	(ix86_save_reg): Save force_align_arg_pointer.
5147169689Skan	(ix86_emit_save_regs): Make regno unsigned.
5148169689Skan	(ix86_emit_save_regs_using_mov): Likewise.
5149169689Skan	(ix86_expand_prologue): Handle force_align_arg_pointer.
5150169689Skan	(ix86_expand_epilogue): Likewise.
5151169689Skan	* config/i386/i386.h: (dbx_register_map): Update.
5152169689Skan	(dbx64_register_map, svr4_dbx_register_map): Update.
5153169689Skan	(struct machine_function): Add force_align_arg_pointer.
5154169689Skan	* config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
5155169689Skan	(UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
5156169689Skan	(TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
5157169689Skan
5158169689Skan2005-11-02  Jan Hubicka  <jh@suse.cz>
5159169689Skan
5160169689Skan	PR target/23303
5161169689Skan	* i386.md: Add peep2 for simplyfing array accesses.
5162169689Skan
5163169689Skan2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
5164169689Skan
5165169689Skan	PR target/24615
5166169689Skan	* config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
5167169689Skan	* config/s390/s390.c (s390_decompose_shift_count): New function.
5168169689Skan	(s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
5169169689Skan	(print_shift_count_operand): Use s390_decompose_shift_count.
5170169689Skan	* config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
5171169689Skan	Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
5172169689Skan
5173169689Skan2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
5174169689Skan
5175169689Skan	PR target/24600
5176169689Skan	* loop.c (loop_givs_rescan): Use force_operand to expand
5177169689Skan	complex GIVs.
5178169689Skan
5179169689Skan2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
5180169689Skan
5181169689Skan	PR 22429
5182169689Skan	* fold-const.c (build_range_check): Use unsigned when signed
5183169689Skan	overflow is undefined also.  If etype is subtype, make sure that
5184169689Skan	the subtraction is in the supertype.
5185169689Skan
5186169689Skan2005-11-02  Richard Henderson  <rth@redhat.com>
5187169689Skan
5188169689Skan	PR target/24178
5189169689Skan	* config/alpha/alpha.c (get_aligned_mem): Honor alignment given
5190169689Skan	by MEM_ALIGN.
5191169689Skan
5192169689Skan2005-11-01  Richard Henderson  <rth@redhat.com>
5193169689Skan
5194169689Skan	PR 21518
5195169689Skan	* loop.c (scan_loop): Do not propagate computations to a hard
5196169689Skan	register destination with SMALL_REGISTER_CLASSES.
5197169689Skan
5198169689Skan2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
5199169689Skan
5200169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
5201169689Skan	costs for MULT inside PLUS or MINUS.
5202169689Skan
5203169689Skan2005-11-01  Bob Wilson  <bob.wilson@acm.org>
5204169689Skan
5205169689Skan	* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
5206169689Skan	(TRAMPOLINE_SIZE): Round up to 60.
5207169689Skan	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
5208169689Skan
5209169689Skan2005-10-31  James E. Wilson  <wilson@specifix.com>
5210169689Skan
5211169689Skan	PR debug/24444
5212169689Skan	* dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
5213169689Skan	ifdef.  Put ifdefs around call in gen_subprogram_die.
5214169689Skan	(compute_frame_pointer_to_cfa_displacement): Likewise.
5215169689Skan	(gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
5216169689Skan	not defined.
5217169689Skan
5218169689Skan	PR rtl-optimization/17356
5219169689Skan	*  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
5220169689Skan	add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
5221169689Skan
5222169689Skan2005-10-31  Jan Hubicka  <jh@suse.cz>
5223169689Skan
5224169689Skan	PR middle-end/24093
5225169689Skan	* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
5226169689Skan
5227169689Skan	PR target/20928
5228169689Skan	* i386.c (legitimize_pic_address): Deal with large immediates.
5229169689Skan
5230169689Skan	PR profile/20815
5231169689Skan	* coverage.c (coverage_checksum_string): Fix code to stip random seeds
5232169689Skan	from symbol names while computing checkup.
5233169689Skan
5234169689Skan	PR profile/24487
5235169689Skan	* predict.c (predict_loops): Do not estimate more than
5236169689Skan	MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
5237169689Skan	* predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
5238169689Skan
5239169689Skan2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
5240169689Skan
5241169689Skan	PR tree-optimization/19097
5242169689Skan	* tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
5243169689Skan
5244169689Skan2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
5245169689Skan
5246169689Skan	* optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
5247169689Skan
5248169689Skan2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
5249169689Skan
5250169689Skan	PR middle-end/23492
5251169689Skan	* tree-inline.c (setup_one_parameter): If the init_stmt
5252169689Skan	is NULL, don't insert the statement.
5253169689Skan
5254169689Skan2005-10-30  Jan Hubicka  <jh@suse.cz>
5255169689Skan
5256169689Skan	PR tree-optimization/24172
5257169689Skan	* tree-inline.c (copy_body_r): Unshare the substituted value first.
5258169689Skan
5259169689Skan2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
5260169689Skan
5261169689Skan	* config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
5262169689Skan	constants for hosts with long != 32 bits.
5263169689Skan
5264169689Skan2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
5265169689Skan
5266169689Skan	PR middle-end/24093
5267169689Skan	* ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
5268169689Skan
5269169689Skan2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
5270169689Skan
5271169689Skan	* config/ms1/ms1.h (TARGET_MS1_64_001): New.
5272169689Skan	(TARGET_MS1_16_002): New.
5273169689Skan	(TARGET_MS1_16_003): New.
5274169689Skan
5275169689Skan	* config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
5276169689Skan	("*decrement_and_branch_until_zero_no_clobber"): New.
5277169689Skan	Add corresponding splitter for decrement_and_branch_until_zero
5278169689Skan	instruction.
5279169689Skan	Key all decrement_and_branch_until_zero patterns off of
5280169689Skan	TARGET_MS1_16_003.
5281169689Skan
5282169689Skan2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
5283169689Skan
5284169689Skan	PR middle-end/24362
5285169689Skan	* tree-complex.c (extract_component): Treat RESULT_DECL
5286169689Skan	like the rest of the decls.
5287169689Skan
5288169689Skan2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
5289169689Skan
5290169689Skan	* config/ia64/ia64.c (ia64_output_function_profiler): Emit an
5291169689Skan	indirect call to _mcount if the function needs a static chain.
5292169689Skan
5293169689Skan2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
5294169689Skan	    Caroline Tice  <ctice@apple.com>
5295169689Skan
5296169689Skan	PR rtl-optimization/24460
5297169689Skan	* dwarf2out.c (have_switched_text_sections): New boolean variable.
5298169689Skan	(dwarf2out_switch_text_section): Set it to true instead of
5299169689Skan	incrementing separate_line_info_table_in_use.
5300169689Skan	(output_loc_list): Additionally test have_switched_text_sections.
5301169689Skan	(output_ranges): Likewise.
5302169689Skan	(dwarf2out_finish): Likewise.
5303169689Skan	* varasm.c (assemble_start_function): Do not call
5304169689Skan	insert_section_boundary_note.
5305169689Skan	(assemble_end_function): If flag_reorder_blocks_and_partition,
5306169689Skan	switch to the function's section before emitting the .size directive.
5307169689Skan	* bb-reorder.c (insert_section_boundary_note): Staticify.
5308169689Skan	(rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
5309169689Skan	* output.h (insert_section_boundary_note): Delete.
5310169689Skan
5311169689Skan2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
5312169689Skan
5313169689Skan	PR c/23103
5314169689Skan	* c-format.c (check_format_types): Use lang_hooks.types_compatible_p
5315169689Skan	instead of pointer equality when comparing types.
5316169689Skan
5317169689Skan2005-10-24  James E. Wilson  <wilson@specifix.com>
5318169689Skan
5319169689Skan	* sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
5320169689Skan	add_dependence_list_and_free calls.
5321169689Skan
5322169689Skan2005-10-24  Steven Bosscher  <stevenb@suse.de>
5323169689Skan
5324169689Skan	* contrib.texi: Add the names of the LLNL folks who donated
5325169689Skan	Cray pointer support for gfortran.
5326169689Skan
5327169689Skan2005-10-24  Steven Bosscher  <stevenb@suse.de>
5328169689Skan
5329169689Skan	PR tree-optimization/24225
5330169689Skan	* profile.c (branch_prob): Look from end to start through a
5331169689Skan	basic block when looking for a locus.
5332169689Skan
5333169689Skan2005-10-24  Richard Henderson  <rth@redhat.com>
5334169689Skan
5335169689Skan	* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
5336169689Skan	parallel.
5337169689Skan	(hppa_expand_prologue): Likewise.
5338169689Skan
5339169689Skan2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5340169689Skan
5341169689Skan	* pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
5342169689Skan	(NO_DEFERRED_PROFILE_COUNTERS): Define.
5343169689Skan	* pa.h (NO_PROFILE_COUNTERS): Define.
5344169689Skan	* pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
5345169689Skan	(funcdef_nos): New vector to hold label numbers of deferred profile
5346169689Skan	counters.
5347169689Skan	(output_deferred_profile_counters): New function.
5348169689Skan	(hppa_profile_hook): Push label number onto funcdef_nos.
5349169689Skan	(pa_hpux_file_end): Call output_deferred_profile_counters if
5350169689Skan	NO_DEFERRED_PROFILE_COUNTERS is false.
5351169689Skan
5352169689Skan	* pa-protos.h (get_deferred_plabel): New prototype.
5353169689Skan	* pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
5354169689Skan	Make global.
5355169689Skan	(output_call): Adjust calls.
5356169689Skan
5357169689Skan2005-10-24  Alan Modra  <amodra@bigpond.net.au>
5358169689Skan
5359169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
5360169689Skan	peculiarity of GOT/TOC section usage.
5361169689Skan
5362169689Skan2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
5363169689Skan
5364169689Skan	PR objc/24435
5365169689Skan	 * c-common.c (constant_string_class_name): Add documentation.
5366169689Skan
5367169689Skan2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
5368169689Skan
5369169689Skan	PR target/23832
5370169689Skan	* recog.c (peephole2_optimize): Increment peep2_current_count
5371169689Skan	only when the slot is empty.
5372169689Skan
5373169689Skan2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5374169689Skan
5375169689Skan	PR ada/23957
5376169689Skan	* except.c (output_function_exception_table): Call
5377169689Skan	assemble_external_libcall if we need a personality function.
5378169689Skan
5379169689Skan2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
5380169689Skan
5381169689Skan	PR rtl-optimization/24460
5382169689Skan	* bb-reorder.c (fix_crossing_unconditional_branches): Do not
5383169689Skan	set the basic block for barriers.
5384169689Skan
5385169689Skan2005-10-21  Janis Johnson  <janis187@us.ibm.com>
5386169689Skan
5387169689Skan	* var-tracking.c (vt_initialize): Initialize post.
5388169689Skan
5389169689Skan2005-10-21  Devang Patel  <dpatel@apple.com>
5390169689Skan
5391169689Skan	PR/24220
5392169689Skan	* c-common.c (vector_types_convertible_p): Check vector element type.
5393169689Skan
5394169689Skan2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
5395169689Skan
5396169689Skan	* config/sh/sh.c (prepare_move_operands): Handle the address
5397169689Skan	constant which is a tls symbolic address plus a constant.
5398169689Skan
5399169689Skan2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
5400169689Skan
5401169689Skan	PR driver/24473
5402169689Skan	* gcc.c (main): Use the correct counter for erroring out
5403169689Skan	about mulitple files.
5404169689Skan
5405169689Skan2005-10-21  Alan Modra  <amodra@bigpond.net.au>
5406169689Skan
5407169689Skan	PR target/24465
5408169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
5409169689Skan	use r2 for 64-bit tls .got access.
5410169689Skan
5411169689Skan2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
5412169689Skan
5413169689Skan	* dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
5414169689Skan	TRUTH_OR_EXPR.
5415169689Skan
5416169689Skan2005-10-20  Steven Bosscher  <stevenb@suse.de>
5417169689Skan
5418169689Skan	PR tree-optimization/24307
5419169689Skan	* tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
5420169689Skan
5421169689Skan2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
5422169689Skan
5423169689Skan	PR middle-end/24295
5424169689Skan	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
5425169689Skan	alias targets.
5426169689Skan	* varasm.c (find_decl_and_mark_needed): After cgraph global info
5427169689Skan	is ready, stop marking functions, but still mark variables.
5428169689Skan
5429169689Skan2005-10-20  Richard Guenther  <rguenther@suse.de>
5430169689Skan
5431169689Skan	PR c++/24439
5432169689Skan	* fold-const.c (invert_truthvalue): Handle COND_EXPR with
5433169689Skan	void type operands.
5434169689Skan
5435169689Skan2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
5436169689Skan
5437169689Skan	PR rtl-optimization/23585
5438169689Skan	* rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
5439169689Skan	(rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
5440169689Skan	(may_trap_p_1): New predicate extracted from...
5441169689Skan	(may_trap_p): ... here.  Invoke may_trap_p_1.
5442169689Skan	(may_trap_or_fault_p): New predicate.
5443169689Skan	* rtl.h (may_trap_or_fault_p): Declare it.
5444169689Skan	* reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
5445169689Skan	instead of may_trap_p.
5446169689Skan	(steal_delay_list_from_fallthrough): Likewise.
5447169689Skan	(fill_simple_delay_slots): Likewise.
5448169689Skan	(fill_slots_from_thread): Likewise.
5449169689Skan	* function.c (pad_to_arg_alignment): Rework comment about
5450169689Skan	SPARC_STACK_BOUNDARY_HACK.
5451169689Skan	* config/sparc/sparc.h: Likewise.
5452169689Skan
5453169689Skan2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
5454169689Skan
5455169689Skan	* config/s390/s390.c (s390_expand_insv): New.
5456169689Skan	* config/s390/s390-protos.h (s390_expand_insv): Declare.
5457169689Skan	* config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
5458169689Skan	("icm_hi"): Remove mode attribute.
5459169689Skan	("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
5460169689Skan	Adjust all uses.
5461169689Skan	("*extracthi", "*extractqi"): Remove.
5462169689Skan	(extv<mode>", "*extzv<mode>"): New.
5463169689Skan	("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
5464169689Skan	"*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
5465169689Skan
5466169689Skan2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5467169689Skan
5468169689Skan	* cfgexpand.c (discover_nonconstant_array_refs_r,
5469169689Skan	discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
5470169689Skan	(tree_expand_cfg): Call discover_nonconstant_array_refs.
5471169689Skan	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
5472169689Skan	discover_nonconstant_array_refs.
5473169689Skan
5474169689Skan2005-10-19  Steven Bosscher  <stevenb@suse.de>
5475169689Skan
5476169689Skan	PR c/23228
5477169689Skan	* c-decl.c (pop_scope): Don't warn about an unused variable
5478169689Skan	if it is marked with TREE_NO_WARNING.
5479169689Skan	(duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
5480169689Skan	somenow mismatch and olddecl is to be replaced.
5481169689Skan
5482169689Skan2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5483169689Skan
5484169689Skan	PR middle-end/23199
5485169689Skan	* cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
5486169689Skan	whether registers live on the edge can be saved/restored.
5487169689Skan
5488169689Skan2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5489169689Skan
5490169689Skan	* config/sh/sh.c (fixup_mova): Skip notes.
5491169689Skan
5492169689Skan2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5493169689Skan
5494169689Skan	* config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
5495169689Skan	* config/s390/s390.c (s390_hard_regno_rename_ok): New function.
5496169689Skan	(s390_can_eliminate): Handle BASE_REGNUM elimination.
5497169689Skan	(s390_initial_elimination_offset): Likewise.
5498169689Skan	(s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
5499169689Skan	register on TARGET_ZARCH targets.
5500169689Skan	* config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
5501169689Skan	(INITIAL_FRAME_POINTER_OFFSET): Remove.
5502169689Skan	(REG_ALLOC_ORDER): Move BASE_REGNUM lower.
5503169689Skan	(ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
5504169689Skan
5505169689Skan2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
5506169689Skan
5507169689Skan	* config/s390/s390.md: Comment describing output modifiers updated.
5508169689Skan	* config/s390/s390.c (print_operand): Likewise.
5509169689Skan
5510169689Skan2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
5511169689Skan
5512169689Skan	* config/s390/s390.c (override_options): Added check for -mstack-size
5513169689Skan	64k limitation.
5514169689Skan	* doc/invoke.texi: Mention that limit in the documenation.
5515169689Skan
5516169689Skan2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
5517169689Skan
5518169689Skan	PR #19672
5519169689Skan	* dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
5520169689Skan
5521169689Skan2005-10-18  Daniel Berlin <dberlin@dberlin.org>
5522169689Skan
5523169689Skan	Fix PR tree-optimization/24231
5524169689Skan
5525169689Skan	* tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
5526169689Skan	(compute_avail): Ditto.
5527169689Skan
5528169689Skan2005-10-18  Richard Henderson  <rth@redhat.com>
5529169689Skan
5530169689Skan	PR target/24428
5531169689Skan	* config/i386/i386.c (legitimate_constant_p): Check
5532169689Skan	SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
5533169689Skan	if LABEL_REF.
5534169689Skan	(legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
5535169689Skan	(legitimate_pic_address_disp_p): Reorg CONST checking to make
5536169689Skan	sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
5537169689Skan	directly.
5538169689Skan	(print_operand_address): Likewise.
5539169689Skan	* config/i386/predicates.md (x86_64_immediate_operand): Test
5540169689Skan	SYMBOL_REF_TLS_MODEL properly inside CONST.
5541169689Skan	(x86_64_zext_immediate_operand): Likewise.
5542169689Skan	(global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
5543169689Skan	initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
5544169689Skan	* config/i386/i386-protos.h: Remove predicates.md entries.
5545169689Skan
5546169689Skan2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
5547169689Skan
5548169689Skan	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
5549169689Skan	Check that elements of TYPE_METHODS are FUNCTION_DECLs.
5550169689Skan
5551169689Skan2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
5552169689Skan	    Ian Lance Taylor <ian@airs.com>
5553169689Skan
5554169689Skan	PR middle-end/23522
5555169689Skan	* fold-const.c (fold_widened_comparison): Do not allow range based
5556169689Skan	constant folding when right operand cannot be unwidened.
5557169689Skan
5558169689Skan2005-10-17  Richard Henderson  <rth@redhat.com>
5559169689Skan
5560169689Skan	* builtins.c (expand_builtin_synchronize): Build a new-style asm
5561169689Skan	with a memory clobber.
5562169689Skan
5563169689Skan2005-10-17  James E Wilson  <wilson@specifix.com>
5564169689Skan
5565169689Skan	PR rtl-optimization/17356
5566169689Skan	* cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
5567169689Skan	checking for EDGE_EH.
5568169689Skan
5569169689Skan2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
5570169689Skan
5571169689Skan	* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
5572169689Skan	the slot on an even boundary for any type with 16-byte alignment.
5573169689Skan
5574169689Skan2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
5575169689Skan
5576169689Skan	PR target/23424
5577169689Skan	* md.texi (Modifiers) <%>: Clarify that % doesn't work
5578169689Skan	after register allocation.
5579169689Skan
5580169689Skan2005-10-17  DJ Delorie  <dj@redhat.com>
5581169689Skan
5582169689Skan	* config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
5583169689Skan	as frame related.
5584169689Skan
5585169689Skan2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
5586169689Skan
5587169689Skan	PR c++/22551
5588169689Skan	* c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
5589169689Skan	overflow flags.
5590169689Skan
5591169689Skan2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
5592169689Skan
5593169689Skan	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
5594169689Skan	to 2 if it's already non-zero.
5595169689Skan	(OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
5596169689Skan	is set and warn about it if flag_schedule_insns is 1.
5597169689Skan
5598169689Skan2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
5599169689Skan
5600169689Skan	* config/crx/crx.md: Compare-and-branch instructions need to
5601169689Skan	invalidate CC.
5602169689Skan
5603169689Skan2005-10-17  Uros Bizjak  <uros@kss-loka.si>
5604169689Skan
5605169689Skan	PR target/24315
5606169689Skan	* config/i386/i386.md (*pushdi2_rex64 splitter)
5607169689Skan	(*movdi_1_rex64 splitter, *ashldi3_1 splitter)
5608169689Skan	(*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
5609169689Skan	flow2 pass only when (optimize > 0 && flag_peephole2).
5610169689Skan
5611169689Skan2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
5612169689Skan
5613169689Skan	PR driver/22544
5614169689Skan	* gcc.c (have_c): New static variable.
5615169689Skan	(have_o): Likewise.
5616169689Skan	(process_command): Remove declation of have_c.
5617169689Skan	Set have_o to 1 when handling -o.
5618169689Skan	(main): Add a fatel error if there are multiple
5619169689Skan	files specified and -o and -c/-S is passed witout
5620169689Skan	-combine or multiple languages.
5621169689Skan
5622169689Skan2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
5623169689Skan
5624169689Skan	Fix PR tree-optimization/22444
5625169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing):
5626169689Skan	Assert that we don't hit something with subvars.
5627169689Skan	(setup_pointers_and_addressables): Don't add things with subvars,
5628169689Skan	because we'll already process the subvars for aliasing purposes.
5629169689Skan
5630169689Skan2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
5631169689Skan
5632169689Skan	PR target/23424
5633169689Skan	* config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
5634169689Skan	("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
5635169689Skan	("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
5636169689Skan	("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
5637169689Skan	("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
5638169689Skan	swapped, alternatives for the R constraint.
5639169689Skan
5640169689Skan	PR middle-end/24341
5641169689Skan	* builtins.c (get_builtin_sync_mode): Make unlimited
5642169689Skan	mode_for_size request.
5643169689Skan
5644169689Skan2005-10-15  Richard Henderson  <rth@redhat.com>
5645169689Skan
5646169689Skan	* gimplify.c (gimplify_var_or_parm_decl): Split out from ...
5647169689Skan	(gimplify_expr): ... here.
5648169689Skan	(gimplify_compound_lval): Use it in initial scan loop.  Allow
5649169689Skan	fb_lvalue in base expression.
5650169689Skan
5651169689Skan2005-10-15  Richard Henderson  <rth@redhat.com>
5652169689Skan
5653169689Skan	PR 23714
5654169689Skan	* builtins.c (expand_builtin_trap): Export.
5655169689Skan	* expr.h (expand_builtin_trap): Declare.
5656169689Skan	* expr.c (expand_assignment): Emit a trap for integral offsets
5657169689Skan	from registers that weren't reduced to bitpos.
5658169689Skan
5659169689Skan	* tree-cfg.c (mark_array_ref_addressable_1): Remove.
5660169689Skan	(mark_array_ref_addressable): Remove.
5661169689Skan	* tree-flow.h (mark_array_ref_addressable): Remove.
5662169689Skan	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
5663169689Skan
5664169689Skan2005-10-15  James E Wilson  <wilson@specifix.com>
5665169689Skan
5666169689Skan	PR target/24232
5667169689Skan	* sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
5668169689Skan	(add_dependence_list_and_free): Likewise.
5669169689Skan	(sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
5670169689Skan	call.
5671169689Skan
5672169689Skan2005-10-15  Diego Novillo  <dnovillo@redhat.com>
5673169689Skan
5674169689Skan	PR 23141
5675169689Skan	PR 23142
5676169689Skan	* tree-vrp.c (vrp_meet): Fix the intersection of equivalence
5677169689Skan	sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
5678169689Skan	anti-range.
5679169689Skan	(vrp_visit_phi_node): Only prevent infinite iterations when
5680169689Skan	the previous result and the new result are both VR_RANGEs.
5681169689Skan
5682169689Skan2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
5683169689Skan
5684169689Skan	* tree-into-ssa.c (mark_def_sites): Correct minor typo in
5685169689Skan	function comment.
5686169689Skan
5687169689Skan2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5688169689Skan
5689169689Skan	PR c/23439
5690169689Skan	* c-parser.c (c_parser_for_statement): Use location of RID_FOR
5691169689Skan	to initialize loc.
5692169689Skan
5693169689Skan2005-10-14  Per Bothner  <per@bothner.com>
5694169689Skan
5695169689Skan	PR preprocessor/21250
5696169689Skan	* c-ppoutput.c (print_line): Print internal line 0 as 1.
5697169689Skan
5698169689Skan2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
5699169689Skan
5700169689Skan	PR c++/22551
5701169689Skan	* c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
5702169689Skan	overflow flags.  Refactor some conditionals.
5703169689Skan
5704169689Skan2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
5705169689Skan
5706169689Skan	PR tree-opt/21304
5707169689Skan	* tree-dfa.c (add_referenced_var): Only look at decls which
5708169689Skan	have TREE_CONSTANT or TREE_READONLY set instead of if
5709169689Skan	!TREE_PUBLIC or !TREE_CONSTANT.
5710169689Skan
5711169689Skan2005-10-13  James E Wilson  <wilson@specifix.com>
5712169689Skan
5713169689Skan	* doc/invoke.texi: For -x, add f95-cpp-input.
5714169689Skan	* doc/install.texi: For --enable-languages doc, change f95 to fortran.
5715169689Skan
5716169689Skan2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
5717169689Skan
5718169689Skan	PR tree-optimization/24262
5719169689Skan	* tree-data-ref.c (analyze_offset_expr): Check that init is invariant
5720169689Skan	in loop all the time.
5721169689Skan
5722169689Skan2005-10-12  Richard Henderson  <rth@redhat.com>
5723169689Skan
5724169689Skan	PR c/24255
5725169689Skan	* tree.h (DECL_TRANSPARENT_UNION): Remove.
5726169689Skan	* function.c (assign_parm_find_data_types): Don't support it.
5727169689Skan	* print-tree.c (print_node): Likewise.
5728169689Skan	* c-common.c (handle_transparent_union_attribute): Likewise.
5729169689Skan	Use build_duplicate_type.
5730169689Skan	* tree-inline.c (remap_type_1): Split out of remap_type;
5731169689Skan	properly remap aggregate fields.
5732169689Skan	(build_duplicate_type): New.
5733169689Skan	* doc/extend.texi (Variable Attributes): Remove documentation
5734169689Skan	for transparent_union.
5735169689Skan
5736169689Skan2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
5737169689Skan
5738169689Skan	PR target/24284
5739169689Skan	* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
5740169689Skan	(gen_stack_pointer_dec): Likewise.
5741169689Skan
5742169689Skan2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
5743169689Skan
5744169689Skan	PR middle-end/21275
5745169689Skan	PR middle-end/21766
5746169689Skan	* target.h (struct gcc_target): Add valid_dllimport_attribute_p
5747169689Skan	target hook.
5748169689Skan	(struct cxx): Add adjust_class_at_definition target hook.
5749169689Skan	* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
5750169689Skan	defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
5751169689Skan	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
5752169689Skan	hook_void_tree. Add to TARGET_CXX.
5753169689Skan	* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
5754169689Skan	dllimport_flag.
5755169689Skan	(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
5756169689Skan	* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
5757169689Skan	instead of attribute. Check for dllexport override.  Warn if
5758169689Skan	inconsistent dll linkage. Don't lose old dllimport if decl has
5759169689Skan	had address referenced.  Tweak lookup of dllimport atribute.
5760169689Skan	(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
5761169689Skan	for target specific rules.  Don't add dllimport attribute if
5762169689Skan	DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
5763169689Skan	dllimport attribute.
5764169689Skan	(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
5765169689Skan	* varasm.c (initializer_constant_valid_p): Replace
5766169689Skan	DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
5767169689Skan
5768169689Skan	PR target/21801
5769169689Skan	PR target/23589
5770169689Skan	* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
5771169689Skan	'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
5772169689Skan	(i[34567]86-*-mingw32*): Likewise.
5773169689Skan
5774169689Skan	* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
5775169689Skan	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
5776169689Skan
5777169689Skan	* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
5778169689Skan	C++-specific code. Change return value to bool.
5779169689Skan	(i386_pe_dllimport_p): Likewise.
5780169689Skan	(associated_type): Simplify and make language-independent
5781169689Skan	(i386_pe_encode_section_info): Replace override of ambiguous
5782169689Skan	dllimport symbol refs with a gcc_assert.
5783169689Skan	(i386_pe_valid_dllimport_attribute_p): Define.
5784169689Skan	* config/i386/winnt-cxx.c: New file. Define C++ versions of
5785169689Skan	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
5786169689Skan	i386_pe_adjust_class_at_definition.
5787169689Skan	* config/i386/winnt-stubs.c: New file. Define stub versions of
5788169689Skan	lang-specific functions.
5789169689Skan	* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
5790169689Skan	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
5791169689Skan	i386_pe_adjust_class_at_definition.
5792169689Skan	(i386_pe_valid_dllimport_attribute_p): Declare.
5793169689Skan	* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
5794169689Skan	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
5795169689Skan	* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
5796169689Skan
5797169689Skan	PR target/19704
5798169689Skan	* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
5799169689Skan	dllimport attribute with test of DECL_DLLIMPORT_P.
5800169689Skan
5801169689Skan2005-10-12  Adrian Straetling <straetling@de.ibm.com>
5802169689Skan
5803169689Skan	* combine.c (make_extraction): Correct offset computation.
5804169689Skan
5805169689Skan2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
5806169689Skan
5807169689Skan	* config/cris/t-linux (LIMITS_H_TEST): Define.
5808169689Skan
5809169689Skan2005-10-12  Richard Henderson  <rth@redhat.com>
5810169689Skan
5811169689Skan	PR rtl-opt/23324
5812169689Skan	* cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
5813169689Skan
5814169689Skan2005-10-12  Richard Guenther  <rguenther@suse.de>
5815169689Skan
5816169689Skan	* Makefile.in (CGRAPH_H): Depend on $(TREE_H).
5817169689Skan
5818169689Skan2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
5819169689Skan
5820169689Skan	PR c++/19964
5821169689Skan	* stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
5822169689Skan	DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
5823169689Skan	type.
5824169689Skan
5825169689Skan2005-10-12  Richard Guenther  <rguenther@suse.de>
5826169689Skan
5827169689Skan	PR c++/23799
5828169689Skan	* varasm.c (output_constant): Correct typo from previous
5829169689Skan	patch by DJ.
5830169689Skan
5831169689Skan2005-10-11  Ian Lance Taylor  <ian@airs.com>
5832169689Skan
5833169689Skan	PR rtl-optimization/13931
5834169689Skan	* combine.c: Revert patch of 2003-05-14, and:
5835169689Skan	(try_combine): Only set elim_i1 and elim_i2 if the destination is
5836169689Skan	completely killed in the appropriate insn.
5837169689Skan	(distribute_notes): Don't skip multiple hard register test for
5838169689Skan	elim_i1 and elim_i2.
5839169689Skan
5840169689Skan2005-10-11  Richard Henderson  <rth@redhat.com>
5841169689Skan
5842169689Skan	PR c/24255
5843169689Skan	* c-typeck.c (convert_for_assignment): Use build_constructor_single
5844169689Skan	to initialize a transparent union instead of a nop_expr.
5845169689Skan
5846169689Skan2005-10-11  Richard Henderson  <rth@redhat.com>
5847169689Skan
5848169689Skan	* Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
5849169689Skan	* tree-ssa-dce.c: Include tree-scalar-evolution.h.
5850169689Skan	(tree_ssa_dce_loop): Call scev_reset.
5851169689Skan
5852169689Skan	PR tree-opt/24300
5853169689Skan	* Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
5854169689Skan	* tree-ssa-dce.c: Include cfgloop.h.
5855169689Skan	(tree_ssa_dce_loop, pass_dce_loop): New.
5856169689Skan	* tree-pass.h (pass_dce_loop): Declare it.
5857169689Skan	* passes.c (init_optimization_passes): Use it.
5858169689Skan
5859169689Skan2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
5860169689Skan
5861169689Skan	PR middle-end/24263
5862169689Skan	* convert.c (convert_to_real): Revert 2005-10-05 patch.
5863169689Skan	Only apply the optimization for rounding builtins if the inner
5864169689Skan	cast is also an extension.
5865169689Skan
5866169689Skan2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
5867169689Skan
5868169689Skan	PR tree-opt/23946
5869169689Skan	* tree-ssa-ccp.c (execute_fold_all_builtins): Call
5870169689Skan	mark_new_vars_to_rename instead of update_stmt.
5871169689Skan
5872169689Skan2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
5873169689Skan
5874169689Skan	* config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
5875169689Skan
5876169689Skan2005-10-11  Jakub Jelinek  <jakub@redhat.com>
5877169689Skan
5878169689Skan	* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
5879169689Skan	for setting MMX register to 0 rather than mmx.
5880169689Skan
5881169689Skan2005-10-10  Mark Mitchell <mark@codesourcery.com>
5882169689Skan
5883169689Skan	* toplev.c (check_global_declaration_1): Robustify.
5884169689Skan
5885169689Skan2005-10-10  Steve Ellcey  <sje@cup.hp.com>
5886169689Skan
5887169689Skan	PR target/12098
5888169689Skan	* configure.ac: Move gas check from mips specific case to common case.
5889169689Skan	Do check for GNU as for mips*-*-* and *-*-hpux* targets.
5890169689Skan	* configure: Regenerate
5891169689Skan	* doc/install.texi: Update.
5892169689Skan
5893169689Skan2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5894169689Skan
5895169689Skan	PR target/24284
5896169689Skan	* config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
5897169689Skan
5898169689Skan2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
5899169689Skan
5900169689Skan	* gcc.c (do_spec_1): Accept numeric characters in file name
5901169689Skan	suffixes.
5902169689Skan
5903169689Skan2005-10-10  Nick Clifton  <nickc@redhat.com>
5904169689Skan
5905169689Skan	* config/arm/arm.c: Remove extraneous whitespace.  Remove comment
5906169689Skan	describing the deleted arm_gen_rotated_half_load function.
5907169689Skan
5908169689Skan2005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
5909169689Skan
5910169689Skan	* config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
5911169689Skan	__fpscr_values.
5912169689Skan
5913169689Skan2005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
5914169689Skan
5915169689Skan	* config.gcc (arm*-*-linux*): Remove redundant extra_parts and
5916169689Skan	gnu_ld assignments.
5917169689Skan	* config/arm/t-linux-eabi (LIB1ASMFUNCS)
5918169689Skan	(EXTRA_MULTILIB_PARTS): Define.
5919169689Skan	* config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
5920169689Skan	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
5921169689Skan	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
5922169689Skan	* config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
5923169689Skan	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
5924169689Skan	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
5925169689Skan
5926169689Skan2005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
5927169689Skan
5928169689Skan	PR tree-optimization/24226
5929169689Skan	* tree-cfg.c (remove_bb): Clean up unreachable loops.
5930169689Skan	* tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
5931169689Skan	* tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
5932169689Skan	Export.
5933169689Skan
5934169689Skan2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5935169689Skan
5936169689Skan	* config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
5937169689Skan
5938169689Skan2005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
5939169689Skan
5940169689Skan	PR target/24136
5941169689Skan	* config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
5942169689Skan	Rewrite for no need for the early clobber.
5943169689Skan
5944169689Skan2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
5945169689Skan
5946169689Skan	Merge from csl-arm-branch:
5947169689Skan	2005-09-07  Paul Brook  <paul@codesourcery.com>
5948169689Skan	* config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
5949169689Skan	space to string.
5950169689Skan
5951169689Skan	2005-04-30  Paul Brook  <paul@codesourcery.com>
5952169689Skan	* config/arm/bpabi.h (TARGET_DEFAULT): Define.
5953169689Skan	* config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
5954169689Skan
5955169689Skan	2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
5956169689Skan	* config/arm/arm.c (arm_all_abis): Add aapcs-linux.
5957169689Skan	(arm_override_options): Use TARGET_AAPCS_BASED.
5958169689Skan	* config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
5959169689Skan	(PTRDIFF_TYPE): Use int for AAPCS.
5960169689Skan	(DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
5961169689Skan	* config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
5962169689Skan	(DEFAULT_SHORT_ENUMS): Delete.
5963169689Skan	* doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
5964169689Skan
5965169689Skan	2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
5966169689Skan	* config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
5967169689Skan	* config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
5968169689Skan	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
5969169689Skan
5970169689Skan	2004-12-03  Mark Mitchell  <mark@codesourcery.com>
5971169689Skan	* config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
5972169689Skan
5973169689Skan	2004-11-22  Mark Mitchell  <mark@codesourcery.com>
5974169689Skan	* config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
5975169689Skan
5976169689Skan	2004-11-19  Mark Mitchell  <mark@codesourcery.com>
5977169689Skan	* config.gcc (arm*-*-linux-gnueabi): Add it.
5978169689Skan	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
5979169689Skan	redefining it.
5980169689Skan	(TARGET_OS_CPP_BUILTINS): Likeiwse.
5981169689Skan	* config/arm/linux-eabi.h: New file.
5982169689Skan	* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
5983169689Skan	(LINUX_TARET_LINK_SPEC): Likewise.
5984169689Skan	(LINK_SPEC): Use it.
5985169689Skan	* config/arm/t-linux-eabi: New file.
5986169689Skan
5987169689Skan2005-10-08  Steven Bosscher  <stevenb@suse.de>
5988169689Skan
5989169689Skan	PR other/22202
5990169689Skan	* params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
5991169689Skan	spaces.
5992169689Skan	(PARAM_SMS_DFA_HISTORY): Likewise.
5993169689Skan
5994169689Skan2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
5995169689Skan
5996169689Skan	PR middle-end/23150
5997169689Skan	* calls.c (mem_overlaps_already_clobbered_arg_p): New.
5998169689Skan	(load_register_parameters): Call it.
5999169689Skan	(check_sibcall_argument_overlap_1): Likewise.
6000169689Skan	(store_one_arg): Likewise.
6001169689Skan
6002169689Skan2005-10-07  James E. Wilson  <wilson@specifix.com>
6003169689Skan
6004169689Skan	* config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
6005169689Skan	DImode not VECINT24 for operand 2.
6006169689Skan
6007169689Skan	PR target/23644
6008169689Skan	* doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
6009169689Skan	-mtune-arch.
6010169689Skan
6011169689Skan	PR target/24193
6012169689Skan	* config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
6013169689Skan	fr_spill): Use destination_operand for operand 0.
6014169689Skan
6015169689Skan2005-10-07  DJ Delorie  <dj@redhat.com>
6016169689Skan
6017169689Skan	* varasm.c (output_constant): Limit error to expanding
6018169689Skan	conversions.
6019169689Skan
6020169689Skan2005-10-07  Richard Guenther  <rguenther@suse.de>
6021169689Skan
6022169689Skan	PR middle-end/24227
6023169689Skan	* fold-const.c (fold_binary): Fix operand types during folding
6024169689Skan	of X op (A, Y).  Evaluation order of the side-effects of
6025169689Skan	X and A are frontend-defined, so ensure we honour that even for
6026169689Skan	tcc_comparison class operands; eased by removing duplicate code.
6027169689Skan
6028169689Skan2005-10-07  Steve Ellcey  <sje@cup.hp.com>
6029169689Skan
6030169689Skan	* stor-layout.c (layout_type): Do not allow alignment of array
6031169689Skan	elements to be greater than their size.
6032169689Skan
6033169689Skan2005-10-07  Steve Ellcey  <sje@cup.hp.com>
6034169689Skan
6035169689Skan	* config.host (hppa*-*-hpux*): Change out_host_hook_obj and
6036169689Skan	host_xmake_file.
6037169689Skan	(hppa*-*-linux*): Ditto.
6038169689Skan	(ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
6039169689Skan	* config/host-hpux.c: New.
6040169689Skan	* config/x-hpux: New.
6041169689Skan	* config/pa/x-hpux: Remove.
6042169689Skan	* config/pa/x-linux: Remove.
6043169689Skan	* config/pa/pa-host.c: Remove.
6044169689Skan
6045169689Skan2005-10-07  Jeff Law  <law@redhat.com>
6046169689Skan
6047169689Skan	* tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
6048169689Skan	determine whether or not to try and thread outgoing edges.
6049169689Skan
6050169689Skan2005-10-07  David Edelsohn  <edelsohn@gnu.org>
6051169689Skan
6052169689Skan	* config/rs6000/rs6000.md (eqsi_power): New.
6053169689Skan	(neg_eq0si): Add TARGET_POWER to final condition.
6054169689Skan	(neg_eqsi): Same.
6055169689Skan
6056169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6057169689Skan
6058169689Skan	* config/rs6000/rs6000.c: Revert last change.
6059169689Skan
6060169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6061169689Skan
6062169689Skan	* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
6063169689Skan	(TARGET_CANNOT_FORCE_CONST_MEM): Use it.
6064169689Skan
6065169689Skan2005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
6066169689Skan
6067169689Skan	PR middle-end/22216
6068169689Skan	PR middle-end/23651
6069169689Skan	* cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
6070169689Skan	out return_label and naked_return_label.
6071169689Skan
6072169689Skan2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
6073169689Skan
6074169689Skan	* tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
6075169689Skan	change.
6076169689Skan
6077169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6078169689Skan
6079169689Skan	PR tree-opt/22237
6080169689Skan	* tree-inline.c (declare_return_variable): Handle modify_dest not
6081169689Skan	being a DECL.
6082169689Skan
6083169689Skan2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
6084169689Skan
6085169689Skan	Fix PR tree-optimization/22488
6086169689Skan	* tree-ssa-structalias.c (check_for_overlaps): New function.
6087169689Skan	(create_variable_info_for): Use it.
6088169689Skan
6089169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6090169689Skan
6091169689Skan	PR debug/24070
6092169689Skan	* dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
6093169689Skan	(dwarf2out_start_source_file): Print it.
6094169689Skan
6095169689Skan2005-10-06  Geoffrey Keating  <geoffk@apple.com>
6096169689Skan
6097169689Skan	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
6098169689Skan
6099169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6100169689Skan
6101169689Skan	PR 23706
6102169689Skan	* mode-switching.c (optimize_mode_switching): Clear transp bit
6103169689Skan	for block with incomming abnormal edges.
6104169689Skan
6105169689Skan	* config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
6106169689Skan	(fpscr_set_from_mem): Use them.
6107169689Skan	* config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
6108169689Skan	(fpscr postinc splitters): Rewrite as peephole2+split.
6109169689Skan
6110169689Skan2005-10-06  David Edelsohn  <edelsohn@gnu.org>
6111169689Skan
6112169689Skan	* config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
6113169689Skan	(eq<mode>_compare): Same.
6114169689Skan
6115169689Skan2005-10-06  Richard Guenther  <rguenther@suse.de>
6116169689Skan
6117169689Skan	PR tree-optimization/24238
6118169689Skan	* tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
6119169689Skan
6120169689Skan2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
6121169689Skan
6122169689Skan	* acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
6123169689Skan	here.  Use AC_PATH_PROG for environment variables instead of
6124169689Skan	test -x.
6125169689Skan	* configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
6126169689Skan	objdump also.
6127169689Skan	* configure: Regenerated.
6128169689Skan
6129169689Skan2005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
6130169689Skan
6131169689Skan	PR target/23783
6132169689Skan	* arm.md (call): If the address isn't a SYMBOL_REF or a register,
6133169689Skan	then force it into a register.
6134169689Skan	(call_value): Likewise.
6135169689Skan
6136169689Skan2005-10-06  Richard Henderson  <rth@redhat.com>
6137169689Skan
6138169689Skan	PR 24049
6139169689Skan	* passes.c (init_optimization_passes): Move pass_lower_vector_ssa
6140169689Skan	under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
6141169689Skan	under pass_vectorize.
6142169689Skan
6143169689Skan2005-10-05  Devang Patel  <dpatel@apple.com>
6144169689Skan
6145169689Skan	PR Debug/23205
6146169689Skan	* dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
6147169689Skan	handling constants. Check NAMESPACE_DECL context for constants.
6148169689Skan
6149169689Skan2005-10-05  Eric Christopher  <echristo@apple.com>
6150169689Skan
6151169689Skan	* doc/md.texi (Standard Names): Fix name of pushm1 pattern.
6152169689Skan
6153169689Skan2005-10-05  Richard Henderson  <rth@redhat.com>
6154169689Skan
6155169689Skan	PR 23714
6156169689Skan	* tree-cfg.c (mark_array_ref_addressable_1): New.
6157169689Skan	(mark_array_ref_addressable): New.
6158169689Skan	* tree-flow.h (mark_array_ref_addressable): Declare.
6159169689Skan	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
6160169689Skan
6161169689Skan2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
6162169689Skan
6163169689Skan	PR middle-end/20606
6164169689Skan	PR middle-end/24069
6165169689Skan	* reload.c (subst_reloads): When adding a REG_LABEL to a
6166169689Skan	jump instruction, also update JUMP_LABEL.
6167169689Skan
6168169689Skan2005-10-05  David Edelsohn  <edelsohn@gnu.org>
6169169689Skan
6170169689Skan	* params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
6171169689Skan	* bb-reorder.c (copy_bb_p): Use it.
6172169689Skan	* doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
6173169689Skan
6174169689Skan2005-10-05  Richard Henderson  <rth@redhat.com>
6175169689Skan
6176169689Skan	PR target/23602
6177169689Skan	* toplev.c (process_options): Warn about unsupported combinations
6178169689Skan	of unwind tables and omit-frame-pointer.
6179169689Skan	* config/i386/i386.c (override_options): Similarly.  Enable
6180169689Skan	accumulate-outgoing-args if not explicitly disabled.
6181169689Skan
6182169689Skan2005-10-05  Steve Ellcey  <sje@cup.hp.com>
6183169689Skan
6184169689Skan	* vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
6185169689Skan	Handle big endian vs. small endian.
6186169689Skan	(vec_initv2sf): Handle big endian vs. small endian.
6187169689Skan	(*vec_extractv2sf_1): Ditto.
6188169689Skan
6189169689Skan2005-10-05  Dale Johannesen  <dalej@apple.com>
6190169689Skan
6191169689Skan	* convert.c (convert_to_real): Don't convert
6192169689Skan	(float)floor(double d) to floorf((float)d).
6193169689Skan
6194169689Skan2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
6195169689Skan
6196169689Skan	* config/arm/arm.md (insv): Use gen_int_mode in more places.
6197169689Skan
6198169689Skan2005-10-05  Andrew MacLeod  <amacleod@redhat.com>
6199169689Skan
6200169689Skan	PR tree-optimization/18587
6201169689Skan	* tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
6202169689Skan	(build_defs, build_uses, build_v_may_defs, build_v_must_defs,
6203169689Skan	build_vuses): Change to VEC type.
6204169689Skan	(opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
6205169689Skan	opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
6206169689Skan	opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
6207169689Skan	opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
6208169689Skan	(get_name_decl): New.  Return DECL_UID of base variable.
6209169689Skan	(operand_build_cmp): New.  qsort comparison routine.
6210169689Skan	(operand_build_sort_virtual): New.  Sort virtual build vector.
6211169689Skan	(init_ssa_operands, fini_ssa_operands): Use VEC routines.
6212169689Skan	(FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
6213169689Skan	(FINALIZE_BASE): Use get_name_decl.
6214169689Skan	(finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
6215169689Skan	finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
6216169689Skan	(start_ssa_stmt_operands, append_def, append_use, append_vuse,
6217169689Skan	append_v_may_def, append_v_must_def): Replace opbuild_* routines with
6218169689Skan	direct VEC_* manipulations.
6219169689Skan	(build_ssa_operands): Call operand_build_sort_virtual.
6220169689Skan	(copy_virtual_operand, create_ssa_artficial_load_stmt,
6221169689Skan	add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
6222169689Skan	with direct VEC_* manipulations.
6223169689Skan	* tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
6224169689Skan	with direct VEC manipulations.
6225169689Skan
6226169689Skan2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
6227169689Skan
6228169689Skan	PR tree-optimization/21419
6229169689Skan	PR tree-optimization/24146
6230169689Skan	PR tree-optimization/24151
6231169689Skan
6232169689Skan	* c-typeck.c (readonly_error): Handle USE being lv_asm.
6233169689Skan	(build_asm_expr): Call it if outputs are read-only.
6234169689Skan	* gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
6235169689Skan
6236169689Skan2005-10-05  Billy Biggs  <billy.biggs@gmail.com>
6237169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
6238169689Skan
6239169689Skan	PR target/23809
6240169689Skan
6241169689Skan	* doc/extend.texi (x86 Built-ins): Document that -msse and friends
6242169689Skan	enable the instructions and not just the built-ins.
6243169689Skan	* doc/invoke.texi (x86 Options): Likewise.
6244169689Skan
6245169689Skan2005-10-04  Geoffrey Keating  <geoffk@apple.com>
6246169689Skan
6247169689Skan	* config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
6248169689Skan
6249169689Skan	* doc/invoke.texi (Option Summary): Correct spelling
6250169689Skan	of -mmacosx-version-min.
6251169689Skan
6252169689Skan2005-10-04  Devang Patel  <dpatel@apple.com>
6253169689Skan
6254169689Skan	* c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
6255169689Skan	real types.
6256169689Skan
6257169689Skan2005-10-04  Steve Ellcey  <sje@cup.hp.com>
6258169689Skan
6259169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction):
6260169689Skan	Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
6261169689Skan
6262169689Skan2005-10-04  Adrian Straetling  <straetling@de.ibm.com>
6263169689Skan
6264169689Skan	* config/s390/s390.md ("TDSI","DP"): New mode macros.
6265169689Skan	("TE","tg"): New mode attributes.
6266169689Skan	("sync_compare_and_swap<mode>"): Replace with a define_expand.
6267169689Skan	("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
6268169689Skan	("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
6269169689Skan	dword_mode and one for GPRmode.
6270169689Skan
6271169689Skan2005-10-04  Ian Lance Taylor  <ian@airs.com>
6272169689Skan
6273169689Skan	PR preprocessor/13726
6274169689Skan	* c-ppoutput.c (cb_include): Add comments parameter, and print out
6275169689Skan	any comments passed in.
6276169689Skan
6277169689Skan2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
6278169689Skan
6279169689Skan	* tree.c (annotate_with_file_line): Fix typo.
6280169689Skan
6281169689Skan2005-10-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6282169689Skan
6283169689Skan	PR ada/19382
6284169689Skan	* builtins.c (fold_builtin_memcmp): When constructing the pointer
6285169689Skan	type used to access data in the inlined length == 1 case, use
6286169689Skan	build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
6287169689Skan	(fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
6288169689Skan
6289169689Skan2005-10-04  Uros Bizjak  <uros@kss-loka.si>
6290169689Skan
6291169689Skan	* config/i386/i386.h (TARGET_FISTTP): Enable also for
6292169689Skan	TARGET_SSE3 and only for TARGET_80387.
6293169689Skan	* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
6294169689Skan	(fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
6295169689Skan	Do not depend on TARGET_80387.
6296169689Skan
6297169689Skan2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
6298169689Skan
6299169689Skan	* tree.c (last_annotated_node): Change type to location_t*.
6300169689Skan	(annotate_with_file_line): Reflect the change of
6301169689Skan	last_annotated_node type.
6302169689Skan
6303169689Skan2005-10-04  Richard Guenther  <rguenther@suse.de>
6304169689Skan
6305169689Skan	PR c/23576
6306169689Skan	* c-decl.c (grokdeclarator): Don't write to fields
6307169689Skan	of error_mark_node.
6308169689Skan
6309169689Skan2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
6310169689Skan
6311169689Skan	PR middle-end/23125
6312169689Skan	* c-decl.c (finish_decl): Use set_user_assembler_name even for
6313169689Skan	register variables.
6314169689Skan	* varasm.c (make_decl_rtl): If a register variable does not
6315169689Skan	have a set user assmbler name, error out.
6316169689Skan	Decode the asmspec is now name+1 bypassing '*'.
6317169689Skan
6318169689Skan2005-10-04  Steven Bosscher  <stevenb@suse.de>
6319169689Skan
6320169689Skan	PR tree-optimization/23049
6321169689Skan	* tree-ssa-dom.c (thread_across_edge): Make sure that the condition
6322169689Skan	of a COND_EXPR is folded before calling fold on the whole rhs of a
6323169689Skan	conditional assignment.
6324169689Skan	* doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
6325169689Skan	document that a COND_EXPR may appear there.
6326169689Skan
6327169689Skan2005-10-03  Diego Novillo  <dnovillo@redhat.com>
6328169689Skan
6329169689Skan	PR 23445
6330169689Skan	* tree-vrp.c (extract_range_from_assert): If the new numeric
6331169689Skan	range created out of the assertion contradicts the existing
6332169689Skan	numeric range of the ASSERT_EXPR variable, make the new range
6333169689Skan	varying.
6334169689Skan
6335169689Skan2005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
6336169689Skan
6337169689Skan	* config/sh/sh.c (sh_register_move_cost): Add case for moving
6338169689Skan	from T_REGS to FP register class.
6339169689Skan
6340169689Skan2005-10-03  Richard Henderson  <rth@redhat.com>
6341169689Skan
6342169689Skan	PR 24135
6343169689Skan	* tree-nested.c (convert_nl_goto_reference): Lookup a translation
6344169689Skan	before creating a new one.
6345169689Skan
6346169689Skan2005-10-03  David Edelsohn  <edelsohn@gnu.org>
6347169689Skan
6348169689Skan	* config/rs6000/t-aix43 (LDFLAGS): New.
6349169689Skan	* config/rs6000/t-aix52 (LDFLAGS): New.
6350169689Skan
6351169689Skan2005-10-03  Ian Lance Taylor  <ian@airs.com>
6352169689Skan
6353169689Skan	* gimplify.c (find_single_pointer_decl_1): New static function.
6354169689Skan	(find_single_pointer_decl): New static function.
6355169689Skan	(internal_get_tmp_var): For a formal variable, set restrict base
6356169689Skan	information if appropriate.
6357169689Skan	* alias.c (find_base_decl): If a VAR_DECL has a restrict base,
6358169689Skan	return it.
6359169689Skan	* tree.h (DECL_BASED_ON_RESTRICT_P): Define.
6360169689Skan	(DECL_GET_RESTRICT_BASE): Define.
6361169689Skan	(SET_DECL_RESTRICT_BASE): Define.
6362169689Skan	(decl_restrict_base_lookup): Declare.
6363169689Skan	(decl_restrict_base_insert): Declare.
6364169689Skan	(struct tree_decl_with_vis): Add based_on_restrict_p field.
6365169689Skan	* tree.c (restrict_base_for_decl): New static variable.
6366169689Skan	(init_ttree): Initialize restrict_base_for_decl.
6367169689Skan	(copy_node_stat): Copy restrict base information.
6368169689Skan	(decl_restrict_base_lookup): New function.
6369169689Skan	(decl_restrict_base_insert): New function.
6370169689Skan	(print_restrict_base_statistics): New static function.
6371169689Skan	(dump_tree_statistics): Call print_restrict_base_statistics.
6372169689Skan
6373169689Skan2005-10-02  Diego Novillo  <dnovillo@redhat.com>
6374169689Skan
6375169689Skan	PR 24142
6376169689Skan	* tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
6377169689Skan	case of anti-ranges.
6378169689Skan
6379169689Skan2005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>
6380169689Skan
6381169689Skan	PR c/18851
6382169689Skan	* c-typeck.c (tagged_tu_seen): Rename to ...
6383169689Skan	(tagged_tu_seen_cache): this and add val field.
6384169689Skan	(comptypes): Move functional to comptypes_internal
6385169689Skan	and free tagged_tu_seen.
6386169689Skan	(comptypes_internal): New function and call comptypes_internal
6387169689Skan	instead of comptypes. Speed up by sibcalling
6388169689Skan	tagged_types_tu_compatible_p.
6389169689Skan	(alloc_tagged_tu_seen): New function
6390169689Skan	(free_all_tagged_tu_seen_up_to): New function.
6391169689Skan	(tagged_types_tu_compatible_p): Return the val of the seen two
6392169689Skan	types.
6393169689Skan	Add that the two types are the same to tagged_tu_seen_base
6394169689Skan	if they are and call comptypes_internal instead of comptypes.
6395169689Skan	<case UNION_TYPE>: Speed up common type where the fields are
6396169689Skan	in the same order.
6397169689Skan	(function_types_compatible_p): Call comptypes_internal instead of
6398169689Skan	comptypes.
6399169689Skan	(type_lists_compatible_p): Likewise.
6400169689Skan	(all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
6401169689Skan
6402169689Skan2005-10-02  Matthias Klose  <doko@debian.org>
6403169689Skan
6404169689Skan	* doc/invoke.texi: Fix typo and speling error.
6405169689Skan
6406169689Skan2005-10-01  Richard Henderson  <rth@redhat.com>
6407169689Skan
6408169689Skan	* tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
6409169689Skan
6410169689Skan2005-10-01  Mark Mitchell  <mark@codesourcery.com>
6411169689Skan
6412169689Skan	* config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
6413169689Skan	using --start-group and --end-group.
6414169689Skan
6415169689Skan2005-10-01  Diego Novillo  <dnovillo@redhat.com>
6416169689Skan
6417169689Skan	* tree-vrp.c (value_inside_range, range_includes_zero_p): Add
6418169689Skan	FIXME note regarding quirky semantics.
6419169689Skan
6420169689Skan2005-10-01  Diego Novillo  <dnovillo@redhat.com>
6421169689Skan
6422169689Skan	PR 24141
6423169689Skan	* tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
6424169689Skan	non-null range as a last resort.
6425169689Skan
6426169689Skan2005-10-01  James A. Morrison  <phython@gcc.gnu.org>
6427169689Skan	    Diego Novillo  <dnovillo@redhat.com>
6428169689Skan
6429169689Skan	PR 23604
6430169689Skan	* tree-vrp.c (extract_range_from_assert): For !=
6431169689Skan	assertions, only build an anti-range if LIMIT is a
6432169689Skan	single-valued range.
6433169689Skan
6434169689Skan2005-09-30  Richard Earnshaw  <richard.earnshaw@arm.com>
6435169689Skan
6436169689Skan	* arm.md (movqi): On thumb when optimizing, handle loading from
6437169689Skan	memory by describing this as taking a subreg of a zero-extended load
6438169689Skan	into an SImode register.
6439169689Skan	(movhi): Likewise.
6440169689Skan
6441169689Skan2005-09-30  Daniel Jacobowitz  <dan@codesourcery.com>
6442169689Skan
6443169689Skan	* reload1.c (merge_assigned_reloads): Do not change any
6444169689Skan	RELOAD_FOR_OUTPUT_ADDRESS reloads.
6445169689Skan
6446169689Skan2005-09-30  Geoffrey Keating  <geoffk@apple.com>
6447169689Skan
6448169689Skan	* Makefile.in (LIPO_FOR_TARGET): Define.
6449169689Skan	(STRIP_FOR_TARGET): Define.
6450169689Skan
6451169689Skan	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
6452169689Skan	before creating new ones.  Do symlinks before creating the actual
6453169689Skan	targets.
6454169689Skan
6455169689Skan	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
6456169689Skan	to work out which multilibs are actually being built.
6457169689Skan
6458169689Skan2005-09-30  Kazu Hirata  <kazu@codesourcery.com>
6459169689Skan
6460169689Skan	* tree-vect-transform.c, config/ms1/ms1.md,
6461169689Skan	config/s390/s390.c, config/v850/v850.md: Fix comment typos.
6462169689Skan	Follow spelling conventions.
6463169689Skan	* doc/invoke.texi, doc/md.texi: Fix typos.
6464169689Skan
6465169689Skan2005-09-30  Andrew Macleod  <amacleod@redat.com>
6466169689Skan
6467169689Skan	PR tree-optimization/21430
6468169689Skan	* tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
6469169689Skan	use operands, and set stmt pointer if need be.
6470169689Skan	(FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
6471169689Skan	tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
6472169689Skan	present.
6473169689Skan
6474169689Skan2005-09-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6475169689Skan
6476169689Skan	PR middle-end/24053
6477169689Skan	* stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
6478169689Skan
6479169689Skan2005-09-29  Mark Mitchell  <mark@codesourcery.com>
6480169689Skan
6481169689Skan	* optabs.c (expand_binop): Initialize first_pass_p.
6482169689Skan
6483169689Skan2005-09-29  Jakub Jelinek  <jakub@redhat.com>
6484169689Skan
6485169689Skan	PR middle-end/24109
6486169689Skan	* c-decl.c (c_write_global_declarations_1): If any
6487169689Skan	wrapup_global_declaration_2 call returned true, restart the loop.
6488169689Skan
6489169689Skan2005-09-29  Daniel Berlin  <dberlin@dberlin.org>
6490169689Skan
6491169689Skan	Fix PR tree-optimization/24117
6492169689Skan	* tree-ssa-structalias.c (find_func_aliases): Strip nops
6493169689Skan	before considering whether to use anyoffset.
6494169689Skan
6495169689Skan2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
6496169689Skan
6497169689Skan	Revert this patch:
6498169689Skan
6499169689Skan	2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
6500169689Skan
6501169689Skan	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
6502169689Skan	to order operands.
6503169689Skan	(swap_commutative_operands_with_target): New.
6504169689Skan
6505169689Skan2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
6506169689Skan
6507169689Skan	PR c/21419
6508169689Skan	* gimplify.c (gimplify_asm_expr): Raise an error if an output is
6509169689Skan	read-only.
6510169689Skan
6511169689Skan2005-09-29  Steven Bosscher  <stevenb@suse.de>
6512169689Skan
6513169689Skan	PR tree-optimization/23911
6514169689Skan	* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
6515169689Skan	and IMAGPART_EXPR too.
6516169689Skan
6517169689Skan2005-09-28  Mark Mitchell  <mark@codesourcery.com>
6518169689Skan
6519169689Skan	PR 17886
6520169689Skan	* expmed.c (expand_shift): Move logic to reverse rotation
6521169689Skan	direction when rotating by constants ...
6522169689Skan	* optabs.c (expand_binop): ... here.
6523169689Skan	* config/i386/i386.md (rotrdi3): Handle 32-bit mode.
6524169689Skan	(ix86_rotrdi3): New pattern.
6525169689Skan	(rotldi3): Handle 32-bit mode.
6526169689Skan	(ix86_rotldi3): New pattern.
6527169689Skan
6528169689Skan2005-09-29  Alan Modra  <amodra@bigpond.net.au>
6529169689Skan
6530169689Skan	PR target/24102
6531169689Skan	* config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
6532169689Skan	check for numbers that need no bit twiddle.
6533169689Skan
6534169689Skan2005-09-28  Geoffrey Keating  <geoffk@apple.com>
6535169689Skan
6536169689Skan	* config/rs6000/t-darwin8: Uncomment contents, allow -m64
6537169689Skan	multilib to be built.
6538169689Skan
6539169689Skan	* Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
6540169689Skan	(stage1-start): Delete old libgcc and libunwind before moving
6541169689Skan	anything into the stage directory.
6542169689Skan	(stage2-start): Likewise.
6543169689Skan	(stage3-start): Likewise.
6544169689Skan	(stage4-start): Likewise.
6545169689Skan	(stageprofile-start): Likewise.
6546169689Skan	(stagefeedback-start): Likewise.
6547169689Skan	* config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
6548169689Skan	header in tm_file and CPU-specific t-darwin in tmake_file.
6549169689Skan	(i[34567]86-*-darwin*): Don't change tm_file.
6550169689Skan	(powerpc-*-darwin*): Don't change tm_file or tmake_file.
6551169689Skan	* config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
6552169689Skan	shared library stub for target OS version.
6553169689Skan	* config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
6554169689Skan	(SHLIB_LINK): Don't make SHLIB_SOLINK.
6555169689Skan	(SHLIB_INSTALL): Don't install SHLIB_SOLINK.
6556169689Skan	(libgcc_s.%.dylib): New.
6557169689Skan	(LIBGCC): Define.
6558169689Skan	(install-darwin-libgcc-stubs): New.
6559169689Skan	(INSTALL_LIBGCC): New append.
6560169689Skan	* config/i386/darwin-libgcc.10.4.ver: New.
6561169689Skan	* config/i386/darwin-libgcc.10.5.ver: New.
6562169689Skan	* config/i386/t-darwin: New.
6563169689Skan	* config/rs6000/darwin-libgcc.10.4.ver: New.
6564169689Skan	* config/rs6000/darwin-libgcc.10.5.ver: New.
6565169689Skan	* config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
6566169689Skan	* config/rs6000/t-darwin (SHLIB_VERPFX): Define.
6567169689Skan
6568169689Skan2005-09-28  Paul Brook  <paul@codesourcery.com>
6569169689Skan
6570169689Skan	* config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
6571169689Skan	denormals.
6572169689Skan
6573169689Skan2005-09-28  Richard Guenther  <rguenther@suse.de>
6574169689Skan
6575169689Skan	PR tree-optimization/23853
6576169689Skan	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
6577169689Skan	host_integerp to verify misalignment value.
6578169689Skan
6579169689Skan2005-09-28  Richard Henderson  <rth@redhat.com>
6580169689Skan
6581169689Skan	* builtins.c (get_builtin_sync_mode): New.
6582169689Skan	(expand_builtin_sync_operation): Pass in mode argument.
6583169689Skan	(expand_builtin_compare_and_swap): Likewise.
6584169689Skan	(expand_builtin_lock_test_and_set): Likewise.
6585169689Skan	(expand_builtin_lock_release): Likewise.
6586169689Skan	(expand_builtin): Update to match.
6587169689Skan
6588169689Skan2005-09-28  Nick Clifton  <nickc@redhat.com>
6589169689Skan
6590169689Skan	* config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
6591169689Skan	formatting.  Add check to PLUS case to ensure that the offset is
6592169689Skan	within an acceptable range.
6593169689Skan
6594169689Skan	* config/v850/v850.md (casesi): Disable the generation of the
6595169689Skan	switch pattern as it is not being handled properly at the moment.
6596169689Skan
6597169689Skan	* config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
6598169689Skan	for when the high words are identical.
6599169689Skan
6600169689Skan2005-09-27  Richard Henderson  <rth@redhat.com>
6601169689Skan
6602169689Skan	* pretty-print.c (pp_base_format): Fix typo for %>.
6603169689Skan
6604169689Skan2005-09-27  Daniel Berlin  <dberlin@dberlin.org>
6605169689Skan	    Devang Patel  <dpatel@apple.com>
6606169689Skan
6607169689Skan	PR tree-optimization/23625
6608169689Skan	* tree-flow-inline.h (bsi_after_labels): Remove, first statement is
6609169689Skan	LABEL_EXPR, assertion check.
6610169689Skan
6611169689Skan2005-09-27  J"orn Rennecke <joern.rennecke@st.com>
6612169689Skan
6613169689Skan	* optabs.c (no_conflict_move_test): Check if a result of a
6614169689Skan	to-be-moved insn would be clobbered by an originally
6615169689Skan	preceding insn.
6616169689Skan
6617169689Skan2005-09-27  Jeff Law  <law@redhat.com>
6618169689Skan
6619169689Skan	* passes.c (init_optimization_passes): Replace copy propagation
6620169689Skan	passes immediately after DOM with phi-only copy propagation
6621169689Skan	pases.  Add phi-only copy propagation pass after first DOM pass.
6622169689Skan	* tree-pass.h (pass_phi_only_copy_prop): Declare.
6623169689Skan	* tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
6624169689Skan	If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
6625169689Skan	(execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
6626169689Skan	to init_copy_prop.  Callers updated.
6627169689Skan	(do_phi_only_copy_prop): New function.
6628169689Skan	(pass_phi_only_copy_prop): New pass descriptor.
6629169689Skan
6630169689Skan2005-09-27  Nick Clifton  <nickc@redhat.com>
6631169689Skan
6632169689Skan	* libgcc2.c (__popcount_tab): Remove redundant prototype.
6633169689Skan
6634169689Skan2005-09-26  Jason Merrill  <jason@redhat.com>
6635169689Skan
6636169689Skan	PR c++/13764
6637169689Skan	* c-common.c (finish_fname_decls): Use append_to_statement_list_force.
6638169689Skan
6639169689Skan	* doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
6640169689Skan
6641169689Skan2005-09-26  James E Wilson  <wilson@specifix.com>
6642169689Skan
6643169689Skan	* config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
6644169689Skan	copyright.  Add gcc copyright plus libgcc exception.
6645169689Skan	* config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
6646169689Skan	copyright.
6647169689Skan	* config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
6648169689Skan
6649169689Skan2005-09-26  Jeff Law  <law@redhat.com>
6650169689Skan
6651169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
6652169689Skan	about when to iterate.
6653169689Skan
6654169689Skan2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
6655169689Skan
6656169689Skan	PR target/23847
6657169689Skan	* config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
6658169689Skan	for __complex__ double in -mcpu=G5 mode.
6659169689Skan
6660169689Skan2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
6661169689Skan
6662169689Skan	PR tree-optimization/23942
6663169689Skan	* Makefile.in (SCEV_H): Depends on PARAMS_H.
6664169689Skan	* tree-scalar-evolution.c: Include params.h.
6665169689Skan	(t_bool): New enum.
6666169689Skan	(follow_ssa_edge, follow_ssa_edge_in_rhs,
6667169689Skan	follow_ssa_edge_in_condition_phi_branch,
6668169689Skan	follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
6669169689Skan	Change return type to t_bool.  Use a parameter to limit the size of
6670169689Skan	trees that are walked before stopping
6671169689Skan	(analyze_evolution_in_loop): Initialize the limit to 0.
6672169689Skan	(follow_ssa_edge): Give up by returning t_dont_know if the limit
6673169689Skan	exceeds PARAM_SCEV_MAX_EXPR_SIZE.
6674169689Skan
6675169689Skan2005-09-26  Uros Bizjak  <uros@kss-loka.si>
6676169689Skan
6677169689Skan	PR middle-end/23831
6678169689Skan	* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
6679169689Skan	simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
6680169689Skan
6681169689Skan2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
6682169689Skan
6683169689Skan	* combine.c (make_extraction): Check for valid use of subreg.
6684169689Skan
6685169689Skan2005-09-26  Uros Bizjak  <uros@kss-loka.si>
6686169689Skan
6687169689Skan	PR target/24055
6688169689Skan	* config/i386/i386.md ("*fistdi2_1"): New pattern.
6689169689Skan	("*fist<mode>2_1"): Use only HImode and SImode register operands.
6690169689Skan	("fist<mode>2_with_temp"): Use only register operands.
6691169689Skan
6692169689Skan2005-09-26  J"orn Rennecke <joern.rennecke@st.com>
6693169689Skan
6694169689Skan	* rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
6695169689Skan	CALL_INSN_FUNCTION_USAGE.
6696169689Skan
6697169689Skan2005-09-26  Richard Guenther  <rguenther@suse.de>
6698169689Skan
6699169689Skan	PR middle-end/15855
6700169689Skan	* gcse.c: Include hashtab.h, define ldst entry hashtable.
6701169689Skan	(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
6702169689Skan	(ldst_entry): Use the hashtable instead of list-walking.
6703169689Skan	(find_rtx_in_ldst): Likewise.
6704169689Skan	(free_ldst_entry): Free the hashtable.
6705169689Skan	(compute_ld_motion_mems): Create the hashtable.
6706169689Skan	(trim_ld_motion_mems): Remove entry from hashtable if
6707169689Skan	removing it from list.
6708169689Skan	(compute_store_table): Likewise^2.
6709169689Skan	(store_motion): Free hashtable in case we did not see
6710169689Skan	any stores.
6711169689Skan
6712169689Skan2005-09-25  Kazu Hirata  <kazu@codesourcery.com>
6713169689Skan
6714169689Skan	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
6715169689Skan	and arg1 if we are passing them to fold_build2.
6716169689Skan
6717169689Skan2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
6718169689Skan
6719169689Skan	PR 23828
6720169689Skan	* config/i386/i386.c (ix86_function_regparm): Fix the test for
6721169689Skan	a nested function.
6722169689Skan
6723169689Skan2005-09-25  Richard Henderson  <rth@redhat.com>
6724169689Skan
6725169689Skan	* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
6726169689Skan	SYMBOL_REF_TLS_MODEL to be correct.
6727169689Skan
6728169689Skan2005-09-24  Richard Henderson  <rth@redhat.com>
6729169689Skan
6730169689Skan	* ipa-type-escape.c (discover_unique_type): Remove dead code at
6731169689Skan	end of function.  Reindent.
6732169689Skan
6733169689Skan2005-09-24  Ian Lance Taylor  <ian@airs.com>
6734169689Skan
6735169689Skan	* convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
6736169689Skan	NEGATE_EXPR/BIT_NOT_EXPR case.
6737169689Skan
6738169689Skan2005-09-24  Richard Henderson  <rth@redhat.com>
6739169689Skan
6740169689Skan	* c-common.c (handle_mode_attribute): When not modifying in place,
6741169689Skan	create subtypes for enumerations.
6742169689Skan	(sync_resolve_return): Use TYPE_MAIN_VARIANT.
6743169689Skan	* gimplify.c (create_tmp_from_val): Likewise.
6744169689Skan
6745169689Skan2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
6746169689Skan
6747169689Skan	* config/i386/i386.md (*tls_global_dynamic_64,
6748169689Skan	*tls_local_dynamic_base_64): Add missing mode to call.
6749169689Skan	(tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
6750169689Skan
6751169689Skan2005-09-24  Jan Hubicka  <jh@suse.cz>
6752169689Skan
6753169689Skan	* cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
6754169689Skan	(cgraph_clone_node): Likewise.
6755169689Skan	* cgraph.h (cgraph_clone_edge): Update prototype.
6756169689Skan	(cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
6757169689Skan	duplicated prototypes; add updating argument.
6758169689Skan	* cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
6759169689Skan	* ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
6760169689Skan	updating profile.
6761169689Skan	(cgraph_mark_inline_edge): Likewise.
6762169689Skan	(cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
6763169689Skan	(cgraph_flatten_node): Likewise.
6764169689Skan	(cgraph_decide_recursive_inlining): Likewise.
6765169689Skan	(cgraph_decide_inlining_of_small_function): Likewise.
6766169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
6767169689Skan
6768169689Skan2005-09-23  David Edelsohn  <edelsohn@gnu.org>
6769169689Skan	    Pete Steinmetz <steinmtz@us.ibm.com>
6770169689Skan
6771169689Skan	* config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
6772169689Skan	(rldic.): Set type to "compare".
6773169689Skan	(rldicr.): Same.
6774169689Skan	(movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
6775169689Skan	mfjmpr for MFCTR/MFLR.
6776169689Skan	(movdf_hardfloat64): Same.
6777169689Skan	(movdf_softfloat64): Same.  Correct order of store and move types.
6778169689Skan	(movti_string): Set type to store_ux/load_ux.
6779169689Skan	(load_multiple): Set type to load_ux.
6780169689Skan	(store_multiple): Set type to store_ux.
6781169689Skan	(movmemsi): Set type to store_ux.
6782169689Skan	(output_cbranch direct_return): Set type to jmpreg.
6783169689Skan	(stmw): Set type to store_ux.
6784169689Skan	(lmw): Set type to load_ux.
6785169689Skan	* config/rs6000/40x.md (ppc403-store): Increase latency to 2.
6786169689Skan	* config/rs6000/440.md (ppc440-store): Increase latency to 6.
6787169689Skan	* config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
6788169689Skan	* config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
6789169689Skan	* config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
6790169689Skan	* config/rs6000/rios1.md (rios1-store): Increase latency to 2.
6791169689Skan	(rios1-fpstore): Increase latency to 3.
6792169689Skan	* config/rs6000/rios2.md (rios2-store): Increase latency to 2.
6793169689Skan	* config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
6794169689Skan
6795169689Skan2005-09-23  David Edelsohn  <edelsohn@gnu.org>
6796169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
6797169689Skan
6798169689Skan	* config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
6799169689Skan	operand2 constraint to "b".
6800169689Skan	(sync_<fetchop_name>di_internal): Same.
6801169689Skan	(sync_old_<fetchop_name>si_internal): Change operand3 constraint
6802169689Skan	to "b".
6803169689Skan	(sync_old_<fetchop_name>di_internal): Same.
6804169689Skan	(sync_new_<fetchop_name>si_internal): Same.
6805169689Skan	(sync_new_<fetchop_name>di_internal): Same.
6806169689Skan
6807169689Skan2005-09-23  J"orn Rennecke <joern.rennecke@st.com>
6808169689Skan
6809169689Skan	PR middle-end/23991
6810169689Skan	* final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
6811169689Skan	case, define as macros.
6812169689Skan
6813169689Skan	PR rtl-optimization/23837
6814169689Skan	*  optabs.c (no_conflict_move_test): Don't set must_stay for a
6815169689Skan	clobber / clobber match between dest and p->first.
6816169689Skan
6817169689Skan	* optabs.c (emit_libcall_block): Use no_conflict_move_test.
6818169689Skan	(no_conflict_move_test): Update comments.
6819169689Skan
6820169689Skan2005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
6821169689Skan
6822169689Skan	* doc/install.texi: Update URL for Jacks.
6823169689Skan	* doc/sourcebuild.texi: Likewise.
6824169689Skan
6825169689Skan2005-09-22  David Edelsohn  <edelsohn@gnu.org>
6826169689Skan
6827169689Skan	PR target/24007
6828169689Skan	* config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
6829169689Skan	registers when choosing register preferences.
6830169689Skan	(movdf_hardfloat64): Same.
6831169689Skan
6832169689Skan2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
6833169689Skan
6834169689Skan	* expmed.c (expand_shift): Don't use the target of the rotate as
6835169689Skan	target for the first expanded shift insn.
6836169689Skan	* testsuite/gcc.dg/20050922-1.c: Testcase added.
6837169689Skan
6838169689Skan2005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
6839169689Skan
6840169689Skan	PR tree-optimization/22438
6841169689Skan	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
6842169689Skan	preserved iv rhs rewriting specially.
6843169689Skan
6844169689Skan2005-09-21  Daniel Berlin  <dberlin@dberlin.org>
6845169689Skan
6846169689Skan	* tree-data-ref.c (analyze_array_indexes): Only estimate when
6847169689Skan	estimate_only  is true.
6848169689Skan	* tree-flow.h (ref_contains_indirect_ref): New prototype.
6849169689Skan	* tree-flow-inline.h (ref_contains_indirect_ref): Moved from
6850169689Skan	tree-ssa-structalias.c
6851169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
6852169689Skan	ref_contains_indirect_ref.
6853169689Skan	* tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
6854169689Skan
6855169689Skan2005-09-21  DJ Delorie  <dj@redhat.com>
6856169689Skan
6857169689Skan	* config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
6858169689Skan	MASK_PTR_A0D0.
6859169689Skan	(mn10300_return_in_memory): Support variable size types also.
6860169689Skan	(mn10300_pass_by_reference): Likewise.
6861169689Skan	(mn10300_function_value): New.
6862169689Skan	* config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
6863169689Skan	(FUNCTION_OUTGOING_VALUE): Likewise.
6864169689Skan	* config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
6865169689Skan	* doc/invoke.texi: Document it.
6866169689Skan
6867169689Skan2005-09-21  Uros Bizjak  <uros@kss-loka.si>
6868169689Skan
6869169689Skan	PR target/22585
6870169689Skan	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
6871169689Skan	force integer op1 into register for XFmode compares.
6872169689Skan
6873169689Skan2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
6874169689Skan
6875169689Skan	PR middle-end/23971
6876169689Skan	* expmed.c (alg_code): Add alg_impossible.
6877169689Skan	(alg_hash_entry): Add cost.
6878169689Skan	(synth_mult): Record alg_impossible in the hash table if
6879169689Skan	multiplication by a given integer is impossble within the
6880169689Skan	limit.  Speed up using alg_impossible.
6881169689Skan
6882169689Skan2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
6883169689Skan
6884169689Skan	* tree-ssa-structalias.c (get_constraint_for_component_ref): Add
6885169689Skan	argument.  Allow and set any offset if needs_anyoffset is passed
6886169689Skan	in.
6887169689Skan	(get_constraint_for): Add argument here too.
6888169689Skan	Pass it down.
6889169689Skan	(do_structure_copy): Pass NULL to get_constraint_for.
6890169689Skan	(handle_ptr_arith): Ditto.
6891169689Skan	(find_func_aliases): Ditto.
6892169689Skan
6893169689Skan2005-09-20  J"orn Rennecke <joern.rennecke@st.com>
6894169689Skan
6895169689Skan	PR rtl-optimization/23898
6896169689Skan	* output.h (get_attr_min_length): Declare.
6897169689Skan	* final.c (get_attr_length_1): New function, broken out of:
6898169689Skan	(get_attr_length).
6899169689Skan	(get_attr_min_length): New function.
6900169689Skan	* bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
6901169689Skan	(duplicate_computed_gotos): Likewise.
6902169689Skan	* genattr.c (insn_min_length): Generate declaration.
6903169689Skan	* genattrtab.c (min_fn, min_attr_value): New functions.
6904169689Skan	(make_length_attrs): Generate insn_min_length.
6905169689Skan
6906169689Skan2005-09-20  Steve Ellcey  <sje@cup.hp.com>
6907169689Skan
6908169689Skan	* config/pa/pa.c (output_cbranch): Check for zero in operands[2].
6909169689Skan
6910169689Skan2005-09-20  Richard Henderson  <rth@redhat.com>
6911169689Skan
6912169689Skan	PR tree-optimization/24059
6913169689Skan	* expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
6914169689Skan	EXPAND_STACK_PARM.
6915169689Skan
6916169689Skan2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
6917169689Skan
6918169689Skan	* c.opt (fextended-identifiers): New.
6919169689Skan	* c-opts.c (c_common_handle_option): Handle
6920169689Skan	-fextended-identifiers.
6921169689Skan	* doc/cpp.texi: Update documentation of extended identifiers.
6922169689Skan	* doc/cppopts.texi (-fextended-identifiers): Document.
6923169689Skan
6924169689Skan2005-09-20  Jakub Jelinek  <jakub@redhat.com>
6925169689Skan
6926169689Skan	PR tree-optimization/23929
6927169689Skan	* tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
6928169689Skan	if expr is NULL.
6929169689Skan
6930169689Skan	PR tree-optimization/23818
6931169689Skan	* tree-stdarg.c (execute_optimize_stdarg): Call
6932169689Skan	calculate_dominance_info.
6933169689Skan
6934169689Skan2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
6935169689Skan
6936169689Skan	* tree-data-ref.c (get_number_of_iters_for_loop): New function.
6937169689Skan	(analyze_siv_subscript_cst_affine): Add weak SIV test.
6938169689Skan	(compute_overlap_steps_for_affine_1_2): Use
6939169689Skan	get_number_of_iters_for_loop.
6940169689Skan	(analyze_subscript_affine_affine): Check whether difference is
6941169689Skan	zero first.
6942169689Skan	Use get_number_of_iters_for_loop.
6943169689Skan	Check whether overlap occurs outside of bounds.
6944169689Skan	(analyze_miv_subscript): Use get_number_of_iters_for_loop.
6945169689Skan
6946169689Skan2005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
6947169689Skan
6948169689Skan	* tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
6949169689Skan	base register if possible.
6950169689Skan
6951169689Skan2005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
6952169689Skan
6953169689Skan	PR tree-optimization/18463
6954169689Skan	* tree-chrec.c (chrec_convert): Return fold_converted chrec if
6955169689Skan	converting it directly is not possible.
6956169689Skan	(chrec_convert_aggressive): New function.
6957169689Skan	* tree-chrec.h (chrec_convert_aggressive): Declare.
6958169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
6959169689Skan	Fold chrec conversions aggressively if asked to.
6960169689Skan	(instantiate_parameters): Modified because of changes in
6961169689Skan	instantiate_parameters_1.
6962169689Skan
6963169689Skan2005-09-19  Richard Henderson  <rth@redhat.com>
6964169689Skan
6965169689Skan	* config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
6966169689Skan	(reduc_splus_v2df): New.
6967169689Skan
6968169689Skan2005-09-19  Richard Sandiford  <richard@codesourcery.com>
6969169689Skan
6970169689Skan	* config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
6971169689Skan	(ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
6972169689Skan
6973169689Skan2005-09-19  Richard Henderson  <rth@redhat.com>
6974169689Skan
6975169689Skan	* config/i386/sse.md (vcondu<SSEMODE124>): Rename from
6976169689Skan	vcondu<SSEMODE12>.
6977169689Skan
6978169689Skan2005-09-19  Richard Henderson  <rth@redhat.com>
6979169689Skan
6980169689Skan	* config/ia64/ia64.c (ia64_expand_widen_sum): New.
6981169689Skan	(ia64_expand_dot_prod_v8qi): New.
6982169689Skan	* config/ia64/ia64-protos.h: Update.
6983169689Skan	* config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
6984169689Skan	widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
6985169689Skan	sdot_prodv8qi, sdot_prodv4hi): New.
6986169689Skan	(reduc_splus_v2sf): Rename from reduc_plus_v2sf.
6987169689Skan
6988169689Skan2005-09-19  Richard Henderson  <rth@redhat.com>
6989169689Skan
6990169689Skan	PR 23941
6991169689Skan	* real.c (exact_real_truncate): Return false if the format cannot
6992169689Skan	represent the number as a normal.
6993169689Skan
6994169689Skan	* config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
6995169689Skan	for a memory source.
6996169689Skan
6997169689Skan2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
6998169689Skan
6999169689Skan	* tree-ssa-operands.c (swap_tree_operands): Export.
7000169689Skan	* tree.h (swap_tree_operands): Declare.
7001169689Skan	* tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
7002169689Skan	Call swap_tree_operands.
7003169689Skan
7004169689Skan2005-09-19  Richard Henderson  <rth@redhat.com>
7005169689Skan
7006169689Skan	* tree-flow.h (merge_alias_info): Declare.
7007169689Skan	* tree-ssa-copy.c (merge_alias_info): Export.
7008169689Skan	* tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
7009169689Skan	(vect_create_data_ref_ptr): Use create_iv directly.
7010169689Skan	(vectorizable_load): Use correct types for integer constants.
7011169689Skan	(vect_generate_tmps_on_preheader): Likewise.
7012169689Skan	(vect_gen_niters_for_prolog_loop): Likewise.
7013169689Skan
7014169689Skan2005-09-19  Steven Bosscher  <stevenb@suse.de>
7015169689Skan
7016169689Skan	PR rtl-optimization/23943
7017169689Skan	* cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
7018169689Skan
7019169689Skan2005-09-18  Jan Hubicka  <jh@suse.cz>
7020169689Skan
7021169689Skan	* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
7022169689Skan
7023169689Skan2005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
7024169689Skan
7025169689Skan	* varasm.c (output_constant): Do not abort on conversions to union
7026169689Skan	types between different sizes.
7027169689Skan
7028169689Skan2005-09-18  Richard Guenther  <rguenther@suse.de>
7029169689Skan
7030169689Skan	PR middle-end/23944
7031169689Skan	* gimplify.c (fold_indirect_ref_rhs): Fix thinko in
7032169689Skan	fallback.
7033169689Skan
7034169689Skan2005-09-18  Paul Brook  <paul@codesourcery.com>
7035169689Skan
7036169689Skan	* config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
7037169689Skan
7038169689Skan2005-09-17  Richard Henderson  <rth@redhat.com>
7039169689Skan
7040169689Skan	* tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
7041169689Skan	* tree-ssa-loop.c (pass_vect_dce): Remove.
7042169689Skan	* passes.c (init_optimization_passes): Add pass_dce as a sub-pass
7043169689Skan	of pass_vectorize.
7044169689Skan
7045169689Skan2005-09-17  Richard Henderson  <rth@redhat.com>
7046169689Skan
7047169689Skan	* tree-pass.h (pass_vect_dce): Declare.
7048169689Skan	* passes.c (init_optimization_passes): Add it.
7049169689Skan	* tree-flow.h (tree_ssa_dce): Declare.
7050169689Skan	* tree-ssa-dce.c (tree_ssa_dce): Export.
7051169689Skan	* tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
7052169689Skan	(gate_tree_vectorize): ... here.
7053169689Skan	(pass_vect_dce): New.
7054169689Skan
7055169689Skan2005-09-17  Jan Hubicka  <jh@suse.cz>
7056169689Skan
7057169689Skan	* except.c (struct eh_status): Turn region_array into vec.
7058169689Skan	(expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
7059169689Skan	convert_from_eh_region_ranges, find_exception_handler_labels,
7060169689Skan	current_function_has_exception_handlers, assign_filter_values,
7061169689Skan	build_post_landing_pads, dw2_build_landing_pads,
7062169689Skan	sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
7063169689Skan	sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
7064169689Skan	foreach_reachable_handler, can_throw_internal_1,
7065169689Skan	convert_to_eh_region_ranges, verify_eh_tree): Update uses of
7066169689Skan	region_array.
7067169689Skan	(duplicate_eh_region_1): Update region_array.
7068169689Skan	(duplicate_eh_regions): Resize region_array and avoid recomputing.
7069169689Skan
7070169689Skan2005-09-17  David Edelsohn  <edelsohn@gnu.org>
7071169689Skan
7072169689Skan	PR middle-end/22067
7073169689Skan	* expmed.c (expand_mult): Substitute simple register for op0 when
7074169689Skan	computing max_cost.
7075169689Skan
7076169689Skan2005-09-17  Richard Henderson  <rth@redhat.com>
7077169689Skan
7078169689Skan	* expr.c (emit_move_via_integer): Add force argument, pass it on
7079169689Skan	to emit_move_change_mode.  Update callers.
7080169689Skan	(emit_move_complex): Pass true to new force argument.
7081169689Skan	* function.c (expand_function_end): Move expand_eh_return call
7082169689Skan	earlier.  Merge sub-word complex values into a pseudo before
7083169689Skan	copying to the return hard register.
7084169689Skan
7085169689Skan2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
7086169689Skan
7087169689Skan	* varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
7088169689Skan	between different sizes.
7089169689Skan
7090169689Skan2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
7091169689Skan
7092169689Skan	PR 23903
7093169689Skan
7094169689Skan	* passes.c (init_optimization_passes): Register dump files for
7095169689Skan	IPA passes first.
7096169689Skan
7097169689Skan2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
7098169689Skan
7099169689Skan	* config/s390/s390-protos.h (s390_overlap_p): Prototype added.
7100169689Skan	* config/s390/s390.c (s390_overlap_p): New function.
7101169689Skan	* config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
7102169689Skan	peephole2, "*xc" peephole2): Added overlap check to the peephole2
7103169689Skan	condition.
7104169689Skan
7105169689Skan2005-09-16  Richard Guenther  <rguenther@suse.de>
7106169689Skan
7107169689Skan	* ipa-pure-const.c (static_execute): Free auxiliar information.
7108169689Skan	* ipa-type-escape.c (discover_unique_type): Free temporary key.
7109169689Skan	* tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
7110169689Skan
7111169689Skan2005-09-15  DJ Delorie  <dj@redhat.com>
7112169689Skan
7113169689Skan	* config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
7114169689Skan
7115169689Skan2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
7116169689Skan
7117169689Skan	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
7118169689Skan	to order operands.
7119169689Skan	(swap_commutative_operands_with_target): New.
7120169689Skan
7121169689Skan2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
7122169689Skan
7123169689Skan	* tree-data-ref.c (analyze_array_indexes): Add estimate_only
7124169689Skan	parameter.
7125169689Skan	Update callers.
7126169689Skan	(estimate_iters_using_array): New function.
7127169689Skan	* tree-data-ref.h (estimate_iters_using_array): Prototype
7128169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
7129169689Skan	Use estimate_iters_using_array instead of analyze_array.
7130169689Skan
7131169689Skan2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
7132169689Skan
7133169689Skan	* tree-nested.c (get_frame_type): Mark the "non-local frame structure"
7134169689Skan	as addressable.
7135169689Skan
7136169689Skan2005-09-15  Michael Matz  <matz@suse.de>
7137169689Skan
7138169689Skan	* tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
7139169689Skan
7140169689Skan2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
7141169689Skan
7142169689Skan	PR tree-optimization/23835
7143169689Skan	* tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
7144169689Skan	(create_name_tags): Rewrite to be not O(num_ssa_names^2).
7145169689Skan
7146169689Skan2005-09-14  Richard Henderson  <rth@redhat.com>
7147169689Skan
7148169689Skan	* config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
7149169689Skan	(addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
7150169689Skan
7151169689Skan2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
7152169689Skan
7153169689Skan	* config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
7154169689Skan	in the ARRAY_TYPE case.
7155169689Skan
7156169689Skan2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
7157169689Skan
7158169689Skan	* tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
7159169689Skan
7160169689Skan2005-09-14  Uros Bizjak  <uros@kss-loka.si>
7161169689Skan
7162169689Skan	PR middle-end/22480
7163169689Skan	* tree-vect-transform.c (vectorizable_operation): Return false for
7164169689Skan	scalar shift operations and for vector shift operations with
7165169689Skan	non-invariant shift arguments.  Use scalar tree operand op1 as
7166169689Skan	a shift operand when vector shift insn pattern uses scalar shift
7167169689Skan	operand.
7168169689Skan	* Makefile.in (tree-vect-transform.o): Depend on recog.h.
7169169689Skan
7170169689Skan2005-09-14  Olivier Hainque  <hainque@adacore.com>
7171169689Skan
7172169689Skan	* gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
7173169689Skan	value if it has side-effects.
7174169689Skan
7175169689Skan2005-09-14  David Edelsohn  <edelsohn@gnu.org>
7176169689Skan
7177169689Skan	PR target/22068
7178169689Skan	* config/rs6000/rs6000.md (muldi3): Add mulli alternative.
7179169689Skan
7180169689Skan2005-09-14  Alan Modra  <amodra@bigpond.net.au>
7181169689Skan
7182169689Skan	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
7183169689Skan	passed as NAME as if it were label at start of function code.
7184169689Skan
7185169689Skan2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
7186169689Skan
7187169689Skan	* config/sh/sh.md (*movv4sf_i): Add general register cases to
7188169689Skan	the constraints.
7189169689Skan
7190169689Skan2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
7191169689Skan
7192169689Skan	* config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
7193169689Skan	as early clobber.  Rewrite so the PIC register is not implicitly used.
7194169689Skan
7195169689Skan2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7196169689Skan
7197169689Skan	* tree.c (annotate_with_file_line): Compare line numbers before
7198169689Skan	file names.
7199169689Skan
7200169689Skan2005-09-13  Uros Bizjak  <uros@kss-loka.si>
7201169689Skan
7202169689Skan	PR target/23816
7203169689Skan	* config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
7204169689Skan	(*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
7205169689Skan
7206169689Skan2005-09-13  Ian Lance Taylor  <ian@airs.com>
7207169689Skan
7208169689Skan	* loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
7209169689Skan	than a HOST_WIDEST_INT to gen_doloop_begin.
7210169689Skan
7211169689Skan2005-09-13  Diego Novillo  <dnovillo@redhat.com>
7212169689Skan
7213169689Skan	* tree-dfa.c (dump_variable): Guard against NULL annotations.
7214169689Skan
7215169689Skan2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
7216169689Skan
7217169689Skan	PR tree-optimize/23817
7218169689Skan	* tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
7219169689Skan
7220169689Skan2005-09-13  Alan Modra  <amodra@bigpond.net.au>
7221169689Skan
7222169689Skan	PR target/23774
7223169689Skan	* config/rs6000/rs6000.md (restore_stack_block): Write the backchain
7224169689Skan	word before changing the stack pointer.	 Use gen_frame_mem for MEMs.
7225169689Skan	Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
7226169689Skan	(restore_stack_nonlocal): Likewise.
7227169689Skan	(save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
7228169689Skan
7229169689Skan2005-09-12  Ian Lance Taylor  <ian@airs.com>
7230169689Skan
7231169689Skan	PR g++/7874
7232169689Skan	* c.opt (ffriend-injection): New C++ option.
7233169689Skan	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
7234169689Skan	(C++ Dialect Options): Document -ffriend-injection.
7235169689Skan
7236169689Skan2005-09-12  Josh Conner  <jconner@apple.com>
7237169689Skan
7238169689Skan	PR middle-end/23237
7239169689Skan	* ipa-reference.c (static_execute): Don't mark variables in
7240169689Skan	named sections TREE_READONLY.
7241169689Skan
7242169689Skan2005-09-12  Alan Modra  <amodra@bigpond.net.au>
7243169689Skan
7244169689Skan	* config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
7245169689Skan	stack_tie.
7246169689Skan
7247169689Skan2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
7248169689Skan
7249169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
7250169689Skan	V_MUST_DEF instead of just the first_use_p.
7251169689Skan	Don't mark the virtual variables for renaming on the statement which
7252169689Skan	is being removed.
7253169689Skan	(pass_dse): Remove TODO_update_ssa.
7254169689Skan
7255169689Skan2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
7256169689Skan
7257169689Skan	PR middle-end/23290
7258169689Skan	* stor-layout.c (compute_record_mode): For records with a single
7259169689Skan	field, actually check the field's mode size against the type size.
7260169689Skan
7261169689Skan	* sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
7262169689Skan	registers for TARGET_SHMEDIA.
7263169689Skan	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
7264169689Skan	GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
7265169689Skan	of GENERAL_REGS and FP_REGS.
7266169689Skan
7267169689Skan2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
7268169689Skan
7269169689Skan	* config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
7270169689Skan
7271169689Skan2005-09-12  Alan Modra  <amodra@bigpond.net.au>
7272169689Skan
7273169689Skan	* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
7274169689Skan	CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
7275169689Skan	are omitted.  Exclude stack_tie insn too.
7276169689Skan
7277169689Skan2005-09-11  David Edelsohn  <edelsohn@gnu.org>
7278169689Skan
7279169689Skan	PR rtl-optimization/23098
7280169689Skan	* config/rs6000/predicates.md (easy_fp_constant): SFmode constant
7281169689Skan	0.0f is easy.
7282169689Skan	* config/rs6000/rs6000.md (movdf splitter): Use
7283169689Skan	const_double_operand predicate for TARGET_POWERPC64.
7284169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
7285169689Skan	SYMBOL_REF method to ABI_V4.
7286169689Skan
7287169689Skan	* config/rs6000/altivec.md (build_vector_mask_for_load): Use
7288169689Skan	replace_equiv_address.
7289169689Skan	* config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
7290169689Skan	rs6000_sr_alias_set and MEM_NOTRAP.
7291169689Skan	(rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
7292169689Skan
7293169689Skan2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
7294169689Skan
7295169689Skan	* tree.c (contains_placeholder_p) <tcc_expression>: Properly
7296169689Skan	handle CALL_EXPR again.
7297169689Skan
7298169689Skan2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
7299169689Skan
7300169689Skan	* arm/predicates.md (alignable_memory_operand): Delete.
7301169689Skan
7302169689Skan2005-09-10  Richard Henderson  <rth@redhat.com>
7303169689Skan
7304169689Skan	PR debug/23806
7305169689Skan	* dbxout.c (dbxout_expand_expr): New.
7306169689Skan	(dbxout_symbol): Use it.
7307169689Skan
7308169689Skan2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
7309169689Skan
7310169689Skan	* arm.c (arm_gen_rotated_half_load): Delete.
7311169689Skan	(vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
7312169689Skan	(emit_multi_reg_push, emit_sfm, arm_expand_prologue)
7313169689Skan	(thumb_set_return_address): Likewise.
7314169689Skan	(thumb_load_double_from_address): Use adjust_address.
7315169689Skan	* arm.md (splits calling arm_gen_rotated_half_load): Delete.
7316169689Skan	(extendhsisi2_mem, movhi_bytes): Use change_address.
7317169689Skan	(movhi): Use widen_memory_access.
7318169689Skan	(reload_out_df): Use replace_equiv_address.
7319169689Skan	* arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
7320169689Skan
7321169689Skan2005-09-09  Richard Henderson  <rth@redhat.com>
7322169689Skan
7323169689Skan	PR debug/20998
7324169689Skan	* dbxout.c: Include expr.h.
7325169689Skan	(dbxout_global_decl): Don't suppress for DECL_RTL unset.
7326169689Skan	(dbxout_symbol): Handle DECL_VALUE_EXPR.
7327169689Skan	* Makefile.in (dbxout.o): Add EXPR_H.
7328169689Skan
7329169689Skan2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
7330169689Skan
7331169689Skan	PR tree-optimization/23509
7332169689Skan	* tree-cfg.c (replace_uses_by): Use replace_exp.
7333169689Skan	* tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
7334169689Skan	pointers have name_mem_tag or type_mem_tag set.
7335169689Skan
7336169689Skan2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
7337169689Skan
7338169689Skan	* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
7339169689Skan	CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
7340169689Skan	of wrongly accessing operands.
7341169689Skan
7342169689Skan2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
7343169689Skan
7344169689Skan	* Makefile.in (tree-chrec.o): Depends on SCEV_H.
7345169689Skan	* tree-chrec.c: Include tree-scalar-evolution.h.
7346169689Skan	(chrec_convert): Instantiate the base and step before calling
7347169689Skan	scev_probably_wraps_p that would fail on parametric evolutions.
7348169689Skan	Collect all the fails into a single section failed_to_convert,
7349169689Skan	print a diagnostic, and return chrec_dont_know instead of calling
7350169689Skan	fold_convert.
7351169689Skan	* tree-scalar-evolution.c (loop_closed_phi_def): New.
7352169689Skan	(instantiate_parameters_1): Avoid instantiation of loop closed ssa
7353169689Skan	phi nodes.
7354169689Skan	(scev_const_prop): Don't replace the definition of a loop closed ssa
7355169689Skan	phi node by itself, or by another loop closed ssa phi node.
7356169689Skan	* tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
7357169689Skan	that base and step are defined.
7358169689Skan
7359169689Skan2005-09-09  Richard Guenther  <rguenther@suse.de>
7360169689Skan
7361169689Skan	PR c++/23624
7362169689Skan	* fold-const.c (fold_ternary): Check truth_value_p before
7363169689Skan	calling invert_truthvalue.
7364169689Skan
7365169689Skan2005-09-09  Nick Clifton  <nickc@redhat.com>
7366169689Skan
7367169689Skan	* Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
7368169689Skan	* libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
7369169689Skan	dimension of these arrays.
7370169689Skan	* libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
7371169689Skan	these arrays.
7372169689Skan	* longlong.h: Only provide a prototype for the __clz_tab[] array
7373169689Skan	if this header has not been included from libgcc2.h.
7374169689Skan	* config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
7375169689Skan	defining own types.
7376169689Skan	Provide prototypes for exported functions.
7377169689Skan	Use the __clz_tab[] and __popcount_tab[] arrays provided by
7378169689Skan	libgcc2.c.
7379169689Skan
7380169689Skan2005-09-08  Josh Conner  <jconner@apple.com>
7381169689Skan
7382169689Skan	PR c++/21135
7383169689Skan	PR c++/23180
7384169689Skan	* expr.c (expand_expr_addr_expr_1): Don't invoke
7385169689Skan	expand_simple_binop for EXPAND_INITIALIZER.
7386169689Skan
7387169689Skan2005-09-08  Richard Henderson  <rth@redhat.com>
7388169689Skan
7389169689Skan	PR debug/23190
7390169689Skan	* toplev.c (wrapup_global_declaration_1): Split out ...
7391169689Skan	(wrapup_global_declaration_2): ... from ...
7392169689Skan	(wrapup_global_declarations): ... here.  Return bool.
7393169689Skan	(check_global_declaration_1): Split out ...
7394169689Skan	(check_global_declarations): from here.
7395169689Skan	(emit_debug_global_declarations): New.
7396169689Skan	* toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
7397169689Skan	check_global_declaration_1, emit_debug_global_declarations): Declare.
7398169689Skan	* c-decl.c (c_write_global_declarations_1): Don't create a vector
7399169689Skan	of decls.  Call wrapup_global_declaration_1,
7400169689Skan	wrapup_global_declaration_2, check_global_declaration_1 directly.
7401169689Skan	(c_write_global_declarations_2): New.
7402169689Skan	(ext_block): New.
7403169689Skan	(c_write_global_declarations): Call c_write_global_declarations_2.
7404169689Skan	* langhooks.c (write_global_declarations): Call
7405169689Skan	emit_debug_global_declarations.
7406169689Skan
7407169689Skan	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
7408169689Skan	remove decls that have DECL_RTL_SET_P.
7409169689Skan	* passes.c (rest_of_decl_compilation): Invoke
7410169689Skan	cgraph_varpool_finalize_decl for all but functions.
7411169689Skan
7412169689Skan2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
7413169689Skan
7414169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
7415169689Skan	the result of a conversion if the new min and max cannot be compared.
7416169689Skan
7417169689Skan2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
7418169689Skan
7419169689Skan	* config/s390/s390.c (s390_sr_alias_set): Variable removed.
7420169689Skan	(override_options): Setting s390_sr_alias_set removed.
7421169689Skan	(save_fpr, save_gprs): Set alias set to vararg or frame.
7422169689Skan	(restore_fpr, restore_gprs, s390_emit_prologue): Replace
7423169689Skan	s390_sr_alias_set with get_frame_alias_set ().
7424169689Skan	(s390_gimplify_va_arg): Replace s390_sr_alias_set with
7425169689Skan	get_varargs_alias_set ().
7426169689Skan
7427169689Skan2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
7428169689Skan
7429169689Skan	PR objc/20574
7430169689Skan	PR objc/19324
7431169689Skan	* c-parser.c (c_parser_objc_method_definition): If the next
7432169689Skan	token is not "{", error out and don't start the function.
7433169689Skan
7434169689Skan2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
7435169689Skan
7436169689Skan	* tree-vrp.c (extract_range_from_expr): Move the check for non
7437169689Skan	nullness after the check for gimple invariant.
7438169689Skan
7439169689Skan2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7440169689Skan
7441169689Skan	* tree.c (host_integerp, tree_low_cst): Correct function comment.
7442169689Skan
7443169689Skan2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7444169689Skan
7445169689Skan	PR target/23747
7446169689Skan	* config/m32r.md (movmemsi_internal): Canonicalize order of
7447169689Skan	operands in PLUS component of template.
7448169689Skan
7449169689Skan2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
7450169689Skan
7451169689Skan	* reload1.c (fixup_eh_region_note): Remove assertion.
7452169689Skan	(fixup_abnormal_edges): Reverted removal of call to
7453169689Skan	find_many_sub_basic_blocks made on 2005-08-31.
7454169689Skan
7455169689Skan2005-09-07  Richard Henderson  <rth@redhat.com>
7456169689Skan
7457169689Skan	* function.c (ARG_POINTER_CFA_OFFSET): Move ...
7458169689Skan	* defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
7459169689Skan	(INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
7460169689Skan	* dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
7461169689Skan	rearrange for better packing.
7462169689Skan	(INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
7463169689Skan	(lookup_cfa_1): Remove inline marker.
7464169689Skan	(cfa_equal_p): Split out of ...
7465169689Skan	(def_cfa_1): ... here.  Use INVALID_REGNUM.
7466169689Skan	(build_cfa_loc): Handle !cfa->indirect.
7467169689Skan	(frame_pointer_cfa_offset): New.
7468169689Skan	(dbx_reg_number): Assert register elimination performed; do
7469169689Skan	leaf register remapping.
7470169689Skan	(reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
7471169689Skan	(eliminate_reg_to_offset): New.
7472169689Skan	(based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
7473169689Skan	for verifiably local stack frame addresses; re-base to CFA.
7474169689Skan	(mem_loc_descriptor): Remove can_use_fbreg argument.
7475169689Skan	(concat_loc_descriptor, loc_descriptor): Likewise.
7476169689Skan	(containing_function_has_frame_base): Remove.
7477169689Skan	(rtl_for_decl_location): Don't do register elimination or
7478169689Skan	leaf register remapping here.
7479169689Skan	(secname_for_decl): Split out from ..
7480169689Skan	(add_location_or_const_value_attribute): ... here.
7481169689Skan	(convert_cfa_to_loc_list): New.
7482169689Skan	(compute_frame_pointer_to_cfa_displacement): New.
7483169689Skan	(gen_subprogram_die): Use them.
7484169689Skan	* tree.h (frame_base_decl): Remove.
7485169689Skan	* var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
7486169689Skan	(prologue_stack_adjust): Remove.
7487169689Skan	(vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
7488169689Skan	(adjust_stack_reference): Re-base memories to arg_pointer_rtx.
7489169689Skan	(set_frame_base_location): Remove.
7490169689Skan	(compute_bb_dataflow, emit_notes_in_bb): Don't call it.
7491169689Skan	(dump_attrs_list, dump_dataflow_set): Use string concatenation.
7492169689Skan	(vt_add_function_parameters): Don't eliminate_regs.
7493169689Skan	(vt_initialize): Don't create frame_base_decl.
7494169689Skan
7495169689Skan2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
7496169689Skan
7497169689Skan	* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
7498169689Skan	version of GNU binutils for 4.x and later.
7499169689Skan
7500169689Skan2005-09-06  Mark Mitchell  <mark@codesourcery.com>
7501169689Skan
7502169689Skan	* ggc-page.c (ggc_push_context): Remove.
7503169689Skan	(ggc_pop_context): Likewise.
7504169689Skan	* ggc.h (ggc_push_context): Remove.
7505169689Skan	(ggc_pop_context): Likewise.
7506169689Skan
7507169689Skan2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
7508169689Skan
7509169689Skan	PR target/8973
7510169689Skan	* config/arc/arc.c (arc_output_function_epilogue): Update flags while
7511169689Skan	returning from an interrupt handler.
7512169689Skan
7513169689Skan2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
7514169689Skan
7515169689Skan	PR target/8972
7516169689Skan	* config/arc/arc.c (output_shift): Add check for loop count when
7517169689Skan	optimizing.
7518169689Skan
7519169689Skan2005-09-06  Steven Bosscher  <stevenb@suse.de>
7520169689Skan
7521169689Skan	* tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
7522169689Skan	form manually.
7523169689Skan	(abs_replacement): Likewise.
7524169689Skan	(pass_phiopt): Remove TODO_update_ssa.
7525169689Skan
7526169689Skan2005-09-06  Jakub Jelinek  <jakub@redhat.com>
7527169689Skan
7528169689Skan	PR c/23075
7529169689Skan	* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
7530169689Skan	if "return with no value, in function returning non-void" warning
7531169689Skan	has been issued.
7532169689Skan	* tree-cfg.c (execute_warn_function_return): Don't look at
7533169689Skan	RETURN_EXPRs with TREE_NO_WARNING set.
7534169689Skan
7535169689Skan	PR target/22362
7536169689Skan	* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
7537169689Skan	for internal functions doesn't use registers used by global registers
7538169689Skan	variables.  Use fewer register parameters if there are global register
7539169689Skan	variables.
7540169689Skan
7541169689Skan2005-09-06  Olivier Hainque  <hainque@adacore.com>
7542169689Skan	    Eric Botcazou  <ebotcazou@adacore.com>
7543169689Skan
7544169689Skan	PR middle-end/14997
7545169689Skan	* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
7546169689Skan	when we would be extracting outside its bit span (bitpos+bitsize
7547169689Skan	larger than its mode), possible with some VIEW_CONVERT_EXPRs from
7548169689Skan	Ada unchecked conversions.
7549169689Skan
7550169689Skan2005-09-06  Steven Bosscher  <stevenb@suse.de>
7551169689Skan
7552169689Skan	* tree-ssa-pre.c (try_look_through_load): New function.
7553169689Skan	(compute_avail): Use it to try to look through loads for some
7554169689Skan	more useful expressions.
7555169689Skan
7556169689Skan2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
7557169689Skan
7558169689Skan	* simplify-rtx.c (simplify_binary_operation_1): Correct the
7559169689Skan	condition for detecting cases like (a&a) and (a^a).
7560169689Skan
7561169689Skan2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
7562169689Skan
7563169689Skan	* common.opt: Add option ftree-vect-loop-version.
7564169689Skan	* params.def: Add --param vect-max-version-checks.
7565169689Skan	* doc/invoke.texi: Document ftree-vect-loop-version and
7566169689Skan	--param vect-max-version-checks.
7567169689Skan	* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
7568169689Skan	may_misalign_stmts and defines for accessors.
7569169689Skan	* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
7570169689Skan	LOOP_VINFO_MAY_MISALIGN_STMTS.
7571169689Skan	(destroy_loop_vec_info): VEC_free for
7572169689Skan	LOOP_VINFO_MAY_MISALIGN_STMTS.
7573169689Skan	* tree-vect-analyze.c (vect_compute_data_ref_alignment):
7574169689Skan	Update documentation.
7575169689Skan	(vect_update_misalignment_for_peel): New.
7576169689Skan	(vect_enhance_data_refs_alignment): Update to choose loop
7577169689Skan	peeling or loop versioning if appropriate for the (potentially)
7578169689Skan	unaligned data references in the loop.
7579169689Skan	(vect_analyze_data_refs_alignment): Remove call to
7580169689Skan	vect_enhance_data_refs_alignment so the checks can be done
7581169689Skan	earlier.
7582169689Skan	(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
7583169689Skan	and move up call to vect_analyze_data_refs_alignment.
7584169689Skan	* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
7585169689Skan	(vect_transform_loop): Add call to loop_version.
7586169689Skan
7587169689Skan2005-09-06  Jakub Jelinek  <jakub@redhat.com>
7588169689Skan
7589169689Skan	PR rtl-optimization/23098
7590169689Skan	* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
7591169689Skan	* simplify-rtx.c (constant_pool_reference_p): New function.
7592169689Skan	* rtl.h (constant_pool_reference_p): New prototype.
7593169689Skan	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
7594169689Skan	constant_pool_reference_p in condition and
7595169689Skan	avoid_constant_pool_reference in preparation statements.
7596169689Skan
7597169689Skan2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
7598169689Skan
7599169689Skan	* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
7600169689Skan	STRICT_LOW_PART SETs.
7601169689Skan
7602169689Skan2005-09-06  Alan Modra  <amodra@bigpond.net.au>
7603169689Skan
7604169689Skan	PR middle-end/21460
7605169689Skan	* except.c (sjlj_emit_function_enter): Find the function begin
7606169689Skan	note even when it's not in first basic block.
7607169689Skan
7608169689Skan2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
7609169689Skan
7610169689Skan	* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
7611169689Skan	AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
7612169689Skan	* aclocal.m4: Regenerate.
7613169689Skan
7614169689Skan2005-09-05  DJ Delorie  <dj@redhat.com>
7615169689Skan
7616169689Skan	* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
7617169689Skan	of macro.
7618169689Skan
7619169689Skan2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
7620169689Skan
7621169689Skan	* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
7622169689Skan	config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
7623169689Skan	config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
7624169689Skan	Follow spelling conventions.
7625169689Skan	* doc/invoke.texi: Follow spelling conventions.
7626169689Skan
7627169689Skan2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
7628169689Skan
7629169689Skan	* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
7630169689Skan	* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
7631169689Skan	* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
7632169689Skan
7633169689Skan2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
7634169689Skan
7635169689Skan	PR target/23683
7636169689Skan	* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
7637169689Skan	(output_stack_adjust): Use gen_tmp_stack_mem.
7638169689Skan	(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
7639169689Skan	(sh_set_return_address, sh_allocate_initial_value): Likewise.
7640169689Skan	(sh_get_pr_initial_val): Likewise.
7641169689Skan	(sh_builtin_saveregs): Use gen_frame_mem and change_address.
7642169689Skan	(sh_initialize_trampoline): Likewise.  Also use adjust_address.
7643169689Skan	* sh.md (divsi_inv_m0): Use gen_const_mem.
7644169689Skan	(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
7645169689Skan	(movdf_i4+1): Use gen_tmp_stack_mem.
7646169689Skan	(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
7647169689Skan	(fpu_switch+2): Likewise.
7648169689Skan	(movv4sf_i, movv16sf_i): Use adjust_address.
7649169689Skan	(symGOT_load): Set MEM_NOTRAP_P bit.
7650169689Skan
7651169689Skan2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7652169689Skan
7653169689Skan	PR target/23721
7654169689Skan	* pa.c (emit_move_sequence): Fix typo in last change.
7655169689Skan
7656169689Skan2005-09-03  Jakub Jelinek  <jakub@redhat.com>
7657169689Skan
7658169689Skan	PR rtl-optimization/23454
7659169689Skan	* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
7660169689Skan	is true.
7661169689Skan
7662169689Skan2005-09-03  Richard Henderson  <rth@redhat.com>
7663169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7664169689Skan
7665169689Skan	PR middle-end/23671
7666169689Skan	* pa.c (emit_move_sequence): Use replace_equiv_address instead of
7667169689Skan	gen_rtx_MEM.
7668169689Skan
7669169689Skan2005-09-02  Nicolas Pitre <nico@cam.org>
7670169689Skan
7671169689Skan	* config/arm/arm.c (arm_legitimize_address): Limit the value passed
7672169689Skan	to bit_count to 32 bits.
7673169689Skan
7674169689Skan2005-08-31  Mark Mitchell  <mark@codesourcery.com>
7675169689Skan
7676169689Skan	PR c++/23167
7677169689Skan	* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
7678169689Skan	generating synthetic loads from volatile lvalues.
7679169689Skan
7680169689Skan005-09-02  Nick Clifton  <nickc@redhat.com>
7681169689Skan
7682169689Skan	* config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
7683169689Skan	__ctzhi2, __clzhi2): New functions.
7684169689Skan
7685169689Skan2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
7686169689Skan
7687169689Skan	PR middle-end/23547
7688169689Skan	* tree-nested.c (struct var_map_elt): Mark with GTY.
7689169689Skan	(struct nesting_info): Mark with GTY.  Mark var_map's param is struct
7690169689Skan	var_map_elt.
7691169689Skan	(lookup_field_for_decl): Allocate new element in GC memory.
7692169689Skan	(lookup_tramp_for_decl): Likewise.
7693169689Skan	(convert_nl_goto_reference): Likewise
7694169689Skan	(create_nesting_tree): Allocate info in GC memory. Likewise for
7695169689Skan	info->var_map.
7696169689Skan	(free_nesting_tree): Free with ggc_free instead of free.
7697169689Skan	(root): New static variable.
7698169689Skan	(lower_nested_functions): Remove root as local variable.  And zero out
7699169689Skan	root at the end of the function.
7700169689Skan
7701169689Skan2005-09-02  J"orn Rennecke <joern.rennecke@st.com>
7702169689Skan
7703169689Skan	PR rtl-optimization/20365
7704169689Skan	* simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
7705169689Skan	to short.  New member ix.
7706169689Skan	(simplify_plus_minus_op_data_cmp): Break ties using ix member.
7707169689Skan	(simplify_plus_minus): Initialize ix members before calling qsort.
7708169689Skan
7709169689Skan2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
7710169689Skan
7711169689Skan	PR tree-optimization/23626
7712169689Skan	* tree-cfg.c (replace_uses_by): Clean up eh info.
7713169689Skan
7714169689Skan2005-09-01  DJ Delorie  <dj@redhat.com>
7715169689Skan
7716169689Skan	* config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
7717169689Skan	fprintf.
7718169689Skan
7719169689Skan2005-09-01  David Edelsohn  <edelsohn@gnu.org>
7720169689Skan
7721169689Skan	* config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
7722169689Skan	(rs6000_split_multireg_move): Use replace_equiv_address instead of
7723169689Skan	gen_rtx_MEM.
7724169689Skan
7725169689Skan2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7726169689Skan
7727169689Skan	* c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
7728169689Skan	do not issue warning for a variable definition following
7729169689Skan	a declaration.
7730169689Skan
7731169689Skan2005-09-01  Richard Henderson  <rth@redhat.com>
7732169689Skan
7733169689Skan	PR 23668
7734169689Skan	* config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
7735169689Skan	conversion to CONST_VECTOR.
7736169689Skan
7737169689Skan2005-09-01  Richard Henderson  <rth@redhat.com>
7738169689Skan
7739169689Skan	PR 23676
7740169689Skan	* reload1.c (reload_as_needed): Check !CALL_P before calling
7741169689Skan	fixup_eh_region_note.
7742169689Skan	* rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
7743169689Skan
7744169689Skan2005-09-01  DJ Delorie  <dj@redhat.com>
7745169689Skan
7746169689Skan	* varasm.c (output_constant): Let the target resolve
7747169689Skan	conversions of addresses to non-default pointer sizes.
7748169689Skan
7749169689Skan2005-09-01  Nicolas Pitre <nico@cam.org>
7750169689Skan
7751169689Skan	* config/arm/arm.c (arm_legitimize_address): Split absolute addresses
7752169689Skan	to alow matching ARM pre-indexed addressing mode.
7753169689Skan	(arm_override_options): Remove now irrelevant comment.
7754169689Skan
7755169689Skan2005-09-01  Phil Edwards  <phil@codesourcery.com>
7756169689Skan
7757169689Skan	* config.gcc (i*86-wrs-vxworks): Update.  Split out vxworksae target.
7758169689Skan	* config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
7759169689Skan	* config/i386/vxworks.h: Likewise.
7760169689Skan	* config/i386/t-vxworksae: New file, for VxWorks AE.
7761169689Skan	* config/i386/vxworksae.h: Likewise.
7762169689Skan
7763169689Skan2005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
7764169689Skan
7765169689Skan	PR tree-optimization/23410
7766169689Skan	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
7767169689Skan	sequence is not wrapping during the first step.
7768169689Skan
7769169689Skan2005-09-01  Jakub Jelinek  <jakub@redhat.com>
7770169689Skan
7771169689Skan	PR debug/7241
7772169689Skan	* dwarf2out.c (base_type_die): Compare char_type_node with
7773169689Skan	TYPE_MAIN_VARIANT (type), not type.
7774169689Skan
7775169689Skan2005-09-01  Richard Guenther  <rguenther@suse.de>
7776169689Skan
7777169689Skan	PR tree-optimization/15366
7778169689Skan	* common.opt: Add -finline-functions-called-once.
7779169689Skan	Put -fearly-inlining in alphabetically ordered place.
7780169689Skan	* doc/invoke.texi: Document new option.
7781169689Skan	* ipa-inline.c (cgraph_decide_inlining): Honour
7782169689Skan	flag_inline_functions_called_once.
7783169689Skan
7784169689Skan2005-09-01  Jakub Jelinek  <jakub@redhat.com>
7785169689Skan
7786169689Skan	PR rtl-optimization/23478
7787169689Skan	* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
7788169689Skan	(alloc_qty): Initialize it.
7789169689Skan	(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
7790169689Skan	(combine_regs): Combine also n_throwing_calls_crossed fields.
7791169689Skan	(find_free_reg): Don't attempt to caller-save pseudos crossing
7792169689Skan	calls that might throw.
7793169689Skan	* global.c (struct allocno): Add throwing_calls_crossed field.
7794169689Skan	(global_alloc): Revert 2005-08-22 change.  Initialize
7795169689Skan	throwing_calls_crossed.
7796169689Skan	(find_reg): Don't attempt to caller-save pseudos crossing calls that
7797169689Skan	might throw.
7798169689Skan
7799169689Skan2005-09-01  Alan Modra  <amodra@bigpond.net.au>
7800169689Skan
7801169689Skan	PR target/23649
7802169689Skan	* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
7803169689Skan	(mask64_operand): Reinstate code prior to 2005-06-11 change.
7804169689Skan	(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
7805169689Skan	(and64_2_operand): Tweak to use predicate.
7806169689Skan	(and_operand): Adjust for mask_operand changes.
7807169689Skan	* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
7808169689Skan	(print_operand): Likewise.
7809169689Skan	(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
7810169689Skan	(mask64_1or2_operand): Delete.
7811169689Skan	* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
7812169689Skan	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
7813169689Skan	(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
7814169689Skan	(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
7815169689Skan	* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
7816169689Skan	(rotldi3_internal4): Likewise.
7817169689Skan	(rotldi3_internal5, rotldi3_internal5 split): Likewise.
7818169689Skan	(rotldi3_internal6, rotldi3_internal6 split): Likewise.
7819169689Skan	(ashldi3_internal7): Likewise.
7820169689Skan	(ashldi3_internal8, ashldi3_internal8 split): Likewise.
7821169689Skan	(ashldi3_internal, ashldi3_internal9 split): Likewise.
7822169689Skan	(anddi3 split): Don't match mask64_operand.
7823169689Skan	(anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
7824169689Skan	(anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
7825169689Skan	splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
7826169689Skan	't' splitter predicate.
7827169689Skan	(movdi_internal64 + 2): Revert 2005-06-11 change.
7828169689Skan
7829169689Skan2005-08-31  DJ Delorie  <dj@redhat.com>
7830169689Skan
7831169689Skan	* config/m32c/m32c.c (m32c_valid_pointer_mode): New.
7832169689Skan	(m32c_asm_integer): Add support for 32 bit pointers.
7833169689Skan
7834169689Skan2005-08-31  Richard Henderson  <rth@redhat.com>
7835169689Skan
7836169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
7837169689Skan	component-like references for setting MEM_NOTRAP_P.
7838169689Skan
7839169689Skan	* config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
7840169689Skan	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
7841169689Skan
7842169689Skan2005-08-31  Richard Henderson  <rth@redhat.com>
7843169689Skan
7844169689Skan	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
7845169689Skan	into a pseudo before applying gen_lowpart.
7846169689Skan
7847169689Skan2005-08-31  Geoffrey Keating  <geoffk@apple.com>
7848169689Skan
7849169689Skan	* doc/install.texi (Specific): Update cctools version required
7850169689Skan	for full functionality.
7851169689Skan	* config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
7852169689Skan	linkers as -macosx_version_min.
7853169689Skan
7854169689Skan2005-08-31  J"orn Rennecke <joern.rennecke@st.com>
7855169689Skan
7856169689Skan	PR target/21255
7857169689Skan	* sh.c (print_operand, %R and %S): Add handling of floating point
7858169689Skan	registers, memory, constants and invalid operands.
7859169689Skan
7860169689Skan2005-08-31  Daniel Berlin  <dberlin@dberlin.org>
7861169689Skan
7862169689Skan	* ipa-pure-const.c: Change dump name.
7863169689Skan
7864169689Skan2005-08-31 Uros Bizjak <uros@kss-loka.si>
7865169689Skan
7866169689Skan	PR target/23570
7867169689Skan	* config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
7868169689Skan	to "reg_or_0_operand".
7869169689Skan	(sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
7870169689Skan
7871169689Skan2005-08-31  Dale Johannesen  <dalej@apple.com>
7872169689Skan
7873169689Skan	* loop-iv.c (iv_number_of_iterations): Fix overflow check for
7874169689Skan	loops that count down.
7875169689Skan
7876169689Skan2005-08-31  Richard Henderson  <rth@redhat.com>
7877169689Skan
7878169689Skan	PR rtl-opt/23601
7879169689Skan	* reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
7880169689Skan	(fixup_eh_region_note): New.
7881169689Skan	(reload_as_needed): Call it.
7882169689Skan	(fixup_abnormal_edges): Allow all throwing insns to be deleted;
7883169689Skan	don't call find_many_sub_basic_blocks; call verify_flow_info.
7884169689Skan	* function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
7885169689Skan	(keep_stack_depressed): Likewise.
7886169689Skan	(assign_stack_temp_for_type): Likewise; use adjust_address_nv.
7887169689Skan
7888169689Skan2005-08-31  Richard Henderson  <rth@redhat.com>
7889169689Skan
7890169689Skan	* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
7891169689Skan	fp return matching.
7892169689Skan
7893169689Skan2005-08-31  Fariborz Jahanian <fjahanian@apple.com>
7894169689Skan
7895169689Skan	* expr.c (expand_expr_real_1): Compare size of address
7896169689Skan	mode to target's address mode size in deciding expansion of
7897169689Skan	the constant address.
7898169689Skan
7899169689Skan2005-08-31  Richard Guenther  <rguenther@suse.de>
7900169689Skan
7901169689Skan	PR middle-end/23477
7902169689Skan	* expr.c (all_zeros_p): New function.
7903169689Skan	(expand_expr_real_1): Handle the case of an all-zero
7904169689Skan	non-addressable constructor separately.
7905169689Skan
7906169689Skan2005-08-31  Adrian Straetling  <straetling@de.ibm.com>
7907169689Skan
7908169689Skan	* builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
7909169689Skan	arguments, adjust all callers.
7910169689Skan	(expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
7911169689Skan
7912169689Skan2005-08-30  Richard Henderson  <rth@redhat.com>
7913169689Skan
7914169689Skan	PR target/23630
7915169689Skan	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
7916169689Skan	whenever the mode sizes match.
7917169689Skan
7918169689Skan2005-08-31  Alan Modra  <amodra@bigpond.net.au>
7919169689Skan
7920169689Skan	* calls.c (load_register_parameters): Fix comment typo.
7921169689Skan	* expr.c (emit_push_insn): Comment formatting.
7922169689Skan
7923169689Skan2005-08-30  Ian Lance Taylor  <ian@airs.com>
7924169689Skan
7925169689Skan	* config/i386/x-cygwin (host-cygwin): Change dependency from
7926169689Skan	hosthooks-def.h to $(HOSTHOOKS_DEF_H).
7927169689Skan
7928169689Skan2005-08-29  Geoffrey Keating  <geoffk@apple.com>
7929169689Skan
7930169689Skan	* config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
7931169689Skan	parts of 'vals'.
7932169689Skan
7933169689Skan2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
7934169689Skan
7935169689Skan	PR middle-end/23408
7936169689Skan	* ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
7937169689Skan	call to ggc_collect.
7938169689Skan
7939169689Skan2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
7940169689Skan
7941169689Skan	PR bootstrap/21268
7942169689Skan	* Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
7943169689Skan	beginning.  Remove $(INCLUDES) from all the rules, if following
7944169689Skan	$(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
7945169689Skan
7946169689Skan2005-08-29  Jakub Jelinek  <jakub@redhat.com>
7947169689Skan
7948169689Skan	PR middle-end/23484
7949169689Skan	* builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
7950169689Skan	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
7951169689Skan	not constant, but maxlen is, don't set len to maxlen, rather
7952169689Skan	set maxlen to len if len is a constant.
7953169689Skan
7954169689Skan2005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
7955169689Skan
7956169689Skan	PR tree-optimization/23475
7957169689Skan	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
7958169689Skan	and counts.
7959169689Skan
7960169689Skan2005-08-28  Daniel Berlin  <dberlin@dberlin.org>
7961169689Skan
7962169689Skan	Fix PR middle-end/22455
7963169689Skan
7964169689Skan	* fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
7965169689Skan	Checksum only the parts of the tree that exist for the tree code.
7966169689Skan
7967169689Skan2005-08-28  Dale Johannesen  <dalej@apple.com>
7968169689Skan
7969169689Skan	* config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
7970169689Skan
7971169689Skan2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
7972169689Skan
7973169689Skan	* tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
7974169689Skan
7975169689Skan2005-08-28  Richard Henderson  <rth@redhat.com>
7976169689Skan
7977169689Skan	* stor-layout.c (finalize_type_size): Revert workaround from 08-26.
7978169689Skan	* tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
7979169689Skan	of char_type_node.
7980169689Skan
7981169689Skan2005-08-28  Jakub Jelinek  <jakub@redhat.com>
7982169689Skan
7983169689Skan	PR ada/23593
7984169689Skan	* builtins.c (get_memory_rtx): Don't strip nops
7985169689Skan	in between COMPONENT_REFs.
7986169689Skan
7987169689Skan2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
7988169689Skan
7989169689Skan	PR middle-end/23463
7990169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
7991169689Skan	types.
7992169689Skan	(gimplify_modify_expr): Check for zero sized types and gimplify the
7993169689Skan	rhs and lhs as statements.
7994169689Skan
7995169689Skan2005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
7996169689Skan
7997169689Skan	PR libgcj/23508
7998169689Skan	* pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
7999169689Skan	state for return address column of signal frames.
8000169689Skan
8001169689Skan2005-08-27  David Edelsohn  <edelsohn@gnu.org>
8002169689Skan
8003169689Skan	PR target/23539
8004169689Skan	* config/rs6000/rs6000.c (expand_block_clear): Use HImode when
8005169689Skan	bytes >= 2 not bytes == 2.
8006169689Skan	(expand_block_move): Same.
8007169689Skan
8008169689Skan2005-08-27  Richard Guenther  <rguenther@suse.de>
8009169689Skan
8010169689Skan	PR target/23575
8011169689Skan	* config/i386/sse.md (sse2_movsd): Add missing closing
8012169689Skan	braces.
8013169689Skan
8014169689Skan2005-08-27  Paul Brook  <paul@codesourcery.com>
8015169689Skan
8016169689Skan	* genrecog.c (enum decision_type): Add DT_num_insns.
8017169689Skan	(struct decision_test): Add u.num_insns.
8018169689Skan	(add_to_sequence): Add DT_num_insns test.
8019169689Skan	(maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
8020169689Skan	(write_cond, debug_decision_2): Ditto.
8021169689Skan	(change_state): Assume peep2_next_insn never fails.
8022169689Skan	Remove "afterward" argument.
8023169689Skan	(write afterward, write_tree): Update to match.
8024169689Skan	* recog.c (peep2_current_count): New variable.
8025169689Skan	(peep2_next_insn): Check it.
8026169689Skan	(peephole2_optimize): Set peep2_current_count.
8027169689Skan	* recog.h (peep2_current_count): Declare.
8028169689Skan
8029169689Skan2005-08-26  Josh Conner  <jconner@apple.com>
8030169689Skan
8031169689Skan	PR middle-end/23584
8032169689Skan	* ipa-pure-const.c (check_tree): Check for volatile-ness
8033169689Skan	when considering a dereference.
8034169689Skan
8035169689Skan2005-08-27  Jakub Jelinek  <jakub@redhat.com>
8036169689Skan
8037169689Skan	* rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
8038169689Skan
8039169689Skan2005-08-26  Jakub Jelinek  <jakub@redhat.com>
8040169689Skan
8041169689Skan	PR rtl-optimization/23561
8042169689Skan	* builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
8043169689Skan	a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
8044169689Skan	at most LEN bytes long memory fits into the field.
8045169689Skan	(expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
8046169689Skan	expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
8047169689Skan	expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
8048169689Skan
8049169689Skan2005-08-26  Richard Henderson  <rth@redhat.com>
8050169689Skan
8051169689Skan	PR rtl-opt/23560
8052169689Skan	* loop.c (biased_biv_may_wrap_p): New.
8053169689Skan	(maybe_eliminate_biv_1): Use it to suppress non-equality
8054169689Skan	comparison transformations.  Delete disabled code.
8055169689Skan
8056169689Skan2005-08-26  Ian Lance Taylor  <ian@airs.com>
8057169689Skan
8058169689Skan	* combine.c (make_extraction): Avoid reference outside object.
8059169689Skan
8060169689Skan2005-08-26  J"orn Rennecke <joern.rennecke@st.com>
8061169689Skan
8062169689Skan	* stor-layout.c (finalize_type_size): Restore behaviour for
8063169689Skan	non-aggregate types to the status quo ante of the patch for
8064169689Skan	pr 23467.  Document why it matters.
8065169689Skan
8066169689Skan2005-08-26  Jakub Jelinek  <jakub@redhat.com>
8067169689Skan
8068169689Skan	PR c/23506
8069169689Skan	* c-common.c (c_common_nodes_and_builtins): Increase builtin_types
8070169689Skan	array by one element, initialize the BT_LAST element with NULL.
8071169689Skan
8072169689Skan2005-08-26  David Edelsohn  <edelsohn@gnu.org>
8073169689Skan
8074169689Skan	* config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
8075169689Skan	optimizing for size.
8076169689Skan	(plus_eqsi): Same.
8077169689Skan	(compare_plus_eqsi): Same.
8078169689Skan	(plus_eqsi_compare): Same.
8079169689Skan	(neg_eq0<mode>): Same.
8080169689Skan	(neg_eq<mode>): Same.
8081169689Skan
8082169689Skan	* config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
8083169689Skan	PROCESSOR_POWER4.
8084169689Skan
8085169689Skan2005-08-26  Nick Clifton  <nickc@redhat.com>
8086169689Skan
8087169689Skan	* config/v850/v850.c (ep_memory_operand): Return FALSE if
8088169689Skan	TARGET_EP is not defined.
8089169689Skan	* config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
8090169689Skan	TARGET_EP is enabled.
8091169689Skan	(OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
8092169689Skan	* config/v850/v850.md (save_all_interrupt): Only use the EP
8093169689Skan	register if TARGET_EP is defined.
8094169689Skan	(restore_all_interrupt): Likewise.
8095169689Skan	* config/v850/lib1funcs.asm: Update functions so that the EP
8096169689Skan	register is only used if __EP__ is defined.
8097169689Skan
8098169689Skan2005-08-26  David Ung  <davidu@mips.com>
8099169689Skan
8100169689Skan	* config/mips/mips.c (mips_expand_prologue): Handle case when
8101169689Skan	generating for MIPS16 and the outgoing argument area is more than
8102169689Skan	SMALL_OPERAND. Use the frame pointer as temporary to generate the
8103169689Skan	add instruction.
8104169689Skan
8105169689Skan2005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
8106169689Skan
8107169689Skan	* config/crx/crx.md: Make doloop_end pattern usage controllable
8108169689Skan	via mloop-nesting=<max-nesting> command line switch. Make sure
8109169689Skan	the combiner cannot use doloop_end_<mode> in an illegal way.
8110169689Skan	* config/crx/crx.c: Use regs up to r6 for argument passing.
8111169689Skan	Refine crx_address_cost (non cst4 displacements are expensive).
8112169689Skan	* config/crx/crx.opt: Add switch for mloop-nesting=.
8113169689Skan
8114169689Skan2005-08-26  Adrian Straetling  <straetling@de.ibm.com>
8115169689Skan
8116169689Skan	* config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
8117169689Skan	(UNSPEC_MVST): New constant.
8118169689Skan
8119169689Skan2005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
8120169689Skan
8121169689Skan	* config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
8122169689Skan	Reject operands containing eliminable registers.
8123169689Skan	* testsuite/gcc.dg/20050825-1.c: New testcase.
8124169689Skan
8125169689Skan2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
8126169689Skan	    Jan Hubicka  <jh@suse.cz>
8127169689Skan
8128169689Skan	* regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
8129169689Skan
8130169689Skan2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
8131169689Skan
8132169689Skan	PR tree-optimization/23546
8133169689Skan	* tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
8134169689Skan	and REAL_CST nodes.
8135169689Skan
8136169689Skan2005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
8137169689Skan
8138169689Skan	* params.def (PARAM_MIN_SPEC_PROB): New.
8139169689Skan	* sched-rgn.c (MIN_PROBABILITY): Delete.
8140169689Skan	(compute_trg_info): Convert to PARAM_VALUE.
8141169689Skan	* doc/invoke.texi (param): Document min-spec-prob.
8142169689Skan
8143169689Skan2005-08-24  Fariborz Jahanian <fjahanian@apple.com>
8144169689Skan
8145169689Skan	* config/darwin.h: define __PIC__
8146169689Skan	* config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
8147169689Skan	TARGET_OS_CPP_BUILTINS macro.
8148169689Skan
8149169689Skan2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
8150169689Skan
8151169689Skan	* config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
8152169689Skan	yesterday.
8153169689Skan
8154169689Skan2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
8155169689Skan
8156169689Skan	* bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
8157169689Skan	to duplicate_block.
8158169689Skan	* cfghooks.c (duplicate_block): Added position where to place
8159169689Skan	new block as argument.
8160169689Skan	* cfghooks.h (duplicate_block): Declaration changed.
8161169689Skan	* cfglayout.c (copy_bbs): Add argument after.  Pass it to
8162169689Skan	duplicate_block.
8163169689Skan	* cfglayout.h (copy_bbs): Declaration changed.
8164169689Skan	* cfgloop.h (loop_version): Declaration changed.
8165169689Skan	* cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
8166169689Skan	position to copy_bbs.
8167169689Skan	(loop_version): Pass position to duplicate_loop_to_header_edge.
8168169689Skan	Add place_after argument and position new blocks according to
8169169689Skan	it.
8170169689Skan	* modulo-sched.c (sms_schedule): Pass place_after argument
8171169689Skan	to loop_version.
8172169689Skan	* tracer.c (tail_duplicate): Pass argument to duplicate_block.
8173169689Skan	* tree-cfg.c (split_edge_bb_loc): New function.
8174169689Skan	(tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
8175169689Skan	to determine position of new blocks.
8176169689Skan	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
8177169689Skan	to loop_version.
8178169689Skan	* tree-ssa-threadupdate.c (create_block_for_threading): Pass
8179169689Skan	argument to duplicate_block.
8180169689Skan	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
8181169689Skan	Pass position to copy_bbs.
8182169689Skan
8183169689Skan2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
8184169689Skan
8185169689Skan	* fold-const.c (ptr_difference_const): Use
8186169689Skan	cst_and_fits_in_hwi instead of host_integerp.
8187169689Skan
8188169689Skan2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
8189169689Skan
8190169689Skan	* config/darwin.c (gen_pic_offset): New.
8191169689Skan	(machopic_indirect_data_reference,  machopic_legitimize_pic_address):
8192169689Skan	Use it.
8193169689Skan
8194169689Skan2005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
8195169689Skan
8196169689Skan	PR tree-optimization/23486
8197169689Skan	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
8198169689Skan
8199169689Skan2005-08-23  Phil Edwards  <phil@codesourcery.com>
8200169689Skan
8201169689Skan	* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
8202169689Skan	remove use_collect2.
8203169689Skan	(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
8204169689Skan
8205169689Skan	* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
8206169689Skan	configuration files to override the default value.
8207169689Skan
8208169689Skan	* config/t-vxworks: Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
8209169689Skan	EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
8210169689Skan	* config/vx-common.h: New file, split out from...
8211169689Skan	* config/vxworks.h: here.  Update for VxWorks 6.x and RTP mode.
8212169689Skan	* config/vxworksae.h: New file, for VxWorks AE.
8213169689Skan	* config/vxworks.opt: New file.
8214169689Skan	* config/vxlib.c: Update for VxWorks 6.
8215169689Skan
8216169689Skan	* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list.  Adjust
8217169689Skan	other MULTILIB_* variables appropriately.
8218169689Skan	(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
8219169689Skan	* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
8220169689Skan	* config/rs6000/vxworks.h: Update for VxWorks 6.
8221169689Skan	* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
8222169689Skan
8223169689Skan2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
8224169689Skan
8225169689Skan	PR target/20799
8226169689Skan	* config/darwin.c (machopic_select_section): Remove the hack to
8227169689Skan	mark "::operator new" and "::operator delete" for coalescing
8228169689Skan	even though they are not weak.
8229169689Skan
8230169689Skan2005-08-24  Alan Modra  <amodra@bigpond.net.au>
8231169689Skan
8232169689Skan	* configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
8233169689Skan	* configure: Regenerate.
8234169689Skan
8235169689Skan2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
8236169689Skan
8237169689Skan	PR middle-end/23517
8238169689Skan	* fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
8239169689Skan	between vectors.
8240169689Skan	* convert.c (convert_to_integer, convert_to_vector): Likewise.
8241169689Skan	* tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
8242169689Skan	Likewise.
8243169689Skan
8244169689Skan2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
8245169689Skan
8246169689Skan	* config/rs6000/predicates.md (equality_operator): New.
8247169689Skan	* config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
8248169689Skan	comparison with a large constant.
8249169689Skan
8250169689Skan2005-08-23  Mark Mitchell  <mark@codesourcery.com>
8251169689Skan
8252169689Skan	* hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
8253169689Skan
8254169689Skan2005-08-23  J"orn Rennecke <joern.rennecke@st.com>
8255169689Skan
8256169689Skan	* sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
8257169689Skan	registers is even, and we have a hardware double precision fp,
8258169689Skan	align the buffer.
8259169689Skan	(sh_gimplify_va_arg_expr): For floating point arguments, consider
8260169689Skan	size of current argument when checking if argument was passed in
8261169689Skan	registers.
8262169689Skan
8263169689Skan	* sh.c (sh_attr_renesas_p): Handle error_mark_node.
8264169689Skan
8265169689Skan	PR middle-end/23467
8266169689Skan	* stor-layout.c (finalize_type_size): Dont override
8267169689Skan	existing alignment with a smaller alignment from the mode.
8268169689Skan
8269169689Skan2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
8270169689Skan
8271169689Skan	* lambda-code.c (lambda_vector_lexico_pos): Moved...
8272169689Skan	* lambda.h (lambda_vector_lexico_pos): ... here.
8273169689Skan	* tree-data-ref.c (build_classic_dist_vector): Return false when
8274169689Skan	the distance vector is lexicographically negative.
8275169689Skan
8276169689Skan2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
8277169689Skan
8278169689Skan	PR tree-optimization/23511
8279169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
8280169689Skan	handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
8281169689Skan
8282169689Skan2005-08-23  Jakub Jelinek  <jakub@redhat.com>
8283169689Skan
8284169689Skan	PR tree-optimization/22043
8285169689Skan	* tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
8286169689Skan	* expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
8287169689Skan	If ALLOW_FLEXARR, handle types ending with flexible array member.
8288169689Skan	Pass false as second argument to recursive count_type_elements calls.
8289169689Skan	(categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
8290169689Skan	argument to count_type_elements call.
8291169689Skan	* tree-sra.c (decide_block_copy): Likewise.
8292169689Skan	* gimplify.c (gimplify_init_constructor): If num_type_elements < 0
8293169689Skan	for a constant-sized object, set cleared as well.  Pass true as
8294169689Skan	second argument to count_type_elements call.
8295169689Skan
8296169689Skan2005-08-23  Alan Modra  <amodra@bigpond.net.au>
8297169689Skan
8298169689Skan	PR target/21571
8299169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
8300169689Skan	from legitimate_small_data_p, and make global.  Update use.
8301169689Skan	Remove forward declaration.
8302169689Skan	* config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
8303169689Skan	Declare.
8304169689Skan	* config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
8305169689Skan
8306169689Skan2005-08-23  David Edelsohn  <edelsohn@gnu.org>
8307169689Skan
8308169689Skan	* config/rs6000/rs6000.md (eq<mode>): Use output operand instead
8309169689Skan	of scratch intermediates.
8310169689Skan	(eq<mode>_compare): Same.
8311169689Skan	(neg_eq0<mode>): New.
8312169689Skan	(neg_eq<mode>): Convert to define_insn_and_split.
8313169689Skan
8314169689Skan2005-08-23  Alan Modra  <amodra@bigpond.net.au>
8315169689Skan
8316169689Skan	PR target/23070
8317169689Skan	* config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
8318169689Skan	stdarg functions, set/clear the fp marker even when no variable
8319169689Skan	args are passed.
8320169689Skan	* config/rs6000/sysv4.opt (mprototype): Describe.
8321169689Skan
8322169689Skan2005-08-22  Jakub Jelinek  <jakub@redhat.com>
8323169689Skan
8324169689Skan	PR rtl-optimization/23478
8325169689Skan	* regs.h (reg_info): Add throw_calls_crossed.
8326169689Skan	(REG_N_THROWING_CALLS_CROSSED): Define.
8327169689Skan	* flow.c (allocate_reg_life_data): Initialize
8328169689Skan	REG_N_THROWING_CALLS_CROSSED.
8329169689Skan	(propagate_one_insn, attempt_auto_inc): Update
8330169689Skan	REG_N_THROWING_CALLS_CROSSED.
8331169689Skan	* global.c (global_alloc): Don't allocate pseudos across
8332169689Skan	calls that may throw.
8333169689Skan
8334169689Skan2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
8335169689Skan
8336169689Skan	PR c/18715
8337169689Skan	* c-common.c (c_do_switch_warnings): Look for a node where the enum's
8338169689Skan	value is inbetween the range if we did not find an exact match.
8339169689Skan
8340169689Skan2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
8341169689Skan
8342169689Skan	* doc/invoke.texi (Option Summary): Add ms1 options.
8343169689Skan	* doc/extend.texi: Document interrupt handler attribute for ms1.
8344169689Skan	* doc/md.texi: Document ms1 constraints.
8345169689Skan	* config.gcc: Add ms1-*-elf.
8346169689Skan	* config/ms1/ms1.h: New.
8347169689Skan	* config/ms1/ms1.c: New.
8348169689Skan	* config/ms1/ms1.md: New.
8349169689Skan	* config/ms1/ms1-protos.h: New.
8350169689Skan	* config/ms1/ABI.txt: New.
8351169689Skan	* config/ms1/crti.asm: New.
8352169689Skan	* config/ms1/crtn.asm: New.
8353169689Skan	* config/ms1/lib2extra-funcs.c: New.
8354169689Skan	* config/ms1/t-ms1: New.
8355169689Skan	* config/ms1/ms1.opt: New.
8356169689Skan
8357169689Skan2005-08-22 Ira Rosen <irar@il.ibm.com>
8358169689Skan
8359169689Skan	* config/rs6000/altivec.md (xorv4sf3): New.
8360169689Skan	(negv4sf2, neg<mode>2): Likewise.
8361169689Skan
8362169689Skan2005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
8363169689Skan
8364169689Skan	PR target/23485
8365169689Skan	* config/ia64/ia64.md (divsi3): Check divide by zero.
8366169689Skan	(udivsi3): Likewise.
8367169689Skan	(divdi3): Likewise.
8368169689Skan	(udivdi3): Likewise.
8369169689Skan
8370169689Skan2005-08-21  Jakub Jelinek  <jakub@redhat.com>
8371169689Skan
8372169689Skan	* simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
8373169689Skan	up to elem_bitsize bits, not max_bitsize.
8374169689Skan
8375169689Skan2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
8376169689Skan
8377169689Skan	PR tree-optimization/23433
8378169689Skan	* tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
8379169689Skan	REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
8380169689Skan
8381169689Skan2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
8382169689Skan
8383169689Skan	PR tree-optimization/23434
8384169689Skan	* tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
8385169689Skan	the iteration bound is not an INTEGER_CST.
8386169689Skan
8387169689Skan2005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
8388169689Skan
8389169689Skan	* tree-vect-transform.c (get_initial_def_for_reduction): Set
8390169689Skan	need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
8391169689Skan	NULL if need_epilog_adjust is false.
8392169689Skan	(vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
8393169689Skan	Case 3 always peels first itration, not just for PLUS case, and no need
8394169689Skan	to use scalar_initial_def here. Create an epilog adjustment only if
8395169689Skan	scalar_initial_def is not NULL.
8396169689Skan
8397169689Skan	(vectorizable_reduction): Remove assert.
8398169689Skan
8399169689Skan2005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
8400169689Skan
8401169689Skan	PR target/23485
8402169689Skan	* config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
8403169689Skan	(__moddi3): Likewise.
8404169689Skan	(__udivdi3): Likewise.
8405169689Skan	(__umoddi3): Likewise.
8406169689Skan	(__divsi3): Likewise.
8407169689Skan	(__modsi3): Likewise.
8408169689Skan	(__udivsi3): Likewise.
8409169689Skan	(__umodsi3): Likewise.
8410169689Skan
8411169689Skan2005-08-20  Jakub Jelinek  <jakub@redhat.com>
8412169689Skan
8413169689Skan	* tree-pass.h (TDF_GRAPH): Define.
8414169689Skan	* tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
8415169689Skan	* passes.c (finish_optimization_passes): Only call
8416169689Skan	finish_graph_dump_file if TDF_GRAPH is set.
8417169689Skan	(execute_one_pass): Only call clean_graph_dump_file if dump_file !=
8418169689Skan	NULL.  Set TDF_GRAPH bit.
8419169689Skan	(execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
8420169689Skan
8421169689Skan2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
8422169689Skan
8423169689Skan	* arm.h (arm_stack_offsets): Add locals_base field.
8424169689Skan	* arm.c (arm_get_frame_offsets): Compute it.
8425169689Skan	(thumb_compute_initial_elimination offset): Make the Thumb frame
8426169689Skan	pointer point to the base of the local variables.
8427169689Skan	(thumb_expand_prologue): Update accordingly.
8428169689Skan	(thumb_expand_epilogue): Likewise.
8429169689Skan
8430169689Skan	* arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
8431169689Skan	mode of clobbered scratch to DImode.  Handle a case that's known to
8432169689Skan	need this.
8433169689Skan
8434169689Skan2005-08-19  David Edelsohn  <edelsohn@gnu.org>
8435169689Skan
8436169689Skan	* config/rs6000/rs6000.md (gt0<mode>): Delete.
8437169689Skan	(gt0<mode>_compare): Delete.
8438169689Skan	(neg_gt0<mode>): Delete.
8439169689Skan
8440169689Skan2005-08-19  Eric Christopher  <echristo@apple.com>
8441169689Skan
8442169689Skan	* optabs.h: Change CTI_ to COI_.
8443169689Skan	* optabs.c: Ditto.
8444169689Skan
8445169689Skan2005-08-19  James E Wilson  <wilson@specifix.com>
8446169689Skan
8447169689Skan	* builtins.c (expand_builtin_return_addr): Set
8448169689Skan	current_function_accesses_prior_frames when count != 0.  Use
8449169689Skan	frame_pointer_rtx when count == 0.
8450169689Skan	* function.h (struct function): Add accesses_prior_frames field.
8451169689Skan	(current_function_accesses_prior_frames): Define.
8452169689Skan	* reload1.c (init_elim_table): Check
8453169689Skan	current_function_accesses_prior_frames.
8454169689Skan	* doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
8455169689Skan
8456169689Skan2005-08-19  Diego Novillo  <dnovillo@redhat.com>
8457169689Skan
8458169689Skan	* tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
8459169689Skan	indicator.  Return true if the flowgraph changed during
8460169689Skan	cleanup.
8461169689Skan
8462169689Skan2005-08-19  Diego Novillo  <dnovillo@redhat.com>
8463169689Skan
8464169689Skan	PR 23476
8465169689Skan	* tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
8466169689Skan	conditional expression before testing its value.
8467169689Skan
8468169689Skan2005-08-19  Diego Novillo  <dnovillo@redhat.com>
8469169689Skan
8470169689Skan	* doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
8471169689Skan
8472169689Skan2005-08-19  Devang Patel  <dpatel@apple.com>
8473169689Skan
8474169689Skan	PR tree-optimization/23048
8475169689Skan	* tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
8476169689Skan	third parameter. Check whether latch is dominated by exit
8477169689Skan	block or not.
8478169689Skan	(if_convertible_loop_p): Supply exit block itself to
8479169689Skan	if_convertible_bb_p.
8480169689Skan
8481169689Skan2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
8482169689Skan
8483169689Skan	PR target/23473
8484169689Skan	* arm.md (arm_load_pic_register): Change argument to the mask of
8485169689Skan	saved registers.  Call thumb_find_work_register if we need a
8486169689Skan	scratch register on Thumb.
8487169689Skan	(arm_expand_prologue): Pass empty register set to
8488169689Skan	arm_load_pic_register.
8489169689Skan	(thumb_expand_prologue): Pass live_regs_mask directly to
8490169689Skan	arm_load_pic_register.
8491169689Skan	* arm-protos.h (arm_load_pic_register): Update prototype.
8492169689Skan
8493169689Skan2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
8494169689Skan
8495169689Skan	* sh.c (find_sole_member): New function.
8496169689Skan	(sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
8497169689Skan	if the record's alignment is larger than the size of its only member.
8498169689Skan
8499169689Skan2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
8500169689Skan
8501169689Skan	PR target/23436
8502169689Skan	* arm.c (thumb_legitimize_reload_address): New function.
8503169689Skan	* arm-protos.h (thumb_legitimize_reload_address): Add prototype.
8504169689Skan	* arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
8505169689Skan
8506169689Skan2005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
8507169689Skan
8508169689Skan	* config/crx/crx.c: Implement crx_decompose_address. Reject
8509169689Skan	symbolic displacements since CRX register relative adressing
8510169689Skan	mode can't handle unsigned 32-bit values as displacements.
8511169689Skan	* config/crx/crx.h: Simplify definitions, remove redundant
8512169689Skan	parenthesis and obsolete macros.
8513169689Skan	* config/crx/crx.opt: Add new switch for debugging addresses.
8514169689Skan	* config/crx/crx-protos.h: Add new declarations for above.
8515169689Skan
8516169689Skan2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
8517169689Skan
8518169689Skan	PR middle-end/20624
8519169689Skan	* gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
8520169689Skan	looking past it.
8521169689Skan
8522169689Skan2005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8523169689Skan
8524169689Skan	* collect2.c (dup2): Delete.
8525169689Skan	* configure.ac: Don't check for dup2.
8526169689Skan
8527169689Skan	* config.in, configure: Regenerate.
8528169689Skan
8529169689Skan2005-08-18  J"orn Rennecke <joern.rennecke@st.com>
8530169689Skan
8531169689Skan	* sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
8532169689Skan	record with the type of its only member.
8533169689Skan
8534169689Skan2005-08-18  David Edelsohn  <edelsohn@gnu.org>
8535169689Skan
8536169689Skan	* config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
8537169689Skan	define_insn_and_split.
8538169689Skan	(plus_ltu<mode>_compare): Same.
8539169689Skan	(gtu<mode>_compare): Same.
8540169689Skan	(plus_gtu<mode>_compare): Same.
8541169689Skan
8542169689Skan2005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
8543169689Skan
8544169689Skan	PR tree-optimization/22228
8545169689Skan	* tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
8546169689Skan	todo_flags_start.
8547169689Skan	* tree-vect-transform.c (vect_transform_loop): Mark the variables that
8548169689Skan	are recorded in vect_vnames_to_rename for renaming.
8549169689Skan	* tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
8550169689Skan	(slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
8551169689Skan	in vect_vnames_to_rename.
8552169689Skan	(vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
8553169689Skan	* tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
8554169689Skan
8555169689Skan2005-08-18  Jan Hubicka  <jh@suse.cz>
8556169689Skan
8557169689Skan	PR c++/22034
8558169689Skan	* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
8559169689Skan	info only for local statics, not for member variables.
8560169689Skan
8561169689Skan2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8562169689Skan
8563169689Skan	* tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
8564169689Skan
8565169689Skan2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8566169689Skan
8567169689Skan	* c-typeck.c (designator_errorneous): Rename to designator_erroneous.
8568169689Skan
8569169689Skan2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
8570169689Skan
8571169689Skan	PR middle-end/16045
8572169689Skan	* builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
8573169689Skan
8574169689Skan2005-08-17  James E Wilson  <wilson@specifix.com>
8575169689Skan
8576169689Skan	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
8577169689Skan	array size check.
8578169689Skan
8579169689Skan2005-08-17  David Edelsohn  <edelsohn@gnu.org>
8580169689Skan
8581169689Skan	* config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
8582169689Skan	(leu<mode>_compare): Same.
8583169689Skan	(plus_leu<mode>): Same.
8584169689Skan	(neg_leu<mode>): Same.
8585169689Skan	(and_neg_leu<mode): Same.
8586169689Skan	(ltu<mode>_compare): Same.
8587169689Skan	(plus_ltu<mode>): Same.
8588169689Skan	(geu<mode>): Same.
8589169689Skan	(geu<mode>_compare): Same.
8590169689Skan	(plus_geu<mode>): Same.
8591169689Skan	(neg_geu<mode>): Same.
8592169689Skan	(and_neg_geu<mode>): Same.
8593169689Skan	(plus_gt<mode>): Same.
8594169689Skan	(gtu<mode>_compare): Same.
8595169689Skan	(plus_gtu<mode>): Same.
8596169689Skan
8597169689Skan2005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
8598169689Skan
8599169689Skan	* config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
8600169689Skan	Move call_table_data to end.  Delete spurious .text.
8601169689Skan	(callt_save_all_interrupt): Fix comment typo.
8602169689Skan
8603169689Skan2005-08-17  James E Wilson  <wilson@specifix.com>
8604169689Skan	    Kevin Winchester  <winchester@amirix.com>
8605169689Skan
8606169689Skan	PR target/21684
8607169689Skan	* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
8608169689Skan
8609169689Skan2005-08-17  Uros Bizjak  <uros@kss-loka.si>
8610169689Skan
8611169689Skan	PR target/23268
8612169689Skan	* config/i386/i386.md ("*fist<mode>2_1"): New pattern.
8613169689Skan	("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
8614169689Skan
8615169689Skan2005-08-17  J"orn Rennecke <joern.rennecke@st.com>
8616169689Skan
8617169689Skan	* sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
8618169689Skan	record with the type of its only member if the modes don't match.
8619169689Skan
8620169689Skan	* varasm.c (decode_reg_name): Skip empty additional register names.
8621169689Skan
8622169689Skan2005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
8623169689Skan
8624169689Skan	* tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
8625169689Skan	lsm_tmp_name_length): New.
8626169689Skan	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
8627169689Skan	(schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
8628169689Skan
8629169689Skan2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8630169689Skan	    Andreas Krebbel  <krebbel1@de.ibm.com>
8631169689Skan
8632169689Skan	* config.gcc: Added z9-109 switch.
8633169689Skan	* config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
8634169689Skan	"x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
8635169689Skan	"x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
8636169689Skan	"x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
8637169689Skan	"x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
8638169689Skan	for "z9_109" cpu attribute.
8639169689Skan	* config/s390/s390.c (z9_109_cost): New processor cost structure.
8640169689Skan	(CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
8641169689Skan	(s390_handle_arch_option): Added z9-109 switch.
8642169689Skan	(override_options): Set respective cost function for z9-109.
8643169689Skan	(s390_const_ok_for_constraint_p): New constraints Os, Op, On.
8644169689Skan	(legitimate_reload_constant_p): Accept extended immediates.
8645169689Skan	(print_operand): Three new output modifiers added: k, m and o.
8646169689Skan	(s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
8647169689Skan	(s390_output_mi_thunk): Use extended immediate when possible.
8648169689Skan	* config/s390/s390.h (processor_flags): Added PF_EXTIMM.
8649169689Skan	(TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
8650169689Skan	(CONSTRAINT_LEN): Added length of O constraint.
8651169689Skan	(CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
8652169689Skan	* config/s390/s390.md ("cpu"): New value z9_109 added.
8653169689Skan	("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
8654169689Skan	"*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
8655169689Skan	"*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
8656169689Skan	"*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
8657169689Skan	"*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
8658169689Skan	("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
8659169689Skan	"*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
8660169689Skan	"*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
8661169689Skan	("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
8662169689Skan	"*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
8663169689Skan	"*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
8664169689Skan	"*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
8665169689Skan	"*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
8666169689Skan	"*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
8667169689Skan	"*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
8668169689Skan	immediates.
8669169689Skan	("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
8670169689Skan	"zero_extend<mode>si2"): Allow memory operands and don't manually emit
8671169689Skan	insns for TARGET_EXTIMM.
8672169689Skan
8673169689Skan2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
8674169689Skan
8675169689Skan	* testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
8676169689Skan
8677169689Skan2005-08-17  Nick Clifton  <nickc@redhat.com>
8678169689Skan
8679169689Skan	* config/stormy16/stormy16.c (xstormy16_encode_section_info):
8680169689Skan	Call default_encode_section_info.
8681169689Skan
8682169689Skan2005-08-17  Steven Bosscher  <stevenb@suse.de>
8683169689Skan
8684169689Skan	PR tree-optimization/21574
8685169689Skan	* tree-ssa-ccp.c (likely_value): If the right hand side is a
8686169689Skan	constant, return CONSTANT.
8687169689Skan	(ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
8688169689Skan	(ccp_fold, visit_assignment): Likewise.
8689169689Skan	(evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
8690169689Skan
8691169689Skan2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
8692169689Skan
8693169689Skan	* c-typeck.c (build_function_call): Call fold_buildN_initializer or
8694169689Skan	fold_buildN instead of buildN then fold_initializer or fold.
8695169689Skan	(build_unary_op): Likewise.
8696169689Skan	(build_binary_op): Likewise.
8697169689Skan	* fold-const.c (fold_initializer): Remove.
8698169689Skan	(fold_build1_initializer): New function.
8699169689Skan	(fold_build2_initializer): New function.
8700169689Skan	(fold_build3_initializer): New function.
8701169689Skan	* tree.h (fold_initializer): Remove.
8702169689Skan	(fold_build1_initializer): New function.
8703169689Skan	(fold_build2_initializer): New function.
8704169689Skan	(fold_build3_initializer): New function.
8705169689Skan
8706169689Skan2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
8707169689Skan
8708169689Skan	* fold-const.c (optimize_bit_field_compare): Remove extra fold call.
8709169689Skan	(try_move_mult_to_index): Call fold_build2 instead of build2.
8710169689Skan	(fold_binary): Don't call fold after calls to try_move_mult_to_index.
8711169689Skan	* tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
8712169689Skan	fold_binary_to_constant.
8713169689Skan	(infer_loop_bounds_from_undefined): Call fold_build2 instead of
8714169689Skan	fold (build.
8715169689Skan	* tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
8716169689Skan	check if A == gcd (A, B).  Remove TYPE argument.
8717169689Skan	(analyze_offset) Use fold_build2 instead of fold (build.
8718169689Skan	(create_data_ref): Likewise.
8719169689Skan	(analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
8720169689Skan	* tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
8721169689Skan	then fold.
8722169689Skan
8723169689Skan2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
8724169689Skan
8725169689Skan	* config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
8726169689Skan	ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
8727169689Skan
8728169689Skan2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
8729169689Skan
8730169689Skan	PR tree-opt/23402
8731169689Skan	* gimplify.c (zero_sized_type): New function.
8732169689Skan	(gimplify_modify_expr_rhs): If we have a zero sized type,
8733169689Skan	replace the statement with an empty statement.
8734169689Skan
8735169689Skan2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
8736169689Skan
8737169689Skan	* config/i386/crtfastmath.c (set_fast_math): Add "=m" for
8738169689Skan	fxsave.
8739169689Skan
8740169689Skan2005-08-16  Ian Lance Taylor  <ian@airs.com>
8741169689Skan
8742169689Skan	* doc/tm.texi (Label Output): Correct typo.
8743169689Skan
8744169689Skan2005-08-16  Steven Bosscher  <stevenb@suse.de>
8745169689Skan
8746169689Skan	PR target/23376
8747169689Skan	* loop-unroll.c (analyze_insn_to_expand_var): Make sure that
8748169689Skan	force_operand will work later on using have_insn_for.
8749169689Skan
8750169689Skan2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8751169689Skan
8752169689Skan	* fold-const.c (tree_expr_nonnegative_p): Regroup cases.
8753169689Skan
8754169689Skan2005-08-16  Ian Lance Taylor  <ian@airs.com>
8755169689Skan
8756169689Skan	PR c++/23337
8757169689Skan	* gimplify.c (gimplify_init_ctor_eval): If we see an element of
8758169689Skan	vector type, don't try to construct it element by element.  Add an
8759169689Skan	assertion that we use a FIELD_DECL when building a COMPONENT_REF.
8760169689Skan
8761169689Skan2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8762169689Skan
8763169689Skan	* fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
8764169689Skan
8765169689Skan2005-08-16  Geoffrey Keating  <geoffk@apple.com>
8766169689Skan
8767169689Skan	* doc/invoke.texi (Precompiled Headers): Document some more options
8768169689Skan	which are known to be safe.
8769169689Skan
8770169689Skan2005-08-16  James E Wilson  <wilson@specifix.com>
8771169689Skan
8772169689Skan	PR tree-optimization/21105
8773169689Skan	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
8774169689Skan	TREE_OVERFLOW check.
8775169689Skan
8776169689Skan2005-08-16  David Edelsohn  <edelsohn@gnu.org>
8777169689Skan
8778169689Skan	* config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
8779169689Skan	(neg_ltu<mode>): Same.
8780169689Skan	(gtu<mode>): Same.
8781169689Skan	(neg_gtu<mode>): Same.
8782169689Skan
8783169689Skan2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8784169689Skan
8785169689Skan	* builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
8786169689Skan	(fold_builtin_isdigit): Use fold_buildN.
8787169689Skan	(build_function_call_expr): Likewise.
8788169689Skan	* c-typeck.c (c_finish_loop): Likewise.
8789169689Skan
8790169689Skan2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
8791169689Skan	    Richard Shann <rshann@superh.com>
8792169689Skan
8793169689Skan	PR middle-end/20396:
8794169689Skan	* optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
8795169689Skan
8796169689Skan2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
8797169689Skan
8798169689Skan	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
8799169689Skan
8800169689Skan2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
8801169689Skan
8802169689Skan	PR target/23355
8803169689Skan	* arm.c (thumb_compute_save_reg_mask): Use similar logic to
8804169689Skan	arm_compure_save_reg0_reg12_mask to determine when the PIC register
8805169689Skan	must be saved.
8806169689Skan
8807169689Skan2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8808169689Skan
8809169689Skan	PR middle-end/23369
8810169689Skan	* fold-const.c (build_range_check): Disable optimization for function
8811169689Skan	pointer expressions on targets that require function pointer
8812169689Skan	canonicalization.
8813169689Skan
8814169689Skan2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
8815169689Skan
8816169689Skan	* simplify-rtx.c (simplify_const_relational_operation): When
8817169689Skan	extracting arguments of a COMPARE, recompute the mode as well.
8818169689Skan
8819169689Skan2005-08-15  Ian Lance Taylor  <ian@airs.com>
8820169689Skan
8821169689Skan	* tree.c (build_string): Mark tree CONSTANT and INVARIANT.
8822169689Skan
8823169689Skan2005-08-15  DJ Delorie  <dj@redhat.com>
8824169689Skan
8825169689Skan	* config/m32c/mov.md (movqi_op): Immediates can't be moved to
8826169689Skan	the stack.
8827169689Skan	(movsi_splittable): Allow, but split, moves to the stack.
8828169689Skan	* config/m32c/m32c.c (m32c_split_move): Always split moves to the
8829169689Skan	stack.
8830169689Skan
8831169689Skan2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8832169689Skan
8833169689Skan	* aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
8834169689Skan	* configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
8835169689Skan	* system.h (HOST_PTR_PRINTF): Don't define, poison it.
8836169689Skan
8837169689Skan	* bitmap.c, c-decl.c, config/i386/i386-interix.h,
8838169689Skan	config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
8839169689Skan	Delete HOST_PTR_PRINTF.
8840169689Skan
8841169689Skan	* configure, config.in: Regenerate.
8842169689Skan
8843169689Skan2005-08-15  David Edelsohn  <edelsohn@gnu.org>
8844169689Skan
8845169689Skan	* config/rs6000/rs6000.md (QHSI): New mode macro.
8846169689Skan	(wd): Extend mode attr for QImode and HImode
8847169689Skan	(dbits): New mode attr.
8848169689Skan	(zero_extend<mode>di2): Convert to mode macro.
8849169689Skan
8850169689Skan2005-08-15  Steve Ellcey  <sje@cup.hp.com>
8851169689Skan
8852169689Skan	PR target/21841
8853169689Skan	* doc/invoke.texi (-mgnu-ld): Update description.
8854169689Skan	(-mhp-ld): Ditto.
8855169689Skan
8856169689Skan2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
8857169689Skan
8858169689Skan	PR 23391
8859169689Skan	* Makefile.in (tree-chrec.o): Depends on real.h.
8860169689Skan	* tree-chrec.c: Include real.h.
8861169689Skan	(chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
8862169689Skan	chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
8863169689Skan	* tree-scalar-evolution.c (add_to_evolution_1,
8864169689Skan	interpret_rhs_modify_expr): Ditto.
8865169689Skan
8866169689Skan2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
8867169689Skan
8868169689Skan	PR 23386
8869169689Skan	* tree-data-ref.c (estimate_niter_from_size_of_data): When
8870169689Skan	step is negative compute the estimation from init downwards to zero.
8871169689Skan
8872169689Skan2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
8873169689Skan
8874169689Skan	* fold-const (fold_binary): Call fold_build2 instead of fold (build.
8875169689Skan
8876169689Skan2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
8877169689Skan
8878169689Skan	* config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
8879169689Skan	constraint.
8880169689Skan	(legitimate_reload_constant_p): Fix handling of lliXX operands.
8881169689Skan	Accept double-word constants that can be split.
8882169689Skan	* config/s390/s390.md ("movti"): Use 'P' constraint.
8883169689Skan	("*movdi_31", "*movdf_31"): Likewise.
8884169689Skan
8885169689Skan2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
8886169689Skan
8887169689Skan	Fix PR tree-optimization/22615
8888169689Skan
8889169689Skan	* tree-ssa-structalias.c (solution_set_add): Handle
8890169689Skan	first_vi_for_offset returning NULL.
8891169689Skan	(do_da_constraint): Ditto.
8892169689Skan	(do_sd_constraint): Ditto.
8893169689Skan	(do_ds_constraint): Ditto
8894169689Skan	(find_func_aliases): Ditto.
8895169689Skan	(build_constraint_graph): RHS is allowed be ANYTHING.
8896169689Skan	(first_vi_for_offset): Return NULL if we couldn't find anything at
8897169689Skan	the offset.
8898169689Skan
8899169689Skan2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
8900169689Skan
8901169689Skan	* config/s390/s390.c (s390_canonicalize_comparison): Prefer register
8902169689Skan	over memory as first operand.
8903169689Skan
8904169689Skan2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
8905169689Skan
8906169689Skan	PR target/23360
8907169689Skan	* config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
8908169689Skan	available for setting it.
8909169689Skan
8910169689Skan2005-08-14  Ira Rosen  <irar@il.ibm.com>
8911169689Skan
8912169689Skan	PR tree-optimization/23320
8913169689Skan	* tree-data-ref.c (base_addr_differ_p): Add comment. Check
8914169689Skan	data-refs' types instead of base object nullness. Add check for
8915169689Skan	pointer type data-refs before first location comparison. Remove
8916169689Skan	assert.
8917169689Skan
8918169689Skan2005-08-14  Andreas Schwab  <schwab@suse.de>
8919169689Skan
8920169689Skan	* doc/md.texi (Machine Constraints): Fix misplaced @end table.
8921169689Skan
8922169689Skan2005-08-13  James E Wilson  <wilson@specifix.com>
8923169689Skan
8924169689Skan	* doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
8925169689Skan	* doc/invoke.texi (-Wstack-protector, -fstack-protector,
8926169689Skan	-fstack-protector-all, --param ssp-buffer-size): Document.
8927169689Skan	(-Wvariadic-macros): Alphabetize.
8928169689Skan	(-fsched-stalled-insns-dep): Add missing 'f'.
8929169689Skan
8930169689Skan	* c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
8931169689Skan	macros.
8932169689Skan
8933169689Skan2005-08-13  David Edelsohn  <edelsohn@gnu.org>
8934169689Skan
8935169689Skan	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
8936169689Skan	or indirect address operand.
8937169689Skan	(EXTRA_ADDRESS_CONSTRAINT): New.
8938169689Skan	* config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
8939169689Skan
8940169689Skan2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
8941169689Skan
8942169689Skan	PR tree-optimization/22236
8943169689Skan	* tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
8944169689Skan	successors and predecessors.
8945169689Skan	* tree-chrec.c (chrec_convert): Before converting, check that
8946169689Skan	sequences don't wrap.
8947169689Skan	* tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
8948169689Skan	(analyze_array): Extern.
8949169689Skan	(find_data_references_in_loop): Remove call to
8950169689Skan	compute_estimated_nb_iterations.
8951169689Skan	* tree-data-ref.h (analyze_array): Declared.
8952169689Skan	* tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
8953169689Skan	single_ssa_def_operand, zero_ssa_operands): Fix documentation.
8954169689Skan	* tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
8955169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
8956169689Skan	condition.
8957169689Skan	* tree-ssa-loop-ivcanon.c: Fix documentation.
8958169689Skan	* tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
8959169689Skan	* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
8960169689Skan	(infer_loop_bounds_from_undefined): New.
8961169689Skan	(estimate_numbers_of_iterations_loop): Use
8962169689Skan	infer_loop_bounds_from_undefined.
8963169689Skan	(used_in_pointer_arithmetic_p): New.
8964169689Skan	(scev_probably_wraps_p): Pass an extra parameter.  Call
8965169689Skan	used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
8966169689Skan	(convert_step): Fix documentation.
8967169689Skan	* tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
8968169689Skan	Use initial_condition_in_loop_num and evolution_part_in_loop_num
8969169689Skan	instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
8970169689Skan	scev_probably_wraps_p.
8971169689Skan
8972169689Skan2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
8973169689Skan
8974169689Skan	* config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
8975169689Skan	(s390_register_info): Ignore clobbered_regs information for fixed
8976169689Skan	registers, and only fixed registers.
8977169689Skan	(s390_init_frame_layout): Remove redundant call.
8978169689Skan
8979169689Skan2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
8980169689Skan
8981169689Skan	* doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
8982169689Skan	description of -Wold-style-casts.
8983169689Skan
8984169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
8985169689Skan	    Jakub Jelinek  <jakub@redhat.com>
8986169689Skan
8987169689Skan	* config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
8988169689Skan	* config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
8989169689Skan	* config/s390/s390.c (print_operand): New output modifier 'G' added.
8990169689Skan	(get_thread_pointer): Renamed to s390_get_thread_pointer.
8991169689Skan	* config/s390/s390.md (stack_protect_set, stack_protect_test): If
8992169689Skan	TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
8993169689Skan	(MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
8994169689Skan	(UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
8995169689Skan	("stack_protect_set", "stack_protect_test"): New expanders.
8996169689Skan	("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
8997169689Skan	"stack_protect_testdi"): New insn definitions.
8998169689Skan
8999169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
9000169689Skan
9001169689Skan	* config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
9002169689Skan
9003169689Skan2005-08-12  Paul Brook  <paul@codesourcery.com>
9004169689Skan
9005169689Skan	* config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
9006169689Skan
9007169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
9008169689Skan
9009169689Skan	* config/s390/predicates.md (setmem_operand): New predicate.
9010169689Skan	(shift_count_operand): Accept ANDs with special constants as
9011169689Skan	operand.
9012169689Skan	* config/s390/s390.c (print_shift_count_operand): Skip ANDs
9013169689Skan	with special constants.
9014169689Skan	* config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
9015169689Skan	shift_count_operand with setmem_operand.
9016169689Skan
9017169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
9018169689Skan
9019169689Skan	* config/s390/s390.c (s390_extract_part, s390_single_part):
9020169689Skan	Type cast added.
9021169689Skan	(s390_const_ok_for_constraint_p): Added SImode to the N constraint.
9022169689Skan	(s390_output_mi_thunk): Don't use lg on 31 bit.
9023169689Skan	* config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
9024169689Skan	("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
9025169689Skan
9026169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
9027169689Skan
9028169689Skan	* config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
9029169689Skan	(s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
9030169689Skan	s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
9031169689Skan	s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
9032169689Skan	with one of the new macros.
9033169689Skan
9034169689Skan2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
9035169689Skan
9036169689Skan	* config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
9037169689Skan	Don't set save_return_addr_p.
9038169689Skan	(s390_register_info): Make clobbered_regs not depending on
9039169689Skan	save_return_addr_p.
9040169689Skan
9041169689Skan2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
9042169689Skan
9043169689Skan	* gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
9044169689Skan	(LINK_COMMAND_SPEC): Add space after %(link_ssp).
9045169689Skan
9046169689Skan2005-08-11  James E. Wilson  <wilson@specifix.com>
9047169689Skan
9048169689Skan	* config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
9049169689Skan
9050169689Skan2005-08-11  Jakub Jelinek  <jakub@redhat.com>
9051169689Skan
9052169689Skan	* dwarf2out.c (add_location_or_const_value_attribute): Prefer
9053169689Skan	locations gathered by var-tracking in single entry loc_list
9054169689Skan	over loc_descriptor_from_tree.
9055169689Skan
9056169689Skan	* dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
9057169689Skan	pass it down to loc_descriptor.
9058169689Skan	(loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
9059169689Skan	(containing_function_has_frame_base): Move earlier in the file.
9060169689Skan	(loc_descriptor_from_tree_1): Use containing_function_has_frame_base
9061169689Skan	instead of always assuming fbreg can't be used.
9062169689Skan
9063169689Skan2005-08-11  David Edelsohn  <edelsohn@gnu.org>
9064169689Skan
9065169689Skan	* config/rs6000/altivec.md: Change constraint "m" to "Z".
9066169689Skan	* config/rs6000/predicates.md (indexed_or_indirect_operand):
9067169689Skan	Accept address wrapped in AND for Altivec.
9068169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
9069169689Skan	Strip AND wrapping offset address for Altivec.
9070169689Skan
9071169689Skan2005-08-11  Richard Henderson  <rth@redhat.com>
9072169689Skan
9073169689Skan	PR middle-end/23312
9074169689Skan	* gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
9075169689Skan	before using TYPE_IS_SIZETYPE.
9076169689Skan
9077169689Skan2005-08-11  Richard Henderson  <rth@redhat.com>
9078169689Skan
9079169689Skan	PR target/22225
9080169689Skan	* config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
9081169689Skan	insn types not present on ev4.
9082169689Skan	(alphaev5_insn_pipe): Similarly.
9083169689Skan
9084169689Skan2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
9085169689Skan
9086169689Skan	PR target/23250
9087169689Skan	* arm.c (arm_override_options): If the user has selected callee-super-
9088169689Skan	interworking, then enable normal interworking.
9089169689Skan
9090169689Skan2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9091169689Skan
9092169689Skan	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
9093169689Skan	redefinition.
9094169689Skan
9095169689Skan2005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
9096169689Skan
9097169689Skan	* doc/rtl.texi: Fix two typos.
9098169689Skan
9099169689Skan2005-08-11  Richard Guenther  <rguenther@suse.de>
9100169689Skan
9101169689Skan	PR target/23289
9102169689Skan	* config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
9103169689Skan	cases where we call to/from functions returning void.
9104169689Skan
9105169689Skan2005-08-10  James A. Morrison  <phython@gcc.gnu.org>
9106169689Skan
9107169689Skan	PR c++/23225
9108169689Skan	* tree.c (build_pointer_type_for_mode): Robustify.
9109169689Skan
9110169689Skan2005-08-10  James E Wilson  <wilson@specifix.com>
9111169689Skan
9112169689Skan	* defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
9113169689Skan	(ASM_OUTPUT_ADDR_VEC_ELT): Delete.
9114169689Skan
9115169689Skan	* config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
9116169689Skan	"cum->".
9117169689Skan
9118169689Skan2005-08-10  Eric Christopher  <echristo@apple.com>
9119169689Skan
9120169689Skan	* config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
9121169689Skan	* config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
9122169689Skan	V2DFmode.
9123169689Skan
9124169689Skan2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
9125169689Skan
9126169689Skan	PR target/21887
9127169689Skan	* config/darwin.c (machopic_indirect_data_reference): Use a new register
9128169689Skan	for the high part when generating dynamic-no-pic code.
9129169689Skan
9130169689Skan2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
9131169689Skan
9132169689Skan	* config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
9133169689Skan	(x86_64-*-linux*): Likewise.
9134169689Skan
9135169689Skan	* config/i386/crtfastmath.c: New file.
9136169689Skan	* config/i386/t-crtfm: Likewise.
9137169689Skan
9138169689Skan	* config/i386/linux.h (ENDFILE_SPEC): New.
9139169689Skan	* config/i386/linux64.h (ENDFILE_SPEC): Likewise.
9140169689Skan
9141169689Skan	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
9142169689Skan	crtfastmath.o.
9143169689Skan
9144169689Skan2005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
9145169689Skan
9146169689Skan	* doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
9147169689Skan	(vec_shl, vec_shr): Document new operations.
9148169689Skan	* tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
9149169689Skan
9150169689Skan2005-08-10  David Edelsohn  <edelsohn@gnu.org>
9151169689Skan
9152169689Skan	* config/rs6000/predicates.md (indexed_or_indirect_address): New.
9153169689Skan	* config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
9154169689Skan	change predicate to indexed_or_indirect_address.
9155169689Skan
9156169689Skan2005-08-10  Richard Sandiford  <richard@codesourcery.com>
9157169689Skan
9158169689Skan	* config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
9159169689Skan	* config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
9160169689Skan	__aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
9161169689Skan	and __aeabi_uwrite8.
9162169689Skan	* config/arm/unaligned-funcs.c: New file.
9163169689Skan	* config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
9164169689Skan
9165169689Skan2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
9166169689Skan
9167169689Skan	* bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
9168169689Skan	Add dump.
9169169689Skan	* cfglayout.c (pass_insn_locators_initialize): Add dump.
9170169689Skan	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
9171169689Skan	Add dump.
9172169689Skan	* except.c (pass_convert_to_eh_region_ranges): Add dump.
9173169689Skan	* final.c (pass_shorten_branches): Add dump.
9174169689Skan	* flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
9175169689Skan	(pass_life): Rename dump.
9176169689Skan	(rest_of_handle_flow2): Remove initial verify_flow_info.
9177169689Skan	* function.c (pass_instantiate_virtual_regs): Add dump.
9178169689Skan	* integrate.c (pass_initial_value_sets): Add dump.
9179169689Skan	* jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
9180169689Skan	* loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
9181169689Skan	(pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
9182169689Skan	pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
9183169689Skan	(gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
9184169689Skan	gate_rtl_unrool_and_peel_loops): New.
9185169689Skan	(rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
9186169689Skan	rtl_doloop): Do not look at flags.
9187169689Skan	* mode-switching.c (pass_mode_switching): Add dump.
9188169689Skan	* recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
9189169689Skan	pass_split_before_regstack): Add dump.
9190169689Skan	* regmove.c (pass_stack_adjustments): Add dump.
9191169689Skan	* tree-optimize.c (pass_fixup_cfg): Add dump.
9192169689Skan
9193169689Skan2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
9194169689Skan
9195169689Skan	PR 23309
9196169689Skan	* config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
9197169689Skan	deciding which instruction sequence to use.
9198169689Skan
9199169689Skan2005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
9200169689Skan
9201169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Set
9202169689Skan	BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
9203169689Skan
9204169689Skan2005-08-09  Richard Guenther  <rguenther@suse.de>
9205169689Skan
9206169689Skan	* c-common.c (builtin_function_2): Remove.
9207169689Skan	(def_builtin_1): New function.
9208169689Skan	(c_common_nodes_and_builtins): Use def_builtin_1 to
9209169689Skan	build builtin functions.
9210169689Skan
9211169689Skan2005-08-09  Jie Zhang  <jie.zhang@analog.com>
9212169689Skan
9213169689Skan	* config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
9214169689Skan	* config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
9215169689Skan	* config/bfin/bfin.c (bfin_return_in_memory): Update to really match
9216169689Skan	Visual DSP.
9217169689Skan
9218169689Skan2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
9219169689Skan
9220169689Skan	* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
9221169689Skan	fold_binary instead of fold_build2 since we don't care about the
9222169689Skan	resulting tree.
9223169689Skan	(loop_niter_by_eval): Likewise.
9224169689Skan	(compare_trees): Likewise.
9225169689Skan	(proved_non_wrapping_p): Likewise.
9226169689Skan
9227169689Skan2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
9228169689Skan
9229169689Skan	PR c/23161
9230169689Skan	PR c/23165
9231169689Skan	* c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
9232169689Skan	if the if is really empty.
9233169689Skan
9234169689Skan2005-08-09  Steven Bosscher  <stevenb@suse.de>
9235169689Skan
9236169689Skan	PR tree-optimization/23234
9237169689Skan	* tree-ssa-math-opts.c (place_reciprocal): New enum.
9238169689Skan	(execute_cse_reciprocals_1): Replace the 'phi' argument with an
9239169689Skan	argument of the new enum.
9240169689Skan	(execute_cse_reciprocals): Add reciprocals for function arguments
9241169689Skan	on the unique successor edge of the entry block.  Update other calls
9242169689Skan	to execute_cse_reciprocals_1.
9243169689Skan
9244169689Skan2005-08-08  Richard Henderson  <rth@redhat.com>
9245169689Skan
9246169689Skan	PR 22439
9247169689Skan	* gimplify.c (gimplify_one_sizepos): Preserve the original type.
9248169689Skan
9249169689Skan2005-08-08  Bob Wilson  <bob.wilson@acm.org>
9250169689Skan
9251169689Skan	* expr.c (write_complex_part): Return after handling MEM.
9252169689Skan
9253169689Skan2005-08-08  Josh Conner  <jconner@apple.com>
9254169689Skan
9255169689Skan	PR rtl-optimization/23241
9256169689Skan	* combine.c (simplify_comparison): Fix error in determining
9257169689Skan	whether to lift a subreg from comparison.
9258169689Skan
9259169689Skan2005-08-08  David Edelsohn  <edelsohn@gnu.org>
9260169689Skan
9261169689Skan	PR target/18506
9262169689Skan	* config/rs6000/altivec.md (vec_init<mode>): New.
9263169689Skan	(vec_set<mode>): New.
9264169689Skan	(vec_extract<mode>): New.
9265169689Skan	* config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
9266169689Skan	(rs6000_expand_vector_set): New.
9267169689Skan	(rs6000_expand_vector_extract): New.
9268169689Skan	(rs6000_legitimate_offset_address_p): Offset addresses are valid
9269169689Skan	for Altivec modes before reload.
9270169689Skan	(altivec_expand_vec_init_builtin): New.
9271169689Skan	(get_element_number): New.
9272169689Skan	(altivec_expand_vec_set_builtin): New.
9273169689Skan	(altivec_expand_vec_ext_builtin): New.
9274169689Skan	(altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
9275169689Skan	builtins.
9276169689Skan	(altivec_init_builtins): Init vec_init, vec_set, and vec_ext
9277169689Skan	builtins.
9278169689Skan	* config/rs6000/rs6000.h (rs6000_builtins): Add
9279169689Skan	ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
9280169689Skan	ALTIVEC_BUILTIN_VEC_EXT_<mode>.
9281169689Skan	* config/rs6000/rs6000-protos.h: Declare new functions.
9282169689Skan
9283169689Skan2005-08-08  Jan Hubicka  <jh@suse.cz>
9284169689Skan
9285169689Skan	* i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
9286169689Skan	(legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
9287169689Skan	* i386.md (movdi*): Use pic_32bit_operand.
9288169689Skan	* predicates.md (pic_32bit_operand): New.
9289169689Skan
9290169689Skan2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
9291169689Skan
9292169689Skan	PR c++/21166
9293169689Skan	* stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
9294169689Skan
9295169689Skan2005-08-07  James A. Morrison  <phython@gcc.gnu.org>
9296169689Skan
9297169689Skan	* tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
9298169689Skan	(test_for_singularity): Use fold_build2.
9299169689Skan
9300169689Skan2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9301169689Skan
9302169689Skan	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
9303169689Skan
9304169689Skan2005-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
9305169689Skan
9306169689Skan	* config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
9307169689Skan	(COMMON_ASM_OP) Define.
9308169689Skan	* config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
9309169689Skan	(ix86_encode_section_info): Likewise.
9310169689Skan	(TARGET_ENCODE_SECTION_INFO): Conditionally define as
9311169689Skan	SUBTARGET_ENCODE_SECTION_INFO.
9312169689Skan
9313169689Skan2005-08-06  Richard Henderson  <rth@redhat.com>
9314169689Skan
9315169689Skan	PR 21894
9316169689Skan	* tree-nested.c (convert_local_reference): Save and restore val_only
9317169689Skan	around component_ref and friends.  Clear walk_subtrees by default.
9318169689Skan
9319169689Skan2005-08-06  Peter O'Gorman  <peter@pogma.com>
9320169689Skan
9321169689Skan	PR 21366
9322169689Skan	* gcc.c (process_command): Check the argument to -b has a dash.
9323169689Skan	* doc/invoke.texi: Update -b and -V docs.
9324169689Skan
9325169689Skan2005-08-06  James E Wilson  <wilson@specifix.com>
9326169689Skan
9327169689Skan	* config/mips/cross64.h, config/mips/t-cross64: Delete.
9328169689Skan
9329169689Skan2005-08-06  Michael Matz  <matz@suse.de>
9330169689Skan
9331169689Skan	* genattrtab.c (write_attr_get, write_attr_case): Use insn_code
9332169689Skan	member only if only one insn is associated with the value.
9333169689Skan
9334169689Skan2005-08-06  Nick Clifton  <nickc@redhat.com>
9335169689Skan
9336169689Skan	* config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
9337169689Skan	New define.
9338169689Skan	(ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
9339169689Skan	* config/stormy16/stormy16.c (xstormy16_below100_symbol):
9340169689Skan	Check symbol flags instead of symbol name mangling.
9341169689Skan	(xstormy16_asm_output_aligned_common): Likewise.  Also
9342169689Skan	simplify code since the bss100_section cass is the only case
9343169689Skan	where the below100 code will be triggered.
9344169689Skan	(xstormy16_encode_section_info): Encode below100 attribute
9345169689Skan	using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
9346169689Skan	the name.
9347169689Skan	(xstormy16_strip_name_encoding): Delete - this function is no
9348169689Skan	longer needed.
9349169689Skan	(TARGET_STRIP_NAME_ENCODING): Undefine.
9350169689Skan	* config/stormy16/stormy16-protos.h: Delete prototype for
9351169689Skan	xstormy16_strip_name_encoding.
9352169689Skan
9353169689Skan2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
9354169689Skan
9355169689Skan	* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
9356169689Skan	config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
9357169689Skan	tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
9358169689Skan	config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
9359169689Skan	config/alpha/predicates.md, config/arc/arc.h,
9360169689Skan	config/arm/arm.h, config/arm/ieee754-df.S,
9361169689Skan	config/arm/ieee754-sf.S, config/bfin/bfin.c,
9362169689Skan	config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
9363169689Skan	config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
9364169689Skan	config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
9365169689Skan	config/m68hc11/m68hc11.h, config/mips/mips.c,
9366169689Skan	config/mips/mips.h, config/mips/openbsd.h,
9367169689Skan	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
9368169689Skan	config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
9369169689Skan	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
9370169689Skan	config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
9371169689Skan	config/sparc/linux.h, config/sparc/linux64.h,
9372169689Skan	config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
9373169689Skan	doc/extend.texi, doc/gcov.texi, doc/install.texi,
9374169689Skan	doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
9375169689Skan	typos.  Follow spelling conventions.
9376169689Skan
9377169689Skan2005-08-06  Joseph S. Myers  <joseph@codesourcery.com>
9378169689Skan
9379169689Skan	PR c/23113
9380169689Skan	* stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
9381169689Skan	Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
9382169689Skan	specially.  Check for side effects only for COND_EXPR.
9383169689Skan	* c-typeck.c (c_finish_stmt_expr): Mark statement expression
9384169689Skan	return with TREE_NO_WARNING.
9385169689Skan
9386169689Skan2005-08-06  Richard Sandiford  <richard@codesourcery.com>
9387169689Skan
9388169689Skan	PR rtl-optimization/23233
9389169689Skan	* loop.c (combine_movables): Require the modes to be the same.
9390169689Skan	(move_movables): Remove handling of cases where the replacement
9391169689Skan	had a different mode to the original.
9392169689Skan
9393169689Skan2005-08-05  James A. Morrison  <phython@gcc.gnu.org>
9394169689Skan
9395169689Skan	PR tree-optimization/23128
9396169689Skan	* tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
9397169689Skan	subtraction wrap, and set TREE_OVERFLOW if they do.
9398169689Skan
9399169689Skan2005-08-05  Richard Henderson  <rth@redhat.com>
9400169689Skan
9401169689Skan	PR 21728
9402169689Skan	* tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
9403169689Skan	FORCED_LABEL labels.
9404169689Skan
9405169689Skan2005-08-05  J"orn Rennecke <joern.rennecke@st.com>
9406169689Skan
9407169689Skan	PR middle-end/23135
9408169689Skan	* reload.c (find_reloads_subreg_address): Pass down TYPE
9409169689Skan	unchanged.  Change all callers except find_reloads_toplev.
9410169689Skan
9411169689Skan2005-08-05  Michael Matz  <matz@suse.de>
9412169689Skan
9413169689Skan	* genattrtab.c (current_alternative_string): Remove.
9414169689Skan	(SIMPLIFY_ALTERNATIVE): Ditto.
9415169689Skan	(attr_alt_bit_p): Ditto.
9416169689Skan	(alternative_name): Make const char *.
9417169689Skan	(evaluate_eq_attr): Remove use of above things.
9418169689Skan	(simplify_test_exp): Ditto.
9419169689Skan	(simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
9420169689Skan	(simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
9421169689Skan
9422169689Skan2005-08-04  James E Wilson  <wilson@specifix.com>
9423169689Skan
9424169689Skan	* config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
9425169689Skan	config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
9426169689Skan	config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
9427169689Skan	config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
9428169689Skan	(LINK_SPEC): Delete useless %{Wl,*:%*} item.
9429169689Skan
9430169689Skan2005-08-04  Richard Henderson  <rth@redhat.com>
9431169689Skan
9432169689Skan	PR 21529
9433169689Skan	* params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
9434169689Skan	* params.h (SRA_MAX_STRUCTURE_COUNT): New.
9435169689Skan	* tree-sra.c (decide_block_copy): Use it.  Disable element copy
9436169689Skan	if we'd have to instantiate too many members.
9437169689Skan
9438169689Skan2005-08-04  Richard Henderson  <rth@redhat.com>
9439169689Skan
9440169689Skan	PR 21291
9441169689Skan	* tree-outof-ssa.c (coalesce_asm_operands): New.
9442169689Skan	(coalesce_ssa_name): Use it.  Split out ...
9443169689Skan	(coalesce_phi_operands, coalesce_result_decls): ... these.
9444169689Skan
9445169689Skan2005-08-04  Paul Brook  <paul@codesourcery.com>
9446169689Skan
9447169689Skan	* read-rtl.c (read_quoted_string): Break if EOF.
9448169689Skan
9449169689Skan2005-08-04  Andrew Pinski  <pinskia@physics.uc.edu>
9450169689Skan
9451169689Skan	* tree.h (fold_build1): Change to macro and call fold_build1_stat.
9452169689Skan	(fold_build2): Likewise.
9453169689Skan	(fold_build3): Likewise.
9454169689Skan	(fold_build1_stat): New function prototype.
9455169689Skan	(fold_build2_stat): Likewise.
9456169689Skan	(fold_build3_stat): Likewise.
9457169689Skan	* fold-const.c (fold_build1): Rename to ..
9458169689Skan	(fold_build1_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
9459169689Skan	through to build1_stat.
9460169689Skan	(fold_build2): Rename to ..
9461169689Skan	(fold_build2_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
9462169689Skan	through to build2_stat.
9463169689Skan	(fold_build3): Rename to ..
9464169689Skan	(fold_build3_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
9465169689Skan	through to build3_stat.
9466169689Skan
9467169689Skan2005-08-04  David Edelsohn  <edelsohn@gnu.org>
9468169689Skan	    Ian Lance Taylor  <ian@airs.com>
9469169689Skan
9470169689Skan	* function.c (assign_stack_local_1): Do not correct stack slot
9471169689Skan	address if allocation size is smaller than mode size.
9472169689Skan
9473169689Skan2005-08-04  Diego Novillo  <dnovillo@redhat.com>
9474169689Skan
9475169689Skan	PR 22037
9476169689Skan	* tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
9477169689Skan	(tree_merge_blocks): Propagate anything allowed by
9478169689Skan	may_propagate_copy.
9479169689Skan	Clarify documentation.
9480169689Skan	* passes.c (execute_todo): If cleanup_tree_cfg invalidated the
9481169689Skan	SSA form, schedule an update if necessary.
9482169689Skan
9483169689Skan2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
9484169689Skan
9485169689Skan	* doc/install.texi (Binaries): Remove broken link to
9486169689Skan	Sinix/Reliant Unix binaries.
9487169689Skan
9488169689Skan2005-08-03  Richard Henderson  <rth@redhat.com>
9489169689Skan
9490169689Skan	PR 23221
9491169689Skan	* function.c (stack_protect_epilogue): Export.
9492169689Skan	* tree.h (stack_protect_epilogue): Declare.
9493169689Skan	* calls.c (expand_call): Call it.
9494169689Skan
9495169689Skan2005-08-03  Eric Christopher  <echristo@apple.com>
9496169689Skan
9497169689Skan	* gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
9498169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
9499169689Skan	spec.
9500169689Skan
9501169689Skan2005-08-04  Jan Hubicka  <jh@suse.cz>
9502169689Skan
9503169689Skan	* profile.c (branch_prob): Split edges with goto locus on them
9504169689Skan	to get proper line counts.
9505169689Skan	* tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
9506169689Skan
9507169689Skan2005-08-03  Paul Brook  <paul@codesourcery.com>
9508169689Skan
9509169689Skan	* function.c (assign_parms): Round current_function_args_size
9510169689Skan	to PARM_BOUNDARY, not STACK_BOUNDARY.
9511169689Skan
9512169689Skan2005-08-03  Geoffrey Keating  <geoffk@apple.com>
9513169689Skan
9514169689Skan	* config/i386/i386.c (x86_elf_aligned_common)
9515169689Skan	(x86_output_aligned_bss): Don't try to use symbols that aren't defined.
9516169689Skan
9517169689Skan2005-08-03  Zdenek Dvorak  <dvorakz@suse.cz>
9518169689Skan
9519169689Skan	PR tree-optimization/23157
9520169689Skan	* tree-scalar-evolution.c (scev_const_prop): Unshare trees
9521169689Skan	before emitting them.
9522169689Skan
9523169689Skan2005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9524169689Skan
9525169689Skan	PR tree-optimization/19899
9526169689Skan	* Makefile.in (tree-scalar-evolution.o): Add real.h.
9527169689Skan	* tree-scalar-evolution.c: Include real.h.
9528169689Skan	(add_to_evolution): Build constant -1 of correct type.
9529169689Skan
9530169689Skan2005-08-03  Jan Hubicka  <jh@suse.cz>
9531169689Skan
9532169689Skan	* cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
9533169689Skan	* cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
9534169689Skan	profile updating for complette unrolling.
9535169689Skan	* loop-unroll.c (peel_loop_completely): Use it.
9536169689Skan	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
9537169689Skan	(tree_unroll_loops_completely): Disable code growing unrolling of cold
9538169689Skan	loops.
9539169689Skan
9540169689Skan2005-08-03  Paul Brook  <paul@codesourcery.com>
9541169689Skan
9542169689Skan	* combine.c (can_change_dest_mode): New function.
9543169689Skan	(try_combine, simplify_set): Use it.
9544169689Skan
9545169689Skan2005-08-03  Eric Botcazou  <ebotcazou@adacore.com>
9546169689Skan
9547169689Skan	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
9548169689Skan	TFmode to BLKmode.
9549169689Skan
9550169689Skan2005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
9551169689Skan
9552169689Skan	* doc/install.texi (Specific): Adjust link to openavr.org.
9553169689Skan	(Specific): Remove broken reference to GCC 2.8.1 for OS/2.
9554169689Skan	(Binaries): Adjust HP-UX Porting Center link.
9555169689Skan	(Binaries): Adjust Free Software Foundation ordering link.
9556169689Skan
9557169689Skan2005-08-03  Andrew Pinski  <pinskia@physics.uc.edu>
9558169689Skan
9559169689Skan	* convert.c (convert_to_integer): Use fold_build1 instead of
9560169689Skan	build1 when converting an integer to an integer.
9561169689Skan
9562169689Skan2005-08-02  Richard Henderson  <rth@redhat.com>
9563169689Skan
9564169689Skan	* combine.c (combine_instructions): Don't use reg_equal/equiv
9565169689Skan	results if the mode doesn't match.
9566169689Skan
9567169689Skan2005-08-02  Mark Mitchell  <mark@codesourcery.com>
9568169689Skan
9569169689Skan	* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
9570169689Skan	* doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
9571169689Skan
9572169689Skan2005-08-02  Richard Henderson  <rth@redhat.com>
9573169689Skan
9574169689Skan	PR 23196
9575169689Skan	* explow.c (memory_address): Remove special-case for
9576169689Skan	virtual_stack_vars_rtx and virtual_incoming_args_rtx.
9577169689Skan
9578169689Skan2005-08-02  Diego Novillo  <dnovillo@redhat.com>
9579169689Skan
9580169689Skan	PR 23164
9581169689Skan	* tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
9582169689Skan	number of calls to cleanup_tree_cfg_1.
9583169689Skan
9584169689Skan2005-08-02  Martin Reinecke  <martin@mpa-garching.mpg.de>
9585169689Skan
9586169689Skan	* doc/invoke.texi: document file extensions .F90 and .F95
9587169689Skan
9588169689Skan2005-08-02  Richard Guenther  <rguenther@suse.de>
9589169689Skan
9590169689Skan	* fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
9591169689Skan	positive if its first argument is positive.
9592169689Skan
9593169689Skan2005-08-02  Richard Guenther  <rguenther@suse.de>
9594169689Skan
9595169689Skan	PR tree-optimization/23177
9596169689Skan	* tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
9597169689Skan	on TMR_TAG.
9598169689Skan
9599169689Skan2005-08-02  James A. Morrison  <phython@gcc.gnu.org>
9600169689Skan
9601169689Skan	PR tree-optimization/23129
9602169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Set value range to
9603169689Skan	varying for divisions with anti-ranges.
9604169689Skan
9605169689Skan2005-08-02  Jan Hubicka  <jh@suse.cz>
9606169689Skan
9607169689Skan	* tree-ssa-dom.c (thread_across_edge): Remove updating here.
9608169689Skan	* tree-ssa-threadupdate.c (thread_block): Add it here.
9609169689Skan
9610169689Skan2005-08-01  James E Wilson  <wilson@specifix.com>
9611169689Skan
9612169689Skan	* config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
9613169689Skan	TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
9614169689Skan	* config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
9615169689Skan	New.
9616169689Skan	* config/mips/predicates.md (const_call_insn_operand): Add check for
9617169689Skan	SYMBOL_REF_LONG_CALL_P.
9618169689Skan	* doc/extend.texi (long_call): Document the new attribute.
9619169689Skan
9620169689Skan2005-08-01  Ian Lance Taylor  <ian@airs.com>
9621169689Skan	    Richard Henderson  <rth@redhat.com>
9622169689Skan
9623169689Skan	* Makefile.in (RTL_BASE_H): Add real.h.
9624169689Skan	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
9625169689Skan	instead of memcpy.
9626169689Skan	* emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
9627169689Skan	directly.
9628169689Skan	* rtl.c (rtl_check_failed_code_mode): New.
9629169689Skan	* rtl.h (struct rtx_def): Add u.rv.
9630169689Skan	(XCMWINT, XCNMPRV): New.
9631169689Skan	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
9632169689Skan	(CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
9633169689Skan
9634169689Skan2005-08-01  Richard Henderson  <rth@redhat.com>
9635169689Skan
9636169689Skan	* dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
9637169689Skan	with auto-inc codes.
9638169689Skan
9639169689Skan	* config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
9640169689Skan
9641169689Skan2005-08-01  Jan Hubicka  <jh@suse.cz>
9642169689Skan
9643169689Skan	* i386-protos.h (asm_preferred_eh_data_format): Declare.
9644169689Skan	* i386.c: Include dwarf2.h
9645169689Skan	(asm_preferred_eh_data_format): New.
9646169689Skan	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
9647169689Skan
9648169689Skan2005-08-01  Ian Lance Taylor  <ian@airs.com>
9649169689Skan
9650169689Skan	* config/host-linux.c (linux_gt_pch_get_address): Add new name
9651169689Skan	randomize_va_space for virtual address randomization control.
9652169689Skan
9653169689Skan2005-08-01  Steven Bosscher  <stevenb@suse.de>
9654169689Skan
9655169689Skan	* common.opt (flag_ipa_cp): Put in right place to maintain
9656169689Skan	alphabetic sort.
9657169689Skan
9658169689Skan2005-08-01  Jan Hubicka  <jh@suse.cz>
9659169689Skan
9660169689Skan	* profile.c (compute_value_histograms): Fix thinko.
9661169689Skan	* value-prof.c: Include toplev.h
9662169689Skan	(check_counter): New function.
9663169689Skan	(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
9664169689Skan	tree_mod_subtract_transform): Add sanity check.
9665169689Skan
9666169689Skan2005-08-01  Richard Guenther  <rguenther@suse.de>
9667169689Skan
9668169689Skan	PR tree-optimization/23133
9669169689Skan	* tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
9670169689Skan	current functions parameter decls to find defs to cse
9671169689Skan	reciprocals of.
9672169689Skan
9673169689Skan2005-08-01  Richard Guenther  <rguenther@suse.de>
9674169689Skan
9675169689Skan	PR tree-optimization/23109
9676169689Skan	* tree-ssa-math-opts.c (execute_cse_reciprocals_1):
9677169689Skan	If trapping math is in effect, use post-dominator information
9678169689Skan	to check if we'd in any case reach a trapping point before
9679169689Skan	doing the reciprocal insertion.
9680169689Skan	(execute_cse_reciprocals): Compute post-dominators, if necessary.
9681169689Skan	* tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
9682169689Skan	expressions are invariant only if trapping math is not in effect.
9683169689Skan
9684169689Skan2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
9685169689Skan
9686169689Skan	* cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
9687169689Skan	cgraph_function_versioning): New declarations.
9688169689Skan	* cgraphunit.c: Add include to ipa-prop.h.
9689169689Skan	(update_call_expr, cgraph_copy_node_for_versioning,
9690169689Skan	cgraph_function_versioning): New functions.
9691169689Skan	* integrate.c (copy_decl_for_inlining): Remove.
9692169689Skan	* ipa-prop.h (ipa_replace_map): New struct.
9693169689Skan	(struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
9694169689Skan	* ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
9695169689Skan	ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
9696169689Skan	ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
9697169689Skan	ipcp_iterate_stage, ipcp_method_scale_print,
9698169689Skan	ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
9699169689Skan	ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
9700169689Skan	ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
9701169689Skan	ipcp_update_bb_counts, ipcp_update_profiling,
9702169689Skan	ipcp_update_edges_counts): New functions.
9703169689Skan	(ipcp_method_cval_init): Remove restriction regarding local methods.
9704169689Skan	(ipcp_init_stage): Add ipcp_method_compute_scale.
9705169689Skan	(ipcp_insert_stage): Add versioning.
9706169689Skan	(ipcp_structures_print): Add ipcp_method_scale_print.
9707169689Skan	(ipcp_driver): Dump profiling info.
9708169689Skan	* Makefile.in: Remove integrate.h dependency from tree-inline.o.
9709169689Skan	Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
9710169689Skan	* tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
9711169689Skan	(struct inline_data): Add versioning_p, ipa_info, new fields.
9712169689Skan	(remap_decl, mark_local_for_remap_r, setup_one_parameter,
9713169689Skan	declare_return_variable): Replace calls to copy_decl_for_inlining with
9714169689Skan	copy_decl_for_dup.
9715169689Skan	(copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
9716169689Skan	versioning support.
9717169689Skan	(copy_decl_for_dup): Rename from copy_decl_for_inlining.
9718169689Skan	Add argument VERSIONING.
9719169689Skan	(copy_arguments_for_versioning, copy_static_chain,
9720169689Skan	function_versionable_p, tree_versionable_function_p,
9721169689Skan	tree_function_versioning, replace_ref_tree): New functions.
9722169689Skan	* tree-inline.h: Include varray.h.
9723169689Skan	(tree_versionable_function_p,  tree_function_versioning,
9724169689Skan	tree copy_decl_for_dup): New declarations.
9725169689Skan
9726169689Skan2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
9727169689Skan
9728169689Skan	* ipa-cp.c: New file. Contains IPCP specific functionality.
9729169689Skan	* ipa-prop.h: New file. Contains structures/definitions that can be
9730169689Skan	used by several interprocedural data flow optimizations (and also IPCP).
9731169689Skan	* ipa-prop.c: New file.
9732169689Skan	* Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
9733169689Skan	* common.opt: Add ipa-cp flag.
9734169689Skan	* timevar.def: Add IPCP optimization.
9735169689Skan	* tree-optimize.c (init_tree_optimization_passes): Schedule
9736169689Skan	pass_ipa_cp.
9737169689Skan	* tree-pass.h (pass_ipa_cp): Declare.
9738169689Skan
9739169689Skan2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
9740169689Skan
9741169689Skan	* dwarf2out.c, fold-const.c, ipa-type-escape.c,
9742169689Skan	loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
9743169689Skan	tree-sra.c, config/arm/arm.c, config/crx/crx.c,
9744169689Skan	config/i386/i386.c, config/mips/mips.h,
9745169689Skan	config/rs6000/rs6000.h, config/sh/sh.c,
9746169689Skan	config/stormy16/stormy16.c: Fix comment typos.
9747169689Skan
9748169689Skan2005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
9749169689Skan
9750169689Skan	PR c/22311
9751169689Skan	* c-typeck.c (build_binary_op): Use common_type wrapper on
9752169689Skan	shortened types.
9753169689Skan	(common_type): Update comment.
9754169689Skan
9755169689Skan2005-07-31  Steven Bosscher  <stevenb@suse.de>
9756169689Skan
9757169689Skan	PR target/23095
9758169689Skan	* common.opt (flag_gcse_after_reload): Don't initialize to 2.
9759169689Skan	(flag_rerun_cse_after_loop): Initialize this to 2 instead.
9760169689Skan	* postreload-gcse.c (hash_scan_set): Do not consider stack regs.
9761169689Skan
9762169689Skan2005-07-31  Jan Hubicka  <jh@suse.cz>
9763169689Skan
9764169689Skan	* pretty-print.h (pp_widest_integer): New macro.
9765169689Skan	* tree-pretty-print.c (dump_bb_header): Print BB frequencies and
9766169689Skan	counts.
9767169689Skan
9768169689Skan2005-07-31  Jan Hubicka  <jh@suse.cz>
9769169689Skan
9770169689Skan	* output.h (enum section_category): Export from varasm.c
9771169689Skan	(categorize_decl_for_section): Likewise.
9772169689Skan	* varasm.c (enum section_category): Kill.
9773169689Skan	(categorize_decl_for_section): Make global.
9774169689Skan	* i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
9775169689Skan	Declare.
9776169689Skan	* i386.c (ix86_section_threshold): New static variable.
9777169689Skan	(ix86_in_large_data_p, ix86_encode_section_info,
9778169689Skan	x86_64_elf_unique_section,
9779169689Skan	x86_64_elf_select_section): New functions.
9780169689Skan	(TARGET_ENCODE_SECTION_INFO): Define
9781169689Skan	(override_options): Enable medium model for PIC.
9782169689Skan	(ix86_expand_prologue): Expand gen_set_got_rex64.
9783169689Skan	(legitimate_constant_p): Handle new UNSPECs.
9784169689Skan	(legitimate_pic_address_disp_p): Likewise.
9785169689Skan	(legitimize_pic_address): Lower MEDIUM model addressing.
9786169689Skan	* i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
9787169689Skan	(enum cmodel): Add MEDIUM_PIC.
9788169689Skan	(SYMBOL_REF_FAR_ADDR_P): New macro.
9789169689Skan	(SYMBOL_FLAG_FAR_ADDR): New flag.
9790169689Skan	* i386.md (movdi): Support medium model.
9791169689Skan	(set_got_rex64): New pattern.
9792169689Skan	* i386.opt (mlarge-data-threshold): New flag.
9793169689Skan	* predicates.md (zext_operand/sext_operand): Deal with medium model.
9794169689Skan	* x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
9795169689Skan	(ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
9796169689Skan	TARGET_ASM_UNIQUE_SECTION): New.
9797169689Skan
9798169689Skan	* invoke.texi (-mlarge_data_threshold): Document
9799169689Skan
9800169689Skan2005-07-31  Jan Hubicka  <jh@suse.cz>
9801169689Skan
9802169689Skan	* tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
9803169689Skan	(coalesce_vars): Likewise.
9804169689Skan	* tree-ssa-live.c (coalesce_cost): New.
9805169689Skan	(build_tree_conflict_graph): Use coalesce_cost.
9806169689Skan	* tree-ssa-live.h (coalesce_cost): Declare.
9807169689Skan
9808169689Skan2005-07-30  Richard Earnshaw  <richard.earnshaw@arm.com>
9809169689Skan
9810169689Skan	* arm.md (all peepholes for post-increment operations): Delete.
9811169689Skan	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
9812169689Skan	(loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
9813169689Skan	(loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
9814169689Skan	(loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
9815169689Skan	(strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
9816169689Skan
9817169689Skan2005-07-30  James A. Morrison  <phython@gcc.gnu.org>
9818169689Skan
9819169689Skan	* fold-const.c (tree_expr_nonnegative_p): Always return true for
9820169689Skan	non-integral types.
9821169689Skan
9822169689Skan2005-07-29  Wolfgang Bangerth <bangerth@dealii.org>
9823169689Skan
9824169689Skan	PR target/22582
9825169689Skan	* doc/invoke.texi: Document -rdynamic.
9826169689Skan
9827169689Skan2005-07-30  Joseph S. Myers  <joseph@codesourcery.com>
9828169689Skan
9829169689Skan	PR c/23143
9830169689Skan	* c-parser.c (c_parser_parms_list_declarator): Call
9831169689Skan	mark_forward_parm_decls.
9832169689Skan	* c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
9833169689Skan	decls with visibility structure.
9834169689Skan
9835169689Skan2005-07-30  Paul Brook  <paul@codesourcery.com>
9836169689Skan
9837169689Skan	* config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
9838169689Skan
9839169689Skan2005-07-30  Paul Brook  <paul@codesourcery.com>
9840169689Skan
9841169689Skan	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
9842169689Skan	prototype.
9843169689Skan	* config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
9844169689Skan	value for mode.
9845169689Skan	* config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
9846169689Skan
9847169689Skan2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
9848169689Skan
9849169689Skan	PR c/529
9850169689Skan	* c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
9851169689Skan	nested function declarators.
9852169689Skan	(pushdecl): Don't call warn_if_shadowing for PARM_DECL.
9853169689Skan	(grokparms): Call warn_if_shadowing for parameters used within the
9854169689Skan	parameter list.
9855169689Skan	(store_parm_decls_newstyle): Call warn_if_shadowing for parameters
9856169689Skan	not used within the parameter list.
9857169689Skan	(store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
9858169689Skan
9859169689Skan2005-07-30  Jan Hubicka  <jh@suse.cz>
9860169689Skan
9861169689Skan	* expr.c (expand_expr_real_1): Do not load mem targets into register.
9862169689Skan	* i386.c (ix86_fixup_binary_operands): Likewise.
9863169689Skan	(ix86_expand_unary_operator): Likewise.
9864169689Skan	(ix86_expand_fp_absneg_operator): Likewise.
9865169689Skan	* optabs.c (expand_vec_cond_expr): Validate dest.
9866169689Skan
9867169689Skan2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
9868169689Skan
9869169689Skan	PR c/21720
9870169689Skan	* real.c (real_from_string): Also set last bit if there is a
9871169689Skan	nonzero hex digit beyond GCC's internal precision after ".".
9872169689Skan
9873169689Skan2005-07-29  David Edelsohn  <edelsohn@gnu.org>
9874169689Skan
9875169689Skan	* config/rs6000/altivec.md: Convert UNSPEC numerical values to
9876169689Skan	define_constants.  Change duplicate values to unassigned numbers.
9877169689Skan	Change UNSPEC_SUBS to UNSPEC_VSUBS.
9878169689Skan	(*altivec_vspltsf): New.
9879169689Skan	(altivec_vperm_v4sf): Delete.
9880169689Skan	(altivec_vperm_<mode>): Use mode macro V.
9881169689Skan	(altivec_vsldoi_<mode>): Convert to mode macro pattern.
9882169689Skan	(altivec_predicate_v4sf): Delete.
9883169689Skan	(altivec_predicate_<mode>): Use mode macro V.
9884169689Skan	(*altivec_lvesfx): New.
9885169689Skan	(*altivec_stvesfx): New.
9886169689Skan	(vec_realign_load_v4sf): Delete.
9887169689Skan	(vec_realign_load_<mode>): Use mode macro V.
9888169689Skan	* config/rs6000/rs6000.c (generate_set_vrsave): Use
9889169689Skan	UNSPECV_SET_VRSAVE.
9890169689Skan
9891169689Skan2005-07-29  Mark Mitchell  <mark@codesourcery.com>
9892169689Skan
9893169689Skan	PR bootstrap/23131
9894169689Skan	* configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
9895169689Skan	string.
9896169689Skan	* configure: Regenerated.
9897169689Skan
9898169689Skan2005-07-29  Paul Brook  <paul@codesourcery.com>
9899169689Skan
9900169689Skan	* doc/install.texi: Add link to GFortran binaries wiki page.
9901169689Skan
9902169689Skan2005-07-29  David Ung  <davidu@mips.com>
9903169689Skan
9904169689Skan	* config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
9905169689Skan	(mips_rtx_cost_data): Add costs for 5kc and 5kf.
9906169689Skan	* config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
9907169689Skan	* config/mips/mips.md (cpu): Add 5kf name.
9908169689Skan	(includes): Includes 5k.md.
9909169689Skan	* config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
9910169689Skan	* doc/invoke.texi (MIPS Options): Updated cpu name supported with
9911169689Skan	-march flag.
9912169689Skan
9913169689Skan2005-07-29  Diego Novillo  <dnovillo@redhat.com>
9914169689Skan
9915169689Skan	PR 22550
9916169689Skan	* tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
9917169689Skan	(cleanup_tree_cfg): ... here.
9918169689Skan	Call cleanup_tree_cfg_1 until there are no more cleanups to
9919169689Skan	do.
9920169689Skan
9921169689Skan2005-07-29  James A. Morrison  <phython@gcc.gnu.org>
9922169689Skan
9923169689Skan	* tree-vrp.c (compare_range_with_value): Return true or false
9924169689Skan	for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
9925169689Skan	EQ_EXPR respectively.
9926169689Skan
9927169689Skan2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
9928169689Skan
9929169689Skan	* cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
9930169689Skan	Fix comment typos.
9931169689Skan
9932169689Skan2005-07-29  Diego Novillo  <dnovillo@redhat.com>
9933169689Skan
9934169689Skan	* tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
9935169689Skan	(tree_ssa_dominator_optimize): Increment it.
9936169689Skan	(dump_dominator_optimization_stats): Print it.
9937169689Skan
9938169689Skan2005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
9939169689Skan	    Steven Bosscher  <stevenb@suse.de>
9940169689Skan
9941169689Skan	PR rtl-optimization/23117
9942169689Skan	* sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
9943169689Skan	when head == tail.  Tidy comment.
9944169689Skan
9945169689Skan2005-07-28  Richard Henderson  <rth@redhat.com>
9946169689Skan
9947169689Skan	* cse.c (exp_equiv_p): Special case CONST_DOUBLE.
9948169689Skan	* cselib.c (rtx_equal_for_cselib_p): Likewise.
9949169689Skan	* jump.c (rtx_renumbered_equal_p): Likewise.
9950169689Skan	* loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
9951169689Skan	CONST_INT and CONST_DOUBLE.
9952169689Skan	(rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
9953169689Skan	* reload.c (operands_match_p): Special case CONST_INT and
9954169689Skan	CONST_DOUBLE; check mode earlier.
9955169689Skan
9956169689Skan2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
9957169689Skan
9958169689Skan	PR c/22240
9959169689Skan	* c-typeck.c (convert_for_assignment): Do not check
9960169689Skan	DECL_IN_SYSTEM_HEADER on NULL fundecl.
9961169689Skan
9962169689Skan2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
9963169689Skan
9964169689Skan	PR c/22192
9965169689Skan	* c-typeck.c (composite_type): Prefer constant size arrays to
9966169689Skan	VLAs.
9967169689Skan
9968169689Skan2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
9969169689Skan
9970169689Skan	PR c/21720
9971169689Skan	* real.c (real_from_string): Set last bit if there is a nonzero
9972169689Skan	hex digit beyond GCC's internal precision.
9973169689Skan
9974169689Skan2005-07-28  Richard Henderson  <rth@redhat.com>
9975169689Skan
9976169689Skan	PR rtl-opt/22619
9977169689Skan	* cfgcleanup.c (try_forward_edges): Watch out for end of
9978169689Skan	insn chain.
9979169689Skan
9980169689Skan2005-07-28  James E Wilson  <wilson@specifixinc.com>
9981169689Skan
9982169689Skan	PR c/23106
9983169689Skan	* doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
9984169689Skan
9985169689Skan2005-07-28  Jan Hubicka  <jh@suse.cz>
9986169689Skan
9987169689Skan	* Makefile.in (rtl-profile.o): Kill all traces of it.
9988169689Skan	* common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
9989169689Skan	* coverage.h (rtl_coverage_counter_ref): Kill.
9990169689Skan	* opts.c (flag_speculative_prefetching_set): Kill.
9991169689Skan	(flag_loop_optimize_set): New.
9992169689Skan	(common_handle_option): Disable loop optimizer when profiling;
9993169689Skan	do not handle speculative prefetching.
9994169689Skan	* passes.c (init_optimization_passes): Replace pass_profiling combo
9995169689Skan	by branch_prob pass.
9996169689Skan	* profile.c (compute_value_histograms): Update for simplified value
9997169689Skan	profiles.
9998169689Skan	(rtl_register_profile_hooks): Kill.
9999169689Skan	(pass_profiling): Kill.
10000169689Skan	(rest_of_handle_branch_prob): Do not profile.
10001169689Skan	* toplev.c (process_options): Remove speculative prefetching.
10002169689Skan	* toplev.h (flag_tree_based_profiling): Kill.
10003169689Skan	* tree-profile.c (prepare_instrumented_value,
10004169689Skan	tree_gen_interval_profiler, tree_gen_pow2_profiler,
10005169689Skan	tree_gen_one_value_profiler, do_tree_profiling): Update for
10006169689Skan	simplified datastructures.
10007169689Skan	* value-prof.c: Add comment that speculative prefetching was dropped;
10008169689Skan	update rest of file for simplified datastructures.
10009169689Skan	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
10010169689Skan	rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
10011169689Skan	find_mem_reference_1, find_mem_reference_2, find_mem_reference,
10012169689Skan	rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
10013169689Skan	rtl_mod_subtract, gen_speculative_prefetch,
10014169689Skan	rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
10015169689Skan	rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
10016169689Skan	(gate_handle_value_profile_transformations,
10017169689Skan	rest_of_handle_value_profile_transformations,
10018169689Skan	pass_value_profile_transformations): Kill.
10019169689Skan	* value-prof.h (histogram_value_t): Remove IL based unions.
10020169689Skan	(rtl_register_value_prof_hooks, rtl_register_profile_hooks,
10021169689Skan	rtl_profile_hooks): Remove hooks.
10022169689Skan
10023169689Skan	* invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
10024169689Skan
10025169689Skan	* cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
10026169689Skan	(cgraph_clone_node): Likewise.
10027169689Skan	* cgraph.h (cgraph_clone_edge): Update prototype.
10028169689Skan	(cgraph_clone_node): Likewise.
10029169689Skan	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
10030169689Skan	cgraph_clone_node.
10031169689Skan	(lookup_recursive_calls): Consider profile.
10032169689Skan	(cgraph_decide_recursive_inlining): Fix updating; use new
10033169689Skan	probability argument; use profile.
10034169689Skan	* params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
10035169689Skan	* tree-inline.c (copy_bb): Update clal of clone_edge.
10036169689Skan	* tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
10037169689Skan
10038169689Skan	* invoke.texi (min-inline-recursive-probability): Document.
10039169689Skan
10040169689Skan2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
10041169689Skan
10042169689Skan	* doc/install.texi (Configuration): Update Valgrind homepage.
10043169689Skan
10044169689Skan2005-07-28  Richard Henderson  <rth@redhat.com>
10045169689Skan
10046169689Skan	PR middle-end/21362
10047169689Skan	* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
10048169689Skan	labels we want to delete.
10049169689Skan	(cfg_layout_merge_blocks): Likewise.
10050169689Skan
10051169689Skan2005-07-28  Richard Henderson  <rth@redhat.com>
10052169689Skan
10053169689Skan	PR target/17692
10054169689Skan	* config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
10055169689Skan	when expanding to nothing.
10056169689Skan
10057169689Skan2005-07-28  Josh Conner  <jconner@apple.com>
10058169689Skan
10059169689Skan	* ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
10060169689Skan	(cgraph_decide_inlining_of_small_functions): Likewise.
10061169689Skan
10062169689Skan2005-07-28  Josh Conner  <jconner@apple.com>
10063169689Skan
10064169689Skan	* ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
10065169689Skan	direction of badness if negative.
10066169689Skan	(cgraph_default_inline_p): Add reason to parameters, and assign it
10067169689Skan	a value.
10068169689Skan	(cgraph_decide_inlining_of_small_functions): New parameter in call
10069169689Skan	to cgraph_default_inline_p.
10070169689Skan	(cgraph_decide_inlining_incrementally): Likewise.
10071169689Skan	* cgraphunit.c (decide_is_function_needed): Likewise.
10072169689Skan	* cgraph.h (cgraph_default_inline_p): Likewise.
10073169689Skan
10074169689Skan2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10075169689Skan
10076169689Skan	* builtins.c: Fix comment typo(s).
10077169689Skan	* genautomata.c: Likewise.
10078169689Skan	* gimplify.c: Likewise.
10079169689Skan	* tree-dfa.c: Likewise.
10080169689Skan	* tree-flow-inline.h: Likewise.
10081169689Skan	* tree-into-ssa.c: Likewise.
10082169689Skan	* tree-ssa-alias.c: Likewise.
10083169689Skan	* tree-ssa-ccp.c: Likewise.
10084169689Skan	* tree-ssa-copy.c: Likewise.
10085169689Skan	* tree-ssa-dce.c: Likewise.
10086169689Skan	* tree-ssa-dom.c: Likewise.
10087169689Skan	* tree-ssa-operands.c: Likewise.
10088169689Skan	* tree-tailcall.c: Likewise.
10089169689Skan	* tree-vectorizer.c: Likewise.
10090169689Skan	* tree-vrp.c: Likewise.
10091169689Skan	* tree.c: Likewise.
10092169689Skan
10093169689Skan2005-07-28  Jeff Law  <law@redhat.com>
10094169689Skan
10095169689Skan	* tree-vrp.c (test_for_singularity): Extracted from  ...
10096169689Skan	(simplify_cond_using_ranges): Attempt to simplify a relational
10097169689Skan	test to NE_EXPR.  Dump information when a COND_EXPR is simplified.
10098169689Skan
10099169689Skan2005-07-28  Dorit Nuzman  <dorit@il.ibm.com>
10100169689Skan
10101169689Skan	PR tree-optimization/22506
10102169689Skan	* tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
10103169689Skan	phis whose argument is constant.
10104169689Skan
10105169689Skan2005-07-28  J"orn Rennecke <joern.rennecke@st.com>
10106169689Skan
10107169689Skan	PR rtl-optimization/18992
10108169689Skan	Back out this patch:
10109169689Skan	  2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10110169689Skan	  PR optimization/12142
10111169689Skan	  * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
10112169689Skan	  uses of the register in the SET_SRC.  Remove unnecessary argument.
10113169689Skan
10114169689Skan	Replace it with this:
10115169689Skan	* cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
10116169689Skan	if flag_non_call_exceptions is set and the insn may trap, pass
10117169689Skan	pc_rtx as dest for recursion.
10118169689Skan	In SET_SRC part of SET case, if dest is already set, pass it down
10119169689Skan	unchanged.
10120169689Skan
10121169689Skan2005-07-28  Jan Hubicka  <jh@suse.cz>
10122169689Skan
10123169689Skan	* cfg.c (update_bb_profile_for_threading): Use RDIV.
10124169689Skan	(scale_bbs_frequencies_int): Likewise, assert for possible overflow.
10125169689Skan	(scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
10126169689Skan	roundoff errors.
10127169689Skan	* tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
10128169689Skan	profile when available.
10129169689Skan
10130169689Skan2005-07-28  Jan Beulich <jbeulich@novell.com>
10131169689Skan
10132169689Skan	* config/ia64/ia64.c (ia64_load_pair_ok): New.
10133169689Skan	(ia64_print_operand): Describe and handle 'X'.
10134169689Skan	(ia64_register_move_cost): Also handle FP_REGS.
10135169689Skan	(ia64_preferred_reload_class): Likewise.
10136169689Skan	(ia64_secondary_reload_class): Likewise.
10137169689Skan	(ia64_dependencies_evaluation_hook): New local variable c. Initialize
10138169689Skan	it. Also check for ITANIUM_CLASS_FLDP.
10139169689Skan	* config/ia64/ia64.h (FP_REGNO_P): New.
10140169689Skan	(HARD_REGNO_MODE_OK): Remove explusion of TImode.
10141169689Skan	(reg_class): Add FP_REGS.
10142169689Skan	(REG_CLASS_NAMES): Adjust for it.
10143169689Skan	(REG_CLASS_CONTENTS): Likewise.
10144169689Skan	(REGNO_REG_CLASS): Use FP_REGS where appropriate.
10145169689Skan	(REG_CLASS_FROM_LETTER): Handle 'x'.
10146169689Skan	(CLASS_MAX_NREGS): Handle FP_REGS.
10147169689Skan	(MEMORY_MOVE_COST): Likewise.
10148169689Skan	* config/ia64/ia64.md (itanium_class): Add fldp.
10149169689Skan	(type): Handle fldp.
10150169689Skan	(movti_internal): More allowable operand combinations. Use ldfp8 when
10151169689Skan	splitting unnecessary. Remove predicable attribute. Adjust
10152169689Skan	itanium_class attribute.
10153169689Skan	(smuldi3_highpart): Remove outdated comment.
10154169689Skan	(mulditi3, umulditi3, rotlti3): New expanders.
10155169689Skan	(addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
10156169689Skan	(absti2): Disabled new insn for future reference.
10157169689Skan	Respective new splitters.
10158169689Skan	* config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
10159169689Skan	* config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
10160169689Skan	* config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
10161169689Skan
10162169689Skan2005-07-25  James A. Morrison  <phython@gcc.gnu.org>
10163169689Skan
10164169689Skan	PR rtl-optimization/23047
10165169689Skan	* simplify-rtx.c (simplify_const_relational_operation): Respect
10166169689Skan	flag_wrapv for comparisons with ABS.
10167169689Skan
10168169689Skan2005-07-27  James A. Morrison  <phython@gcc.gnu.org>
10169169689Skan
10170169689Skan	PR tree-optimization/22493
10171169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
10172169689Skan	VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
10173169689Skan
10174169689Skan2005-07-27  Aldy Hernandez  <aldyh@redhat.com>
10175169689Skan
10176169689Skan	* config/frv/frv.opt (moptimize-membar): New.
10177169689Skan
10178169689Skan	* doc/invoke.texi: Document -moptimize-membar and its inverse.
10179169689Skan
10180169689Skan	* config/frv/frv.h: Remove machine_function definition.
10181169689Skan
10182169689Skan	* config/frv/frv.c (struct frv_io): New.
10183169689Skan	(struct machine_function): Moved from frv.h.  Add has_membar_p.
10184169689Skan	(frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
10185169689Skan	(frv_extract_membar, frv_io_check_address, frv_io_handle_set)
10186169689Skan	(frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
10187169689Skan	(frv_optimize_membar_global, frv_optimize_membar): New functions.
10188169689Skan	(frv_reorg): Call frv_optimize_membar when appropriate.
10189169689Skan	(bdesc_loads, bdesc_stores): Use the membar code as the icode field.
10190169689Skan	(frv_expand_builtin): Adjust calls accordingly.
10191169689Skan	(frv_io_address_cookie): New function.
10192169689Skan	(frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
10193169689Skan	load or store rather than a special insn.  Add ccnstant address and
10194169689Skan	io-type operands to the membar.
10195169689Skan	(frv_ifcvt_modify_tests): Unsign regno.
10196169689Skan	(frv_ifcvt_modify_tests): Same.
10197169689Skan
10198169689Skan	* config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}.  Change
10199169689Skan	UNSPEC_OPTIONAL_MEMBAR constant.
10200169689Skan	(builtin_read_<mode>): Delete.
10201169689Skan	(builtin_write_<mode>): Delete.
10202169689Skan	("optional_membar_<mode>"): Add operand.
10203169689Skan
10204169689Skan	* testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
10205169689Skan	* testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
10206169689Skan	* testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
10207169689Skan	* testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
10208169689Skan	* testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
10209169689Skan	* testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
10210169689Skan	* testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
10211169689Skan	* testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
10212169689Skan	* testsuite/gcc.target/frv/all-read-write-1.c: New.
10213169689Skan
10214169689Skan2005-07-28  Kaz Kojima  <kkojima@gcc.gnu.org>
10215169689Skan
10216169689Skan	* df.c (df_uses_record): Handle SCRATCH.
10217169689Skan
10218169689Skan2005-07-28  Steven Bosscher  <stevenb@suse.de>
10219169689Skan
10220169689Skan	PR debug/20161
10221169689Skan	* passes.c (rest_of_decl_compilation): If decl is a type and
10222169689Skan	we have encountered errors, don't emit debug information.
10223169689Skan
10224169689Skan2005-07-27  Kenneth Zadeck <zadeck@naturalbridge.com>
10225169689Skan
10226169689Skan	* params.def: Fixed comment.
10227169689Skan
10228169689Skan2005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
10229169689Skan
10230169689Skan	PR target/19885
10231169689Skan	* config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
10232169689Skan	(TARGET_ASM_UNALIGNED_HI_OP): Add.
10233169689Skan	(TARGET_ASM_UNALIGNED_SI_OP): Add.
10234169689Skan
10235169689Skan2005-07-27  Steven Bosscher  <stevenb@suse.de>
10236169689Skan
10237169689Skan	PR c++/22003
10238169689Skan	* varasm.c (assemble_start_function): Don't do anything that may
10239169689Skan	require a CFG if the current function is a thunk.
10240169689Skan
10241169689Skan2005-07-25  Geoffrey Keating  <geoffk@apple.com>
10242169689Skan
10243169689Skan	* doc/install.texi (Prerequisites): Mention that perl is needed
10244169689Skan	to do export control in libstdc++ targetting Darwin.
10245169689Skan
10246169689Skan2005-07-27  Steven Bosscher  <stevenb@suse.de>
10247169689Skan
10248169689Skan	PR rtl-optimization/17808
10249169689Skan	* sched-deps.c (sched_get_condition): Enable #if 0'ed code.
10250169689Skan	(sched_insns_conditions_mutex_p): Split out from...
10251169689Skan	(add_dependence): ...here.  But don't call it from here.
10252169689Skan	(add_dependence_list): Check sched_insns_conditions_mutex_p
10253169689Skan	before calling add_dependence.
10254169689Skan	(add_dependence_list_and_free): Likewise.
10255169689Skan	(fixup_sched_groups): Likewise.
10256169689Skan	(sched_analyze_1): Likewise.
10257169689Skan	(sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
10258169689Skan	(sched_analyze): Likewise.
10259169689Skan	(sched_analyze_insn): Likewise.
10260169689Skan	* sched-ebb.c (add_deps_for_risky_insns): Likewise.
10261169689Skan	* sched-rgn.c (add_branch_dependences): Likewise.  Also, add
10262169689Skan	dependencies on all COND_EXEC insns to jumps ending basic blocks
10263169689Skan	when doing intrablock scheduling.
10264169689Skan	* sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
10265169689Skan
10266169689Skan2005-07-27  Jeff Law  <law@redhat.com>
10267169689Skan
10268169689Skan	* tree-vrp.c (vrp_meet): Intersect the equivalency sets when
10269169689Skan	meeting a VR_ANTI_RANGE with a VR_RANGE.  When intersecting
10270169689Skan	equivalency sets, correctly handle the case were vr0 has an
10271169689Skan	equivalency set, but vr1 does not.
10272169689Skan
10273169689Skan2005-07-27  Dorit Nuzman  <dorit@il.ibm.com>
10274169689Skan
10275169689Skan	PR tree-optimization/23073
10276169689Skan	* tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
10277169689Skan	vect_print_dump_info before fprintf.
10278169689Skan
10279169689Skan2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
10280169689Skan
10281169689Skan	PR tree-optimize/22348
10282169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond):
10283169689Skan	Fold the partial computation.
10284169689Skan
10285169689Skan2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
10286169689Skan
10287169689Skan	PR tree-optimization/22325
10288169689Skan	* tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
10289169689Skan	Declare.
10290169689Skan	* tree-scalar-evolution.c (scev_const_prop): Add generic final
10291169689Skan	value replacement.
10292169689Skan	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
10293169689Skan	(force_var_cost): ... this function.
10294169689Skan	(compute_phi_arg_on_exit): Export.
10295169689Skan
10296169689Skan2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
10297169689Skan
10298169689Skan	PR tree-optimization/20773
10299169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
10300169689Skan	edge.
10301169689Skan
10302169689Skan2005-07-27  Richard Guenther  <rguenther@suse.de>
10303169689Skan
10304169689Skan	* tree-ssa-structalias.c (push_fields_onto_fieldstack):
10305169689Skan	Avoid pushing again if current struct contains only
10306169689Skan	fields we decomposed.
10307169689Skan
10308169689Skan2005-07-27  Jan Hubicka  <jh@suse.cz>
10309169689Skan
10310169689Skan	PR tree-optimization/22574
10311169689Skan	* cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
10312169689Skan	not available.
10313169689Skan
10314169689Skan	* tree-tailcall.c (decrease_profile): New function.
10315169689Skan	(eliminate_tail_call): Use it.
10316169689Skan
10317169689Skan	* cgraphunit.c (cgraph_function_and_variable_visibility): Set
10318169689Skan	visibility flags correctly in whole program mode.
10319169689Skan
10320169689Skan2005-07-26  Steve Ellcey  <sje@cup.hp.com>
10321169689Skan
10322169689Skan	PR rtl-optimization/22472
10323169689Skan	* config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
10324169689Skan
10325169689Skan2005-07-26  Steven Bosscher  <stevenb@suse.de>
10326169689Skan
10327169689Skan	PR tree-optimization/22504
10328169689Skan	* tree-complex.c (expand_complex_addition): Use 'code' instead
10329169689Skan	of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
10330169689Skan
10331169689Skan2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
10332169689Skan
10333169689Skan	* config.gcc (cpu_type): Add frv case.
10334169689Skan	(with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
10335169689Skan	(supported_defaults): Add fr550 case.
10336169689Skan
10337169689Skan2005-07-26  Diego Novillo  <dnovillo@redhat.com>
10338169689Skan
10339169689Skan	PR 22591
10340169689Skan	* tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
10341169689Skan	whether a pointer of type T * may point to objects of type T *.
10342169689Skan
10343169689Skan2005-07-26  DJ Delorie  <dj@redhat.com>
10344169689Skan
10345169689Skan	* configure: Regenerate.
10346169689Skan
10347169689Skan2005-07-26  Dale Johannesen  <dalej@apple.com>
10348169689Skan
10349169689Skan	* postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
10350169689Skan
10351169689Skan2005-07-26  Mark Mitchell  <mark@codesourcery.com>
10352169689Skan
10353169689Skan	* doc/install.texi (--with-build-sysroot): Fix grammatical error.
10354169689Skan	Clarify use of "build" in name.
10355169689Skan
10356169689Skan2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
10357169689Skan
10358169689Skan	* doc/extend.texi (Raw read/write Functions): New section.
10359169689Skan	* testsuite/gcc.target/frv/all-builtin-read8.c: New.
10360169689Skan	* testsuite/gcc.target/frv/all-builtin-read16.c: New.
10361169689Skan	* testsuite/gcc.target/frv/all-builtin-read32.c: New.
10362169689Skan	* testsuite/gcc.target/frv/all-builtin-read64.c: New.
10363169689Skan	* testsuite/gcc.target/frv/all-builtin-write8.c: New.
10364169689Skan	* testsuite/gcc.target/frv/all-builtin-write16.c: New.
10365169689Skan	* testsuite/gcc.target/frv/all-builtin-write32.c: New.
10366169689Skan	* testsuite/gcc.target/frv/all-builtin-write64.c: New.
10367169689Skan	* config/frv/frv.c: Add bdesc_loads global.
10368169689Skan	Add bdesc_stores global.
10369169689Skan	(frv_init_builtins): Add support for __builtin_{read/write}*.
10370169689Skan	(frv_volatile_memref): New.
10371169689Skan	(frv_expand_load_builtin): New.
10372169689Skan	(frv_expand_store_builtin): New.
10373169689Skan	* config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
10374169689Skan	FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
10375169689Skan	FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
10376169689Skan	FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
10377169689Skan	* config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
10378169689Skan	UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
10379169689Skan	(builtin_read_<mode>): New.
10380169689Skan	(builtin_write_<mode>): New.
10381169689Skan	(builtin_write64): New.
10382169689Skan	(optional_membar_<mode>): New.
10383169689Skan
10384169689Skan2005-07-26  J"orn Rennecke <joern.rennecke@st.com>
10385169689Skan
10386169689Skan	* emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
10387169689Skan	(rather than units) against HOST_BITS_PER_WIDE_INT.
10388169689Skan
10389169689Skan2005-07-26  Kazu Hirata  <kazu@codesourcery.com>
10390169689Skan
10391169689Skan	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
10392169689Skan	ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
10393169689Skan	ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
10394169689Skan	config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
10395169689Skan	FSF address.
10396169689Skan
10397169689Skan	* calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
10398169689Skan	tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
10399169689Skan	config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
10400169689Skan	comment typos.
10401169689Skan	* doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
10402169689Skan
10403169689Skan2005-07-26  Richard Guenther  <rguenther@suse.de>
10404169689Skan
10405169689Skan	PR tree-optimization/22486
10406169689Skan	* fold-const.c (fold_unary): Fold away useless component
10407169689Skan	references of the form (T *)&T.x, if the address
10408169689Skan	doesn't change.
10409169689Skan
10410169689Skan2005-07-25  James E Wilson  <wilson@specifixinc.com>
10411169689Skan
10412169689Skan	* dwarf2out.c (add_call_src_coords_attributes): New.
10413169689Skan	(gen_inlined_subroutine_die): Call it.
10414169689Skan	(maybe_emit_file, init_file_table): Add comments.
10415169689Skan	(prune_unused_types_walk_attribs): Pass DW_AT_call_file through
10416169689Skan	maybe_emit_file.
10417169689Skan	* tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
10418169689Skan	(expand_call_inline): Set BLOCK_SOURCE_LOCATION.
10419169689Skan	* tree.h (BLOCK_SOURCE_LOCATION): New.
10420169689Skan	(struct tree_block): New field locus.
10421169689Skan
10422169689Skan2005-07-26  Andreas Schwab  <schwab@suse.de>
10423169689Skan
10424169689Skan	PR rtl-optimization/23043
10425169689Skan	* postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
10426169689Skan	when allocating a struct unoccr.
10427169689Skan
10428169689Skan2005-07-25  Richard Henderson  <rth@redhat.com>
10429169689Skan
10430169689Skan	PR 22626
10431169689Skan	* tree-complex.c (gate_no_optimization): True if errors.
10432169689Skan	* Makefile.in (tree-complex.o): Update dependencies.
10433169689Skan
10434169689Skan2005-07-25  Aldy Hernandez  <aldyh@redhat.com>
10435169689Skan
10436169689Skan	* config/frv/predicates.md (integer_register_operand): Use
10437169689Skan	GPR_AP_OR_PSEUDO_P.
10438169689Skan
10439169689Skan2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
10440169689Skan
10441169689Skan	PR tree-opt/22484
10442169689Skan	* tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
10443169689Skan	after fold.
10444169689Skan	* tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
10445169689Skan
10446169689Skan2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
10447169689Skan
10448169689Skan	* tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
10449169689Skan	types when flag_unsafe_math_optimizations is true.
10450169689Skan
10451169689Skan2005-07-25  Mark Mitchell  <mark@codesourcery.com>
10452169689Skan
10453169689Skan	* gcc.c (option_map): Add --sysroot.
10454169689Skan	(process_command): Handle --sysroot.
10455169689Skan	(display_help): Document it.
10456169689Skan	* doc/cppopts.tex (-isysroot): Document.
10457169689Skan	* doc/invoke.texi (--sysroot): Document.
10458169689Skan	* doc/install.texi (--with-build-sysroot): Document.
10459169689Skan
10460169689Skan	* Makefile.in (inhibit_libc): New variable.
10461169689Skan	(INHIBIT_LIBC_CFLAGS): Likewise.
10462169689Skan	(LIBGCC2_CFLAGS): Include
10463169689Skan	$(INHIBIT_LIBC_CFLAGS).
10464169689Skan	(CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
10465169689Skan	($(T)crtbegin.o): Do not use @inhibit_libc@.
10466169689Skan	($(T)crtend.o): Likewise.
10467169689Skan	($(T)crtbeginS.o): Do not use @inhibit_libc@.
10468169689Skan	($(T)crtendS.o): Likewise.
10469169689Skan	($(T)crtbeginT.o): Do not use @inhibit_libc@.
10470169689Skan	($(T)crtendT.o): Likewise.
10471169689Skan	(stmp-fixinc): Do not complain about missing headers if
10472169689Skan	inhibit_libc.
10473169689Skan	* configure.ac (inhibit_libc): Set it to true/false.
10474169689Skan	(--with-build-sysroot): New option.  Use it to set
10475169689Skan	SYSTEM_HEADER_DIR.
10476169689Skan	* configure: Regenerated.
10477169689Skan
10478169689Skan2005-07-25  Manfred Hollstein  <mh@suse.com>
10479169689Skan
10480169689Skan	* calls.c (store_one_arg): Fix unsigned comparison warning.
10481169689Skan
10482169689Skan2005-07-25  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
10483169689Skan
10484169689Skan	PR other/22337
10485169689Skan	* ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
10486169689Skan	(ggc_print_statistics): Initialize variable before use.
10487169689Skan
10488169689Skan2005-07-25  Richard Guenther  <rguenther@suse.de>
10489169689Skan
10490169689Skan	* tree-dfa.c (mark_new_vars_to_rename): Protect against
10491169689Skan	calling with a PHI_NODE argument.
10492169689Skan
10493169689Skan	* tree-flow-inline.h (overlap_subvar): Protect against
10494169689Skan	possible overflow.
10495169689Skan
10496169689Skan2005-07-25  Paolo Bonzini  <bonzini@gnu.org>
10497169689Skan
10498169689Skan	* aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
10499169689Skan	* configure: Regenerate.
10500169689Skan
10501169689Skan2005-07-25  Ira Rosen  <irar@il.ibm.com>
10502169689Skan
10503169689Skan	* expr.c (highest_pow2_factor): Make extern.
10504169689Skan	* tree-data-ref.c (ptr_decl_may_alias_p): New function.
10505169689Skan	(ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
10506169689Skan	record_array_differ_p, array_ptr_differ_p): Likewise.
10507169689Skan	(base_object_differ_p): Rename (from array_base_name_differ_p). Support
10508169689Skan	additional cases. Call the above functions.
10509169689Skan	(base_addr_differ_p): Moved from tree-vect-analyze.c. Call
10510169689Skan	base_object_differ_p when there are two base objects. Otherwise, compare
10511169689Skan	base address and offset. Call may_alias_p.
10512169689Skan	(dump_data_reference): Use a correct field name.
10513169689Skan	(analyze_array): Make static. Initialize new data-ref fields.
10514169689Skan	(analyze_indirect_ref): New function.
10515169689Skan	(init_data_ref): Initialize new data-ref fields.
10516169689Skan	(strip_conversion): Moved from tree-vect-analyze.c.
10517169689Skan	(analyze_offset_expr, get_ptr_offset, address_analysis,
10518169689Skan	object_analysis): Likewise.
10519169689Skan	(analyze_offset): New function.
10520169689Skan	(create_data_ref): Likewise.
10521169689Skan	(initialize_data_dependence_relation): Call base_addr_differ_p. Compare
10522169689Skan	dimensions for ARRAY_REFs only.
10523169689Skan	(build_classic_dist_vector): Make static.
10524169689Skan	(access_functions_are_affine_or_constant_p): Call macro to get the
10525169689Skan	address of access functions.
10526169689Skan	(compute_all_dependences): Add new parameter
10527169689Skan	compute_self_and_read_read_dependences. Compute self and read-read
10528169689Skan	dependences if it is true.
10529169689Skan	(find_data_references_in_loop): Call create_data_ref. Initialize new
10530169689Skan	data-ref fields.
10531169689Skan	(compute_data_dependences_for_loop): Add new parameter
10532169689Skan	compute_self_and_read_read_dependences. Remove parameter nb_loops,
10533169689Skan	compute nb_loops. Call compute_all_dependences,
10534169689Skan	build_classic_dist_vector and build_classic_dir_vector with correct
10535169689Skan	parameters.
10536169689Skan	(analyze_all_data_dependences): Call compute_data_dependences_for_loop
10537169689Skan	with correct parameters. Compare dimensions for ARRAY_REFs only.
10538169689Skan	(free_data_refs): Call macro to free access functions.
10539169689Skan	* tree-data-ref.h (struct first_location_in_loop): New structure. Move
10540169689Skan	fields from stmt_vinfo.
10541169689Skan	(struct base_object_info): New structure.
10542169689Skan	(struct data_reference): Move fields to base_object_info. Add fields
10543169689Skan	first_location and object_info for above structures. Move fields from
10544169689Skan	stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
10545169689Skan	aligned_to.  Add macros to access the new fields.
10546169689Skan	Update functions declarations.
10547169689Skan	* tree-flow.h (is_aliased_with): Declare.
10548169689Skan	* tree-loop-linear.c (linear_transform_loops): Call
10549169689Skan	compute_data_dependences_for_loop with correct parameters.
10550169689Skan	* tree-ssa-alias.c (is_aliased_with): New function.
10551169689Skan	* tree-vect-analyze.c (vect_get_ptr_offset): Remove.
10552169689Skan	(vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
10553169689Skan	(vect_analyze_data_ref_dependence): Get ddr. Remove call to
10554169689Skan	vect_base_addr_differ_p, compute_subscript_distance and
10555169689Skan	build_classic_dist_vector. Add printings. Check absolute value of
10556169689Skan	distance.
10557169689Skan	(vect_analyze_data_ref_dependences): Go through ddrs instead of
10558169689Skan	data-refs.
10559169689Skan	(vect_compute_data_ref_alignment): Get the fields of data-ref instead of
10560169689Skan	stmt. Check aligned_to. Check if the base is aligned. Remove conversion
10561169689Skan	to bytes. Add printing.
10562169689Skan	(vect_compute_data_refs_alignment): Go through loads and stores in one
10563169689Skan	loop.
10564169689Skan	(vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
10565169689Skan	vect_analyze_data_ref_access): Likewise.
10566169689Skan	(vect_analyze_pointer_ref_access): Remove.
10567169689Skan	(vect_address_analysis, vect_object_analysis): Likewise.
10568169689Skan	(vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
10569169689Skan	and analyze data-refs in the loop.
10570169689Skan	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
10571169689Skan	fields of data-ref instead of stmt. Add init to the offset from the
10572169689Skan	base.
10573169689Skan	(vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
10574169689Skan	(vect_update_init_of_dr): Likewise.
10575169689Skan	(vect_update_inits_of_drs): Go through loads and stores in one loop.
10576169689Skan	* tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
10577169689Skan	removed fields.
10578169689Skan	(new_loop_vec_info): Initialize new fields.
10579169689Skan	(destroy_loop_vec_info): Free new fields.
10580169689Skan	(vect_strip_conversion): Remove.
10581169689Skan	* tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
10582169689Skan	(struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
10583169689Skan	datarefs. Add new field ddrs.
10584169689Skan	Add macros for the new fields access.
10585169689Skan	(struct _stmt_vec_info): Remove: base_address, initial_offset, step,
10586169689Skan	base_aligned_p, misalignment, memtag, ptr_info and subvars.
10587169689Skan	Remove their macros.
10588169689Skan	* tree.h (highest_pow2_factor): Declare.
10589169689Skan
10590169689Skan2005-07-25  Jakub Jelinek  <jakub@redhat.com>
10591169689Skan
10592169689Skan	* calls.c (store_one_arg): Check for sibling call MEM arguments
10593169689Skan	from already clobbered incoming argument area.
10594169689Skan
10595169689Skan2005-07-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10596169689Skan
10597169689Skan	* c-common.c (check_missing_format_attribute): New.
10598169689Skan	* c-common.h (check_missing_format_attribute): Likewise.
10599169689Skan	* c-typeck.c (convert_for_assignment): Use it.
10600169689Skan
10601169689Skan2005-07-24  Andreas Schwab  <schwab@suse.de>
10602169689Skan
10603169689Skan	* config/m68k/m68k.md ("extendqidi2"): When source is an address
10604169689Skan	register use a word move.  Correct operand of ext.w in 68000 code.
10605169689Skan
10606169689Skan2005-07-23  Mark Mitchell  <mark@codesourcery.com>
10607169689Skan
10608169689Skan	* dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
10609169689Skan	variables as declarations, rather than definitions.
10610169689Skan
10611169689Skan2005-07-24  Ira Rosen  <irar@il.ibm.com>
10612169689Skan
10613169689Skan	PR tree-optimization/22526
10614169689Skan	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
10615169689Skan	of the zero node.
10616169689Skan
10617169689Skan2005-07-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
10618169689Skan
10619169689Skan	* builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
10620169689Skan	that C99 reserve for future use. Use it to define clog10,
10621169689Skan	clog10f and clog10l.
10622169689Skan
10623169689Skan2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10624169689Skan
10625169689Skan	* Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
10626169689Skan	* configure.ac: Check for -Wmissing-format-attribute.
10627169689Skan
10628169689Skan	* configure: Regenerate.
10629169689Skan
10630169689Skan2005-07-23  Richard Henderson  <rth@redhat.com>
10631169689Skan
10632169689Skan	PR tree-optimization/22623
10633169689Skan	* tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
10634169689Skan
10635169689Skan2005-07-23  Giovanni Bajo  <giovannibajo@libero.it>
10636169689Skan
10637169689Skan	PR target/22577
10638169689Skan	* config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
10639169689Skan
10640169689Skan2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10641169689Skan
10642169689Skan	* Makefile.in (C_TREE_H): Update dependencies.
10643169689Skan	* c-tree.h: Include toplev.h.
10644169689Skan	* diagnostic.h (diagnostic_set_info): Add format attribute.
10645169689Skan	* rtl-error.c (diagnostic_for_asm): Likewise.
10646169689Skan
10647169689Skan2005-07-23  Chao-ying Fu  <fu@mips.com>
10648169689Skan
10649169689Skan	* config/mips/mips-dsp.md: New file.
10650169689Skan	* config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
10651169689Skan	* config/mips/mips.c (mips_function_type): Add types for DSP builtin
10652169689Skan	functions.
10653169689Skan	(mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
10654169689Skan	MIPS_BUILTIN_BPOSGE32.
10655169689Skan	(mips_expand_builtin_direct): Add one parameter to indicate that
10656169689Skan	builtin functions need to return a value.
10657169689Skan	(mips_expand_builtin_bposge): New for expanding "bposge" builtin
10658169689Skan	functions.
10659169689Skan	(mips_regno_to_class): Add classes for 12 new DSP registers.
10660169689Skan	(mips_subword): Change to check four HI registers.
10661169689Skan	(mips_output_move): Output move to and from 6 new DSP accumulators.
10662169689Skan	(override_options): Make sure -mdsp and -mips16 are not used together.
10663169689Skan	Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS.  Enable DSP accumulators
10664169689Skan	for machine modes.
10665169689Skan	(mips_conditional_register_usage): Disable 6 new DSP accumulators
10666169689Skan	when !TARGET_DSP.
10667169689Skan	(print_operand): Add 'q' for printing DSP accumulators.
10668169689Skan	(mips_cannot_change_mode_class): Check ACC_REGS.
10669169689Skan	(mips_secondary_reload_class): Check ACC_REGS.
10670169689Skan	(mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
10671169689Skan	(mips_register_move_cost): Check ACC_REGS.
10672169689Skan	(CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
10673169689Skan	(CODE_FOR_mips_subu_qb): New code-aliasing macros.
10674169689Skan	(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
10675169689Skan	(dsp_bdesc): New array.
10676169689Skan	(bdesc_arrays): Add DSP builtin function table.
10677169689Skan	(mips_prepare_builtin_arg): Check predicate again after
10678169689Skan	copy_to_mode_reg.
10679169689Skan	(mips_expand_builtin): Add one more parameter to
10680169689Skan	mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
10681169689Skan	MIPS_BUILTIN_BPOSGE32.
10682169689Skan	(mips_init_builtins): Initialize new function types.
10683169689Skan	(mips_expand_builtin_direct): Check if builtin functions need to
10684169689Skan	return a value and pass operands properly.
10685169689Skan	(mips_expand_builtin_bposge): New function.
10686169689Skan	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
10687169689Skan	(ASM_SPEC): Map -mdsp to -mdsp in GAS.
10688169689Skan	(FIRST_PSEUDO_REGISTER): Increase to 188.
10689169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
10690169689Skan	Update for 12 new DSP registers.
10691169689Skan	(DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
10692169689Skan	(AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
10693169689Skan	(DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
10694169689Skan	(reg_class): Add DSP_ACC_REGS and ACC_REGS.
10695169689Skan	(REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
10696169689Skan	(REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
10697169689Skan	(REG_ALLOC_ORDER): Update for 12 new DSP registers.
10698169689Skan	(mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
10699169689Skan	(UIMM6_OPERAND, IMM10_OPERAND): New macros.
10700169689Skan	(EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
10701169689Skan	(REGISTER_NAMES): Add names for 12 new DSP registers.
10702169689Skan	* config/mips/mips.md: Include mips-dsp.md.
10703169689Skan	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
10704169689Skan	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
10705169689Skan	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
10706169689Skan	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
10707169689Skan	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
10708169689Skan	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
10709169689Skan	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
10710169689Skan	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
10711169689Skan	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
10712169689Skan	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
10713169689Skan	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
10714169689Skan	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
10715169689Skan	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
10716169689Skan	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
10717169689Skan	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
10718169689Skan	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
10719169689Skan	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
10720169689Skan	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
10721169689Skan	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
10722169689Skan	(UNSPEC_RDDSP): New constants.
10723169689Skan	(*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
10724169689Skan	(*movsi_internal): Change 'x' to 'a' for ACC_REGS.  Add an
10725169689Skan	A<-d alternative.
10726169689Skan	* config/mips/mips.opt (-mdsp): New option.
10727169689Skan	* config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
10728169689Skan	(reg_imm10_operand): New predicates.
10729169689Skan	* doc/extend.texi (MIPS DSP Built-in Functions): New section.
10730169689Skan	* doc/invoke.texi (-mdsp): Document new option.
10731169689Skan
10732169689Skan2005-07-22  DJ Delorie  <dj@redhat.com>
10733169689Skan
10734169689Skan	* c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
10735169689Skan	to warning calls.
10736169689Skan	* tree-inline.c (inlinable_function_p): Likewise.
10737169689Skan
10738169689Skan2005-07-22  Mark Mitchell  <mark@codesourcery.com>
10739169689Skan
10740169689Skan	PR debug/21828
10741169689Skan	* toplev.c (check_global_declarations): Do not mark undefined
10742169689Skan	variables as DECL_IGNORED_P.
10743169689Skan	* varasm.c (first_global_object_name): GTY it.
10744169689Skan	(weak_global_object_name): Likewise.
10745169689Skan	(notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
10746169689Skan	a string to go into {weak,first}_global_object_name.
10747169689Skan
10748169689Skan2005-07-22  DJ Delorie  <dj@redhat.com>
10749169689Skan
10750169689Skan	* c-format.c (check_function_format): Change warning control
10751169689Skan	option from OPT_Wattribute to OPT_Wmissing_format_attribute.
10752169689Skan
10753169689Skan2005-07-22  Diego Novillo  <dnovillo@redhat.com>
10754169689Skan
10755169689Skan	* tree-ssa-alias.c (count_ptr_derefs): Do not consider
10756169689Skan	&PTR->FLD a dereference of PTR.
10757169689Skan	* tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
10758169689Skan	a potential dereference of PTR.
10759169689Skan
10760169689Skan2005-07-22  J"orn Rennecke <joern.rennecke@st.com>
10761169689Skan
10762169689Skan	PR rtl-optimization/20370
10763169689Skan	* ifcvt.c (dead_or_predicable): Before calling propagate_block,
10764169689Skan	call allocate_reg_info if necessary.
10765169689Skan
10766169689Skan	PR rtl-optimization/21848
10767169689Skan	* calls.c (emit_library_call_value_1): For const functions, add
10768169689Skan	USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
10769169689Skan
10770169689Skan	PR rtl-optimization/22445
10771169689Skan	* cselib.c (target.h): Include.
10772169689Skan	(rtx_equal_for_cselib_p): Allow commutative matches.
10773169689Skan	(cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
10774169689Skan	Remove MODE parameter.  Changed all callers.
10775169689Skan
10776169689Skan	PR rtl-optimization/22258
10777169689Skan	* combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
10778169689Skan	New functions.
10779169689Skan	(try_combine): Use likely_spilled_retval_p.
10780169689Skan
10781169689Skan2005-07-22  Paul Woegerer  <paul.woegerer@nsc.com>
10782169689Skan
10783169689Skan	* config.gcc: Add crx-elf support.
10784169689Skan
10785169689Skan	* doc/contrib.texi: Mention crx.
10786169689Skan	* doc/extend.texi: Document crx extensions.
10787169689Skan	* doc/install.texi: Document crx install.
10788169689Skan	* doc/invoke.texi: Document crx options.
10789169689Skan	* doc/md.texi: Document crx constraints.
10790169689Skan
10791169689Skan	* config/crx/crx-protos.h: New file.
10792169689Skan	* config/crx/crx.c: New file.
10793169689Skan	* config/crx/crx.h: New file.
10794169689Skan	* config/crx/crx.md: New file.
10795169689Skan	* config/crx/crx.opt: New file.
10796169689Skan	* config/crx/t-crx: New file.
10797169689Skan
10798169689Skan2005-07-22  Manfred Hollstein  <mh@suse.com>
10799169689Skan
10800169689Skan	* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
10801169689Skan	warnings.
10802169689Skan	(int_add_graph_edge): Likewise.
10803169689Skan	(collapse_nodes): Likewise.
10804169689Skan	(process_unification_queue): Likewise.
10805169689Skan
10806169689Skan2005-07-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10807169689Skan	    Laurent GUERBY  <laurent@guerby.net>
10808169689Skan
10809169689Skan	PR tree-optimization/22336
10810169689Skan	* function.c (record_block_change): Check for
10811169689Skan	cfun->ib_boundaries_block.
10812169689Skan
10813169689Skan2005-07-21  James A. Morrison  <phython@gcc.gnu.org>
10814169689Skan
10815169689Skan	* fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
10816169689Skan	(tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
10817169689Skan
10818169689Skan2005-07-21  DJ Delorie  <dj@redhat.com>
10819169689Skan
10820169689Skan	* toplev.c (warn_deprecated_use): Add warning control to warning
10821169689Skan	call.
10822169689Skan	* c-typeck.c (parser_build_binary_op): Likewise.
10823169689Skan	(c_finish_if_stmt): Likewise.
10824169689Skan	* c-common.c (check_function_sentinel): Likewise.
10825169689Skan	(check_nonnull_arg): Likewise.
10826169689Skan
10827169689Skan2005-07-21  Richard Henderson  <rth@redhat.com>
10828169689Skan
10829169689Skan	PR tree-opt/22504
10830169689Skan	* tree-complex.c (complex_ssa_name_components): New.
10831169689Skan	(cvc_lookup): Allow entry not found.
10832169689Skan	(create_components): Remove.
10833169689Skan	(create_one_component_var, get_component_var): New.
10834169689Skan	(get_component_ssa_name, set_component_ssa_name): New.
10835169689Skan	(extract_component): Use get_component_ssa_name.
10836169689Skan	(update_complex_components): Use set_component_ssa_name.
10837169689Skan	(update_complex_components_on_edge): Likewise.
10838169689Skan	(update_phi_components): Create new PHI nodes directly, instead
10839169689Skan	of adding insns to edges.
10840169689Skan	(tree_lower_complex): Allocate and free complex_variable_components
10841169689Skan	and complex_ssa_name_components here.
10842169689Skan
10843169689Skan2005-07-20  Daniel Berlin  <dberlin@dberlin.org>
10844169689Skan
10845169689Skan	* alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
10846169689Skan	revert to returning false.
10847169689Skan
10848169689Skan2005-07-21  Uros Bizjak  <uros@kss-loka.si>
10849169689Skan
10850169689Skan	PR target/21149
10851169689Skan	* config/i386/i386.md (sse_movhlps): Fix vec_select values.
10852169689Skan
10853169689Skan2005-07-21  Uros Bizjak  <uros@kss-loka.si>
10854169689Skan
10855169689Skan	PR target/22576
10856169689Skan	* config/i386/i386.md (cmpxf): Change operand constraints
10857169689Skan	to "nonmemory_operand".
10858169689Skan
10859169689Skan2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
10860169689Skan
10861169689Skan	* config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
10862169689Skan
10863169689Skan2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
10864169689Skan
10865169689Skan	PR middle-end/21180
10866169689Skan	* fold-const.c (fold_build1): Add checksum for the operands.
10867169689Skan	(fold_build2): Likewise.
10868169689Skan	(fold_build3): Likewise.
10869169689Skan
10870169689Skan2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
10871169689Skan
10872169689Skan	PR middle-end/19055
10873169689Skan	* fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
10874169689Skan
10875169689Skan2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
10876169689Skan
10877169689Skan	* common.opt (-fforward-propagate): Committed by mistake,
10878169689Skan	removed.
10879169689Skan
10880169689Skan2005-07-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10881169689Skan
10882169689Skan	* reg-stack.c: Fix comment typo(s).
10883169689Skan	* tree-ssa-operands.c: Likewise.
10884169689Skan	* tree-vectorizer: Likewise.
10885169689Skan
10886169689Skan2005-07-21  Nick Clifton  <nickc@redhat.com>
10887169689Skan
10888169689Skan	* config/sh/symbian.c: Replace C++ style line comments with C
10889169689Skan	style line comments.
10890169689Skan	(symbian_add_attribute): Do not use a ? operator on the LHS of
10891169689Skan	an assignment.
10892169689Skan	(sh_symbian_handle_dll_attribute): Change the type of the
10893169689Skan	method vector to "VEC(tree,gc)*" and use vector accessor
10894169689Skan	macros to walk over the elements.
10895169689Skan	(symbian_export_vtable_and_rtti_p): Likewise.
10896169689Skan	(symbian_class_needs_attribute_p): Likewise.
10897169689Skan
10898169689Skan2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
10899169689Skan
10900169689Skan	PR target/22085
10901169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
10902169689Skan	initialize targetm.resolve_overloaded_builtin here.
10903169689Skan	(altivec_expand_overloaded_builtin): Make it non-static.
10904169689Skan	* config/rs6000/rs6000-protos.h
10905169689Skan	(altivec_expand_overloaded_builtin): New prototype.
10906169689Skan	* config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
10907169689Skan	targetm.resolve_overloaded_builtin here.
10908169689Skan	* config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
10909169689Skan
10910169689Skan2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
10911169689Skan	    Zdenek Dvorak  <dvorakz@suse.cz>
10912169689Skan
10913169689Skan	PR tree-optimization/19210
10914169689Skan	* common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
10915169689Skan	New.
10916169689Skan	* Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
10917169689Skan	* loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
10918169689Skan	rely on unproven assumptions.
10919169689Skan	* predict.c (predict_loops): Adjust call to number_of_iterations_exit.
10920169689Skan	* tree-flow.h (number_of_iterations_exit): Add final parameter.
10921169689Skan	* tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
10922169689Skan	to number_of_iterations_exit.
10923169689Skan	* tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
10924169689Skan	* tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
10925169689Skan	* tree-ssa-loop-niter.c (find_loop_niter,
10926169689Skan	estimate_numbers_of_iterations_loop): Likewise.
10927169689Skan	(number_of_iterations_exit): Honor the new options.
10928169689Skan	* doc/invoke.texi (Wunsafe-loop-optimizations,
10929169689Skan	funsafe-loop-optimizations): Document them.
10930169689Skan
10931169689Skan2005-07-21  Richard Sandiford  <richard@codesourcery.com>
10932169689Skan
10933169689Skan	PR rtl-optimization/22167
10934169689Skan	* gcse.c (hoist_code): Fix hoist_exprs[] check.
10935169689Skan
10936169689Skan2005-07-20  Adam Nemet  <anemet@lnxw.com>
10937169689Skan
10938169689Skan	* config/rs6000/lynx.h: Mark __do_global_ctors_aux and
10939169689Skan	__do_global_dtors_aux longcall.
10940169689Skan
10941169689Skan2005-07-20  Kazu Hirata  <kazu@cs.umass.edu>
10942169689Skan
10943169689Skan	* gensupport.c (old_preds): Don't reference PREDICATE_CODES.
10944169689Skan	(old_special_pred_table): Don't reference
10945169689Skan	SPECIAL_MODE_PREDICATES.
10946169689Skan	* system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
10947169689Skan	* config/arc/arc.h: Don't mention PREDICATE_CODES.
10948169689Skan	* config/sh/predicates.h: Don't mention
10949169689Skan	SPECIAL_MODE_PREDICATES.
10950169689Skan	* doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
10951169689Skan	Remove.
10952169689Skan
10953169689Skan2005-07-20  DJ Delorie  <dj@redhat.com>
10954169689Skan
10955169689Skan	* config.gcc: Add m32c-elf support.
10956169689Skan
10957169689Skan	* doc/contrib.texi: Mention m32c.
10958169689Skan	* doc/extend.texi: Document m32c extensions.
10959169689Skan	* doc/install.texi: Mention m32c.
10960169689Skan	* doc/invoke.texi: Document m32c options.
10961169689Skan	* doc/md.texi: Document m32c constraints.
10962169689Skan
10963169689Skan	* config/m32c/addsub.md: New file.
10964169689Skan	* config/m32c/bitops.md: New file.
10965169689Skan	* config/m32c/cond.md: New file.
10966169689Skan	* config/m32c/jump.md: New file.
10967169689Skan	* config/m32c/m32c-lib1.S: New file.
10968169689Skan	* config/m32c/m32c-lib2.c: New file.
10969169689Skan	* config/m32c/m32c-modes.def: New file.
10970169689Skan	* config/m32c/m32c-pragma.c: New file.
10971169689Skan	* config/m32c/m32c-protos.h: New file.
10972169689Skan	* config/m32c/m32c.abi: New file.
10973169689Skan	* config/m32c/m32c.c: New file.
10974169689Skan	* config/m32c/m32c.h: New file.
10975169689Skan	* config/m32c/m32c.md: New file.
10976169689Skan	* config/m32c/m32c.opt: New file.
10977169689Skan	* config/m32c/minmax.md: New file.
10978169689Skan	* config/m32c/mov.md: New file.
10979169689Skan	* config/m32c/muldiv.md: New file.
10980169689Skan	* config/m32c/predicates.md: New file.
10981169689Skan	* config/m32c/prologue.md: New file.
10982169689Skan	* config/m32c/shift.md: New file.
10983169689Skan	* config/m32c/t-m32c: New file.
10984169689Skan
10985169689Skan2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
10986169689Skan
10987169689Skan	* config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
10988169689Skan	(stack_protect_set, stack_protect_test): New expanders.
10989169689Skan	(stack_protect_set_si, stack_protect_set_si_media,
10990169689Skan	stack_protect_set_di_media, stack_protect_test_si,
10991169689Skan	stack_protect_test_si_media, stack_protect_test_di_media):
10992169689Skan	New insns.
10993169689Skan
10994169689Skan2005-07-20  Andrew Pinski  <pinskia@physics.uc.edu>
10995169689Skan
10996169689Skan	* c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
10997169689Skan
10998169689Skan2005-07-20  James A. Morrison  <phython@gcc.gnu.org>
10999169689Skan
11000169689Skan	* tree.h (tree_expr_nonzero_p): Export.
11001169689Skan	* fold-const.c (tree_expr_nonzero_p): Likewise.
11002169689Skan	Return true for CALL_EXPRs that are alloca calls.
11003169689Skan	(fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
11004169689Skan	against zero.
11005169689Skan	* tree-flow.h (expr_computes_nonzero): Remove.
11006169689Skan	* tree-vrp.c (expr_computes_nonzero): Remove.
11007169689Skan	(vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
11008169689Skan	(extract_range_from_unary_expr): Likewise.
11009169689Skan	* tree-ssa-dom.c (record_equivalences_from_stmt): Use
11010169689Skan	tree_expr_nonzero_p.
11011169689Skan
11012169689Skan2005-07-20  Bernd Schmidt  <bernd.schmidt@analog.com>
11013169689Skan
11014169689Skan	* config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
11015169689Skan	* config/bfin/bfin.c (legitimize_pic_address): Now static.  Take
11016169689Skan	extra arg "picreg" and use it instead of pic_offset_table_rtx.
11017169689Skan	All callers changed.
11018169689Skan	(frame_related_constant_load): New arg "related" which controls
11019169689Skan	setting of RTX_FRAME_RELATED_P.  All callers changed.
11020169689Skan	(bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
11021169689Skan	(bfin_expand_prologue): Add stack limit checking.
11022169689Skan	* config/bfin/bfin.md (trapifcc): New pattern.
11023169689Skan
11024169689Skan	* config/bfin/bfin.c: Include "langhooks.h".
11025169689Skan	(def_builtin): Go through lang_hooks to call builtin_function.
11026169689Skan
11027169689Skan	* config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
11028169689Skan	* config/bfin/predicates.md (symbol_ref_operand): New.
11029169689Skan	(call_insn_operand): Delete.  All callers changed to use
11030169689Skan	register_no_elim_operand.
11031169689Skan	* config/bfin/bfin.c (init_cumulative_args): Initialize the new
11032169689Skan	call_cookie field.
11033169689Skan	(function_arg): Use it to generate the call's operand 2.
11034169689Skan	(bfin_longcall_p): New function.
11035169689Skan	(bfin_expand_call): Extra arg "cookie".  All callers and declaration
11036169689Skan	changed.  Emit extra USE in the pattern.  Use bfin_longcall_p to
11037169689Skan	determine if the address needs to be in a REG.
11038169689Skan	(bfin_handle_longcall_attribute): New function.
11039169689Skan	(bfin_attribute_table): Add "longcall" and "shortcall".
11040169689Skan	* config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
11041169689Skan	(CUMULATIVE_ARGS): New member call_cookie.
11042169689Skan	(PREDICATE_CODES): Add symbol_ref_operand.
11043169689Skan	* config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
11044169689Skan	extra USE to the pattern.
11045169689Skan	(call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
11046169689Skan	New patterns, split off call_insn, sibcall_insn, call_value_insn and
11047169689Skan	sibcall_value_insn; now the new patterns handle direct calls and the
11048169689Skan	old ones indirect calls.
11049169689Skan	* doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
11050169689Skan
11051169689Skan2005-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
11052169689Skan
11053169689Skan	* doc/trouble.texi: Update section on handling of empty loops.
11054169689Skan
11055169689Skan2005-07-20  Kazu Hirata  <kazu@codesourcery.com>
11056169689Skan
11057169689Skan	* config.gcc: Remove support for sparc-*-openbsd*,
11058169689Skan	i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
11059169689Skan	ns32k-*-netbsd*.
11060169689Skan	* config.host: Remove support for i860-*-sysv4* as a host.
11061169689Skan	* config/i860/*, config/ip2k/*, config/ns32k/*,
11062169689Skan	config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
11063169689Skan	* doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
11064169689Skan	mention obsolete ports.
11065169689Skan
11066169689Skan2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
11067169689Skan
11068169689Skan	* config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
11069169689Skan	soft frame pointer.
11070169689Skan	(sh_expand_prologue): Use hard_frame_pointer_rtx instead
11071169689Skan	of frame_pointer_rtx.
11072169689Skan	(sh_expand_epilogue): Likewise.
11073169689Skan	(sh_set_return_address): Likewise.
11074169689Skan	(initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
11075169689Skan	instead of FRAME_POINTER_REGNUM if needed.  Add elimination
11076169689Skan	offsets from FRAME_POINTER_REGNUM.
11077169689Skan	* config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
11078169689Skan	(sh_register_names): Add initializer for sfp.
11079169689Skan	(GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
11080169689Skan	(VALID_REGISTER_P): Likewise.
11081169689Skan	(FIRST_PSEUDO_REGISTER): Update.
11082169689Skan	(DWARF_FRAME_REGISTERS): Define.
11083169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
11084169689Skan	(HARD_FRAME_POINTER_REGNUM): Define.
11085169689Skan	(FRAME_POINTER_REGNUM): Redefine.
11086169689Skan	(ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
11087169689Skan	but HARD_FRAME_POINTER_REGNUM instead.  Add eliminations
11088169689Skan	from FRAME_POINTER_REGNUM.
11089169689Skan	(CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
11090169689Skan	FRAME_POINTER_REGNUM.
11091169689Skan	(REG_CLASS_CONTENTS): Add sfp.
11092169689Skan	(REG_ALLOC_ORDER): Likewise.
11093169689Skan	(FRAME_GROWS_DOWNWARD): Set to 1.  Update comment.
11094169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
11095169689Skan	of frame_pointer_rtx.
11096169689Skan	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11097169689Skan
11098169689Skan2005-07-19  James A. Morrison  <phython@gcc.gnu.org>
11099169689Skan
11100169689Skan	* fold-const.c (tree_expr_nonnegative_p): Only return true for
11101169689Skan	ABS_EXPR when flag_wrapv is false because of INT_MIN.
11102169689Skan	(tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
11103169689Skan	of an ABS_EXPR.
11104169689Skan	(fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
11105169689Skan	ABS_EXPR<x>.
11106169689Skan
11107169689Skan2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
11108169689Skan
11109169689Skan	Make CONSTRUCTOR use VEC to store initializers.
11110169689Skan	* c-common.c (complete_array_type): Update to cope with VEC in
11111169689Skan	CONSTRUCTOR_ELTS.
11112169689Skan	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
11113169689Skan	(pp_c_constructor_elts): New function.
11114169689Skan	* c-pretty-print.h (pp_c_constructor_elts): Declare.
11115169689Skan	* c-typeck.c (build_function_call, build_c_cast, digest_init,
11116169689Skan	struct constructor_stack, struct initializer_stack,
11117169689Skan	constructor_elements, push_init_level, pop_init_level,
11118169689Skan	add_pending_init, find_init_member, output_init_element): Update to
11119169689Skan	cope with VEC in CONSTRUCTOR_ELTS.
11120169689Skan	* coverage.c (build_fn_info_value, build_ctr_info_value,
11121169689Skan	build_gcov_info): Likewise.
11122169689Skan	* expr.c (categorize_ctor_elements_1, store_constructor,
11123169689Skan	expand_expr_real_1): Likewise.
11124169689Skan	* fold-const.c (fold_ternary): Likewise.
11125169689Skan	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
11126169689Skan	gimplify_init_constructor, gimplify_expr): Likewise.
11127169689Skan	* tree-dump.c (dequeue_and_dump): Likewise.
11128169689Skan	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
11129169689Skan	node.
11130169689Skan	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
11131169689Skan	CONSTRUCTOR_ELTS.
11132169689Skan	* tree-sra.c (generate_element_init_1): Likewise.
11133169689Skan	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
11134169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
11135169689Skan	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
11136169689Skan	* tree-vect-transform.c (vect_get_vec_def_for_operand):
11137169689Skan	(get_initial_def_for_reduction): Likewise.
11138169689Skan	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
11139169689Skan	value handle in annotations.
11140169689Skan	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
11141169689Skan	tree_node_structure): Add support for constr_kind.
11142169689Skan	(build_vector_from_ctor, build_constructor_single,
11143169689Skan	build_constructor_from_list): New functions.
11144169689Skan	(build_constructor): Update to take a VEC instead of a TREE_LIST.
11145169689Skan	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
11146169689Skan	Update to cope with VEC in CONSTRUCTOR_ELTS.
11147169689Skan	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
11148169689Skan	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
11149169689Skan	CONSTRUCTOR_APPEND_ELT): New macros.
11150169689Skan	(struct constructor_elt, struct	tree_constructor): New data types.
11151169689Skan	(union tree_node): Add tree_constructor field.
11152169689Skan	* treestruct.def: Define TS_CONSTRUCTOR.
11153169689Skan	* varasm.c (const_hash_1, compare_constant, copy_constant,
11154169689Skan	compute_reloc_for_constant, output_addressed_constants,
11155169689Skan	initializer_constant_valid_p, output_constant,
11156169689Skan	array_size_for_constructor, output_constructor): Update to cope with
11157169689Skan	VEC in CONSTRUCTOR_ELTS.
11158169689Skan	* vec.h (VEC_empty, VEC_copy): New macros.
11159169689Skan
11160169689Skan2005-07-19  Devang Patel  <dpatel@apple.com>
11161169689Skan
11162169689Skan	* dbxout.c (dbxout_type): Check Objective-C++ lang.
11163169689Skan
11164169689Skan2005-07-19  Richard Henderson  <rth@redhat.com>
11165169689Skan
11166169689Skan	PR tree-opt/22278
11167169689Skan	* gimplify.c (gimplify_expr): Use main variant type for the temp
11168169689Skan	destination for a discarded volatile read.
11169169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
11170169689Skan	casts between non-void types that change volatility.
11171169689Skan
11172169689Skan2005-07-15  DJ Delorie  <dj@redhat.com>
11173169689Skan
11174169689Skan	* toplev.h: Add comment about the first parameter for warning().
11175169689Skan	* errors.h: Likewise.
11176169689Skan
11177169689Skan	* c.opt (Wpragmas): New.
11178169689Skan	* doc/invoke.texi: Document it.
11179169689Skan
11180169689Skan	* function.c (do_warn_unused_parameter): Add warning control to
11181169689Skan	warning call.
11182169689Skan	* c-decl.c (warn_if_shadowing): Likewise.
11183169689Skan	* c-lex.c (cb_def_pragma): Likewise.
11184169689Skan	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
11185169689Skan	(pop_alignment): Likewise.
11186169689Skan	(handle_pragma_pack): Likewise.
11187169689Skan	(apply_pragma_weak): Likewise.
11188169689Skan	(handle_pragma_weak): Likewise.
11189169689Skan	(handle_pragma_redefine_extname): Likewise.
11190169689Skan	(add_to_renaming_pragma_list): Likewise.
11191169689Skan	(handle_pragma_extern_prefix): Likewise.
11192169689Skan	(maybe_apply_renaming_pragma): Likewise.
11193169689Skan	(handle_pragma_visibility): Likewise.
11194169689Skan
11195169689Skan	* config/c4x/c4x-c.c (BAD): Likewise.
11196169689Skan	(c4x_parse_pragma): Likewise.
11197169689Skan	* config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
11198169689Skan	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
11199169689Skan	(rs6000_pragma_longcall): Likewise.
11200169689Skan	* config/v850/v850-c.c (pop_data_area): Likewise.
11201169689Skan	(ghs_pragma_section): Likewise.
11202169689Skan	(ghs_pragma_section): Likewise.
11203169689Skan	(ghs_pragma_interrupt): Likewise.
11204169689Skan	(ghs_pragma_starttda): Likewise.
11205169689Skan	(ghs_pragma_startsda): Likewise.
11206169689Skan	(ghs_pragma_startzda): Likewise.
11207169689Skan	(ghs_pragma_endtda): Likewise.
11208169689Skan	(ghs_pragma_endsda): Likewise.
11209169689Skan	(ghs_pragma_endzda): Likewise.
11210169689Skan
11211169689Skan2005-07-19  Danny Berlin <dberlin@dberlin.org>
11212169689Skan	    Kenneth Zadeck <zadeck@naturalbridge.com>
11213169689Skan
11214169689Skan	* Makefile.in: Removed tree-promote-statics.c
11215169689Skan	* tree-promote-statics.c: Removed.
11216169689Skan	* common.opt: Removed flag-promote-statics.
11217169689Skan	* opts.c: Ditto.
11218169689Skan	* passes.c: Removed tree-promote-statics pass.
11219169689Skan	* tree-pass.h: Ditto.
11220169689Skan	* timevar.def: Removed TV_PROMOTE_STATICS.
11221169689Skan
11222169689Skan
11223169689Skan2005-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
11224169689Skan
11225169689Skan	* config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
11226169689Skan	and *-*-freebsd9.
11227169689Skan	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
11228169689Skan
11229169689Skan2005-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11230169689Skan
11231169689Skan	PR c/22476
11232169689Skan	* c-common.c (check_function_arguments): Call
11233169689Skan	'check_function_format' if either -Wformat or
11234169689Skan	-Wmissing-format-attribute are specified.
11235169689Skan	* c-format.c (check_function_format): Check -Wformat before
11236169689Skan	calling 'check_format_info'.
11237169689Skan	* c-opts.c (c_common_post_options): Don't warn for
11238169689Skan	-Wmissing-format-attribute without -Wformat.
11239169689Skan	* c-typeck.c (convert_for_assignment): Detect additional cases for
11240169689Skan	-Wmissing-format-attribute.
11241169689Skan	* doc/invoke.texi (-Wmissing-format-attribute): Document new
11242169689Skan	behavior.
11243169689Skan
11244169689Skan2005-07-19  Richard Guenther  <rguenther@suse.de>
11245169689Skan
11246169689Skan	* config/i386/i386.md (lrint<mode>2): Use temporary
11247169689Skan	instead of clobbering non-existent memory.
11248169689Skan
11249169689Skan2005-07-19  Nick Clifton  <nickc@redhat.com>
11250169689Skan
11251169689Skan	* config/avr/avr.c (legitimate_address_p): Fix debugging print
11252169689Skan	statement to avoid displaying ASCII control characters.
11253169689Skan
11254169689Skan2005-07-19  Ben Elliston  <bje@au.ibm.com>
11255169689Skan
11256169689Skan	* bt-load.c (link_btr_uses): Fix uninitialised warnings.
11257169689Skan	* cfganal.c (find_edge_index): Ditto.
11258169689Skan	* combine.c (combine_instructions): Ditto.
11259169689Skan	* ddg.c (create_scc): Ditto.
11260169689Skan	(find_successors): Ditto.
11261169689Skan	(find_predecessors): Ditto.
11262169689Skan	(find_nodes_on_paths): Ditto.
11263169689Skan	(longest_simple_path): Ditto.
11264169689Skan	* flow.c (update_life_info): Ditto.
11265169689Skan	(count_or_remove_death_notes): Ditto.
11266169689Skan	(clear_log_links): Ditto.
11267169689Skan	* modulo-sched.c (generate_reg_moves): Ditto.
11268169689Skan	(find_max_asap): Ditto.
11269169689Skan	(find_max_hv_min_mob): Ditto.
11270169689Skan	(find_max_dv_min_mob): Ditto.
11271169689Skan	* sbitmap.c (sbitmap_first_set_bit): Ditto.
11272169689Skan	* sched-rgn.c (extract_edgelst): Ditto.
11273169689Skan	* tree-into-ssa.c (prepare_names_to_update): Ditto.
11274169689Skan	(dump_update_ssa): Ditto.
11275169689Skan	(ssa_names_to_replace) Ditto.
11276169689Skan	(switch_virtuals_to_full_rewrite): Ditto.
11277169689Skan	(update_ssa): Ditto.
11278169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
11279169689Skan
11280169689Skan2005-07-18  Daniel Berlin  <dberlin@dberlin.org>
11281169689Skan
11282169689Skan	Fix PR tree-optimization/22483
11283169689Skan
11284169689Skan	* tree-complex.c (create_components): Use
11285169689Skan	safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
11286169689Skan	* tree-flow-inline.h (fill_referenced_var_vec): New function.
11287169689Skan	* tree-flow.h (safe_referenced_var_iterator): New structure.
11288169689Skan	(FOR_EACH_REFERENCED_VAR_SAFE): New macro.
11289169689Skan	* tree-ssa-alias.c (setup_pointers_and_addressables): Use
11290169689Skan	safe_referenced_var iterator.
11291169689Skan	(add_type_alias): Ditto.
11292169689Skan
11293169689Skan2005-07-19  Steven Bosscher  <stevenb@suse.de>
11294169689Skan
11295169689Skan	* loop-init.c (rest_of_handle_loop2): Remove.
11296169689Skan	(rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
11297169689Skan	rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
11298169689Skan	(pass_rtl_loop_init, pass_rtl_loop_done,
11299169689Skan	pass_rtl_move_loop_invariants, pass_rtl_unswitch,
11300169689Skan	pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
11301169689Skan	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
11302169689Skan	pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
11303169689Skan	pass_tree_loop_done, and pass_tree_unswitch.
11304169689Skan	(gate_loop): Rename to gate_tree_loop.
11305169689Skan	* passes.c (init_optimization_passes): Update for renamed tree
11306169689Skan	loop passes.  Add the new loop2 passes as subpasses of loop2.
11307169689Skan	* tree-pass.h: Add extern declarations for the new loop2 subpasses.
11308169689Skan	Update for the renamed tree loop passes.
11309169689Skan
11310169689Skan2005-07-18  Ian Lance Taylor  <ian@airs.com>
11311169689Skan
11312169689Skan	PR middle-end/22057
11313169689Skan	* tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
11314169689Skan	blocks when optimizing.
11315169689Skan
11316169689Skan2005-07-18  Steve Ellcey  <sje@cup.hp.com>
11317169689Skan
11318169689Skan	* common.opt (frename-registers): Initialize to 2.
11319169689Skan	(fweb): Ditto.
11320169689Skan	(fgcse-after-reload): Ditto.
11321169689Skan	* toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
11322169689Skan	(process_options): Only change flag_web, flag_rename_registers,
11323169689Skan	and flag_rerun_cse_after_loop if not explicitly set by user.
11324169689Skan
11325169689Skan2005-07-18  Jan Beulich  <jbeulich@novell.com>
11326169689Skan
11327169689Skan	* config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
11328169689Skan	ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
11329169689Skan	in 64-bit mode the same as DImode in 32-bit mode.
11330169689Skan	(ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
11331169689Skan	ix86_split_lshr): Likewise. Rename to no longer refer to a specific
11332169689Skan	mode. Add new mode parameter.
11333169689Skan	* config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
11334169689Skan	* config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
11335169689Skan	x86_64_shift_adj): New expanders.
11336169689Skan	(*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
11337169689Skan	*ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
11338169689Skan	insns.
11339169689Skan	Respective new splitters. Use renamed shift splitter helpers in 32-bit
11340169689Skan	DImode shift splitters.
11341169689Skan	* config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
11342169689Skan	ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
11343169689Skan	mode parameter.
11344169689Skan
11345169689Skan2005-07-18  Jan Beulich  <jbeulich@novell.com>
11346169689Skan
11347169689Skan	* i386.md (movdi_extzv_1): New.
11348169689Skan	(zero_extendhidi2): Combine alternatives and never force use of
11349169689Skan	REX64 prefix.
11350169689Skan	(zero_extendqidi2): Likewise. Don't restrict input selection.
11351169689Skan
11352169689Skan2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
11353169689Skan
11354169689Skan	Fix PR tree-optimization/22531
11355169689Skan	* tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the
11356169689Skan	 moment.
11357169689Skan
11358169689Skan2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
11359169689Skan
11360169689Skan	* tree-promote-statics.c (pass_promote_statics): Change dump file
11361169689Skan	 name.
11362169689Skan
11363169689Skan2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
11364169689Skan
11365169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
11366169689Skan	pass_eliminate_useless_stores pass.
11367169689Skan	* tree-pass.h (pass_eliminate_useless_stores): New pass structure.
11368169689Skan	* tree-ssa-pre.c (is_copy_stmt): New function.
11369169689Skan	(follow_copies_till_vuse): Ditto.
11370169689Skan	(do_eustores): Ditto.
11371169689Skan	(gate_eustores): Ditto.
11372169689Skan
11373169689Skan2005-07-16  Richard Henderson  <rth@redhat.com>
11374169689Skan
11375169689Skan	* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
11376169689Skan
11377169689Skan2005-07-16 Danny Berlin <dberlin@dberlin.org>
11378169689Skan	   Kenneth Zadeck <zadeck@naturalbridge.com>
11379169689Skan
11380169689Skan	* Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
11381169689Skan	ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
11382169689Skan	ipa-type-escape.h, tree-promote-statics.c
11383169689Skan	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
11384169689Skan	ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
11385169689Skan	tree-promote-statics.c: new files.
11386169689Skan	* alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
11387169689Skan	nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
11388169689Skan	int nonlocal_set_p, mark_constant_function): Deleted.
11389169689Skan	(rest_of_handle_cfg): Removed call to mark_constant_function.
11390169689Skan	(nonoverlapping_component_refs_p): Added calls to support
11391169689Skan	type based aliasing.
11392169689Skan	* tree-ssa-alias.c (may_alias_p,
11393169689Skan	compute_flow_insensitive_aliasing): Ditto.
11394169689Skan	* calls.c (flags_from_decl_or_type): Removed reference to
11395169689Skan	cgraph_rtl_info.
11396169689Skan	* c-typeck.c (convert_arguments): Make builtins tolerant of having
11397169689Skan	too many arguments.  This is necessary for Spec 2000.
11398169689Skan	* cgraph.h (const_function, pure_function): Removed.
11399169689Skan	* common.opt: Added "fipa-pure-const", "fipa-reference",
11400169689Skan	"fipa-type-escape", and "ftree-promote-static".
11401169689Skan	* opts.c: Ditto.
11402169689Skan	* passes.c: Added ipa and tree-promote-statics passes.
11403169689Skan	* timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
11404169689Skan	TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
11405169689Skan	* tree-dfa.c (referenced_var_lookup_if_exists): New function.
11406169689Skan	* tree-flow.h: Added exposed sra calls and addition of
11407169689Skan	reference_vars_info field for FUNCTION_DECLS.
11408169689Skan	* tree-pass.h: Added passes.
11409169689Skan	* tree-sra.c: (sra_init_cache): New function.
11410169689Skan	(sra_insert_before, sra_insert_after) Made public.
11411169689Skan	(type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
11412169689Skan	and made public.
11413169689Skan	* tree-ssa-alias.c (dump_alias_stats): Added stats for type based
11414169689Skan	aliasing. (may_alias_p): Added code to use type escape analysis to
11415169689Skan	improve alias sets.
11416169689Skan	* tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
11417169689Skan	code to prune clobbers of static variables based on information
11418169689Skan	produced in ipa-reference pass.  Changed call clobbering so that
11419169689Skan	statics are not marked as clobbered if the call does not clobber
11420169689Skan	them.
11421169689Skan
11422169689Skan2005-07-16  Daniel Berlin  <dberlin@dberlin.org>
11423169689Skan
11424169689Skan	* tree-ssa-structalias.c (need_to_solve): Need to check for preds,
11425169689Skan	too.
11426169689Skan
11427169689Skan2005-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
11428169689Skan
11429169689Skan	* doc/install.texi (*-*-solaris2*): Document recommended version
11430169689Skan	of GNU binutils and mention GNU linker problem on Solaris 10.
11431169689Skan
11432169689Skan2005-07-16  Joseph S. Myers  <joseph@codesourcery.com>
11433169689Skan
11434169689Skan	PR c/22421
11435169689Skan	* c-decl.c (c_build_bitfield_integer_type): New function.
11436169689Skan	(finish_struct): Call it.
11437169689Skan	* c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
11438169689Skan
11439169689Skan2005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11440169689Skan
11441169689Skan	* c-typeck.c (digest_init): Call 'convert_for_assignment'
11442169689Skan	before returning.
11443169689Skan
11444169689Skan2005-07-16  Jan Hubicka  <jh@suse.cz>
11445169689Skan
11446169689Skan	* cfg.c (update_bb_profile_for_threading): Fix profile updating.
11447169689Skan	(scale_bbs_frequencies_int): Watch roundoff errors.
11448169689Skan	* predict.c (return_prediction): Initialize return_stmt.
11449169689Skan
11450169689Skan2005-07-16  Jan Hubicka  <jh@suse.cz>
11451169689Skan
11452169689Skan	* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
11453169689Skan	after RTL profiling.
11454169689Skan
11455169689Skan2005-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
11456169689Skan
11457169689Skan	PR middle-end/22398
11458169689Skan	* fold-const.c (build_range_check): Convert high/low to etype
11459169689Skan	if we are only comparing against exp.
11460169689Skan
11461169689Skan2005-07-13  Daniel Berlin  <dberlin@dberlin.org>
11462169689Skan
11463169689Skan	Fix PR tree-optimization/22376
11464169689Skan	* tree-ssa-structalias.c (build_constraint_graph): We really meant
11465169689Skan	special var here.
11466169689Skan	(need_to_solve): New function.
11467169689Skan	(compute_points_to_sets): Use it.
11468169689Skan
11469169689Skan2005-07-15  Jan Hubicka  <jh@suse.cz>
11470169689Skan
11471169689Skan	* cfg.c (update_bb_profile_for_threading): More diagnostic.
11472169689Skan	* tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
11473169689Skan
11474169689Skan2005-07-15  Richard Guenther  <rguenther@suse.de>
11475169689Skan
11476169689Skan	* c-common.c (handle_flatten_attribute): New function.
11477169689Skan	Add flatten function attribute.
11478169689Skan	* doc/extend.texi: Document flatten function attribute.
11479169689Skan	* Makefile.in (ipa-inline.o): Depend on hashtab.h.
11480169689Skan	* ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
11481169689Skan	New functions.
11482169689Skan	(cgraph_decide_inlining): Handle functions with flatten
11483169689Skan	attribute.
11484169689Skan
11485169689Skan2005-07-14  David Edelsohn  <edelsohn@gnu.org>
11486169689Skan
11487169689Skan	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
11488169689Skan	UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
11489169689Skan	UNSPEC_XCHG, UNSPEC_AND): New.
11490169689Skan	(UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
11491169689Skan	UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
11492169689Skan	* config/rs6000/sync.md (FETCHOP): New code macro.
11493169689Skan	(fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
11494169689Skan	New code attrs.
11495169689Skan	(memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
11496169689Skan	(sync_compare_and_swap<mode>): Same.
11497169689Skan	(sync_lock_test_and_set<mode>): Same.
11498169689Skan	(sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
11499169689Skan	for QImode and HImode, and not PPC405.
11500169689Skan	(sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
11501169689Skan	(sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
11502169689Skan	(sync_<fetchop>{si,di}_internal): New.
11503169689Skan	(sync_nand{si,di}_internal): New.
11504169689Skan	(sync_old_<fetchop>{si,di}_internal): New.
11505169689Skan	(sync_old_nand{si,di}_internal): New
11506169689Skan	(sync_new_<fetchop>{si,di}_internal): New.
11507169689Skan	(sync_new_nand{si,di}_internal): New.
11508169689Skan	(atomic_and{si,di}): New.
11509169689Skan	(sync_new_nand{si,di}_internal): New.
11510169689Skan	(atomic_and{si,di}): New.
11511169689Skan	(sync_add<mode>_internal): Delete.
11512169689Skan	(sync_addshort_internal): Use unspec instead of unspec_volatile.
11513169689Skan	(sync_sub<mode>_internal): Delte.
11514169689Skan	(sync_subshort_internal): New.
11515169689Skan	(sync_andsi_internal): Use unspec instead of unspec_volatile.
11516169689Skan	(sync_anddi_internal): Delete.
11517169689Skan	(sync_boolsi_internal): Use unspec instead of unspec_volatile.
11518169689Skan	(sync_booldi_internal): Delete.
11519169689Skan	(sync_boolc<mode>_internal): Delete.
11520169689Skan	(sync_boolcshort_internal): Use unspec instead of unspec_volatile.
11521169689Skan	(sync_boolc<mode>_internal2): Delete.
11522169689Skan	(sync_boolcc<mode>_internal): Delete.
11523169689Skan	(isync, lwsync): Use unspec instead of unspec_volatile.
11524169689Skan	* config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
11525169689Skan	Revert UNSPEC_VOLATILE.
11526169689Skan	(rs6000_split_atomic_op): New.
11527169689Skan	* config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
11528169689Skan
11529169689Skan2005-07-14  Eric Christopher  <echristo@redhat.com>
11530169689Skan
11531169689Skan	* config/mips/mips.c (mips_canonicalize_comparison): Cast
11532169689Skan	argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
11533169689Skan
11534169689Skan2005-07-14  Eric Christopher  <echristo@redhat.com>
11535169689Skan
11536169689Skan	* config/s390/t-tpf (SHLIB_MAPFILES): Remove.
11537169689Skan
11538169689Skan2005-07-14  Steven Bosscher  <stevenb@suse.de>
11539169689Skan
11540169689Skan	PR tree-optimization/22230
11541169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
11542169689Skan	the computation of the four cross productions for "range op range".
11543169689Skan
11544169689Skan2005-07-14  Alexandre Oliva  <aoliva@redhat.com>
11545169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
11546169689Skan
11547169689Skan	PR target/20126
11548169689Skan	* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
11549169689Skan	in some insn.
11550169689Skan
11551169689Skan2005-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
11552169689Skan
11553169689Skan	* config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
11554169689Skan
11555169689Skan2005-07-14  Steve Ellcey  <sje@cup.hp.com>
11556169689Skan
11557169689Skan	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
11558169689Skan
11559169689Skan2005-07-14  Richard Guenther  <rguenther@suse.de>
11560169689Skan
11561169689Skan	PR middle-end/22347
11562169689Skan	* config/i386/i386-protos.h (ix86_function_value): Change
11563169689Skan	prototype to match new target hook.
11564169689Skan	* config/i386/i386.c (ix86_value_regno): Change prototype
11565169689Skan	to take extra type argument.
11566169689Skan	(TARGET_FUNCTION_VALUE): Define.
11567169689Skan	(ix86_function_ok_for_sibcall): Pass extra argument to
11568169689Skan	ix86_value_regno, check return slot rtx for exact match.
11569169689Skan	(ix86_function_value): Take extra parameter.  Dispatch to
11570169689Skan	ix86_value_regno with fndecl/fntype as provided.
11571169689Skan	(ix86_value_regno): Handle extra type argument.
11572169689Skan	* config/i386/i386.h (FUNCTION_VALUE): No longer define.
11573169689Skan
11574169689Skan	* testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
11575169689Skan	* testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
11576169689Skan	* testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
11577169689Skan	* testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
11578169689Skan	* testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
11579169689Skan
11580169689Skan2005-07-14  Richard Guenther  <rguenther@suse.de>
11581169689Skan
11582169689Skan	* Makefile.in (explow.o, reg-stack.o): Depend on target.h.
11583169689Skan	* calls.c (expand_call): Pass fntype to hard_function_value.
11584169689Skan	(emit_library_call_value_1): Likewise.
11585169689Skan	* explow.c: Include target.h.
11586169689Skan	(hard_function_value): Take extra argument, the fntype.
11587169689Skan	Use new target hook for function_value.
11588169689Skan	* expr.h (hard_function_value): Change prototype.
11589169689Skan	* function.c (aggregate_value_p): Pass 0 as fntype to
11590169689Skan	hard_function_value.
11591169689Skan	(assign_parms): Use new target hook for function_value.
11592169689Skan	Pass 0 as fntype to hard_function_value.
11593169689Skan	(expand_function_end): Likewise.
11594169689Skan	* reg-stack.c: Include target.h.
11595169689Skan	(stack_result): Use new target hook for function_value.
11596169689Skan	* target-def.h: New target hook function_value.
11597169689Skan	* target.h: Likewise.
11598169689Skan	* targhooks.c (default_function_value): New function.
11599169689Skan	* targhooks.h (default_function_value): Declare.
11600169689Skan
11601169689Skan2005-07-13  Ian Lance Taylor  <ian@airs.com>
11602169689Skan
11603169689Skan	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
11604169689Skan
11605169689Skan2005-07-14  Jan Hubicka  <jh@suse.cz>
11606169689Skan
11607169689Skan	* tree-dfa.c (dump_variable): Use default_def function.
11608169689Skan	* tree-ssa-alias.c (dump_points_to_info): Likewise.
11609169689Skan	* tree-ssa.c (verify_use): Likewise.
11610169689Skan	* tree-ssanames.c (release_ssa_name): Likewise.
11611169689Skan	* tree-tailcall.c (eliminate_tail_call): Likewise.
11612169689Skan	(tree_optimize_tail_calls_1): Likewise.
11613169689Skan	* tree-vrp.c (get_value_range): Likewise.
11614169689Skan
11615169689Skan2005-07-14  Ben Elliston  <bje@au.ibm.com>
11616169689Skan
11617169689Skan	* gcc.c (main): Compare language[0] with '*' when iterating over
11618169689Skan	the infiles.
11619169689Skan
11620169689Skan2005-07-13  Adrian Straetling  <straetling@de.ibm.com>
11621169689Skan
11622169689Skan	* config/s390/s390.c: (s390_cc_modes_compatible): Move before
11623169689Skan	"s390_emit_compare".  Add handling of CCZ1mode.
11624169689Skan	(s390_canonicalize_comparison): Simplify cascaded EQ, NE.
11625169689Skan	(390_emit_compare): Use "s390_cc_modes_compatible" for mode
11626169689Skan	checking.
11627169689Skan	(s390_branch_condition_mask): Add CCZ1mode handling.
11628169689Skan	* config/s390/s390.md: ("seq", "*seq"): New pattern.
11629169689Skan	("sync_compare_and_swap_cc<mode>", "*sync_compare_and_swap_cc<mode>"):
11630169689Skan	Use CCZ1mode instead of CCZmode.
11631169689Skan	* config/s390/s390-modes.def: Add CCZ1mode.  Comment new mode.
11632169689Skan
11633169689Skan2005-07-13  Adrian Straetling  <straetling@de.ibm.com>
11634169689Skan
11635169689Skan	* config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
11636169689Skan	pattern.
11637169689Skan	("strlen<mode>", "*strlen<mode>"): Use hard reg 0 in SImode.
11638169689Skan
11639169689Skan2005-07-13  Eric Christopher  <echristo@redhat.com>
11640169689Skan
11641169689Skan	* config/mips/mips.c (mips_canonicalize_comparison): New.
11642169689Skan	(mips_emit_int_relational): Use.
11643169689Skan
11644169689Skan2005-07-13  Eric Christopher  <echristo@redhat.com>
11645169689Skan
11646169689Skan	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
11647169689Skan	static extra parts.
11648169689Skan	* config/s390/s390.md: Include tpf.md. Move tpf specific
11649169689Skan	patterns...
11650169689Skan	* config/s390/tpf.md: To here.
11651169689Skan	* config/s390/s390.opt: Move tpf specific options...
11652169689Skan	* config/s390/tpf.opt: to here. Add mmain option.
11653169689Skan	* config/s390/tpf-unwind.h: Remove unnecessary defines.
11654169689Skan	* config/s390/tpf.h: Rewrite.
11655169689Skan
11656169689Skan2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
11657169689Skan
11658169689Skan	* doc/tm.texi: Remove @xref{Cross-profiling}.
11659169689Skan
11660169689Skan2005-07-13  Jeff Law  <law@redhat.com>
11661169689Skan
11662169689Skan	* fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
11663169689Skan	expressions, test their _DECL operands for pointer equality rather
11664169689Skan	than using operand_equal_p.
11665169689Skan
11666169689Skan2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
11667169689Skan
11668169689Skan	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
11669169689Skan	(TARGET_POSIX_IO): This.
11670169689Skan	* config/darwin.h: Likewise.
11671169689Skan	* config/freebsd.h: Likewise.
11672169689Skan	* config/linux.h: Likewise.
11673169689Skan	* config/lynx.h: Likewise.
11674169689Skan	* config/netbsd.h: Likewise.
11675169689Skan	* config/rs6000/linux64.h: Likewise.
11676169689Skan	* config/rs6000/linux.h: Likewise.
11677169689Skan	* config/s390/tpf.h: Likewise.
11678169689Skan	* config/sh/embed-elf.h: Likewise.
11679169689Skan	* config/sparc/linux64.h: Likewise.
11680169689Skan	* config/sparc/linux.h: Likewise.
11681169689Skan	* config/svr4.h: Likewise.
11682169689Skan	* gcov-io.h: Likewise.
11683169689Skan
11684169689Skan	* doc/tm.texi: Updated.
11685169689Skan
11686169689Skan	* libgcov.c (create_file_directory): Defined only if
11687169689Skan	TARGET_POSIX_IO is defined.
11688169689Skan	(gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
11689169689Skan	is defined.
11690169689Skan
11691169689Skan2005-07-13  Jan Hubicka  <jh@suse.cz>
11692169689Skan
11693169689Skan	* tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
11694169689Skan
11695169689Skan2005-07-13  David Edelsohn  <edelsohn@gnu.org>
11696169689Skan
11697169689Skan	* tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
11698169689Skan	structure as argument.
11699169689Skan
11700169689Skan2005-07-13  Paolo Bonzini  <bonzini@gnu.org>
11701169689Skan
11702169689Skan	PR tree-optimization/21921
11703169689Skan	* tree-iterator.c (tsi_link_before): Support the case when
11704169689Skan	tsi_end_p (tsi) == true.
11705169689Skan
11706169689Skan2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
11707169689Skan
11708169689Skan	PR tree-optimization/22442
11709169689Skan	* tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
11710169689Skan	correctly.
11711169689Skan
11712169689Skan2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
11713169689Skan
11714169689Skan	PR rtl-optimization/20376
11715169689Skan	* toplev.c (process_options): Enable -fweb and -frename-registers when
11716169689Skan	unrolling.
11717169689Skan	* doc/invoke.texi: Update the information about when -fweb and
11718169689Skan	-frename-registers are enabled.
11719169689Skan
11720169689Skan2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
11721169689Skan
11722169689Skan	PR tree-opt/21840
11723169689Skan	* tree-ssa-pre.c (eliminate): Convert the sprime to the correct type
11724169689Skan	if *rhs_p is not a SSA_NAME.
11725169689Skan
11726169689Skan2005-07-12  Daniel Berlin  <dberlin@dberlin.org>
11727169689Skan
11728169689Skan	Fix PR tree-optimization/22422
11729169689Skan	* tree-ssa-structalias.c (struct variable_info): Add flag for
11730169689Skan	special vars.
11731169689Skan	(get_varinfo): Now a static function.
11732169689Skan	(new_varinfo): init has_union and is_special_var to false.
11733169689Skan	(solution_set_add): Check has_union.
11734169689Skan	(do_da_constraint): Move temporary variable so it gets reset
11735169689Skan	properly.
11736169689Skan	Also check for special variable.
11737169689Skan	(do_ds_constraint): Ditto.
11738169689Skan	(do_sd_constraint): Ditto.
11739169689Skan	(do_structure_copy): Check for special variable.
11740169689Skan	(find_func_aliases): Ditto.
11741169689Skan	(init_base_vars): Set special vars properly.
11742169689Skan
11743169689Skan2005-07-13  Jan Hubicka  <jh@suse.cz>
11744169689Skan
11745169689Skan	* cfgexpand.c (expand_one_stack_var): Do not expand variables when we
11746169689Skan	do unit-at-a-time.
11747169689Skan
11748169689Skan	* tree-ssa-operands.c (parse_ssa_operands): Fix formatting.
11749169689Skan	(get_expr_operands): Fix thinko wrt flags and subvars.
11750169689Skan
11751169689Skan	PR tree-optimize/22379
11752169689Skan	* tree-inline.c (expand_call_inline): Do not output sorry in early
11753169689Skan	inlining.
11754169689Skan
11755169689Skan2005-07-12  Dale Johannesen  <dalej@apple.com>
11756169689Skan
11757169689Skan	* config/rs6000.c (rs6000_rtx_cost): Move FLOAT_EXTEND.
11758169689Skan
11759169689Skan2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
11760169689Skan
11761169689Skan	PR bootstrap/21704
11762169689Skan	* host-linux.h: Include limits.h.
11763169689Skan
11764169689Skan2005-07-12  Dale Johannesen  <dalej@apple.com>
11765169689Skan
11766169689Skan	* expr.c (compress_float_constant): Add cost check.
11767169689Skan	* config/rs6000.c (rs6000_rtx_cost): Adjust FLOAT_EXTEND cost.
11768169689Skan
11769169689Skan2005-07-12  Dale Johannesen  <dalej@apple.com>
11770169689Skan
11771169689Skan	* gcc.target/i386/compress-float-sse.c: New.
11772169689Skan	* gcc.target/i386/compress-float-sse-pic.c: New.
11773169689Skan	* gcc.target/i386/compress-float-387.c: New.
11774169689Skan	* gcc.target/i386/compress-float-387-pic.c: New.
11775169689Skan	* gcc.dg/compress-float-ppc.c: New.
11776169689Skan	* gcc.dg/compress-float-ppc-pic.c: New.
11777169689Skan
11778169689Skan2005-07-12  Eric Christopher  <echristo@redhat.com>
11779169689Skan
11780169689Skan	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
11781169689Skan	static extra parts.
11782169689Skan	* config/s390/s390.md: Include tpf.md. Move tpf specific
11783169689Skan	patterns...
11784169689Skan	* config/s390/tpf.md: To here.
11785169689Skan	* config/s390/s390.opt: Move tpf specific options...
11786169689Skan	* config/s390/tpf.opt: to here. Add mmain option.
11787169689Skan	* config/s390/tpf-unwind.h: Remove unnecessary defines.
11788169689Skan	* config/s390/tpf.h: Rewrite.
11789169689Skan
11790169689Skan2005-07-12  Eric Christopher  <echristo@redhat.com>
11791169689Skan
11792169689Skan	* gcc.c (struct infile): Update comment for language.
11793169689Skan	(main): Rewrite input file resetting code.
11794169689Skan
11795169689Skan2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
11796169689Skan
11797169689Skan	PR tree-opt/22335
11798169689Skan	* tree-ssa-dom.c (eliminate_redundant_computations): Reject the prop if
11799169689Skan	requiring a cast in a non RHS of modify_expr.  Add a cast when required.
11800169689Skan	(lookup_avail_expr): Use constant_boolean_node instead
11801169689Skan	of boolean_false_node/boolean_true_node.
11802169689Skan
11803169689Skan2005-07-12  Ben Elliston  <bje@au.ibm.com>
11804169689Skan
11805169689Skan	* tree-cfg.c (dump_cfg_stats): Add a new fmt_str_2 format string
11806169689Skan	and use it when printing num_edges.
11807169689Skan
11808169689Skan2005-07-12  Bernd Schmidt  <bernd.schmidt@analog.com>
11809169689Skan
11810169689Skan	* doc/extend.texi (Blackfin Built-in Functions): New section.
11811169689Skan	* doc/invoke.texi (mcsync-anomaly, mno-csync-anomaly): Fix the
11812169689Skan	@opindex.
11813169689Skan
11814169689Skan2005-07-12  Adrian Straetling  <straetling@de.ibm.com>
11815169689Skan
11816169689Skan	* builtins.c: (expand_builtin_memcmp, expand_builtin_strncmp):
11817169689Skan	s/cmpstrsi/cmpstrnsi
11818169689Skan	(expand_builtin_strcmp): Rewrite to support both 'cmpstrsi' and
11819169689Skan	'cmpstrnsi'.
11820169689Skan	* optabs.c: (prepare_cmp_insn): Add availability of 'cmpstrn'.
11821169689Skan	(init_optabs): Initialize cmpstrn_optab.
11822169689Skan	* optabs.h: (enum insn_code cmpstrn_optab): Declare.
11823169689Skan	* genopinit.c: (optabs[]): Add 'cmpstrn' to initialisation.
11824169689Skan	* expr.c: (enum insn_code cmpstrn_optab): Declare.
11825169689Skan	* config/i386/i386.md: s/cmpstr/cmpstrn
11826169689Skan	* config/c4x/c4x.md: s/cmpstr/cmpstrn
11827169689Skan	* doc/md.texi: Update documentation.
11828169689Skan
11829169689Skan2005-07-11  Richard Henderson  <rth@redhat.com>
11830169689Skan
11831169689Skan	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Use
11832169689Skan	build_va_arg_indirect_ref.
11833169689Skan	(alpha_gimplify_va_arg): Likewise.
11834169689Skan	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
11835169689Skan	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
11836169689Skan	* config/mips/mips.c (mips_gimplify_va_arg_expr): Likewise.
11837169689Skan	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
11838169689Skan	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
11839169689Skan	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg):
11840169689Skan	Likewise.
11841169689Skan	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
11842169689Skan
11843169689Skan2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
11844169689Skan
11845169689Skan	* tree-flow.h (remove_empty_loops, single_dom_exit): Declare.
11846169689Skan	* passes.c (init_optimization_passes): Add pass_empty_loop.
11847169689Skan	* tree-pass.h (pass_empty_loop): Declare.
11848169689Skan	* tree-ssa-loop-ivcanon.c (empty_loop_p, remove_empty_loop,
11849169689Skan	try_remove_empty_loop, remove_empty_loops): New functions.
11850169689Skan	* tree-ssa-loop-ivopts.c (single_dom_exit): Export.
11851169689Skan	* tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): New.
11852169689Skan
11853169689Skan2005-07-12  Peter Barada  <peter@the-baradas.com>
11854169689Skan
11855169689Skan	PR middle-end/16719
11856169689Skan	PR middle-end/18421
11857169689Skan	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
11858169689Skan	in address registers.
11859169689Skan	* config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
11860169689Skan	* config/m68k/m68k.md: Replace 's' with 'i' in 4th
11861169689Skan	alternative of addsi3_5200.
11862169689Skan
11863169689Skan2005-07-11  Ian Lance Taylor  <ian@airs.com>
11864169689Skan
11865169689Skan	* config/mips/mips.md (ffs<mode>2): Remove.
11866169689Skan
11867169689Skan2005-07-11  Ian Lance Taylor  <ian@airs.com>
11868169689Skan
11869169689Skan	* doc/tree-ssa.texi (Cleanups): Improve description of
11870169689Skan	TRY_FINALLY_EXPR.
11871169689Skan	(GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
11872169689Skan
11873169689Skan2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
11874169689Skan
11875169689Skan	* print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
11876169689Skan	* tree.h (DECL_ARGUMENT_FLD): New macro.
11877169689Skan
11878169689Skan2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
11879169689Skan
11880169689Skan	Fix PR tree-optimization/22404
11881169689Skan
11882169689Skan	* tree-ssa-structalias.c (create_variable_info_for): Use
11883169689Skan	correct offset.
11884169689Skan
11885169689Skan2005-07-11  Bernd Schmidt  <bernd.schmidt@analog.com>
11886169689Skan
11887169689Skan	* config/bfin/bfin.md (cmpsi, compare_eq, compare_ne, compare_lt,
11888169689Skan	compare_le, compare_leu, compare_ltu): Use reg_or_const_int_operand
11889169689Skan	for second comparison operand.
11890169689Skan	* config/bfin/predicates.md (reg_or_const_int_operand): New.
11891169689Skan
11892169689Skan	* config/bfin/bfin.md (define_attr "type"): Add "sync".
11893169689Skan	(define_insn_reservation "alu"): Likewise.
11894169689Skan	(csync, ssync): Now of type sync.
11895169689Skan	* config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
11896169689Skan	-mcsync-anomaly -mspecld-anomaly.
11897169689Skan	* config/bfin/bfin.opt (mcsync): Remove.
11898169689Skan	(mcsync-anomaly, mspecld-anomaly): Add.
11899169689Skan	* config/bfin/bfin.c: Include "insn-codes.h".
11900169689Skan	(bfin_reorg): Extend to handle the CSYNC anomaly as well.
11901169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): New.
11902169689Skan	* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
11903169689Skan
11904169689Skan2005-07-11  Steven Bosscher  <stevenb@suse.de>
11905169689Skan
11906169689Skan	* basic-block.h: Give the BB flags enum a name, bb_flags.
11907169689Skan	Add new flags BB_FORWARDER_BLOCK, and BB_NONTHREADABLE_BLOCK.
11908169689Skan	* cfgcleanup.c (enum bb_flags): Remove here.
11909169689Skan	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG): Remove.
11910169689Skan	(notice_new_block): Set/test bb->flags instead of aux via BB_FLAGS.
11911169689Skan	(update_forwarder_flag): Likewise.
11912169689Skan	(thread_jump): Likewise.
11913169689Skan	(try_forward_edges): Likewise.
11914169689Skan	(try_optimize_cfg): Likewise.  Clear bb->flags before updating the
11915169689Skan	forwarder flags.  Don't clear bb->aux for all basic blocks.  Only
11916169689Skan	reset the BB_FORWARDER_BLOCK and BB_NONTHREADABLE_BLOCK flags.
11917169689Skan
11918169689Skan2005-07-11  Richard Guenther  <rguenther@suse.de>
11919169689Skan
11920169689Skan	* config/i386/i386.opt: New target option -msseregparm.
11921169689Skan	* config/i386/i386.c (override_options): Error out for
11922169689Skan	-msseregparm but no SSE support.
11923169689Skan	(ix86_function_sseregparm): Check for global sseregparm.
11924169689Skan	* doc/invoke.texi: Document -msseregparm.
11925169689Skan
11926169689Skan2005-07-11  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
11927169689Skan
11928169689Skan	* config.gcc (m32r-*-linux*): Use the default extra_parts.
11929169689Skan	(m32rle-*-linux*): Ditto.
11930169689Skan
11931169689Skan2005-07-11  Jakub Jelinek  <jakub@redhat.com>
11932169689Skan
11933169689Skan	* cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
11934169689Skan	instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
11935169689Skan	bytes.
11936169689Skan
11937169689Skan2005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11938169689Skan
11939169689Skan	PR middle-end/22239
11940169689Skan	PR target/20126
11941169689Skan	* loop.c (loop_givs_rescan): Use expand_simple_binop instead of
11942169689Skan	gen_rtx_MINUS to handle non-replaceable (plus ((x) (const)).
11943169689Skan
11944169689Skan2005-07-07  Daniel Berlin  <dberlin@dberlin.org>
11945169689Skan
11946169689Skan	* tree-ssa-structalias.c (struct variable_info): Heapify complex.
11947169689Skan	(varmap): Heapify varmap.
11948169689Skan	(constraints): Heapify constraints.
11949169689Skan	(struct constraint_graph): Heapify succs and preds.
11950169689Skan	(constraint_vec_find): Update for heapification.
11951169689Skan	(constraint_set_union): Ditto.
11952169689Skan	(insert_into_complex): Ditto.
11953169689Skan	(constraint_edge_vec_find): Ditto.
11954169689Skan	(erase_graph_self_edge): Ditto.
11955169689Skan	(add_graph_edge): Ditto.
11956169689Skan	(get_graph_weights): Ditto.
11957169689Skan	(merge_graph_nodes): Ditto.
11958169689Skan	(build_constraint_graph): Ditto.
11959169689Skan	(topo_visit): Ditto.
11960169689Skan	(solve_graph): Ditto.
11961169689Skan	(create_variable_info_for): Ditto.
11962169689Skan	(init_base_vars): Ditto.
11963169689Skan	(delete_points_to_sets): Free graph, varmap, and complex constraints.
11964169689Skan	(condese_varmap_nodes): Free complex vector.
11965169689Skan	(clear_edges_for_node): Clear succs and preds vector.
11966169689Skan
11967169689Skan2005-07-10  Daniel Berlin  <dberlin@dberlin.org>
11968169689Skan
11969169689Skan	* tree-ssa-structalias.c (update_alias_info): Change counting of
11970169689Skan	references to not include vdefs.
11971169689Skan
11972169689Skan2005-07-10  Daniel Berlin  <dberlin@dberlin.org>
11973169689Skan
11974169689Skan	* tree-ssa-alias.c (free_used_part_map): Add missing free.
11975169689Skan	(up_insert): Ditto.
11976169689Skan
11977169689Skan2005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11978169689Skan
11979169689Skan	* pa.c (pa_commutative_p): Make PLUS commutative when
11980169689Skan	TARGET_NO_SPACE_REGS is true.
11981169689Skan
11982169689Skan2005-07-09  Diego Novillo  <dnovillo@redhat.com>
11983169689Skan
11984169689Skan	* Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
11985169689Skan	* tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
11986169689Skan	* tree-dfa.c (dump_subvars_for): New.
11987169689Skan	(debug_subvars_for): New.
11988169689Skan	(dump_variable): Show subvariables if VAR has them.
11989169689Skan	* tree-flow-inline.h (get_subvar_at): New.
11990169689Skan	(overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
11991169689Skan	* tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
11992169689Skan	Update all users.
11993169689Skan	(struct subvar): Change fields offset and size to unsigned
11994169689Skan	HOST_WIDE_INT.
11995169689Skan	(dump_subvars_for): Declare.
11996169689Skan	(debug_subvars_for): Declare.
11997169689Skan	(get_subvar_at): Declare.
11998169689Skan	(okay_component_ref_for_subvars): Change 2nd and 3rd argument
11999169689Skan	to unsigned HOST_WIDE_INT *.
12000169689Skan	(overlap_subvar): Likewise.
12001169689Skan	* tree-gimple.c (is_gimple_reg): Always return false for
12002169689Skan	SFTs and memory tags.
12003169689Skan	* tree-pass.h (pass_build_pta, pass_del_pta): Remove.
12004169689Skan	Update all callers.
12005169689Skan	* tree-ssa-alias.c: Include tree-ssa-structalias.h.
12006169689Skan	(compute_may_aliases): Call compute_points_to_sets.
12007169689Skan	(collect_points_to_info_for): Remove.
12008169689Skan	(compute_points_to_and_addr_escape): Remove.
12009169689Skan	(delete_alias_info): Call delete_points_to_sets.
12010169689Skan	(compute_flow_sensitive_aliasing): If the call to
12011169689Skan	find_what_p_points_to returns false, call set_pt_anything.
12012169689Skan	(add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
12013169689Skan	(set_pt_anything): Clear pi->pt_vars.
12014169689Skan	(set_pt_malloc): Remove.
12015169689Skan	(merge_pointed_to_info): Remove.
12016169689Skan	(add_pointed_to_expr): Remove.
12017169689Skan	(add_pointed_to_var): Remove.
12018169689Skan	(collect_points_to_info_r): Remove.
12019169689Skan	(is_escape_site): Make extern.
12020169689Skan	(create_sft): New.
12021169689Skan	(create_overlap_variables_for): Call it.
12022169689Skan	* tree-ssa-copy.c (merge_alias_info): Never merge
12023169689Skan	flow-sensitive alias information.
12024169689Skan	* tree-ssa-operands.c (get_expr_operands): Adjust variables
12025169689Skan	offset and size to be unsigned HOST_WIDE_INT.
12026169689Skan	(add_to_addressable_set): Rename from note_addressable.
12027169689Skan	Set TREE_ADDRESSABLE as the variables are added to the set.
12028169689Skan	Update all users.
12029169689Skan	(add_stmt_operand): Do not try to micro-optimize unmodifiable
12030169689Skan	operands into VUSEs when adding V_MAY_DEFs for members in an
12031169689Skan	alias set.
12032169689Skan	* tree-ssa-operands.h (add_to_addressable_set): Declare.
12033169689Skan	* tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
12034169689Skan	(struct variable_info): Add bitfield is_heap_var.
12035169689Skan	(var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
12036169689Skan	(new_var_info): Initialize is_heap_var.
12037169689Skan	(get_constraint_for): Add HEAP variables to the symbol table.
12038169689Skan	Mark them with is_heap_var.
12039169689Skan	(update_alias_info): New.  Taken mostly from the old
12040169689Skan	compute_points_to_and_addr_escape.
12041169689Skan	(handle_ptr_arith): New.
12042169689Skan	(find_func_aliases): Call update_alias_info.
12043169689Skan	Call handle_ptr_info for tcc_binary expressions.
12044169689Skan	Call mark_stmt_modified.
12045169689Skan	(create_variable_info_for): If DECL has subvars, do not create
12046169689Skan	variables for its subvars.  Always add all the fields.
12047169689Skan	(set_uids_in_ptset): If the solution includes ANYOFFSET and
12048169689Skan	SFTs, then add all the SFTs of the structure.
12049169689Skan	If VI->DECL is an aggregate with subvariables, add the SFT at
12050169689Skan	VI->OFFSET.
12051169689Skan	(find_what_p_points_to): If VI is an artificial variable,
12052169689Skan	translate to bitfields in SSA_NAME_PTR_INFO.
12053169689Skan	If the solution is empty, set pi->pt_vars to NULL
12054169689Skan	(init_base_vars): Create ANYOFFSET.
12055169689Skan	(compute_points_to_sets): Rename from create_alias_vars.
12056169689Skan	Make extern.
12057169689Skan	(pass_build_pta): Remove.
12058169689Skan	(delete_points_to_sets): Rename from delete_alias_vars.
12059169689Skan	(pass_del_pta): Remove.
12060169689Skan	* tree-ssa-structalias.h (struct alias_info): Move from
12061169689Skan	tree-ssa-alias.h.
12062169689Skan	(NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
12063169689Skan	NUM_REFERENCES_SET): Likewise.
12064169689Skan	(compute_points_to_sets, delete_points_to_sets): Declare.
12065169689Skan
12066169689Skan2005-07-09  Richard Henderson  <rth@redhat.com>
12067169689Skan
12068169689Skan	* config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
12069169689Skan	alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12,
12070169689Skan	alpha_split_lock_test_and_set_12): New functions.
12071169689Skan	* config/alpha/alpha-protos.h: Update.
12072169689Skan	* config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC,
12073169689Skan	UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO.
12074169689Skan	* config/alpha/sync.md (I12MODE): New.
12075169689Skan	(memory_barrier, mb_internal): Use unspec instead of unspec_volatile.
12076169689Skan	(sync_<fetchop_name><I48MODE>): Likewise.
12077169689Skan	(sync_nand<I48MODE>): Likewise.
12078169689Skan	(sync_old_<fetchop_name><I48MODE>): Likewise.
12079169689Skan	(sync_new_<fetchop_name><I48MODE>): Likewise.
12080169689Skan	(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
12081169689Skan	(sync_compare_and_swap<I48MODE>): Likewise.
12082169689Skan	(sync_lock_test_and_set<I48MODE>): Likewise.
12083169689Skan	(sync_compare_and_swap<I12MODE>): New.
12084169689Skan	(sync_compare_and_swap<I12MODE>_1): New.
12085169689Skan	(sync_lock_test_and_set<I12MODE>): New.
12086169689Skan	(sync_lock_test_and_set<I12MODE>_1): New.
12087169689Skan
12088169689Skan2005-07-09  Diego Novillo  <dnovillo@redhat.com>
12089169689Skan
12090169689Skan	PR 21356
12091169689Skan	PR 22332
12092169689Skan	* passes.c (execute_todo): Cleanup the CFG before updating SSA.
12093169689Skan
12094169689Skan2005-07-09  Jakub Jelinek  <jakub@redhat.com>
12095169689Skan
12096169689Skan	* config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
12097169689Skan	in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
12098169689Skan
12099169689Skan2005-07-09  Richard SAndiford  <richard@codesourcery.com>
12100169689Skan
12101169689Skan	PR target/21656
12102169689Skan	* config/mips/elf.h (NO_IMPLICIT_EXTERN_C): Define.
12103169689Skan
12104169689Skan2005-07-08  David Edelsohn  <edelsohn@gnu.org>
12105169689Skan
12106169689Skan	* config/rs6000/sync.md (load_locked_<mode>): Use Z for
12107169689Skan	memory_operand constraint.
12108169689Skan	(store_conditional_<mode>): Same.
12109169689Skan	(sync_compare_and_swap<mode>): Same.
12110169689Skan	(sync_lock_test_and_set<mode>): Same.
12111169689Skan
12112169689Skan2005-07-08  Hans-Peter Nilsson  <hp@axis.com>
12113169689Skan
12114169689Skan	Rewrite PIC support to more closely model actual instructions.
12115169689Skan	* config/cris/cris-protos.h (cris_gotless_symbol, cris_got_symbol)
12116169689Skan	(cris_symbol): Remove prototypes for removed functions.
12117169689Skan	(cris_pic_symbol_type_of, cris_valid_pic_const)
12118169689Skan	(cris_expand_pic_call_address): Prototypes for new functions.
12119169689Skan	* config/cris/cris/cris.c (cris_pic_sympart_only): Remove unused
12120169689Skan	variable.
12121169689Skan	(cris_print_operand) <case 'v', 'P'>: Remove cases for unused
12122169689Skan	modifiers.
12123169689Skan	<case ':'>: Add case for new punctuation character.
12124169689Skan	<case 'd'>: Temporarily set flag_pic = 2 instead of incorrectly
12125169689Skan	emitting (extra) PIC modifier.
12126169689Skan	<case UNSPEC>: Do not assert for PLT.
12127169689Skan	(cris_initial_frame_pointer_offset, cris_simple_epilogue)
12128169689Skan	(cris_expand_prologue, cris_expand_epilogue): Check
12129169689Skan	for pic_offset_table_rtx usage instead of taking
12130169689Skan	current_function_uses_pic_offset_table as the final word.
12131169689Skan	(cris_rtx_costs, cris_address_cost, cris_side_effect_mode_ok):
12132169689Skan	Remove flag_pic difference.
12133169689Skan	(cris_valid_pic_const, cris_pic_symbol_type_of): New functions,
12134169689Skan	the moral equivalents of...
12135169689Skan	(cris_symbol, cris_gotless_symbol, cris_got_symbol): Remove
12136169689Skan	functions.
12137169689Skan	(cris_legitimate_pic_operand): Just call cris_valid_pic_const.
12138169689Skan	(cris_handle_option): Mark ARG as unused.
12139169689Skan	(cris_expand_pic_call_address): New worker function for "call",
12140169689Skan	"call_value".
12141169689Skan	(cris_asm_output_symbol_ref, cris_asm_output_label_ref): Do not
12142169689Skan	output PIC constructs here.
12143169689Skan	(cris_output_addr_const_extra): Changes for emitting PIC modifiers
12144169689Skan	as symbol-specific modifers, not whole or part of operands.
12145169689Skan	* config/cris/cris/cris.h (EXTRA_CONSTRAINT): Remove 'U' case.
12146169689Skan	(EXTRA_CONSTRAINT_S): Changed semantics: allow only CONST-wrapped
12147169689Skan	constants and flag_pic.
12148169689Skan	(CONSTANT_INDEX_P): Adjust for new functions.
12149169689Skan	(enum cris_pic_symbol_type): New helper type.
12150169689Skan	(PRINT_OPERAND_PUNCT_VALID_P): Add ':'.
12151169689Skan	* config/cris/cris/cris.md (CRIS_UNSPEC_GOTREL)
12152169689Skan	(CRIS_UNSPEC_GOTREAD, CRIS_UNSPEC_PLTGOTREAD): New
12153169689Skan	define_constants.
12154169689Skan	("movsi"): Emit actual instructions for GOT and relative access.
12155169689Skan	("*movsi_got_load"): New pattern to set up the register holding
12156169689Skan	the GOT pointer.
12157169689Skan	("*movsi_internal"): Operand 1 is not a plain general_operand.
12158169689Skan	Adjust FIXME for 'S'.
12159169689Skan	<output for 'S' alternative>: Sanity-check UNSPEC types for PIC.
12160169689Skan	Use "movs" for -fpic cases.
12161169689Skan	("addsi3"): Add alternative for 'S'; use adds.w when possible.
12162169689Skan	("uminsi3","*expanded_call_value"): Remove 'S' alternative.
12163169689Skan	("call", "call_value"): Just call cris_expand_pic_call_address for
12164169689Skan	PIC addresses.
12165169689Skan	("*expanded_call_no_gotplt", "*expanded_call_value_no_gotplt"):
12166169689Skan	Remove special pattern.
12167169689Skan	("*expanded_call_side", "*expanded_call_value_side"): New
12168169689Skan	patterns.
12169169689Skan	(gotplt-to-plt, gotplt-to-plt-side-call)
12170169689Skan	(gotplt-to-plt-side-call-value, gotplt-to-plt-side): New
12171169689Skan	peephole2:s.
12172169689Skan	* config/cris/cris/predicates.md
12173169689Skan	("cris_general_operand_or_gotless_symbol"): Remove unused
12174169689Skan	predicate.
12175169689Skan	("cris_general_operand_or_symbol"): Adjust for new functions.
12176169689Skan
12177169689Skan2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
12178169689Skan
12179169689Skan	* config/darwin.h (TARGET_C99_FUNCTIONS): Define to 1.
12180169689Skan
12181169689Skan2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
12182169689Skan
12183169689Skan	* Makefile.in (TREE_H): Add treestruct.def.
12184169689Skan	(c-decl.o): Add pointer-set.h
12185169689Skan	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
12186169689Skan	visibility on regular DECL's.
12187169689Skan	(merge_decls): Fix the copying of decl nodes of various types for
12188169689Skan	the new structures.  Don't update RTL, section name, weak status,
12189169689Skan	etc, on DECL's without RTL.
12190169689Skan	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
12191169689Skan	Don't check volatile on non-variable types.
12192169689Skan	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
12193169689Skan	to check whether we have seen arguments.
12194169689Skan	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
12195169689Skan	flag is checked before field (flag is common, field is not).
12196169689Skan	* dwarf2out.c (decl_ultimate_origin): Only DECL's with
12197169689Skan	TS_DECL_COMMON could have an origin.
12198169689Skan	(add_location_or_const_value_attribute): Don't check section name
12199169689Skan	on non-var/function decls.
12200169689Skan	(dwarf2out_var_location): Reverse order of tests.
12201169689Skan	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
12202169689Skan	with DECL_WRTL_CHECK.
12203169689Skan	* expmed.c (make_tree): rtl is now in decl_with_rtl.
12204169689Skan	* fold-const.c (fold_binary): Don't check weakness on
12205169689Skan	non-var/function decls.
12206169689Skan	(tree_expr_nonzero_p): Ditto.
12207169689Skan	(fold_checksum_tree): Use tree_decl_extra as sizeof
12208169689Skan	buffer.
12209169689Skan	* ggc-page.c (extra_order_size_table): Add sizes for
12210169689Skan	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
12211169689Skan	tree_field_decl.
12212169689Skan	* gimplify.c (gimplify_bind_expr): Only set
12213169689Skan	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
12214169689Skan	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
12215169689Skan	without RTL.
12216169689Skan	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
12217169689Skan	* langhooks.h (init_ts). New langhook.
12218169689Skan	* passes.c (rest_of_decl_compilation): Reverse order of tests.
12219169689Skan	* print-tree.c (print_node): Update to only print fields that
12220169689Skan	exist in the structures the passed decl has.
12221169689Skan	* toplev.c (wrapup_global_declarations): Don't reset
12222169689Skan	DECL_DEFER_OUTPUT on DECL's that don't contain it.
12223169689Skan	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
12224169689Skan	* tree-inline.c (remap_decl): Ditto.
12225169689Skan	* tree-outof-ssa.c (create_temp): Reverse order of tests.
12226169689Skan	* tree-pretty-print.c (print_declaration): Don't print
12227169689Skan	DECL_REGISTER on things that don't contain it.
12228169689Skan	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
12229169689Skan	non-var/function decls.
12230169689Skan	* tree.c (tree_contains_struct): New structure.
12231169689Skan	(init_priority_for_decl): New hashtable.
12232169689Skan	(tree_int_map): New structure.
12233169689Skan	(tree_int_map_eq): New function.
12234169689Skan	(tree_int_map_marked_p): Ditto.
12235169689Skan	(tree_int_map_hash): Ditto.
12236169689Skan	(tree_map): Move to tree.h.
12237169689Skan	(tree_map_eq): Externalize.
12238169689Skan	(tree_map_hash): Ditto.
12239169689Skan	(tree_map_marked_p): Ditto.
12240169689Skan	(init_ttree): Set up tree_contains_struct and call langhook.
12241169689Skan	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
12242169689Skan	(tree_code_size): Update for new structures.
12243169689Skan	(tree_node_structure): Update for new structures.
12244169689Skan	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
12245169689Skan	without the field.
12246169689Skan	(copy_node_stat): Copy init priority.
12247169689Skan	(build_decl_stat): Ditto for visibility.
12248169689Skan	(ts_enum_names): New.
12249169689Skan	(tree_contains_struct_check_failed): New function.
12250169689Skan	(decl_init_priority_lookup): Ditto.
12251169689Skan	(decl_init_priority_insert): Ditto.
12252169689Skan	* treestruct.def: New file.
12253169689Skan	* tree.h (CODE_CONTAINS_STRUCT): New macro.
12254169689Skan	(CONTAINS_STRUCT_CHECK): Ditto.
12255169689Skan	(tree_contains_struct_check_failed): New prototype.
12256169689Skan	(DECL_CHECK): Removed.
12257169689Skan	(DECL_MINIMAL_CHECK): New.
12258169689Skan	(DECL_COMMON_CHECK): Ditto.
12259169689Skan	(DECL_WRTL_CHECK): Ditto.
12260169689Skan	(DECL_NON_COMMON_CHECK): Ditto.
12261169689Skan	(DECL_WITH_VIS_CHECK): Ditto.
12262169689Skan	(VAR_OR_FUNCTION_DECL_P): Ditto
12263169689Skan	(struct tree_decl_minimal): New structure.
12264169689Skan	(struct tree_decl_common): Ditto.
12265169689Skan	(struct tree_decl_with_rtl): Ditto.
12266169689Skan	(struct tree_decl_with_vis): Ditto.
12267169689Skan	(struct tree_decl_non_common): Ditto.
12268169689Skan	(struct tree_field_decl): Ditto.
12269169689Skan	(struct tree_parm_decl): Ditto.
12270169689Skan	(struct tree_var_decl): Ditto.
12271169689Skan	(struct tree_function_decl): Ditto.
12272169689Skan	(struct tree_const_decl): Ditto.
12273169689Skan	(struct tree_result_decl): Ditto.
12274169689Skan	(union tree_node): Add new structures.
12275169689Skan	* var-tracking.c (track_expr_p): Reverse order of tests.
12276169689Skan
12277169689Skan	* doc/c-tree.texi: Add documentation on DECL node internal structure.
12278169689Skan
12279169689Skan2005-07-08  Kazu Hirata  <kazu@codesourcery.com>
12280169689Skan
12281169689Skan	* cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
12282169689Skan	* system.h: Poison FINALIZE_PIC.
12283169689Skan	* doc/tm.texi (FINALIZE_PIC): Remove.
12284169689Skan
12285169689Skan2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
12286169689Skan
12287169689Skan	PR tree-opt/22329
12288169689Skan	* tree-ssa-propagate.c (fold_predicate_in): Convert the value
12289169689Skan	to the correct type if we have a MODIFY_EXPR.
12290169689Skan
12291169689Skan2005-07-08  Kazu Hirata  <kazu@codesourcery.com>
12292169689Skan
12293169689Skan	PR tree-optimization/22360
12294169689Skan	* tree.c (upper_bound_in_type): Fix calculations for casting
12295169689Skan	to a non-wider signed type and casting a signed value to a
12296169689Skan	wider unsigned type.
12297169689Skan	(lower_bound_in_type): Fix calculations for casting to a
12298169689Skan	non-wider signed type.
12299169689Skan
12300169689Skan	PR tree-optimization/20139
12301169689Skan	* tree-cfg.c (remove_bb): Check in_ssa_p before calling
12302169689Skan	release_defs.
12303169689Skan	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call
12304169689Skan	fold_cond_expr_cond.
12305169689Skan	* tree-ssanames.c (release_defs): Assert in_ssa_p.
12306169689Skan	* tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite.
12307169689Skan
12308169689Skan2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
12309169689Skan
12310169689Skan	PR tree-opt/22356
12311169689Skan	* tree-complex.c (expand_complex_libcall): Produce
12312169689Skan	REALPART_EXPR/IMAGPART_EXPR with the correct type.
12313169689Skan
12314169689Skan2005-07-08  Kenneth Zadeck <zadeck@naturalbridge.com>
12315169689Skan
12316169689Skan	* bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
12317169689Skan	bitmap_and_compl_into, bitmap_xor, bitmap_xor_into): Removed "a !=
12318169689Skan	b" assert and inserted fastpath code for this case.
12319169689Skan	(bitmap_ior): Removed "a != b" assert.
12320169689Skan
12321169689Skan2005-07-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
12322169689Skan
12323169689Skan	* config/m32r/linux.h (STARTFILE_SPEC): Support PIE.
12324169689Skan	(ENDFILE_SPEC): Likewise.
12325169689Skan	* config/m32r/m32r.h (ASM_SPEC): Likewise.
12326169689Skan
12327169689Skan	* config/m32r/m32r.c (m32r_output_function_epilogue): Care for
12328169689Skan	a large stack frame at epilogue.
12329169689Skan
12330169689Skan2005-07-08  David Billinghurst  <David.Billinghurst@riotinto.com>
12331169689Skan
12332169689Skan	* final.c: Include sdbout.h when required.
12333169689Skan
12334169689Skan2005-07-07  Geoffrey Keating  <geoffk@apple.com>
12335169689Skan
12336169689Skan	* config.gcc (*-*-darwin*): Only one target-specific header file
12337169689Skan	for generic darwin.
12338169689Skan	(powerpc-*-darwin*): Add version-specific header files.
12339169689Skan	* configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
12340169689Skan	* config.in: Regenerate.
12341169689Skan	* configure: Regenerate.
12342169689Skan	* gcc.c: Include xregex.h.
12343169689Skan	(version_compare_spec_function): New.
12344169689Skan	(spec_function): Add version-compare.
12345169689Skan	(replace_outfile_spec_function): Reformat comment.
12346169689Skan	(compare_version_strings): New.
12347169689Skan	* config/darwin-c.c (version_as_macro): New.
12348169689Skan	(builtin_define): New.
12349169689Skan	(darwin_cpp_builtins): New.
12350169689Skan	* config/darwin-protos.h (darwin_cpp_builtins): New.
12351169689Skan	* config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
12352169689Skan	(LIB_SPEC): Make unconditional, update comment.
12353169689Skan	(TARGET_C99_FUNCTIONS): Define.
12354169689Skan	* config/darwin.opt: Sort.
12355169689Skan	(mmacosx-version-min=): New.
12356169689Skan	* config/darwin7.h: Delete.
12357169689Skan	* config/darwin8.h: Delete.
12358169689Skan	* config/i386/darwin.h (): Call darwin_cpp_builtins.
12359169689Skan	* config/rs6000/darwin.h (): Call darwin_cpp_builtins.
12360169689Skan	(TARGET_C99_FUNCTIONS): Define.
12361169689Skan	* config/rs6000/darwin7.h: New.
12362169689Skan	* config/rs6000/darwin8.h: New.
12363169689Skan	* doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
12364169689Skan	(-mmacosx-version-min): Document.
12365169689Skan
12366169689Skan2005-07-07  Ian Lance Taylor  <ian@airs.com>
12367169689Skan
12368169689Skan	* config/mips/mips.md (abs<mode>2) [GPR]: Remove.
12369169689Skan
12370169689Skan2005-07-07  John David Anglin  <dave.anglin@nrc-crc.gc.ca>
12371169689Skan
12372169689Skan	PR middle-end/22239
12373169689Skan	* loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
12374169689Skan
12375169689Skan2005-07-07  Khem Raj  <kraj@mvista.com>
12376169689Skan
12377169689Skan	* config/arm/arm.c (thumb_output_function_prologue): Calculate offset
12378169689Skan	in bytes, not words.
12379169689Skan
12380169689Skan2005-07-07  Paul Brook  <paul@codesourcery.com>
12381169689Skan
12382169689Skan	* config/arm/arm.c (arm_pad_arg_upward): Compare return value of
12383169689Skan	DEFAULT_FUNCTION_ARG_PADDING to upward.
12384169689Skan
12385169689Skan2005-07-07  Richard Henderson  <rth@redhat.com>
12386169689Skan
12387169689Skan	* function.c (locate_and_pad_parm): Record parameter alignment in
12388169689Skan	stack_alignment_needed.
12389169689Skan
12390169689Skan2005-07-07  David Edelsohn  <edelsohn@gnu.org>
12391169689Skan
12392169689Skan	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_SYNC_OP,
12393169689Skan	UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC, UNSPEC_ISYNC): Delete.
12394169689Skan	(UNSPECV_LL, UNSPECV_SC, UNSPECV_ATOMIC, UNSPECV_SYNC,
12395169689Skan	UNSPECV_SYNC_OP, UNSPECV_CMPXCHG, UNSPECV_LWSYNC, UNSPECV_ISYNC): New.
12396169689Skan	(define_attr "type"): Add isync, sync, load_l, store_c.
12397169689Skan	* config/rs6000/sync.md (memory_barrier): Change to define_expand.
12398169689Skan	Create scratch volatile MEM.
12399169689Skan	(sync_internal): New.  POWER mnemonic is dcs, not ics.  Attribute
12400169689Skan	sync.
12401169689Skan	(load_locked_<mode>): New.
12402169689Skan	(store_conditional_<mode>): New.
12403169689Skan	(sync_compare_and_swap<mode>): Replace with splitter.
12404169689Skan	(sync_lock_test_and_set<mode>): Replace with splitter.
12405169689Skan	(sync_<fetchop><mode>): Change to unspec_volatile UNSPECV_SYNC_OP
12406169689Skan	and UNSPECV_ISYNC.
12407169689Skan	(isync): Change to unspec_volatile UNSPECV_ISYNC.  POWER mnemonic
12408169689Skan	is ics.  Attribute isync.
12409169689Skan	(lwsync): Change to unspec_volatile UNSPECV_LWSYNC.  Attribute
12410169689Skan	lwsync.
12411169689Skan	* config/rs6000/rs6000.c (rs6000_emit_sync): Use UNSPEC_VOLATILE
12412169689Skan	and UNSPECV_SYNC_OP.
12413169689Skan	(emit_unlikely_jump): New.
12414169689Skan	(emit_load_locked): New.
12415169689Skan	(emit_store_conditional): New.
12416169689Skan	(rs6000_split_compare_and_swap): New.
12417169689Skan	(rs6000_split_lock_test_and_set): New.
12418169689Skan	(is_dispatch_slot_restricted): Return 4 for TYPE_LOAD_L,
12419169689Skan	TYPE_STORE_C, TYPE_ISYNC, TYPE_SYNC.
12420169689Skan	* config/rs6000/rs6000-protos.h (rs6000_split_compare_and_swap,
12421169689Skan	rs6000_split_lock_test_and_set): Declare.
12422169689Skan	* config/rs6000/{40x.md,440.md,603.md,6xx.md,7450.md,7xx.md,8540.md,
12423169689Skan	mpc.md,power4.md,power5.md,rios1.md,rios2.md,rs64.md): Add load_l,
12424169689Skan	store_c, isync, sync.
12425169689Skan
12426169689Skan2005-07-07  Kelley Cook  <kcook@gcc.gnu.org>
12427169689Skan
12428169689Skan	* Makefile.in (echo_quoted_to_gtyp): New template for outputing
12429169689Skan	filenames to gtyp-gen.h.
12430169689Skan	(s-typ-gen): Use it in place of for loops.
12431169689Skan
12432169689Skan2005-07-07  J"orn Rennecke <joern.rennecke@st.com>
12433169689Skan
12434169689Skan	* hooks.c (hook_bool_rtx_int_false): New function.
12435169689Skan	* hooks.h (hook_bool_rtx_int_false): Declare.
12436169689Skan	* target-def.h (TARGET_COMMUTATIVE_P): Define.
12437169689Skan	(TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
12438169689Skan	* target.h (struct gcc_target): Add commutative_p member.
12439169689Skan	* targhooks.c (hook_bool_rtx_commutative_p): New function.
12440169689Skan	* targhooks.h (hook_bool_rtx_commutative_p): Declare.
12441169689Skan	* pa.c (TARGET_COMMUTATIVE_P): Redefine.
12442169689Skan	(pa_commutative_p): New function.
12443169689Skan	* jump.c (target.h): Include.
12444169689Skan	(rtx_renumbered_equal_p): Use targetm.commutative_p.
12445169689Skan	* doc/tm.texi: Document TARGET_COMMUTATIVE_P.
12446169689Skan
12447169689Skan2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
12448169689Skan
12449169689Skan	* config/s390/s390-protos.h (s390_expand_clrmem): Delete.
12450169689Skan	(s390_expand_setmem): New.
12451169689Skan	* config/s390/s390.c: Likewise.
12452169689Skan	(print_shift_count_operand): Truncate to 12 bits instead of 6.
12453169689Skan	Adapt comments.
12454169689Skan	* config/s390/s390.md: ("setmem<mode>"): Accept character as
12455169689Skan	general_operand.  Call new function "s390_expand_setmem".
12456169689Skan	("clrmem_long", "*clrmem_long"): Rewrite to ...
12457169689Skan	("setmem_long", "*setmem_long"): ... this.
12458169689Skan
12459169689Skan2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
12460169689Skan
12461169689Skan	* config/s390/s390.c: (optimization_options): Enable
12462169689Skan	TARGET_MVCLE at -Os.
12463169689Skan	* doc/invoke.texi: Document changes in default behaviour.
12464169689Skan	* config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
12465169689Skan
12466169689Skan2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
12467169689Skan
12468169689Skan	* expr.c: (set_storage_via_setmem): Convert opchar to mode
12469169689Skan	defined by back-end.
12470169689Skan
12471169689Skan2005-07-07  Jakub Jelinek  <jakub@redhat.com>
12472169689Skan
12473169689Skan	* config/sparc/sparc.md (stack_protect_testsi): Put clobbers after
12474169689Skan	all sets in the pattern.
12475169689Skan	* config/rs6000/rs6000.md (stack_protect_testsi,
12476169689Skan	stack_protect_testdi): Likewise.
12477169689Skan
12478169689Skan2005-07-06  Jeff Law  <law@redhat.com>
12479169689Skan
12480169689Skan	* tree-vrp.c (simplify_using_ranges): Kill.
12481169689Skan	(vrp_finalize): Remove call to simplify_using_ranges.
12482169689Skan	(simplify_stmt_using_ranges): New function extracted from
12483169689Skan	simplify_using_ranges.
12484169689Skan	(simplify_div_or_mod_using_ranges): Likewise.
12485169689Skan	(simplify_abs_using_ranges): Likewise.
12486169689Skan	(simplify_cond_using_ranges): New function.
12487169689Skan	* tree-flow.h (simplify_stmt_using_ranges): Prototype.
12488169689Skan	* tree-ssa-propagate.c (substitute_and_fold): Call
12489169689Skan	simplify_stmt_using_ranges if we have range information.
12490169689Skan
12491169689Skan2005-07-06  James E. Wilson  <wilson@specifixinc.com>
12492169689Skan
12493169689Skan	* config/ia64/ia64.c (ia64_reorg): Check optimize before
12494169689Skan	ia64_flag_schedule_isns2.
12495169689Skan
12496169689Skan	* config/ia64/ia64.c (ia64_expand_movxf_movrf): Don't word swap when
12497169689Skan	reading/writing general registers.
12498169689Skan	(ia64_function_arg): Revert 2005-06-18 change.
12499169689Skan
12500169689Skan2005-07-06  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
12501169689Skan
12502169689Skan	* pa.c (legitimize_pic_address): Use gcc_assert instead of abort.
12503169689Skan	(legitimize_tls_address): Use gcc_unreachable instead of abort.
12504169689Skan
12505169689Skan2005-07-06  Kaz Kojima  <kkojima@gcc.gnu.org>
12506169689Skan
12507169689Skan	* function.c (expand_function_end): Revert part of 2005-06-27
12508169689Skan	patch.  Do sjlj_emit_function_exit_after after return_label.
12509169689Skan
12510169689Skan2005-07-06  Kazu Hirata  <kazu@codesourcery.com>
12511169689Skan
12512169689Skan	* doc/install.texi (--disable-libssp): New.
12513169689Skan
12514169689Skan2005-07-06  Fariborz Jahanian <fjahanian@apple.com>
12515169689Skan
12516169689Skan	* doc/invoke.texi: Update -fforce-mem documentation.
12517169689Skan	* dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
12518169689Skan	code for -fforce-mem.
12519169689Skan	* expmed.c: (store_bit_field,store_fixed_bit_field,
12520169689Skan	extract_bit_field): Ditto.
12521169689Skan	* expr.c: (convert_move): Ditto.
12522169689Skan	* optabs.c: (expand_binop,expand_twoval_unop,expand_twoval_binop,
12523169689Skan	expand_unop,emit_unop_insn,prepare_cmp_insn,emit_conditional_move,
12524169689Skan	emit_conditional_add,expand_float,expand_fix): Ditto.
12525169689Skan	* opts.c: (decode_options): Remove setting of flag_force_mem flag.
12526169689Skan	(common_handle_option): Issue warning when -fforce-mem specified.
12527169689Skan
12528169689Skan2005-07-06  Paul Brook  <paul@codesourcery.com>
12529169689Skan
12530169689Skan	* aclocal.m4: Work around a bug in AC_PATH_PROGS when its last
12531169689Skan	argument is empty.
12532169689Skan	* configure: Regenerate.
12533169689Skan
12534169689Skan2005-07-06  J"orn Rennecke <joern.rennecke@st.com>
12535169689Skan
12536169689Skan	* sh.c (final_prescan_insn): Undo bogus change from 2005-05-09.
12537169689Skan
12538169689Skan2005-07-06  Daniel Berlin  <dberlin@dberlin.org>
12539169689Skan
12540169689Skan	Fix PR tree-optimization/22319
12541169689Skan	Fix PR tree-optimization/22140
12542169689Skan	Fix PR tree-optimization/22310
12543169689Skan
12544169689Skan	* tree-ssa-structalias.c (do_structure_copy): Give up earlier on
12545169689Skan	variable sized types.
12546169689Skan	Use correct type for intermediate structure on *a = *b structure
12547169689Skan	copies.
12548169689Skan
12549169689Skan2005-07-06  Jakub Jelinek  <jakub@redhat.com>
12550169689Skan
12551169689Skan	* config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
12552169689Skan	Remove.
12553169689Skan	(STARTING_FRAME_OFFSET): Don't add RS6000_VARARGS_AREA.
12554169689Skan	(machine_function): Move typedef to...
12555169689Skan	* config/rs6000/rs6000.c (machine_function): ... here.  Add
12556169689Skan	varargs_save_offset field.
12557169689Skan	(rs6000_stack_t): Remove varargs_size field.
12558169689Skan	(setup_incoming_varargs): Allocate varargs save area using
12559169689Skan	assign_stack_local, try to make it as small as possible.
12560169689Skan	Save offset from virtual_stack_vars_rtx to the save area
12561169689Skan	in cfun->machine->varargs_save_offset.  Use UNITS_PER_FP_WORD
12562169689Skan	instead of magic 8 when fp word byte size is used.
12563169689Skan	(rs6000_va_start): Use cfun->machine->varargs_save_offset
12564169689Skan	instead of -RS6000_VARARGS_SIZE.
12565169689Skan	(rs6000_stack_info, debug_stack_info,
12566169689Skan	rs6000_initial_elimination_offset): Remove all traces of
12567169689Skan	varargs_size.
12568169689Skan	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Remove.
12569169689Skan	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Don't add
12570169689Skan	RS6000_VARARGS_AREA.
12571169689Skan
12572169689Skan2005-07-06  Zdenek Dvorak  <dvorakz@suse.cz>
12573169689Skan
12574169689Skan	PR tree-optimization/21963
12575169689Skan	* tree-ssa-loop-ivopts.c (get_computation_aff): Use
12576169689Skan	constant_multiple_of in the same way get_computation_cost_at does.
12577169689Skan
12578169689Skan2005-07-06  Jakub Jelinek  <jakub@redhat.com>
12579169689Skan
12580169689Skan	* config/sparc/sparc.h (sparc_compare_emitted): New extern.
12581169689Skan	* config/sparc/sparc.c (sparc_compare_emitted): New variable.
12582169689Skan	(gen_compare_reg): If sparc_compare_emitted is set, clear it
12583169689Skan	and return its previous value.
12584169689Skan	(emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
12585169689Skan	* config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
12586169689Skan	constants.
12587169689Skan	(stack_protect_set, stack_protect_test): New expanders.
12588169689Skan	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
12589169689Skan	stack_protect_testdi): New insns.
12590169689Skan	* config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
12591169689Skan	* config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
12592169689Skan
12593169689Skan2005-07-06  Jeff Law  <law@redhat.com>
12594169689Skan
12595169689Skan	* tree-ssa-dce.c (cfg_altered): New global.
12596169689Skan	(tree_dce_init): Initialize cfg_altered.
12597169689Skan	(remove_dead_stmt): If we remove an edge in the CFG, then set
12598169689Skan	CFG_ALTERED.
12599169689Skan	(perform_tree_ssa_dce): If we altered the CFG, then invalidate
12600169689Skan	the dominators.
12601169689Skan
12602169689Skan2005-07-06  Kazu Hirata  <kazu@codesourcery.com>
12603169689Skan
12604169689Skan	* Makefile.in (stamp-collect-ld): Use
12605169689Skan	$(ORIGINAL_LD_FOR_TARGET) instead of $<.  Don't remove
12606169689Skan	./collect-ld if it already exists.
12607169689Skan	(stamp-nm): Use $(ORIGINAL_NM_FOR_TARGET) instead of $<.
12608169689Skan	Don't remove ./nm if it already exists.
12609169689Skan
12610169689Skan2005-07-05  Devang Patel  <dpatel@apple.com>
12611169689Skan
12612169689Skan	* tree-vectorizer.h (struct _loop_vec_info): Remove loop_line_number.
12613169689Skan	(LOOP_VINFO_LOC, LOOP_LOC): Remove.
12614169689Skan	* tree-vectorizer.c (vect_loop_location): New.
12615169689Skan	(vect_print_dump_info): Use vect_loop_location.
12616169689Skan	(new_loop_vec_info): Do not set LOOP_VINFO_LOC.
12617169689Skan	(vectorize_loops): Set vect_loop_location.
12618169689Skan	* tree-vect-analyze.c (vect_analyze_offset_expr,
12619169689Skan	vect_determin_vectorization_factor, vect_analyze_operations,
12620169689Skan	vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
12621169689Skan	vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
12622169689Skan	vect_analyze_data_refs_alignment, vect_analyze_data_ref_access,
12623169689Skan	vect_analyze_data_ref_accesses, vect_analyze_pointer_ref_access,
12624169689Skan	vect_object_analysis, vect_analyze_data_refs, vect_mark_relevant,
12625169689Skan	vect_stmt_relevant_p, vect_mark_stmts_to_be_vectorized,
12626169689Skan	vect_can_advance_ivs_p, vect_get_loop_niters, vect_analyze_loop_form,
12627169689Skan	vect_analyze_loop): Adjust vect_print_dump_info API.
12628169689Skan	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
12629169689Skan	vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
12630169689Skan	vect_finish_stmt_generation, vectorizable_assignment,
12631169689Skan	vectorizable_operation, vectorizable_store, vectorizable_load,
12632169689Skan	vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
12633169689Skan	vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
12634169689Skan	vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
12635169689Skan	vect_transform_loop): Same.
12636169689Skan	* tree-vectorizer.c (get_vectype_for_scalar_type, vect_is_simple_use,
12637169689Skan	vect_is_simple_reduction, vect_is_simple_iv_evolution, vectorize_loops):
12638169689Skan	Same.
12639169689Skan
12640169689Skan2005-07-05  Randolph Chung  <tausq@debian.org>
12641169689Skan
12642169689Skan	* configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
12643169689Skan	* configure: Regenerate.
12644169689Skan	* config/pa/pa-protos.h (tls_symbolic_operand): Declare.
12645169689Skan	(pa_tls_referenced_p): Declare.
12646169689Skan	* config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
12647169689Skan	(gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
12648169689Skan	(legitimize_tls_address): New.
12649169689Skan	(hppa_legitimize_address): Handle TLS addresses.
12650169689Skan	(pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
12651169689Skan	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
12652169689Skan	(emit_move_sequence): Handle TLS addresses.
12653169689Skan	(pa_encode_section_info): Call default handler to handle common
12654169689Skan	sections.
12655169689Skan	* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
12656169689Skan	(CONSTANT_ADDRESS_P): Reject TLS operands.
12657169689Skan	(TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
12658169689Skan	* config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
12659169689Skan	(UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
12660169689Skan	(UNSPEC_TLSLE): Define new constants.
12661169689Skan	(tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
12662169689Skan	* config/pa/predicates.md (symbolic_operand): Reject TLS operands.
12663169689Skan	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
12664169689Skan	(tie_symbolic_operand, tle_symbolic_operand): New
12665169689Skan
12666169689Skan2005-07-06  Kelley Cook  <kcook@gcc.gnu.org>
12667169689Skan
12668169689Skan	* aclocal.m4: Update macros for autoconf 2.59 style.
12669169689Skan	* configure.ac: Likewise.
12670169689Skan
12671169689Skan2005-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12672169689Skan
12673169689Skan	* pa.c (function_value): Handle small aggregates on 32-bit targets.
12674169689Skan	(function_arg): Pass small aggregates in general registers on 32-bit
12675169689Skan	targets.
12676169689Skan	* som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
12677169689Skan
12678169689Skan2005-07-05  Andrew Pinski  <pinskia@physics.uc.edu>
12679169689Skan
12680169689Skan	* Makefile.in (final.o): Fix dependencies.
12681169689Skan
12682169689Skan2005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
12683169689Skan
12684169689Skan	PR c/22013
12685169689Skan	PR c/22098
12686169689Skan	* langhooks.h (struct lang_hooks): Add expr_to_decl.
12687169689Skan	* langhooks.c (lhd_expr_to_decl): New.
12688169689Skan	* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
12689169689Skan	New.
12690169689Skan	(LANG_HOOKS_INITIALIZER): Update.
12691169689Skan	* tree.c (recompute_tree_invarant_for_addr_expr): Call
12692169689Skan	expr_to_decl langhook.
12693169689Skan	* c-tree.h (c_expr_to_decl): Declare.
12694169689Skan	* c-typeck.c (c_expr_to_decl): New.
12695169689Skan	(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
12696169689Skan	specially.
12697169689Skan	* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
12698169689Skan
12699169689Skan2005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
12700169689Skan
12701169689Skan	PR c/22308
12702169689Skan	* c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
12703169689Skan	C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
12704169689Skan
12705169689Skan2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
12706169689Skan
12707169689Skan	* Makefile.in: Adjust dependencies.
12708169689Skan	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
12709169689Skan	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
12710169689Skan	* alias.c (rest_of_handle_cfg, pass_cfg): New.
12711169689Skan	* bb-reorder.c (duplicate_computed_gotos): Make it static.
12712169689Skan	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
12713169689Skan	rest_of_compilation.
12714169689Skan
12715169689Skan	* bb-reorder.c (gate_duplicate_computed_gotos,
12716169689Skan	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
12717169689Skan	rest_of_handle_reorder_blocks, pass_reorder_blocks,
12718169689Skan	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
12719169689Skan	pass_partition_blocks): New.
12720169689Skan	* bt-load.c (gate_handle_branch_target_load_optimize,
12721169689Skan	rest_of_handle_branch_target_load_optimize,
12722169689Skan	pass_branch_target_load_optimize): New.
12723169689Skan	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
12724169689Skan	pass_jump2): New.
12725169689Skan	* cfglayout.c (pass_insn_locators_initialize): New.
12726169689Skan	* cfgrtl.c (pass_free_cfg): New.
12727169689Skan	* combine.c (gate_handle_combine, rest_of_handle_combine,
12728169689Skan	pass_combine): New.
12729169689Skan	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
12730169689Skan	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
12731169689Skan	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
12732169689Skan	* except.c (pass_set_nothrow_function_flags,
12733169689Skan	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
12734169689Skan	pass_rtl_eh): New.
12735169689Skan	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
12736169689Skan	rest_of_handle_shorten_branches, pass_shorten_branches,
12737169689Skan	rest_of_clean_state, pass_clean_state): New.
12738169689Skan	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
12739169689Skan	rest_of_handle_remove_death_notes, pass_remove_death_notes,
12740169689Skan	rest_of_handle_life, pass_life, rest_of_handle_flow2,
12741169689Skan	pass_flow2): New.
12742169689Skan	* function.c (pass_instantiate_virtual_regs, pass_init_function,
12743169689Skan	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
12744169689Skan	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
12745169689Skan	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
12746169689Skan	pass_gcse): New.
12747169689Skan	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
12748169689Skan	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
12749169689Skan	pass_rtl_ifcvt, gate_handle_if_after_combine,
12750169689Skan	rest_of_handle_if_after_combine, pass_if_after_combine,
12751169689Skan	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
12752169689Skan	pass_if_after_reload): New.
12753169689Skan	* integrate.c (pass_initial_value_sets): New.
12754169689Skan	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
12755169689Skan	pass_purge_lineno_notes): New.
12756169689Skan	* mode-switching.c (rest_of_handle_mode_switching,
12757169689Skan	pass_mode_switching): New.
12758169689Skan	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
12759169689Skan	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
12760169689Skan	pass_loop2): New.
12761169689Skan	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
12762169689Skan	pass_loop_optimize): New.
12763169689Skan	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
12764169689Skan	pass_sms): New.
12765169689Skan	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
12766169689Skan	pass_gcse2): New.
12767169689Skan	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
12768169689Skan	pass_postreload_cse): New.
12769169689Skan	* profile.c (gate_handle_profiling, pass_profiling,
12770169689Skan	rest_of_handle_branch_prob, pass_branch_prob): New.
12771169689Skan	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
12772169689Skan	pass_split_before_regstack, gate_handle_split_before_regstack,
12773169689Skan	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
12774169689Skan	rest_of_handle_split_all_insns, pass_split_all_insns): New.
12775169689Skan	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
12776169689Skan	pass_stack_regs): New.
12777169689Skan	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
12778169689Skan	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
12779169689Skan	pass_stack_adjustments): New.
12780169689Skan	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
12781169689Skan	pass_regrename): New.
12782169689Skan	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
12783169689Skan	pass_delay_slots, gate_handle_machine_reorg,
12784169689Skan	rest_of_handle_machine_reorg, pass_machine_reorg): New.
12785169689Skan	* rtl.h (extern void purge_line_number_notes): New.
12786169689Skan	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
12787169689Skan	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
12788169689Skan	pass_sched2): New.
12789169689Skan	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
12790169689Skan	pass_tracer): New.
12791169689Skan	* value-prof.c (gate_handle_value_profile_transformations,
12792169689Skan	rest_of_handle_value_profile_transformations,
12793169689Skan	pass_value_profile_transformations): New.
12794169689Skan	* var-tracking.c (gate_handle_var_tracking,
12795169689Skan	pass_variable_tracking): New.
12796169689Skan	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
12797169689Skan
12798169689Skan	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
12799169689Skan	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
12800169689Skan	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
12801169689Skan	rest_of_handle_old_regalloc, rest_of_handle_regrename,
12802169689Skan	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
12803169689Skan	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
12804169689Skan	rest_of_handle_gcse2, rest_of_handle_regmove,
12805169689Skan	rest_of_handle_tracer, rest_of_handle_if_conversion,
12806169689Skan	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
12807169689Skan	rest_of_handle_web, rest_of_handle_branch_prob,
12808169689Skan	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
12809169689Skan	rest_of_handle_jump_bypass, rest_of_handle_combine,
12810169689Skan	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
12811169689Skan	rest_of_handle_gcse, rest_of_handle_loop_optimize,
12812169689Skan	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
12813169689Skan	rest_of_handle_mode_switching, rest_of_handle_jump,
12814169689Skan	rest_of_handle_eh, rest_of_handle_stack_adjustments,
12815169689Skan	rest_of_handle_flow2, rest_of_handle_jump2,
12816169689Skan	rest_of_handle_peephole2, rest_of_handle_postreload,
12817169689Skan	rest_of_handle_shorten_branches, rest_of_clean_state,
12818169689Skan	rest_of_compilation): Remove.
12819169689Skan
12820169689Skan	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
12821169689Skan	* passes.c (dump_flags, in_gimple_form, all_passes,
12822169689Skan	all_ipa_passes, all_lowering_passes, register_one_dump_file,
12823169689Skan	register_dump_files, next_pass_1, last_verified, execute_todo,
12824169689Skan	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
12825169689Skan	from tree-optimize.c.
12826169689Skan	(init_optimization_passes): Moved from tree-optimize.c,
12827169689Skan	adding the RTL optimizations.
12828169689Skan	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
12829169689Skan	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
12830169689Skan	all_ipa_passes, all_lowering_passes, register_one_dump_file,
12831169689Skan	register_dump_files, next_pass_1, last_verified, execute_todo,
12832169689Skan	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
12833169689Skan	init_tree_optimization_passes, ipa_passes): Delete.
12834169689Skan	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
12835169689Skan	the RTL dumps.
12836169689Skan	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
12837169689Skan	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
12838169689Skan	from tree.h.
12839169689Skan	(ipa_passes): Remove.
12840169689Skan	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
12841169689Skan	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
12842169689Skan	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
12843169689Skan	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
12844169689Skan	(dump_info_p, dump_flag): Moved to tree-dump.h.
12845169689Skan
12846169689Skan	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
12847169689Skan	cgraph.c, opts.c.
12848169689Skan	* passes.c (finish_optimization_passes): Use dump_begin
12849169689Skan	and dump_end, TDI_end.
12850169689Skan	(gate_rest_of_compilation): New.
12851169689Skan	(pass_rest_of_compilation): Use it.
12852169689Skan	(gate_postreload, pass_postreload): New.
12853169689Skan	* toplev.c (general_init): Rename init_tree_optimization_passes.
12854169689Skan	* toplev.h (init_tree_optimization_passes): Rename to
12855169689Skan	init_optimizations_passes.
12856169689Skan	* tree-dump.c (dump_flag): Make static.
12857169689Skan	(dump_files): Remove RTL dumps.
12858169689Skan	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
12859169689Skan	pass_cleanup_cfg, pass_free_cfg_annotations,
12860169689Skan	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
12861169689Skan	pass_init_datastructures, pass_fixup_cfg): Make non-static.
12862169689Skan	* tree-pretty-print.c: Include tree-pass.h.
12863169689Skan	* cgraph.c: Include tree-dump.h.
12864169689Skan
12865169689Skan2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
12866169689Skan
12867169689Skan	* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
12868169689Skan	Only fall back to saying it points to readonly memory if
12869169689Skan	we can't do better.
12870169689Skan
12871169689Skan2005-07-05  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
12872169689Skan
12873169689Skan	* config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
12874169689Skan	* config/m32r/m32r.c (m32r_compute_frame_size,
12875169689Skan	m32r_expand_prologue): Take current_function_profile into
12876169689Skan	account whenever we reference
12877169689Skan	current_function_uses_pic_offset_table.
12878169689Skan	(m32r_finalize_pic): Remove.
12879169689Skan	* config/m32r/m32r.h (FINALIZE_PIC): Likewise.
12880169689Skan
12881169689Skan2005-07-05  Kazu Hirata  <kazu@codesourcery.com>
12882169689Skan
12883169689Skan	* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
12884169689Skan	instead of $<.  Don't remove ./as if it already exists.
12885169689Skan
12886169689Skan2005-07-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12887169689Skan
12888169689Skan	PR target/21723
12889169689Skan	* pa.md: Remove fcpy alternative from movhi and movqi patterns.
12890169689Skan	* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
12891169689Skan	for complex modes when generating code for PA 1.0.
12892169689Skan	(VALID_FP_MODE_P): New macro.
12893169689Skan	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
12894169689Skan	sets for all general and floating point modes.  Align wide floating
12895169689Skan	point modes to even register boundaries to comply with architectural
12896169689Skan	requirements.
12897169689Skan	(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
12898169689Skan	* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
12899169689Skan	(VALID_FP_MODE_P): New macro.
12900169689Skan	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
12901169689Skan	sets for all general and floating point modes.  Align wide floating
12902169689Skan	point modes to even register boundaries to comply with architectural
12903169689Skan	requirements.
12904169689Skan
12905169689Skan2005-07-04  Diego Novillo  <dnovillo@redhat.com>
12906169689Skan
12907169689Skan	* tree-dump.c (dump_files): Initialize dump number for .cgraph
12908169689Skan	to 0.
12909169689Skan
12910169689Skan2005-07-04  Diego Novillo  <dnovillo@redhat.com>
12911169689Skan
12912169689Skan	* tree-ssa-structalias.c: Don't include expr.h.
12913169689Skan
12914169689Skan2005-07-04  Diego Novillo  <dnovillo@redhat.com>
12915169689Skan
12916169689Skan	* tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
12917169689Skan	comments.
12918169689Skan
12919169689Skan2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
12920169689Skan
12921169689Skan	Fix PR tree-optimization/22279
12922169689Skan
12923169689Skan	* tree-ssa-structalias.c (offset_overlaps_with_access): Use
12924169689Skan	correct operator.
12925169689Skan
12926169689Skan2005-07-04  J"orn Rennecke <joern.rennecke@st.com>
12927169689Skan
12928169689Skan	* sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
12929169689Skan
12930169689Skan2005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
12931169689Skan
12932169689Skan	* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
12933169689Skan	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
12934169689Skan	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
12935169689Skan	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
12936169689Skan	config/stormy16/stormy16.c, config/v850/v850.c,
12937169689Skan	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
12938169689Skan	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
12939169689Skan	Avoid "." or "\n" at end of diagnostics and capital letters at
12940169689Skan	start of diagnostics.
12941169689Skan	* combine.c, cse.c: Don't translate dump file output.
12942169689Skan	* toplev.c (print_version): Only translate output if going to
12943169689Skan	stderr.
12944169689Skan
12945169689Skan2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
12946169689Skan
12947169689Skan	* c-decl.c, tree-object-size.c, tree-vectorizer.c,
12948169689Skan	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
12949169689Skan	typos.
12950169689Skan
12951169689Skan2005-07-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12952169689Skan
12953169689Skan	* pa.c (fix_range): Fix typo in comment.
12954169689Skan
12955169689Skan2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
12956169689Skan
12957169689Skan	* tree-vrp.c (extract_range_from_assert): Replace
12958169689Skan	fold (build (...)) with fold_build2.
12959169689Skan
12960169689Skan2005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12961169689Skan
12962169689Skan	* c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
12963169689Skan	gcc_gfc_char_table, init_dynamic_gfc_info): New.
12964169689Skan	(format_types_orig, handle_format_attribute): Add support for
12965169689Skan	format "gcc_gfc".
12966169689Skan
12967169689Skan2005-07-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12968169689Skan
12969169689Skan	* varasm.c (assemble_variable): Fix format specifier thinko.
12970169689Skan
12971169689Skan2005-07-03  Ira Rosen  <irar@il.ibm.com>
12972169689Skan
12973169689Skan	PR tree-optimization/22029 (and 22135)
12974169689Skan	* tree-pretty-print.c (dump_generic_node): Check that the node is not
12975169689Skan	a phi node before calling dump_vops.
12976169689Skan
12977169689Skan2005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12978169689Skan
12979169689Skan	* tree-dump.h (dump_string_field): Declare.
12980169689Skan	* tree-dump.c: Use it instead of dump_string.
12981169689Skan	(dump_string_field): Make non-static.
12982169689Skan
12983169689Skan2005-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>
12984169689Skan
12985169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
12986169689Skan	up the minimal CFG stuff always when optimize > 0.  Call
12987169689Skan	split_all_insns_noflow in PIC case if needed.
12988169689Skan
12989169689Skan2005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12990169689Skan	    Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
12991169689Skan
12992169689Skan	PR c++/18279
12993169689Skan	* c-decl.c (c_write_global_declarations): Dump contents of
12994169689Skan	external scope to.
12995169689Skan	* tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
12996169689Skan	<TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
12997169689Skan	<GOTO_EXPR>, <SWITCH_EXPR>: Add.
12998169689Skan	(dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
12999169689Skan	is enabled.
13000169689Skan
13001169689Skan2005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
13002169689Skan
13003169689Skan	* c-common.h (GCC_DIAG_STYLE): Define.
13004169689Skan	* c-tree.h (GCC_DIAG_STYLE): Do not define.  Change minimum GCC
13005169689Skan	version for format checking to 4.1.
13006169689Skan	* c-format.c: Include toplev.h after c-common.h.
13007169689Skan	(enum format_type): Add gcc_tdiag_format_type.
13008169689Skan	(gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
13009169689Skan	gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
13010169689Skan	(format_types_orig): Add gcc_tdiag.
13011169689Skan	(init_dynamic_diag_info): Support gcc_tdiag formats.
13012169689Skan	(handle_format_attribute): Likewise.
13013169689Skan	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
13014169689Skan	(GCC_DIAG_STYLE): Default to __gcc_tdiag__.  Change minimum GCC
13015169689Skan	version for format checking to 4.1.
13016169689Skan	(warning0, warning, error, pedwarn, sorry): Use
13017169689Skan	ATTRIBUTE_GCC_DIAG.
13018169689Skan	* config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
13019169689Skan	(finish_aliases_1): Do not use %qE.
13020169689Skan	* config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
13021169689Skan	config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
13022169689Skan	Correct format bugs.
13023169689Skan	* config/v850/v850-protos.h (v850_output_aligned_bss): Change size
13024169689Skan	parameter to unsigned HOST_WIDE_INT.
13025169689Skan	* config/v850/v850.c (v850_output_aligned_bss): Likewise.
13026169689Skan
13027169689Skan2005-07-02  David Edelsohn  <edelsohn@gnu.org>
13028169689Skan
13029169689Skan	PR middle-end/21742
13030169689Skan	* expr.c (write_complex_part): Use adjust_address for MEM.
13031169689Skan	(read_complex_part): Same.
13032169689Skan
13033169689Skan2005-07-02  Daniel Berlin  <dberlin@dberlin.org>
13034169689Skan
13035169689Skan	Fix PR tree-optimization/22280
13036169689Skan
13037169689Skan	* tree-sra.c (generate_element_init): Remove useless loop.
13038169689Skan
13039169689Skan2005-07-02  Richard Henderson  <rth@redhat.com>
13040169689Skan
13041169689Skan	* config/alpha/alpha.c (alpha_legitimize_address): Check for
13042169689Skan	TLS_MODEL_NONE.
13043169689Skan	(alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
13044169689Skan
13045169689Skan2005-07-02  Andrew Pinski  <pinskia@physics.uc.edu>
13046169689Skan
13047169689Skan	PR middle-end/14490
13048169689Skan	* fold-const.c (fold_binary): Handle the return value of
13049169689Skan	fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
13050169689Skan	Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
13051169689Skan
13052169689Skan2005-07-02  Jeff Law  <law@redhat.com>
13053169689Skan
13054169689Skan	* tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
13055169689Skan	a eliminate type conversion which feeds an equality comparison
13056169689Skan	if the original type or either operand in the comparison is a
13057169689Skan	function pointer.
13058169689Skan
13059169689Skan2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
13060169689Skan
13061169689Skan	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
13062169689Skan	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
13063169689Skan	texts.
13064169689Skan	* config/avr/avr.c: Do not use '`' as left quote.
13065169689Skan	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
13066169689Skan	Remove "." from end of diagnostics.  Make diagnostics start with
13067169689Skan	lowercase letter.
13068169689Skan
13069169689Skan2005-07-02  Zack Weinberg  <zack@codesourcery.com>
13070169689Skan	    Joseph S. Myers  <joseph@codesourcery.com>
13071169689Skan
13072169689Skan	* toplev.c (default_tree_printer): Handle setting location with
13073169689Skan	'+' flag.
13074169689Skan	* c-objc.common.c (c_tree_printer): Likewise.
13075169689Skan	* c-format.c (gcc_diag_flag_specs): Add '+'.
13076169689Skan	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
13077169689Skan	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
13078169689Skan	formats.
13079169689Skan	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
13080169689Skan	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
13081169689Skan	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
13082169689Skan	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
13083169689Skan	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
13084169689Skan	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
13085169689Skan	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
13086169689Skan	format arguments where %J is used without %D.
13087169689Skan
13088169689Skan2005-07-02  Jakub Jelinek  <jakub@redhat.com>
13089169689Skan
13090169689Skan	* gcc.c (LINK_SSP_SPEC): Define.
13091169689Skan	(link_ssp_spec): New variable.
13092169689Skan	(LINK_COMMAND_SPEC): Add %(link_ssp).
13093169689Skan	(static_specs): Add link_ssp_spec.
13094169689Skan	* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
13095169689Skan	* configure: Rebuilt.
13096169689Skan	* config.in: Rebuilt.
13097169689Skan
13098169689Skan	* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
13099169689Skan	* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
13100169689Skan	* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
13101169689Skan	* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
13102169689Skan	* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
13103169689Skan	If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
13104169689Skan	-0x7008(2) instead of reading __stack_chk_guard variable.
13105169689Skan	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
13106169689Skan	number.
13107169689Skan	(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
13108169689Skan	(stack_protect_set, stack_protect_test): Use *_tls* patterns
13109169689Skan	if TARGET_THREAD_SSP_OFFSET is defined.
13110169689Skan	(stack_tls_protect_set_si, stack_tls_protect_set_di,
13111169689Skan	stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
13112169689Skan
13113169689Skan	Revert:
13114169689Skan	2005-06-27  Richard Henderson  <rth@redhat.com>
13115169689Skan	* libgcc-std.ver (GCC_4.1.0): New.
13116169689Skan	* libgcc.h (__stack_chk_guard): Declare.
13117169689Skan	(__stack_chk_fail, __stack_chk_fail_local): Declare.
13118169689Skan	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
13119169689Skan	* mklibgcc.in (lib2funcs): Add them.
13120169689Skan
13121169689Skan2005-07-01  Richard Henderson  <rth@redhat.com>
13122169689Skan
13123169689Skan	* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
13124169689Skan	void * before struct sigcontext *.
13125169689Skan	(x86_fallback_frame_state): Likewise.
13126169689Skan
13127169689Skan2005-07-01  James E. Wilson  <wilson@specifixinc.com>
13128169689Skan
13129169689Skan	* doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
13130169689Skan
13131169689Skan2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
13132169689Skan
13133169689Skan	PR tree-opt/22269
13134169689Skan	* tree-ssa-reassoc.c (should_transpose): Fix which operand
13135169689Skan	we check for SSA_NAME for.
13136169689Skan
13137169689Skan2005-07-01  Daniel Berlin  <dberlin@dberlin.org>
13138169689Skan
13139169689Skan	Fix PR tree-optimization/22071
13140169689Skan
13141169689Skan	* tree-ssa-structalias.c (offset_overlaps_with_access): New
13142169689Skan	function.
13143169689Skan	(get_constraint_for_component_ref): Use it.
13144169689Skan
13145169689Skan2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
13146169689Skan
13147169689Skan	PR other/22264
13148169689Skan	* diagnostic.c (diagnostic_report_current_module): Use pp_newline to
13149169689Skan	print out the last new line.
13150169689Skan
13151169689Skan2005-07-01  Hans-Peter Nilsson  <hp@axis.se>
13152169689Skan
13153169689Skan	* config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
13154169689Skan	Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
13155169689Skan	* config/cris/cris.c (cris_conditional_register_usage): Adjust
13156169689Skan	reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
13157169689Skan	(cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
13158169689Skan	(cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
13159169689Skan	* config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
13160169689Skan	(enum reg_class): New member CC0_REGS.
13161169689Skan	(REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
13162169689Skan	(FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
13163169689Skan	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
13164169689Skan	(CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
13165169689Skan	(PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
13166169689Skan	Adjust for register now described.
13167169689Skan
13168169689Skan2005-07-01  Jakub Jelinek  <jakub@redhat.com>
13169169689Skan
13170169689Skan	PR target/22262
13171169689Skan	* config/i386/i386.md (stack_protect_test_si,
13172169689Skan	stack_protect_test_di): Add earlyclobber for scratch 3.
13173169689Skan	* config/rs6000/rs6000.md (stack_protect_testsi,
13174169689Skan	stack_protect_testdi): Add earlyclobber for scratch 3,
13175169689Skan	remove earlyclobber from scratch 4.
13176169689Skan
13177169689SkanOlder entries for 2005 can be found in ChangeLog-2005.
13178169689Skan2005-06-30  Diego Novillo  <dnovillo@redhat.com>
13179169689Skan
13180169689Skan	PR 21584
13181169689Skan	PR 22219
13182169689Skan	* tree-ssa-alias.c (create_name_tags): Also process
13183169689Skan	non-dereferenced pointers.
13184169689Skan	Remove argument 'ai'.  Update all callers.
13185169689Skan
13186169689Skan2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
13187169689Skan
13188169689Skan	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET):
13189169689Skan	Set to 0 for FRAME_GROWS_DOWNWARD.
13190169689Skan	(REGISTER_NAMES): Add sfp.
13191169689Skan
13192169689Skan2005-07-01  Kelley Cook  <kcook@gcc.gnu.org>
13193169689Skan
13194169689Skan	* config/arm/libunwind.S, config/arm/pr-support.c,
13195169689Skan	config/arm/unwind-arm.c, config/arm/unwind-arm.h,
13196169689Skan	config/c4x/predicates.md, tree-object-size.c: Update FSF address.
13197169689Skan
13198169689Skan2005-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
13199169689Skan
13200169689Skan	PR target/22260
13201169689Skan	* config/sparc/sparc.c (emit_and_preserve): Add 2nd register.
13202169689Skan	Preserve the 2nd register too, if present.
13203169689Skan	(sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too.
13204169689Skan	Adjust call to emit_and_preserve.
13205169689Skan
13206169689Skan2005-06-30  Zack Weinberg  <zack@codesourcery.com>
13207169689Skan	    Jakub Jelinek  <jakub@redhat.com>
13208169689Skan
13209169689Skan	* pretty-print.h (PP_NL_ARGMAX): New.
13210169689Skan	(text_info): Add locus.
13211169689Skan	(struct chunk_info): New.
13212169689Skan	(output_buffer): Add formatted_obstack, chunk_obstack, and
13213169689Skan	cur_chunk_array. Change obstack to a pointer.
13214169689Skan	(pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
13215169689Skan	(struct pretty_print_info): Replace ideal_maximum_length and
13216169689Skan	prefixing_rule with wrapping.
13217169689Skan	(pp_line_cutoff, pp_prefixing_rule): Update to match.
13218169689Skan	Update prototypes and wrapper macros throughout.
13219169689Skan	* pretty-print.c (pp_formatted_text_data, pp_append_r)
13220169689Skan	(pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
13221169689Skan	(pp_base_last_position_in_text, pp_base_newline, pp_base_character):
13222169689Skan	Update for changes to pp structure.
13223169689Skan	(pp_base_prepare_to_format, pp_base_format_text): Delete.
13224169689Skan	(pp_base_format, pp_base_output_formatted_text): New functions.
13225169689Skan	(pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
13226169689Skan	(pp_verbatim): Clear text.locus.
13227169689Skan	(pp_printf): Likewise.  Use pp_format and pp_output_formatted_text.
13228169689Skan	* c-objc-common.c (c_tree_printer): Update function signature.
13229169689Skan	* diagnostic.c (diagnostic_initialize): Update for changes to
13230169689Skan	pp structure.
13231169689Skan	(diagnostic_report_diagnostic): Call pp_format and then
13232169689Skan	pp_output_formatted_text.
13233169689Skan	(verbatim): Clear text.locus.
13234169689Skan	* diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
13235169689Skan	Update for changes to pp structure.
13236169689Skan
13237169689Skan	* c-lang.c: No need to include c-pretty-print.h.
13238169689Skan	* Makefile.in: Remove bogus line containing only a tab.
13239169689Skan	(c-lang.o): Update dependencies.
13240169689Skan	* toplev.c (announce_function): Don't use verbatim.
13241169689Skan	(default_tree_printer): Update signature.
13242169689Skan
13243169689Skan	* objc/objc-lang.c: No need to include c-pretty-print.h.
13244169689Skan	* objc/Make-lang.in: Update dependencies.
13245169689Skan
13246169689Skan2005-06-29  Daniel Berlin  <dberlin@dberlin.org>
13247169689Skan
13248169689Skan	* tree-complex.c (complex_variable_components): Now a hashtable.
13249169689Skan	(cvc_lookup): Ditto.
13250169689Skan	(cvc_insert): Ditto.
13251169689Skan	(create_components): Use referenced var iterator.
13252169689Skan	Initialize hashtable.	Use cvc_insert/lookup.
13253169689Skan	(extract_components): Use cvc_insert/lookup.
13254169689Skan	(update_complex_components): Ditto.
13255169689Skan	(update_complex_components_on_edge): Ditto.
13256169689Skan	* tree-dfa.c (referenced_vars): Now a hashtable.
13257169689Skan	(dump_referenced_vars): Use iterator.
13258169689Skan	(referenced_var_lookup): New function.
13259169689Skan	(referenced_var_insert): Ditto.
13260169689Skan	(add_referenced_var): Use referenced_var_insert.
13261169689Skan	(mark_new_vars_to_rename): Use DECL_UID.
13262169689Skan	* tree-flow-inline.h (first_htab_element): New function.
13263169689Skan	(end_htab_p): Ditto.
13264169689Skan	(next_htab_element): Ditto.
13265169689Skan	(first_referenced_var): Ditto.
13266169689Skan	(end_referenced_vars_p): Ditto.
13267169689Skan	(next_referenced_var): Ditto.
13268169689Skan	(is_call_clobbered): Use DECL_UID.
13269169689Skan	(mark_call_clobbered): Ditto.
13270169689Skan	(clear_call_clobbered): Ditto.
13271169689Skan	(mark_non_addressable): Ditto.
13272169689Skan	* tree-flow.h (htab_iterator): New struct.
13273169689Skan	(FOR_EACH_HTAB_ELEMENT): New macro.
13274169689Skan	(struct int_tree_map): New struct.
13275169689Skan	(int_tree_map_hash): Prototype.
13276169689Skan	(int_tree_map_eq): Ditto.
13277169689Skan	(referenced_var_iterator): Ditto.
13278169689Skan	(FOR_EACH_REFERENCED_VAR): New macro.
13279169689Skan	(referenced_vars): Now a hashtable.
13280169689Skan	* tree-into-ssa.c (symbol_marked_for_renaming): Use DECL_UID.
13281169689Skan	(add_new_name_mapping): Ditto.
13282169689Skan	(mark_def_sites): Ditto.
13283169689Skan	(insert_phi_nodes): Use referenced_var iterator.
13284169689Skan	(mark_def_site_blocks): Ditto.
13285169689Skan	(mark_sym_for_renaming): Use DECL_UID.
13286169689Skan	* tree-sra.c (is_sra_candidate_decl): Use DECL_UID.
13287169689Skan	(lookup_element): Ditto.
13288169689Skan	(find_candidates_for_sra): Use referenced_vars iterator.
13289169689Skan	Use DECL_UID.
13290169689Skan	* tree-ssa-alias.c (NUM_REFERENCES): New macro.
13291169689Skan	(NUM_REFERENCES_CLEAR): Ditto.
13292169689Skan	(NUM_REFERENCES_INC): Ditto.
13293169689Skan	(NUM_REFERENCES_SET): Ditto.
13294169689Skan	(alias_obstack): New bitmap obstack.
13295169689Skan	(struct alias_map_d): Use bitmap, not sbitmap.
13296169689Skan	(struct alias_info): Remove num_references.
13297169689Skan	(init_alias_info): Use referenced_var iterator.
13298169689Skan	Initialize bitmap obstack.
13299169689Skan	(delete_alias_info): Use referenced_var iterator.
13300169689Skan	Free bitmap obstack.
13301169689Skan	(compute_points_to_and_addr_escape): Use DECL_UID.
13302169689Skan	Use new NUM_REFERENCES macros.
13303169689Skan	(compute_flow_sensitive_aliasing): may_aliases is now a bitmap.
13304169689Skan	Use new NUM_REFERENCES macros.
13305169689Skan	(group_aliases_into): Update prototype to use bitmap.
13306169689Skan	(setup_pointers_and_addressables): Use referenced_vars iterator.
13307169689Skan	Use DECL_UID. Use new NUM_REFERENCES macros.
13308169689Skan	(add_pointed_to_var): Use DECL_UID.
13309169689Skan	(dump_alias_info): Use referenced_var iterator.
13310169689Skan	(add_type_alias): Ditto.
13311169689Skan	(used_portions): Now a hashtable.
13312169689Skan	(used_part_map_eq): New function.
13313169689Skan	(used_part_map_hash): Ditto.
13314169689Skan	(free_used_part_map): Ditto.
13315169689Skan	(up_lookup): Ditto.
13316169689Skan	(up_insert): Ditto.
13317169689Skan	(get_or_create_used_part_for): Use up_lookup.
13318169689Skan	(create_overlap_variables_for): Ditto.
13319169689Skan	(find_used_portions): Use up_insert.
13320169689Skan	Use DECL_UID.
13321169689Skan	(create_structure_vars): Init used_portions hashtable, use
13322169689Skan	referenced_vars iterator.
13323169689Skan	* tree-ssa-live.c (create_ssa_var_map): sbitmaps became bitmaps.
13324169689Skan	Use DECL_UID.
13325169689Skan	* tree-ssa-loop-im.c (gather_mem_refs_stmt): Use DECL_UID.
13326169689Skan	* tree-ssa-operands.c (get_asm_expr_operands): Ditto.
13327169689Skan	(note_addressable): Ditto.
13328169689Skan	* tree-ssa-structalias.c (set_uids_in_ptset): Ditto.
13329169689Skan	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
13330169689Skan	referenced_var iterator.
13331169689Skan	Use DECL_UID.
13332169689Skan	(delete_tree_ssa): Ditto.
13333169689Skan	(int_tree_map_eq): New function.
13334169689Skan	(int_tree_map_hash): Ditto.
13335169689Skan	* tree-stdarg.c (find_va_list_reference): Use DECL_UID.
13336169689Skan	(va_list_ptr_read): Ditto.
13337169689Skan	(va_list_counter_struct_op): Ditto.
13338169689Skan	(va_list_ptr_write): Ditto.
13339169689Skan	(check_va_list_escapes): Ditto.
13340169689Skan	(check_all_va_list_escapes): Ditto.
13341169689Skan	(execute_optimize_stdarg): Ditto.
13342169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Used referenced_var
13343169689Skan	iterator.
13344169689Skan
13345169689Skan2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
13346169689Skan
13347169689Skan	* config/rs6000/darwin.h (FRAME_POINTER_REGNUM): Rename to ...
13348169689Skan	(HARD_FRAME_POINTER_REGNUM): this.
13349169689Skan
13350169689Skan2005-06-30  Jan Hubicka  <jh@suse.cz>
13351169689Skan
13352169689Skan	* ipa-inline.c (cgraph_clone_inlined_nodes): Revert previous patch.
13353169689Skan
13354169689Skan2005-06-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13355169689Skan
13356169689Skan	PR middle-end/22247
13357169689Skan	* tree-ssa-structalias.c (build_constraint_graph, scc_visit,
13358169689Skan	process_unification_queue, init_topo_info, topo_visit,
13359169689Skan	init_scc_info, free_scc_info, perform_var_substitution,
13360169689Skan	solve_graph): Use unsigned instead of uint.
13361169689Skan
13362169689Skan2005-06-30  Jakub Jelinek  <jakub@redhat.com>
13363169689Skan
13364169689Skan	* function.c (gen_stack_protect_test): Add third argument.
13365169689Skan
13366169689Skan2005-06-30  J. D. Johnston  <jjohnst@us.ibm.com>
13367169689Skan
13368169689Skan	* gthr-tpf.h (CE2THRCPTR): Change field offset to 16.
13369169689Skan
13370169689Skan2005-06-30  Kazu Hirata  <kazu@codesourcery.com>
13371169689Skan
13372169689Skan	* config/c4x/c4x-protos.h: Remove the prototypes for those
13373169689Skan	functions removed from c4x.c.  Add prototypes for those
13374169689Skan	functions exported in c4x.c.
13375169689Skan	* config/c4x/c4x.c (any_operand, fp_zero_operand,
13376169689Skan	const_operand, stik_const_operand, not_const_operand,
13377169689Skan	reg_operand, r0r1_reg_operand, r2r3_reg_operand,
13378169689Skan	ext_low_reg_operand, ext_reg_operand, std_reg_operand,
13379169689Skan	std_or_reg_operand, addr_reg_operand, index_reg_operand,
13380169689Skan	dp_reg_operand, sp_reg_operand, st_reg_operand,
13381169689Skan	rc_reg_operand, call_address_operand,
13382169689Skan	symbolic_address_operand, dst_operand, src_operand,
13383169689Skan	src_hi_operand, lsrc_operand, tsrc_operand,
13384169689Skan	nonimmediate_src_operand, nonimmediate_lsrc_operand,
13385169689Skan	reg_or_const_operand, par_ind_operand, parallel_operand):
13386169689Skan	Remove.
13387169689Skan	(c4x_immed_float_p, c4x_a_register, c4x_x_register,
13388169689Skan	c4x_K_constant, c4x_N_constant, c4x_O_constant,
13389169689Skan	c4x_S_indirect): Export.
13390169689Skan	* config/c4x/c4x.h (PREDICATE_CODES): Remove.
13391169689Skan	* config/c4x/c4x.md: Include predicates.md.
13392169689Skan	* config/c4x/predicates.md: New.
13393169689Skan
13394169689Skan2005-06-30  Jakub Jelinek  <jakub@redhat.com>
13395169689Skan
13396169689Skan	* function.c (stack_protect_epilogue): Pass label to
13397169689Skan	stack_protect_test, assume it emitted also the conditional
13398169689Skan	branch.
13399169689Skan	* doc/md.texi (stack_protect_test): Adjust documentation.
13400169689Skan	* config/i386/i386.md (stack_protect_test): Add third argument,
13401169689Skan	emit beq with operands[2].
13402169689Skan	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
13403169689Skan	flag_stack_protect != 0.
13404169689Skan	* config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
13405169689Skan	constants.
13406169689Skan	(stack_protect_set, stack_protect_test): New expanders.
13407169689Skan	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
13408169689Skan	stack_protect_testdi): New insns.
13409169689Skan	* config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
13410169689Skan	(TARGET_STACK_PROTECT_FAIL): Define.
13411169689Skan	(rs6000_generate_compare): Handle UNSPEC_SP_TEST.
13412169689Skan
13413169689Skan	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Increment.
13414169689Skan	(DWARF_FRAME_REGISTERS, DWARF_REG_TO_UNWIND_COLUMN): Adjust, so
13415169689Skan	that addition of sfp doesn't change these.
13416169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
13417169689Skan	REG_ALLOC_ORDER): Add sfp.
13418169689Skan	(INT_REGNO_P): Include FRAME_POINTER_REGNUM.
13419169689Skan	(FRAME_POINTER_REGNUM): Define to 113.
13420169689Skan	(HARD_FRAME_POINTER_REGNUM): Define to 31.
13421169689Skan	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add sfp.
13422169689Skan	(STARTING_FRAME_OFFSET): Set to 0 for FRAME_GROWS_DOWNWARD.
13423169689Skan	(ELIMINABLE_REGS): Never eliminate to
13424169689Skan	FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
13425169689Skan	instead.  Add eliminations from FRAME_POINTER_REGNUM.
13426169689Skan	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, INT_REG_OK_FOR_INDEX_P):
13427169689Skan	Include FRAME_POINTER_REGNUM.
13428169689Skan	(REGISTER_NAMES): Add sfp.
13429169689Skan	* config/rs6000/rs6000.c (rs6000_reg_names): Add sfp.
13430169689Skan	(alt_reg_names): Likewise.
13431169689Skan	(rs6000_stack_info): Handle FRAME_GROWS_DOWNWARD.
13432169689Skan	(rs6000_emit_prologue): Use HARD_FRAME_POINTER_REGNUM
13433169689Skan	instead of FRAME_POINTER_REGNUM.
13434169689Skan	(rs6000_initial_elimination_offset): Never eliminate to
13435169689Skan	FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
13436169689Skan	instead.  Add elimination offsets from FRAME_POINTER_REGNUM.
13437169689Skan
13438169689Skan	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Only return non-zero
13439169689Skan	if DEFAULT_ABI == ABI_V4.
13440169689Skan
13441169689Skan2005-06-30  Steven Bosscher  <stevenb@suse.de>
13442169689Skan
13443169689Skan	* coretypes.h (tls_model): Add TLS_MODEL_NONE as 0.
13444169689Skan	* tree.h (struct tree_decl): New field `tls_model'.
13445169689Skan	(DECL_TLS_MODEL): New.
13446169689Skan	(DECL_THREAD_LOCAL_P): Rename from DECL_THREAD_LOCAL, make it
13447169689Skan	a predicate.
13448169689Skan	* rtl.h (decl_default_tls_model): Add prototype for it.
13449169689Skan	* varasm.c (decl_tls_model): Rewritten and renamed to ...
13450169689Skan	(decl_default_tls_model): ... this.
13451169689Skan	(default_encode_section_info): Use DECL_TLS_MODEL instead of
13452169689Skan	decl_tls_model.
13453169689Skan	(assemble_variable): Replace DECL_THREAD_LOCAL with
13454169689Skan	DECL_THREAD_LOCAL_P.
13455169689Skan	(default_section_type_flags_1): Likewise.
13456169689Skan	(categorize_decl_for_section): Likewise.
13457169689Skan	* tree.c (staticp): Likewise.
13458169689Skan	(recompute_tree_invarant_for_addr_expr): Likewise.
13459169689Skan	* drawf2out (loc_descriptor_from_tree_1): Likewise.
13460169689Skan	* c-decl.c (diagnose_mismatched_decls): Likewise.
13461169689Skan	with DECL_THREAD_LOCAL_P.
13462169689Skan	(start_decl): Likewise.
13463169689Skan	* print-tree.c (print_node): Likewise.  Print the TLS model.
13464169689Skan	(grokdeclarator): Set the default DECL_TLS_MODEL here.
13465169689Skan	* c-common.c (handle_tls_model_attribute): Rewrite to set the
13466169689Skan	TLS model up based on the attribute.  Never add the attribute
13467169689Skan	to the decl's attributes list.
13468169689Skan	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Replace
13469169689Skan	DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P.
13470169689Skan
13471169689Skan2005-06-30  Zdenek Dvorak  <dvorakz@suse.cz>
13472169689Skan
13473169689Skan	PR testsuite/21967
13474169689Skan	* tree-ssa-live.c (mark_all_vars_used_1): Ignore variables in
13475169689Skan	TMR_ORIGINAL.
13476169689Skan
13477169689Skan2005-06-30  Bernd Schmidt  <bernd.schmidt@analog.com>
13478169689Skan
13479169689Skan	* config/bfin/bfin.md (addv2hi3, subv2hi3, sminv2hi3, smaxv2hi3,
13480169689Skan	mulv2hi3, negv2hi2, absv2hi2): Pattern names fixed by appending the
13481169689Skan	necessary digit.
13482169689Skan
13483169689Skan2005-06-29  David Edelsohn  <edelsohn@gnu.org>
13484169689Skan
13485169689Skan	* config/rs6000/rs6000.c (rs6000_file_start): Use PPC405_ERRATUM77.
13486169689Skan
13487169689Skan2005-06-29  Diego Novillo  <dnovillo@redhat.com>
13488169689Skan
13489169689Skan	PR 22234
13490169689Skan	* tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
13491169689Skan	when following copy-of chains.
13492169689Skan
13493169689Skan2005-06-30  Jan Hubicka  <jh@suse.cz>
13494169689Skan
13495169689Skan	* function.h (struct function): Add saved blocks/unexpanded var list.
13496169689Skan	* gimple-low.c (record_vars): Insert only VAR_DECLs.
13497169689Skan	* tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
13498169689Skan	(remap_decl): Do not declare vars.
13499169689Skan	(remap_block): Do not care inserting blocks.
13500169689Skan	(remap_blocks): New function.
13501169689Skan	(copy_body_r): Update debug info.
13502169689Skan	(expand_call_inline): Duplicate callee block tree into caller;
13503169689Skan	copy all the unexpanded_var_list.
13504169689Skan	(save_body): Save unexpanded_var_list and blocks.
13505169689Skan	* tree-optimize.c (tree_rest_of_optimization): Restore
13506169689Skan	blocks/unexpanded_var_list.
13507169689Skan
13508169689Skan2005-06-29  Richard Henderson  <rth@redhat.com>
13509169689Skan
13510169689Skan	* config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and
13511169689Skan	plus for V4HImode UMAX.
13512169689Skan
13513169689Skan2005-06-29  Joseph S. Myers  <joseph@codesourcery.com>
13514169689Skan
13515169689Skan	* c-tree.h (default_function_array_conversion): Take and return
13516169689Skan	struct c_expr.
13517169689Skan	* c-typeck.c (default_function_array_conversion): Split into
13518169689Skan	array_to_pointer_conversion and function_to_pointer_conversion.
13519169689Skan	Take and return struct c_expr.
13520169689Skan	(array_to_pointer_conversion): Do not handle type qualifiers or
13521169689Skan	COMPOUND_EXPRs specially.
13522169689Skan	(build_function_call): Call function_to_pointer_conversion for
13523169689Skan	function designators.
13524169689Skan	(build_unary_op): Call array_to_pointer_conversion, not
13525169689Skan	default_function_array_conversion.
13526169689Skan	(digest_init, output_init_element): Likewise.
13527169689Skan	* c-parser.c: All callers of default_function_array_conversion
13528169689Skan	changed.
13529169689Skan
13530169689Skan2005-06-29  Ziemowit Laski  <zlaski@apple.com>
13531169689Skan
13532169689Skan	* config/darwin.c (machopic_select_section): constant ObjC string
13533169689Skan	objects now always have type "__builtin_ObjCString".
13534169689Skan
13535169689Skan2005-06-29  Richard Henderson  <rth@redhat.com>
13536169689Skan
13537169689Skan	* config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.
13538169689Skan
13539169689Skan2005-06-29  Richard Henderson  <rth@redhat.com>
13540169689Skan
13541169689Skan	* tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
13542169689Skan	(vect_create_epilog_for_reduction): Don't use vec_shr if the
13543169689Skan	operation is emulated.
13544169689Skan	(vectorizable_reduction): Duplicate vect_min_worthwhile_factor
13545169689Skan	tests from vectorizable_operation.
13546169689Skan
13547169689Skan2005-06-29  Caroline Tice  <ctice@apple.com>
13548169689Skan
13549169689Skan	Fix PR 21956
13550169689Skan	* varasm.c (assemble_start_function): Add "L" to beginning of
13551169689Skan	local labels, so assembler & linker treat them as local.
13552169689Skan
13553169689Skan2005-06-29  Richard Henderson  <rth@redhat.com>
13554169689Skan
13555169689Skan	* config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp
13556169689Skan	argument.  Simplify canonicalization of condition.  Use unsigned
13557169689Skan	saturating subtraction for QI and HImode unsigned compares.  Use
13558169689Skan	bit arithmetic tricks for SImode unsigned compares.
13559169689Skan	* config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl.
13560169689Skan	* config/i386/sse.md (SSEMODE14): New.
13561169689Skan	(umaxv8hi3): Use us_minus+plus to avoid vcond.
13562169689Skan	(umaxv4si3): New.
13563169689Skan	(smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize.
13564169689Skan	(smin<SSEMODE14>3): Similarly with sminv16qi3.
13565169689Skan	(umin<SSEMODE24>3): Similarly with uminv8hi3.
13566169689Skan
13567169689Skan2005-06-29  Ian Lance Taylor  <ian@airs.com>
13568169689Skan
13569169689Skan	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change
13570169689Skan	GEN_INT to gen_int_for_mode when storing register size to memory.
13571169689Skan
13572169689Skan2005-06-29  Stuart Hastings  <stuart@apple.com>
13573169689Skan
13574169689Skan	* config/i386/mmintrin.h: Mark vector intrinsics always_inline.
13575169689Skan	* config/i386/emmintrin.h: Likewise.
13576169689Skan	* config/i386/pmmintrin.h: Likewise.
13577169689Skan	* config/i386/xmmintrin.h: Likewise.
13578169689Skan
13579169689Skan2005-06-29  Steve Ellcey  <sje@cup.hp.com>
13580169689Skan
13581169689Skan	PR middle-end/21969
13582169689Skan	* tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression.
13583169689Skan	(SET_TYPE_VECTOR_SUBPARTS): New.
13584169689Skan	* tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with
13585169689Skan	SET_TYPE_VECTOR_SUBPARTS.
13586169689Skan	* tree-vect-transform.c (vect_transform_loop): Add cast.
13587169689Skan
13588169689Skan2005-06-29  Andreas Krebbel  <krebbel1@de.ibm.com>
13589169689Skan
13590169689Skan	* config/s390/s390.c (s390_decompose_address): Accept invalid
13591169689Skan	displacements for addresses containing frame_pointer_rtx or
13592169689Skan	virtual_stack_vars_rtx.
13593169689Skan	(s390_frame_info): Replaced use of STARTING_FRAME_OFFSET.
13594169689Skan	(s390_initial_elimination_offset): New offset when eliminating the
13595169689Skan	soft frame pointer.
13596169689Skan	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1.
13597169689Skan	(STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed.
13598169689Skan
13599169689Skan2005-06-28  Ziemowit Laski  <zlaski@apple.com>
13600169689Skan
13601169689Skan	* c-common.c (flag_next_runtime): Move...
13602169689Skan	* toplev.c (flag_next_runtime): ... here.
13603169689Skan	* c-common.h (flag_next_runtime): Move...
13604169689Skan	* flags.h (flag_next_runtime): ... here.
13605169689Skan	* config/darwin-c.c: Include flags.h.
13606169689Skan	* config/t-darwin (darwin-c.o): Depend on flags.h.
13607169689Skan
13608169689Skan2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
13609169689Skan
13610169689Skan	* config/sh/linux-unwind.h (shmedia_fallback_frame_state):
13611169689Skan	Disable	aliasing warning with void * cast.
13612169689Skan	(sh_fallback_frame_state): Likewise.
13613169689Skan
13614169689Skan2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
13615169689Skan
13616169689Skan	* target.h (gcc_target): New field allocate_initial_value.
13617169689Skan	* target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
13618169689Skan	(TARGET_INITIALIZER): Include it.
13619169689Skan	* integrate.c (allocate_initial_values): Use
13620169689Skan	targetm.allocate_initial_value.
13621169689Skan	* system.h: Poison ALLOCATE_INITIAL_VALUE.
13622169689Skan	* config/sh/sh-protos.h (sh_pr_n_sets): Delete.
13623169689Skan	* config/sh/sh.c (sh_pr_n_sets): Make it static.
13624169689Skan	(sh_allocate_initila_value): New function.
13625169689Skan	(TARGET_ALLOCATE_INITIAL_VALUE): Override default.
13626169689Skan	* config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
13627169689Skan	* doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
13628169689Skan	update from ALLOCATE_INITIAL_VALUE.
13629169689Skan
13630169689Skan2005-06-28  Richard Henderson  <rth@redhat.com>
13631169689Skan
13632169689Skan	* tree-vectorizer.c (vect_is_simple_reduction): Compare types
13633169689Skan	using TYPE_MAIN_VARIANT.
13634169689Skan
13635169689Skan2005-06-28  Richard Henderson  <rth@redhat.com>
13636169689Skan
13637169689Skan	* config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ
13638169689Skan	when using psubN.uuu.
13639169689Skan
13640169689Skan2005-06-29  Kelley Cook <kcook@gcc.gnu.org>
13641169689Skan
13642169689Skan	* doc/gcc.texi: Update FSF address.
13643169689Skan
13644169689Skan2005-06-28  Eric Christopher  <echristo@redhat.com>
13645169689Skan
13646169689Skan	PR c/22052
13647169689Skan	PR c/21975
13648169689Skan	* c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE.
13649169689Skan	Use. Fix detection of invalid extern inline redefinition.
13650169689Skan
13651169689Skan2005-06-28  Diego Novillo  <dnovillo@redhat.com>
13652169689Skan
13653169689Skan	* tree-optimize.c (init_tree_optimization_passes): Fix typo.
13654169689Skan
13655169689Skan2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
13656169689Skan
13657169689Skan	* config/rs6000/rs6000.md (setmemsi): s/operand/operands/.
13658169689Skan
13659169689Skan2005-06-28  Richard Henderson  <rth@redhat.com>
13660169689Skan
13661169689Skan	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned
13662169689Skan	saturating subtraction for QI and HImode unsigned compares.  Use
13663169689Skan	bit arithmetic tricks for SImode unsigned compares.
13664169689Skan	(ia64_expand_vcondu_v2si): Remove.
13665169689Skan	(ia64_expand_vecint_cmov): Don't call it.
13666169689Skan
13667169689Skan2005-06-28  Richard Henderson  <rth@redhat.com>
13668169689Skan
13669169689Skan	* rtlanal.c (nonzero_bits1): Use the mode of the value for
13670169689Skan	determining integral-ness for comparisons.
13671169689Skan
13672169689Skan2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
13673169689Skan
13674169689Skan	* config/rs6000/rs6000.md (setmemsi): Fix operand 2.
13675169689Skan
13676169689Skan2005-06-28  Joseph S. Myers  <joseph@codesourcery.com>
13677169689Skan
13678169689Skan	* target.h (invalid_conversion, invalid_unary_op,
13679169689Skan	invalid_binary_op): New hooks.
13680169689Skan	* target-def.h (TARGET_INVALID_CONVERSION,
13681169689Skan	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
13682169689Skan	TARGET_INITIALIZER): Likewise.
13683169689Skan	* hooks.h (hook_constcharptr_tree_tree_null,
13684169689Skan	hook_constcharptr_int_tree_null,
13685169689Skan	hook_constcharptr_int_tree_tree_null): New.
13686169689Skan	* hooks.c (hook_constcharptr_tree_tree_null,
13687169689Skan	hook_constcharptr_int_tree_null,
13688169689Skan	hook_constcharptr_int_tree_tree_null): Likewise.
13689169689Skan	* doc/tm.texi (TARGET_INVALID_CONVERSION,
13690169689Skan	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document.
13691169689Skan	* c-convert.c (convert): Use invalid_conversion hook.
13692169689Skan	* c-typeck.c (build_unary_op): Use invalid_unary_op hook.
13693169689Skan	(build_binary_op): Use invalid_binary_op hook.
13694169689Skan	* config/ia64/ia64-modes.def: Define RFmode.
13695169689Skan	* config/ia64/ia64-protos.h (spill_xfmode_operand): Remove.
13696169689Skan	(ia64_expand_movxf_movrf): New.
13697169689Skan	* config/ia64/ia64.md (movxf): Move code to
13698169689Skan	ia64_expand_movxf_movrf.
13699169689Skan	(movrf, movrf_internal): New.
13700169689Skan	* ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op,
13701169689Skan	ia64_invalid_binary_op, TARGET_INVALID_CONVERSION,
13702169689Skan	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New.
13703169689Skan	(spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand.
13704169689Skan	Add mode parameter.  Make static.
13705169689Skan	(ia64_expand_movxf_movrf): New, moved from ia64.md.  Handle RFmode
13706169689Skan	as well as XFmode.
13707169689Skan	(ia64_function_arg, ia64_function_value, ia64_register_move_cost,
13708169689Skan	ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode.
13709169689Skan	(ia64_init_builtins): Set up __fpreg as RFmode.
13710169689Skan	(ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg.
13711169689Skan
13712169689Skan2005-06-28  Adrian Straetling  <straetling@de.ibm.com>
13713169689Skan
13714169689Skan	* builtins.c: (expand_builtin_memset): Rewrite to support
13715169689Skan	'set_storage_via_setmem'.
13716169689Skan	* expr.c: (enum insn_code setmem_optab): Define.
13717169689Skan	(enum insn_code clrmem_optab): Remove.
13718169689Skan	(set_storage_via_setmem): New function.
13719169689Skan	(clear_storage_via_setmem): Remove.
13720169689Skan	(clear_storage): Replace call to "clear_storage_via_clrmem" with
13721169689Skan	"set_storage_via_setmem".
13722169689Skan	* expr.h: (set_storage_via_setmem): Declare.
13723169689Skan	(CLEAR_RATIO): Redefine using HAVE_setmemM.
13724169689Skan	* optabs.h: (enum insn_code setmem_optab): Declare.
13725169689Skan	(enum insn_code clrmem_optab): Remove.
13726169689Skan	* optabs.c: (init_optabs): Initialize setmem_optab.
13727169689Skan	(enum insn_code clrmem_optab): Remove.
13728169689Skan	* genopinit.c: (otabs): Likewise.
13729169689Skan	* doc/md.texi: Document new standard pattern 'setmem'. Remove
13730169689Skan	  'clrmem'.
13731169689Skan	* config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
13732169689Skan	'operands' ordering.
13733169689Skan	* config/frv/frv.c: (frv_expand_block_clear): Likewise.
13734169689Skan	* config/rs6000/rs6000.c: (expand_block_clear): Likewise.
13735169689Skan	* config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
13736169689Skan	FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
13737169689Skan	* config/avr/avr.md: ("clrmemhi"): Likewise.
13738169689Skan	* config/frv/frv.md: ("clrmemsi"): Likewise.
13739169689Skan	* config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
13740169689Skan	* config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
13741169689Skan	* config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
13742169689Skan	* config/s390/s390.md: ("clrmem<mode>"): Likewise.
13743169689Skan
13744169689Skan2005-06-28  Paul Brook  <paul@codesourcery.com>
13745169689Skan
13746169689Skan	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
13747169689Skan	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
13748169689Skan	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
13749169689Skan	(assign_filter_values): Ditto.
13750169689Skan	(output_ttype): New function.
13751169689Skan	(output_function_exception_table): Use output_ttype.  Generate arm
13752169689Skan	eabi filter lists.
13753169689Skan	(default_init_unwind_resume_libfunc): New function.
13754169689Skan	* except.h (default_init_unwind_resume_libfunc): Add prototype.
13755169689Skan	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
13756169689Skan	* opts.c (decode_options): Use targetm.unwind_tables_default.
13757169689Skan	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
13758169689Skan	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
13759169689Skan	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
13760169689Skan	and arm_eabi_unwinder.
13761169689Skan	* unwind-c.c: Support Arm EABI unwinder.
13762169689Skan	* unwind.h: Rename ...
13763169689Skan	* unwind-generic.h: ... To this.
13764169689Skan	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
13765169689Skan	(TARGET_UNWID_TABLES_DEFAULT): Document.
13766169689Skan
13767169689Skan	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
13768169689Skan	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
13769169689Skan	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
13770169689Skan	Define.
13771169689Skan	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
13772169689Skan	directives.
13773169689Skan	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
13774169689Skan	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
13775169689Skan	!TARGET_UNWIND_INFO.
13776169689Skan	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
13777169689Skan	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
13778169689Skan	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
13779169689Skan	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
13780169689Skan	* config/arm/lib1funcs.asm: Include libunwind.S.
13781169689Skan	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
13782169689Skan	* config/arm/libunwind.S: New file.
13783169689Skan	* config/arm/pr-support.c: New file.
13784169689Skan	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
13785169689Skan	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
13786169689Skan	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
13787169689Skan	* config/arm/unwind-arm.c: New file.
13788169689Skan	* config/arm/unwind-arm.h: New file.
13789169689Skan	* config/i386/t-netware (USER_H): Remove unwind.h.
13790169689Skan	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
13791169689Skan
13792169689Skan2005-06-28  DJ Delorie  <dj@redhat.com>
13793169689Skan
13794169689Skan	* c-decl.c (pop_scope): Move warning control into warning call.
13795169689Skan	(diagnose_mismatched_decls): Likewise.
13796169689Skan	(pushdecl): Likewise.
13797169689Skan	(start_decl): Likewise.
13798169689Skan	(grokparms): Likewise.
13799169689Skan	(start_function): Likewise.
13800169689Skan	(store_parm_decls_newstyle): Likewise.
13801169689Skan	(store_parm_decls_oldstyle): Likewise.
13802169689Skan	(finish_function): Likewise.
13803169689Skan	(declspecs_add_scspec): Likewise.
13804169689Skan	* c-format.c (decode_format_attr): Likewise.
13805169689Skan	(maybe_read_dollar_number): Likewise.
13806169689Skan	(avoid_dollar_number): Likewise.
13807169689Skan	(finish_dollar_format_checking): Likewise.
13808169689Skan	(check_format_info): Likewise.
13809169689Skan	(check_format_info_main): Likewise.
13810169689Skan	(check_format_types): Likewise.
13811169689Skan	(format_type_warning): Likewise.
13812169689Skan	* c-typeck.c (function_types_compatible_p): Likewise.
13813169689Skan	(build_array_ref): Likewise.
13814169689Skan	(convert_arguments): Likewise.
13815169689Skan	(build_c_cast): Likewise.
13816169689Skan	(store_init_value): Likewise.
13817169689Skan	(process_init_element): Likewise.
13818169689Skan	(c_start_case): Likewise.
13819169689Skan	* stor-layout.c (finalize_record_size): Likewise.
13820169689Skan	* tree-cfg.c (execute_warn_function_noreturn): Likewise.
13821169689Skan	* tree-inline.c (expand_call_inline): Likewise.
13822169689Skan
13823169689Skan2005-06-28  Uros Bizjak  <uros@kss-loka.si>
13824169689Skan
13825169689Skan	PR target/22134
13826169689Skan	* config/i386/i386.md (fist<mode>2_with_temp splitter):
13827169689Skan	Clobber memory operand, not scratch register.
13828169689Skan
13829169689Skan2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
13830169689Skan
13831169689Skan	* config/s390/s390.c (machine_function): New field has_landing_pad_p.
13832169689Skan	(s390_set_has_landing_pad_p, s390_reg_clobbered_rtx,
13833169689Skan	 s390_regs_ever_clobbered): New functions.
13834169689Skan	(s390_return_addr_rtx): Use get_hard_reg_initial_value.
13835169689Skan	(s390_register_info, s390_init_frame_layout, s390_update_frame_layout):
13836169689Skan	Use s390_regs_ever_clobbered.
13837169689Skan	(s390_emit_prologue): Don't use r14 as temp reg if its content is used
13838169689Skan	for builtin_return_address.
13839169689Skan	* config/s390/s390.md ("exception_receiver"): New expander.
13840169689Skan	* config/s390/s390-protos.h (s390_set_has_landing_pad_p): Prototype
13841169689Skan	added.
13842169689Skan
13843169689Skan2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
13844169689Skan
13845169689Skan	* except.c (current_function_has_exception_handlers): Function
13846169689Skan	description added and if statements merged.
13847169689Skan
13848169689Skan2005-06-28  Richard Henderson  <rth@redhat.com>
13849169689Skan
13850169689Skan	* config/i386/sse.md (smaxv16qi3): Fix buffer overflow.
13851169689Skan	(sminv16qi3, umaxv8hi3, uminv8hi3): Likewise.
13852169689Skan
13853169689Skan2005-06-27  Richard Henderson  <rth@redhat.com>
13854169689Skan
13855169689Skan	* config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate proper
13856169689Skan	comparison operations.
13857169689Skan	(ia64_expand_vecint_minmax): Fix size of xops.
13858169689Skan	* config/ia64/vect.md (umax<VECINT>3): Fix fallback pattern typo.
13859169689Skan	(vec_shl_<VECINT>, vec_shr_<VECINT>): New.
13860169689Skan
13861169689Skan2005-06-27  Richard Henderson  <rth@redhat.com>
13862169689Skan
13863169689Skan	* tree-vect-transform.c (get_initial_def_for_reduction): Use correct
13864169689Skan	type for DEF and INIT_VAL.  Pretend MIN/MAX need epilogue adjustment.
13865169689Skan
13866169689Skan2005-06-27  Richard Henderson  <rth@redhat.com>
13867169689Skan
13868169689Skan	* config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New.
13869169689Skan	(smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New.
13870169689Skan
13871169689Skan2005-06-27  Richard Henderson  <rth@redhat.com>
13872169689Skan
13873169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Remove
13874169689Skan	duplicate little-endian adjustment.
13875169689Skan
13876169689Skan2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
13877169689Skan
13878169689Skan	* doc/include/texinfo.tex: Import from upstream CVS.
13879169689Skan
13880169689Skan2005-06-28  Jan Hubicka  <jh@suse.cz>
13881169689Skan
13882169689Skan	* cgraph.c (cgraph_remove_node): Do not release function bodies until
13883169689Skan	full cgraph is built.
13884169689Skan	* cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
13885169689Skan	* cgraphunit.c (cgraph_finalize_function): Update call of
13886169689Skan	cgraph_decide_inlining_incrementally.
13887169689Skan	(initialize_inline_failed): Break out of ...
13888169689Skan	(cgraph_analyze_function): ... here.
13889169689Skan	(rebuild_cgraph_edges): New function.
13890169689Skan	(pass_rebuild_cgraph_edges): New pass.
13891169689Skan	* common.opt (fearly-inlining): New flag.
13892169689Skan	* ipa-inline.c: Include ggc.h
13893169689Skan	(cgraph_clone_inlined_nodes): Avoid re-using of original copy
13894169689Skan	when cgraph is not fully built.
13895169689Skan	(cgraph_decide_inlining_incrementally): Add early mode.
13896169689Skan	(cgraph_early_inlining): New function.
13897169689Skan	(cgraph_gate_early_inlining): Likewise.
13898169689Skan	(pass_early_ipa_inline): New pass.
13899169689Skan	* ipa.c (cgraph_postorder): NULLify aux pointer.
13900169689Skan	* tree-inline.c (expand_call_inline): Avoid warning early.
13901169689Skan	* tree-optimize.c (pass_early_local_passes): New.
13902169689Skan	(execute_cleanup_cfg_pre_ipa): New.
13903169689Skan	(pass_cleanup_cfg): New.
13904169689Skan	(register_dump_files): Fix handling subpasses of IPA pass.
13905169689Skan	(init_tree_optimization_passes): Add early passes.
13906169689Skan	(execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
13907169689Skan	* passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
13908169689Skan	pass_early_ipa_inline): New passes.
13909169689Skan	* tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
13910169689Skan
13911169689Skan	* invoke.texi: Document early-inlining.
13912169689Skan
13913169689Skan2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
13914169689Skan
13915169689Skan	* doc/include/fdl.texi: Merge in changes from upstream.
13916169689Skan	* doc/include/gpl.texi: Likewise.
13917169689Skan
13918169689Skan2005-06-27  Diego Novillo  <dnovillo@redhat.com>
13919169689Skan
13920169689Skan	PR 21959
13921169689Skan	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Handle type
13922169689Skan	casts between unsigned and signed types with different size
13923169689Skan	or precision.
13924169689Skan
13925169689Skan2005-06-28  Jan Hubicka  <jh@suse.cz>
13926169689Skan
13927169689Skan	* tree-optimize.c (exercute_free_datastructures):
13928169689Skan	Do not disband implicit edges; do not attempt to build insn list;
13929169689Skan	do not free cfg annotations.
13930169689Skan	(execute_free_cfg_annotations); Disband implicit edges here;
13931169689Skan	free cfg annotations here too.
13932169689Skan	(pass_free_cfg_annotations); New pass.
13933169689Skan	(init_tree_optimization_passes); Add pass_free_cfg_annotations.
13934169689Skan	* tree-ssa-operands.c (free_ssa_operands); Recover; export.
13935169689Skan	* tree-ssa-operands.h (free_ssa_operands); declare.
13936169689Skan	* tree-ssa.c (delete_tree_ssa); Free SSA operand; mark stmt modified;
13937169689Skan	kill PHI nodes.
13938169689Skan	* tree-ssanames.c (release_defs): Kill addresses_taken.
13939169689Skan
13940169689Skan	* basic-block.h (basic_block_def): Kill rbi.
13941169689Skan	(reorder_block_def): Kill; Remove next field (replaced by aux);
13942169689Skan	move other fields to ...
13943169689Skan	(rtl_bb_info): ... here.
13944169689Skan	* bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
13945169689Skan	copy_bb, connect_traces, add_labels_and_missing_jumps
13946169689Skan	fix_up_fall_thru_edges, fix_crossing_conditional_branches,
13947169689Skan	duplicate_computed_gotos, partition_hot_cold_basic-blocks):
13948169689Skan	Update to new fields.
13949169689Skan	* cfg.c (initialize_bb_rbi): Kill.
13950169689Skan	* cfglayout.c (record_effective_endpoints, fixup_reorder_chain,
13951169689Skan	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update.
13952169689Skan	* cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi.
13953169689Skan	(try_redirect_by_replacing_jump): Update rbi references.
13954169689Skan	(cfg_layout_split_block): Likewise.
13955169689Skan	(cfg_layout_delete_block): Likewise.
13956169689Skan	(cfg_layout_merge_blocks): Likewise.
13957169689Skan	* function.c (thread_prologue_and_epilogue_insns): Likewise.
13958169689Skan	* passes.c (rest_of_handle_sms): Likewise.
13959169689Skan	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
13960169689Skan
13961169689Skan2005-06-27  David Edelsohn  <edelsohn@gnu.org>
13962169689Skan
13963169689Skan	* config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratum
13964169689Skan	in verbose_asm output.
13965169689Skan	* config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with
13966169689Skan	CONFIG_PPC405CR.
13967169689Skan	* config.gcc (powerpc with_which): Define CONFIG_PPC405CR for
13968169689Skan	405cr.
13969169689Skan
13970169689Skan2005-06-27  Jakub Jelinek  <jakub@redhat.com>
13971169689Skan
13972169689Skan	* builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
13973169689Skan	(DEF_LIST_INT_INT): Add for 4,0, 4,5, 5,0, 5,6.
13974169689Skan	(ATTR_NOTHROW_NONNULL_4, ATTR_NOTHROW_NONNULL_5): Define.
13975169689Skan	(ATTR_FORMAT_PRINTF_4_0, ATTR_FORMAT_PRINTF_4_5,
13976169689Skan	ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6): Define.
13977169689Skan	* builtins.c: Include tree-flow.h.
13978169689Skan	(expand_builtin_mempcpy, expand_builtin_memmove): Comment fixes.
13979169689Skan	(expand_builtin_object_size, expand_builtin_memory_chk,
13980169689Skan	maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning,
13981169689Skan	compute_object_offset, compute_builtin_object_size,
13982169689Skan	fold_builtin_object_size): New functions.
13983169689Skan	(expand_builtin): Handle BUILT_IN_OBJECT_SIZE and BUILT_IN_*_CHK.
13984169689Skan	(fold_builtin_1): Likewise.  Handle BUILT_IN_{,V}{,F}PRINTF
13985169689Skan	and BUILT_IN_{,F}PRINTF_UNLOCKED.
13986169689Skan	(fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
13987169689Skan	fold_builtin_strncpy_chk, fold_builtin_strcat_chk,
13988169689Skan	fold_builtin_strncat_chk, fold_builtin_sprintf_chk,
13989169689Skan	fold_builtin_snprintf_chk, fold_builtin_printf, fold_builtin_fprintf):
13990169689Skan	New functions.
13991169689Skan	* builtins.def (BUILT_IN_OBJECT_SIZE, BUILT_IN_MEMCPY_CHK,
13992169689Skan	BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMSET_CHK,
13993169689Skan	BUILT_IN_STPCPY_CHK, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK,
13994169689Skan	BUILT_IN_STRNCAT_CHK, BUILT_IN_STRNCPY_CHK, BUILT_IN_SNPRINTF_CHK,
13995169689Skan	BUILT_IN_SPRINTF_CHK, BUILT_IN_VSNPRINTF_CHK, BUILT_IN_VSPRINTF_CHK,
13996169689Skan	BUILT_IN_FPRINTF_CHK, BUILT_IN_PRINTF_CHK, BUILT_IN_VFPRINTF_CHK,
13997169689Skan	BUILT_IN_VPRINTF_CHK): New builtins.
13998169689Skan	* builtin-types.def (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_VAR_4):
13999169689Skan	Document.
14000169689Skan	(BT_FN_SIZE_CONST_PTR_INT, BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
14001169689Skan	BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, BT_FN_PTR_PTR_INT_SIZE_SIZE,
14002169689Skan	BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
14003169689Skan	BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
14004169689Skan	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
14005169689Skan	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
14006169689Skan	BT_FN_INT_INT_CONST_STRING_VAR, BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
14007169689Skan	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
14008169689Skan	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR): New types.
14009169689Skan	* c-common.c (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_6,
14010169689Skan	DEF_FUNCTION_TYPE_VAR_4, DEF_FUNCTION_TYPE_VAR_5): Define.
14011169689Skan	* Makefile.in (OBJS-common): Add tree-object-size.o.
14012169689Skan	(tree-object-size.o): Add dependencies.
14013169689Skan	* tree-pass.h (pass_object_sizes): Add.
14014169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
14015169689Skan	pass_object_sizes.
14016169689Skan	* tree-object-size.c: New file.
14017169689Skan	* tree.h (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
14018169689Skan	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk,
14019169689Skan	compute_builtin_object_size, init_object_sizes, fini_object_sizes):
14020169689Skan	New prototypes.
14021169689Skan	* tree-ssa-ccp.c (get_strlen): Rename to ...
14022169689Skan	(get_maxval_strlen): ...this function.  Handle also computing of maximum
14023169689Skan	string length and maximum integral value.
14024169689Skan	(ccp_fold_builtin): Handle BUILT_IN_*_CHK.  Use get_maxval_strlen
14025169689Skan	instead of get_strlen.  Pass CALLEE and ARGLIST variables to the
14026169689Skan	folding functions instead of computing them again.
14027169689Skan	(execute_fold_all_builtins): Retry ccp_fold_builtin if a builtin changed
14028169689Skan	into some other builtin.
14029169689Skan	* doc/extend.texi (Object Size Checking): Document.
14030169689Skan
14031169689Skan	* regrename.c (copy_value): Fix comment.
14032169689Skan
14033169689Skan	* toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)
14034169689Skan	instead of preprocessor conditionals.
14035169689Skan
14036169689Skan	* targhooks.c (default_hidden_stack_protect_fail): Fall back to
14037169689Skan	default_external_stack_protect_fail if visibility is not supported
14038169689Skan	or not flag_pic.
14039169689Skan	* config/i386/i386.c (ix86_stack_protect_fail): New function.
14040169689Skan	(TARGET_STACK_PROTECT_FAIL): Define.
14041169689Skan	* config/i386/i386.md (stack_protect_si): Change CLOBBER into
14042169689Skan	SET to zero.
14043169689Skan	(stack_protect_di): Likewise.  Use %k2 instead of %2 to avoid
14044169689Skan	invalid instruction xorl %rax, %rax.
14045169689Skan
14046169689Skan2005-06-27  Richard Henderson  <rth@redhat.com>
14047169689Skan
14048169689Skan	* c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
14049169689Skan	* cfgexpand.c: Include params.h.
14050169689Skan	(has_protected_decls, has_short_buffer): New.
14051169689Skan	(expand_stack_vars): Take a predicate to determine what to expand.
14052169689Skan	(defer_stack_allocation): True when flag_stack_protect on.
14053169689Skan	(SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
14054169689Skan	(SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
14055169689Skan	(stack_protect_classify_type, stack_protect_decl_phase): New.
14056169689Skan	(stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
14057169689Skan	(add_stack_protection_conflicts, create_stack_guard): New.
14058169689Skan	(expand_used_vars): Add stack protection logic.
14059169689Skan	(tree_expand_cfg): Likewise.
14060169689Skan	* common.opt (Wstack-protector): New.
14061169689Skan	(fstack-protector, fstack-protector-all): New.
14062169689Skan	* function.c: Include predict.h.
14063169689Skan	(assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
14064169689Skan	wants to copy the parameter into the stack frame.
14065169689Skan	(stack_protect_prologue, stack_protect_epilogue): New.
14066169689Skan	(expand_function_end): Call stack_protect_epilogue.  Do
14067169689Skan	sjlj_emit_function_exit_after after naked_return_label.
14068169689Skan	* function.h (struct function): Add stack_protect_guard.
14069169689Skan	* params.def (PARAM_SSP_BUFFER_SIZE): New.
14070169689Skan	* toplev.c (process_options): Disable flag_stack_protect and/or
14071169689Skan	warn_stack_protect based on FRAME_GROWS_DOWNWARD.
14072169689Skan	* tree.h (stack_protect_prologue): Declare.
14073169689Skan
14074169689Skan	* target-def.h (TARGET_STACK_PROTECT_GUARD): New.
14075169689Skan	(TARGET_STACK_PROTECT_FAIL): New.
14076169689Skan	(TARGET_INITIALIZER): Add them.
14077169689Skan	* target.h (struct gcc_target): Add stack_protect_guard and
14078169689Skan	stack_protect_fail.
14079169689Skan	* targhooks.c: Include ggc.h, gty header.
14080169689Skan	(stack_chk_guard_decl, default_stack_protect_guard): New.
14081169689Skan	(stack_chk_fail_decl, default_external_stack_protect_fail): New.
14082169689Skan	(default_hidden_stack_protect_fail): New.
14083169689Skan	* targhooks.h (default_stack_protect_guard): Declare.
14084169689Skan	(default_external_stack_protect_fail): Declare.
14085169689Skan	(default_hidden_stack_protect_fail): Declare.
14086169689Skan	* config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
14087169689Skan	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
14088169689Skan	(trap): Use ud2.
14089169689Skan	(conditional_trap, conditional_trap_1): Remove.
14090169689Skan	(stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
14091169689Skan	(stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
14092169689Skan	* doc/md.texi (stack_protect_set, stack_protect_test): New.
14093169689Skan	* doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
14094169689Skan	(TARGET_STACK_PROTECT_FAIL): New.
14095169689Skan
14096169689Skan	* libgcc-std.ver (GCC_4.1.0): New.
14097169689Skan	* libgcc.h (__stack_chk_guard): Declare.
14098169689Skan	(__stack_chk_fail, __stack_chk_fail_local): Declare.
14099169689Skan	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
14100169689Skan	* mklibgcc.in (lib2funcs): Add them.
14101169689Skan
14102169689Skan2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14103169689Skan
14104169689Skan	PR c/21911
14105169689Skan	* c-common.c (check_function_sentinel): Pass in named argument
14106169689Skan	list, skip over named arguments before looking for a sentinel.
14107169689Skan	(check_function_arguments): Pass in named argument list.
14108169689Skan	* c-common.h (check_function_arguments): Likewise.
14109169689Skan	* c-typeck.c (build_function_call): Likewise.
14110169689Skan
14111169689Skan2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14112169689Skan
14113169689Skan	* genautomata.c (decl_mode_check_failed,
14114169689Skan	regexp_mode_check_failed): Add noreturn attribute.
14115169689Skan
14116169689Skan2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
14117169689Skan
14118169689Skan	* cfg.c, tree-vect-transform.c, tree.def: Fix comment typos.
14119169689Skan	* doc/invoke.texi: Fix typos.
14120169689Skan
14121169689Skan	* builtins.c, c-common.c, c-convert.c, c-decl.c, c-typeck.c,
14122169689Skan	convert.c, lambda-code.c, predict.c, tree-cfg.c,
14123169689Skan	tree-complex.c, tree-data-ref.c, tree-if-conv.c,
14124169689Skan	tree-mudflap.c, tree-scalar-evolution.c, tree-ssa-ccp.c,
14125169689Skan	tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
14126169689Skan	tree-ssa-loop-manip.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
14127169689Skan	tree-vect-analyze.c, tree-vect-transform.c, tree-vectorizer.c,
14128169689Skan	tree.c: Use fold_buildN instead of fold (buildN (...)).
14129169689Skan
14130169689Skan2005-06-26  Gerald Pfeifer  <gerald@pfeifer.com>
14131169689Skan
14132169689Skan	* doc/install.texi (Specific): Do not specify the concrete
14133169689Skan	versions of GCC provided by Cygwin.  Simplify the part on
14134169689Skan	building on Cygwin.
14135169689Skan
14136169689Skan2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
14137169689Skan
14138169689Skan	* config/arc/arc-protos.c: Remove the prototype for
14139169689Skan	arc_finalize_pic.
14140169689Skan	* config/arc/arc.c (arc_finalize_pic): Remove.
14141169689Skan	* config/arc/arc.h (FINALIZE_PIC): Likewise.
14142169689Skan	* config/bfin/bfin.h (FINALIZE_PIC): Likewise.
14143169689Skan	* config/rs6000/rs6000.h (FINALIZE_PIC): Likewise.
14144169689Skan
14145169689Skan2005-06-26  Jakub Jelinek  <jakub@redhat.com>
14146169689Skan
14147169689Skan	PR middle-end/17965
14148169689Skan	* calls.c (expand_call, emit_library_call_value_1): Use xmalloc/free
14149169689Skan	instead of alloca for really big argument sizes.
14150169689Skan
14151169689Skan	PR middle-end/22028
14152169689Skan	* gimplify.c (gimplify_type_sizes): Check for type == error_mark_node
14153169689Skan	earlier in the function.
14154169689Skan
14155169689Skan	* regrename.c (copy_value): Don't replace fixed or global
14156169689Skan	regs with older regs.
14157169689Skan
14158169689Skan	* defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
14159169689Skan	* function.c (get_func_frame_size): Use if (FRAME_GROWS_DOWNWARD)
14160169689Skan	instead of preprocessor conditionals.
14161169689Skan	(assign_stack_local_1, assign_stack_temp_for_type): Likewise.
14162169689Skan	* cfgexpand.c (FRAME_GROWS_DOWNWARD): Don't redefine to 1 or 0
14163169689Skan	depending on if it was or was not defined previously.
14164169689Skan	* doc/rtl.texi (VIRTUAL_STACK_VARS_REGNUM): Mention that only non-zero
14165169689Skan	definition of FRAME_GROWS_DOWNWARD means frame grows downward.
14166169689Skan	* doc/tm.texi (FRAME_GROWS_DOWNWARD): Likewise.
14167169689Skan	* config/m68hc11/m68hc11.h (FRAME_GROWS_DOWNWARD): Define to 0.  Update
14168169689Skan	comment.
14169169689Skan	* config/pa/pa.h (FRAME_GROWS_DOWNWARD): Likewise.
14170169689Skan	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Likewise.
14171169689Skan	* config/stormy16/stormy16.h (FRAME_GROWS_DOWNWARD): Define to 0.
14172169689Skan	* config/c4x/c4x.h (FRAME_GROWS_DOWNWARD): Likewise.
14173169689Skan	* config/sh/sh.h (FRAME_GROWS_DOWNWARD): Likewise.
14174169689Skan	* config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Likewise.
14175169689Skan	* config/iq2000/iq2000.h (FRAME_GROWS_DOWNWARD): Likewise.
14176169689Skan	* config/pdp11/pdp11.h (FRAME_GROWS_DOWNWARD): Define to 1.  Update
14177169689Skan	comment.
14178169689Skan	* config/i860/i860.h (FRAME_GROWS_DOWNWARD): Likewise.
14179169689Skan	* config/h8300/h8300.h (FRAME_GROWS_DOWNWARD): Likewise.
14180169689Skan	* config/arc/arc.h (FRAME_GROWS_DOWNWARD): Likewise.
14181169689Skan	* config/vax/vax.h (FRAME_GROWS_DOWNWARD): Likewise.
14182169689Skan	* config/sparc/sparc.h (FRAME_GROWS_DOWNWARD): Likewise.
14183169689Skan	* config/i386/i386.h (FRAME_GROWS_DOWNWARD): Likewise.
14184169689Skan	* config/fr30/fr30.h (FRAME_GROWS_DOWNWARD): Likewise.
14185169689Skan	* config/frv/frv.h (FRAME_GROWS_DOWNWARD): Likewise.
14186169689Skan	* config/mn10300/mn10300.h (FRAME_GROWS_DOWNWARD): Likewise.
14187169689Skan	* config/bfin/bfin.h (FRAME_GROWS_DOWNWARD): Likewise.
14188169689Skan	* config/ns32k/ns32k.h (FRAME_GROWS_DOWNWARD): Likewise.
14189169689Skan	* config/v850/v850.h (FRAME_GROWS_DOWNWARD): Likewise.
14190169689Skan	* config/alpha/alpha.h (FRAME_GROWS_DOWNWARD): Update comment.
14191169689Skan	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Likewise.
14192169689Skan	* config/arm/arm.h (FRAME_GROWS_DOWNWARD): Likewise.
14193169689Skan	* config/alpha/unicosmk.h (FRAME_GROWS_DOWNWARD): Define to 1.
14194169689Skan	* config/cris/cris.h (FRAME_GROWS_DOWNWARD): Likewise.
14195169689Skan	* config/m68k/m68k.h (FRAME_GROWS_DOWNWARD): Likewise.
14196169689Skan	* config/mmix/mmix.h (FRAME_GROWS_DOWNWARD): Likewise.
14197169689Skan
14198169689Skan2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
14199169689Skan
14200169689Skan	PR tree-optimization/22026
14201169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Drop to
14202169689Skan	VR_VARYING if a binary expression involving VR_ANTI_RANGE is
14203169689Skan	PLUS_EXPR, MINUS_EXPR, or unsigned MULT_EXPR.
14204169689Skan
14205169689Skan2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
14206169689Skan
14207169689Skan	* Makefile.in (OBJS-common): Remove duplicate object file
14208169689Skan	names.
14209169689Skan
14210169689Skan2005-06-25  Jan Hubicka  <jh@suse.cz>
14211169689Skan
14212169689Skan	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update profile.
14213169689Skan	* cfg.c (update_bb_profile_for_threading): Fix rescaling.
14214169689Skan
14215169689Skan	* passes.c (rest_of_handle_branch_prob): Do not rebuild profiling info
14216169689Skan	when not neecesary
14217169689Skan	(rest_of_compilation): Fix conditional on branch prob pass.
14218169689Skan	* predict.c (tree_estimate_probability): Enable strip_builtin_expect
14219169689Skan	when not loop optimizing.
14220169689Skan
14221169689Skan2005-06-25  Bernd Schmidt  <bernd.schmidt@analog.com>
14222169689Skan
14223169689Skan	* config/bfin/bfin.md (ror_one, rol_one, ashrdi3, ashldi3, lshrdi3):
14224169689Skan	New patterns.
14225169689Skan	(movbi): Add alternative to set CC to zero.
14226169689Skan	(compare_eq, compare_ne, compare_le, compare_lt, compare_leu,
14227169689Skan	compare_ltu): Now named patterns.
14228169689Skan
14229169689Skan2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
14230169689Skan
14231169689Skan	* all files: Update FSF address in copyright headers.
14232169689Skan
14233169689Skan2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
14234169689Skan
14235169689Skan	* gengtype.c: Update FSF address in copyright header.
14236169689Skan	(create_file): Update FSF in outputed copyright header.
14237169689Skan
14238169689Skan2005-06-24  Kazu Hirata  <kazu@codesourcery.com>
14239169689Skan
14240169689Skan	* cfglayout.c (block_locators_locs, line_locators_locs,
14241169689Skan	line_locators_lines, file_locators_locs): Change the type to
14242169689Skan	VEC(int,heap)*.
14243169689Skan	(insn_locators_initialize, change_scope, insn_scope,
14244169689Skan	locator_line, insn_line, locator_file): Use VEC instead of
14245169689Skan	VARRAY.
14246169689Skan
14247169689Skan2005-06-24  Jason Merrill  <jason@redhat.com>
14248169689Skan
14249169689Skan	* tree-nrv.c (tree_nrv): Fix to check assignments to the
14250169689Skan	RESULT_DECL rather than just RETURN_EXPRs.
14251169689Skan	(finalize_nrv_r): Adjust.
14252169689Skan
14253169689Skan2005-06-24  Jan Hubicka  <jh@suse.cz>
14254169689Skan
14255169689Skan	* tree-optimize.c (init_tree_optimization_passes): Fix flags of
14256169689Skan	all_passes and all_ipa_passes.
14257169689Skan
14258169689Skan	* c-common.c: Include cgraph.h
14259169689Skan	(handle_externally_visible_attribute): New function.
14260169689Skan	(c_common_att): Add "externally_visible" attribute.
14261169689Skan	* cgraph.c (decide_is_variable_needed): Obey externally
14262169689Skan	visible flag.
14263169689Skan	(cgraph_varpool_finalize_decl): Avoid redundant checking.
14264169689Skan	* cgraph.h (struct cgraph_node): New flag externally_visible.
14265169689Skan	(decide_is_function_needed): Obey externally visible flag.
14266169689Skan	(cgraph_finalize_function): Avoid redundant checks.
14267169689Skan	(cgraph_function_and_variable_visibility): Bring symbols local
14268169689Skan	when asked for.
14269169689Skan	* common.opt (fwhole-program): New flag.
14270169689Skan
14271169689Skan	* doc/invoke.texi (-fwhole-program): Document.
14272169689Skan
14273169689Skan2005-06-24  Mark Mitchell  <mark@codesourcery.com>
14274169689Skan
14275169689Skan	PR 22171
14276169689Skan	* tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL
14277169689Skan	before use.
14278169689Skan
14279169689Skan2005-06-23  Mark Mitchell  <mark@codesourcery.com>
14280169689Skan
14281169689Skan	PR 22000
14282169689Skan	* tree-ssa-operands.c (get_expr_operands): Check the volatility of
14283169689Skan	the FIELD_DECL and set s_ann->has_volatile_ops accordingly.
14284169689Skan
14285169689Skan2005-06-24  Jan Hubicka  <jh@suse.cz>
14286169689Skan
14287169689Skan	* opts.c (decode_options): Enable unit-at-a-time by default at -O1.
14288169689Skan
14289169689Skan2005-06-23  Jeff Law  <law@redhat.com>
14290169689Skan
14291169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move
14292169689Skan	copy prop pass to run just before VRP.
14293169689Skan	* tree-vrp.c (remove_range_assertions): Remove copies created
14294169689Skan	by ASSERT_EXPR removal.
14295169689Skan
14296169689Skan2005-06-23  Kazu Hirata  <kazu@codesourcery.com>
14297169689Skan
14298169689Skan	PR tree-optimization/22117
14299169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Compute a
14300169689Skan	correct range when adding two pointers.
14301169689Skan
14302169689Skan2005-06-23  Jason Merrill  <jason@redhat.com>
14303169689Skan
14304169689Skan	PR c++/19317
14305169689Skan	Leave the return slot target in the MODIFY_EXPR rather than making
14306169689Skan	it an argument, but only use it if the CALL_EXPR has a flag set.
14307169689Skan	* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
14308169689Skan	CALL_EXPR_RETURN_SLOT_OPT.
14309169689Skan	* calls.c (expand_call): Adjust.
14310169689Skan	* tree-inline.c (expand_call_inline): Adjust.
14311169689Skan	* tree-pretty-print.c (dump_generic_node): Adjust.
14312169689Skan
14313169689Skan	And set the flag as appropriate.
14314169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Set
14315169689Skan	CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
14316169689Skan	* tree-nrv.c (execute_return_slot_opt): Set
14317169689Skan	CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
14318169689Skan	* tree-pass.h: Declare pass_return_slot.
14319169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add it.
14320169689Skan
14321169689Skan2005-06-23  David Edelsohn  <edelsohn@gnu.org>
14322169689Skan
14323169689Skan	PR target/21760
14324169689Skan	* config/rs6000/rs6000.h (PPC405_ERRATUM77): New.
14325169689Skan	* config/rs6000/rs6000.md: Move atomic instructions to ...
14326169689Skan	* config/rs6000/sync.md: Here.
14327169689Skan	Change sync_compare_and_swap<mode> to define_expand.  All stwcx
14328169689Skan	patterns test PPC405_ERRATUM77.
14329169689Skan
14330169689Skan2005-06-23  Jan Hubicka  <jh@suse.cz>
14331169689Skan
14332169689Skan	* tree-inline.c (copy_body_r): Remap labels correctly.
14333169689Skan
14334169689Skan2005-06-22  Alan Modra  <amodra@bigpond.net.au>
14335169689Skan
14336169689Skan	* config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
14337169689Skan
14338169689Skan2005-06-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14339169689Skan
14340169689Skan	PR middle-end/20593
14341169689Skan	* varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
14342169689Skan	the same as the other cast operands.
14343169689Skan	(output_addressed_constants): Likewise.
14344169689Skan
14345169689Skan2005-06-21  Jeff Law  <law@redhat.com>
14346169689Skan
14347169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Handle type
14348169689Skan	conversions better.
14349169689Skan
14350169689Skan2005-06-21  Dorit Nuzman  <dorit@il.ibm.com>
14351169689Skan
14352169689Skan	* genopinit.c (vec_shl_optab, vec_shr_optab): Initialize new optabs.
14353169689Skan	(reduc_plus_optab): Removed.  Replcaed with...
14354169689Skan	(reduc_splus_optab, reduc_uplus_optab): Initialize new optabs.
14355169689Skan	* optabs.c (optab_for_tree_code): Return reduc_splus_optab or
14356169689Skan	reduc_uplus_optab instead of reduc_plus_optab.
14357169689Skan	(expand_vec_shift_expr): New function.
14358169689Skan	(init_optabs): Initialize new optabs. Remove initialization of
14359169689Skan	reduc_plus_optab.
14360169689Skan	(optab_for_tree_code): Return vec_shl_optab/vec_shr_optab
14361169689Skan	for VEC_LSHIFT_EXPR/VEC_RSHIFT_EXPR.
14362169689Skan	* optabs.h (OTI_reduc_plus): Removed. Replaced with...
14363169689Skan	(OTI_reduc_splus, OTI_reduc_uplus): New.
14364169689Skan	(reduc_plus_optab): Removed.  Replcaed with...
14365169689Skan	(reduc_splus_optab, reduc_uplus_optab): New optabs.
14366169689Skan	(vec_shl_optab, vec_shr_optab): New optabs.
14367169689Skan	(expand_vec_shift_expr): New function declaration.
14368169689Skan
14369169689Skan	* tree.def (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): New tree-codes.
14370169689Skan	* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
14371169689Skan	* expr.c (expand_expr_real_1): Handle new tree-codes.
14372169689Skan	* tree-pretty-print.c (dump_generic_node, op_symbol, op_prio): Likewise.
14373169689Skan	* tree-vect-generic.c (expand_vector_operations_1): Add assert.
14374169689Skan
14375169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Add two
14376169689Skan	alternatives for generating reduction epilog code.
14377169689Skan	(vectorizable_reduction): Don't fail of direct reduction support is
14378169689Skan	not available.
14379169689Skan	(vectorizable_target_reduction_pattern): Likewise.
14380169689Skan
14381169689Skan	* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
14382169689Skan	reduc_umax_v4si, reduc_smin_v4si, reduc_smin_v4sf, reduc_umin_v4si,
14383169689Skan	reduc_plus_v4si, reduc_plus_v4sf): Removed.
14384169689Skan	(vec_shl_<mode>, vec_shr_<mode>, altivec_vsumsws_nomode,
14385169689Skan	reduc_splus_<mode>, reduc_uplus_v16qi): New.
14386169689Skan
14387169689Skan2005-06-20  Daniel Berlin  <dberlin@dberlin.org>
14388169689Skan
14389169689Skan	* c-typeck.c (build_function_call): Set fundecl = function again.
14390169689Skan	* tree-ssa-alias.c (find_used_portions): Address taking causes the
14391169689Skan	entire variable to be used.
14392169689Skan	* tree-ssa-structalias.c (do_structure_copy): Fix handling of
14393169689Skan	unknown size variables, and structure copies from addressof
14394169689Skan	operations.  Simplify how we do *a = *b type structure copies.
14395169689Skan	(init_base_vars): Add ANYTHING = &ANYTHING constraint the right
14396169689Skan	way.  READONLY's address is not taken by default.
14397169689Skan	INTEGER dereference should point to anything.
14398169689Skan	(create_variable_info_for): It's okay for the first field to not start
14399169689Skan	at 0.
14400169689Skan
14401169689Skan2005-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
14402169689Skan
14403169689Skan	config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
14404169689Skan
14405169689Skan2005-06-20  Roger Sayle  <roger@eyesopen.com>
14406169689Skan	    Fariborz Jahanian <fjahanian@apple.com>
14407169689Skan
14408169689Skan	* combine.c (simplify_set): Simplify setting of CC register
14409169689Skan	by removing redundant compare with 0 on RHS.
14410169689Skan
14411169689Skan2005-06-20  Jan Beulich  <jbeulich@novell.com>
14412169689Skan
14413169689Skan	* config/i386/netware-libgcc.def: Update copyright.
14414169689Skan	* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
14415169689Skan	__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
14416169689Skan	* config/i386/netware.c (gen_stdcall_decoration,
14417169689Skan	gen_fastd_decoration): Merge into ...
14418169689Skan	(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
14419169689Skan	WinNT's changes.
14420169689Skan	(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
14421169689Skan	(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
14422169689Skan	* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
14423169689Skan	libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
14424169689Skan	* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
14425169689Skan	use of NX_MUTEX_RECURSIVE.
14426169689Skan
14427169689Skan2005-06-19  Roger Sayle  <roger@eyesopen.com>
14428169689Skan
14429169689Skan	* fold-const.c (swap_tree_comparison): Add support for unordered
14430169689Skan	floating point comparisons.
14431169689Skan	* tree-vrp.c (opposite_comparison): Delete.
14432169689Skan	(extract_range_from_assert): Replace calls to opposite_comparison
14433169689Skan	with calls to swap_tree_comparison.
14434169689Skan	(register_edge_assert_for): Likewise.
14435169689Skan	(vrp_evaluate_conditional): Likewise.
14436169689Skan
14437169689Skan2005-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
14438169689Skan
14439169689Skan	* integrate.c (allocate_initial_values): Update the references
14440169689Skan	to global_live_at_start	and global_live_at_end.
14441169689Skan
14442169689Skan2005-06-20  Jan Hubicka  <jh@suse.cz>
14443169689Skan
14444169689Skan	* cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
14445169689Skan	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
14446169689Skan	when asked for.
14447169689Skan	* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
14448169689Skan	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
14449169689Skan	Update call of duplicate_loop_to_header_edge.
14450169689Skan	(apply_opt_in_copies): Clear out aux pointers.
14451169689Skan
14452169689Skan2005-06-19  Joseph S. Myers  <joseph@codesourcery.com>
14453169689Skan
14454169689Skan	* config/i386/i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
14455169689Skan	(ix86_mangle_fundamental_type): New.
14456169689Skan	* config/ia64/ia64.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
14457169689Skan	(ia64_mangle_fundamental_type): New.
14458169689Skan
14459169689Skan2005-06-19  Roger Sayle  <roger@eyesopen.com>
14460169689Skan
14461169689Skan	* c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
14462169689Skan	INTEGER_CST nodes.
14463169689Skan	* c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
14464169689Skan	CONSTANT_CLASS_P nodes.
14465169689Skan
14466169689Skan2005-06-19  Richard Henderson  <rth@redhat.com>
14467169689Skan
14468169689Skan	* config/ia64/vect.md (vec_extractv2sf_1): Fix cut-and-paste error;
14469169689Skan	the shift is always required.
14470169689Skan
14471169689Skan2005-06-19  Richard Henderson  <rth@redhat.com>
14472169689Skan
14473169689Skan	* config/ia64/ia64-modes.def (V4SF): Add.
14474169689Skan	* config/ia64/ia64.c (ia64_legitimate_constant_p): Handle CONST_VECTOR.
14475169689Skan	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Allow vector to
14476169689Skan	integer mode changes in fp regs.
14477169689Skan	* config/ia64/ia64.md (UNSPEC_VECT_EXTR): New.
14478169689Skan	* config/ia64/vect.md (smaxv2sf3, sminv2sf3): Fix typos in names.
14479169689Skan	(reduc_plus_v2sf, reduc_smax_v2sf, reduc_smin_v2sf): New.
14480169689Skan	(vcondv2sf): Use gen_fpack
14481169689Skan	(fpack): Remove * from name.
14482169689Skan	(fswap, fmix_l, fmix_r, fmix_lr): New.
14483169689Skan	(vec_setv2sf, vec_extractv2sf_0_le, vec_extractv2sf_0_be): New.
14484169689Skan	(vec_extractv2sf_1, vec_extractv2sf): New.
14485169689Skan
14486169689Skan2005-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
14487169689Skan
14488169689Skan	* combine.c (make_compound_operation): Use simplify_subreg.  Delete
14489169689Skan	a optimization already done by simplify_subreg.
14490169689Skan
14491169689Skan2005-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
14492169689Skan
14493169689Skan	* loop.c (scan_loop): Do not consider insns setting the frame
14494169689Skan	pointer to be candidates for hoisting.
14495169689Skan
14496169689Skan2005-06-19  Uros Bizjak  <uros@kss-loka.si>
14497169689Skan
14498169689Skan	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf):
14499169689Skan	Remove instruction patterns.
14500169689Skan	(*cmpfp_0): New instruction pattern. Set "unit" attribute to "i387".
14501169689Skan	(*cmpfp_sf, *cmpfp_df, *cmpfp_xf, *cmpfp_u, *_cmpfp_<mode>):
14502169689Skan	Set "unit" attribute to "i387".
14503169689Skan	(*pushsf, *pushsf_rex64, *pushdf_nointeger, *pushdf_integer)
14504169689Skan	(*pushxf_nointeger, *pushxf_integer): Set "unit" attribute to "i387"
14505169689Skan	for alternative 0.
14506169689Skan	(*truncdfsf_mixed, *truncdfsf_i387, *truncxfsf2_mixed)
14507169689Skan	(*truncxfsf2_i387, *truncxfdf2_mixed, *truncxfdf2_i387): Set "unit"
14508169689Skan	attribute to "i387" when "type" attribute equals "multi".
14509169689Skan	(*floathisf2_i387, *floatsisf2_mixed, *floatsisf2_i387)
14510169689Skan	(*floatdisf2_mixed, *floatdisf2_i387, *floathidf2_i387)
14511169689Skan	(*floatsidf2_mixed, *floatsidf2_i387, *floatdidf2_mixed)
14512169689Skan	(*floatdidf2_i387, floathixf2, floatsixf2, floatdixf2): Set "unit"
14513169689Skan	attribute to "i387" when "type" attribute equals "multi".
14514169689Skan	* config/i386/mmx.md (*mov<mode>_internal_rex64)
14515169689Skan	(*mov<mode>_internal, *movv2sf_internal_rex64, *movv2sf_internal):
14516169689Skan	Set "unit" attribute to "mmx" when "type" attribute equals "ssecvt".
14517169689Skan	(mmx_pmovmskb): Correct wrong "type" and "mode" attributes.
14518169689Skan	* config/i386/sse.md (sse_cvtps2pi, sse_cvttps2pi, sse_cvtpd2di)
14519169689Skan	(sse_cvttpd2pi): Set "unit" attribute to "mmx".
14520169689Skan	(sse2_cvtpi2pd): Split register constraints. Set "unit" attribute
14521169689Skan	to "mmx" for "y" operand 1.
14522169689Skan
14523169689Skan2005-06-19  Uros Bizjak  <uros@kss-loka.si>
14524169689Skan
14525169689Skan	* config/i386/i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P
14526169689Skan	for TARGET_MMX.  Use MMX_REGPARM_MAX and SSE_REGPARM_MAX for MMX
14527169689Skan	and SSE registers to determine if regno is valid.
14528169689Skan	(ix86_function_value_regno_p): Depend FIRST_FLOAT_REG on
14529169689Skan	TARGET_FLOAT_RETURNS_IN_80387 also for TARGET_64BIT. Clean up.
14530169689Skan
14531169689Skan2005-06-18  Richard Henderson  <rth@redhat.com>
14532169689Skan
14533169689Skan	* tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN
14534169689Skan	for control-altering statements; set it again for returns.
14535169689Skan	(complex_visit_stmt): Return SSA_PROP_VARYING for stmts that are
14536169689Skan	not MODIFY_EXPR.
14537169689Skan
14538169689Skan2005-06-18  Richard Henderson  <rth@redhat.com>
14539169689Skan
14540169689Skan	PR tree-opt/22116
14541169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): Set
14542169689Skan	DECL_COMPLEX_GIMPLE_REG_P.
14543169689Skan	(insert_into_preds_of_block): Likewise.
14544169689Skan
14545169689Skan2005-06-18  Steven Bosscher  <stevenb@suse.de>
14546169689Skan
14547169689Skan	* Makefile.in: Fix tree-cfgcleanup.c dependencies.
14548169689Skan
14549169689Skan2005-06-18  Richard Henderson  <rth@redhat.com>
14550169689Skan
14551169689Skan	* expr.c (store_constructor): Use store of 0 to indicate value
14552169689Skan	death instead of a clobber.
14553169689Skan
14554169689Skan	* config/i386/i386.c (ix86_expand_reduc_v4sf): New.
14555169689Skan	* config/i386/i386-protos.h (ix86_expand_reduc_v4sf): Declare.
14556169689Skan	* config/i386/sse.md (reduc_plus_v4sf): New.
14557169689Skan	(reduc_smax_v4sf, reduc_smin_v4sf): New.
14558169689Skan
14559169689Skan2005-06-18  James A. Morrison  <phython@gcc.gnu.org>
14560169689Skan
14561169689Skan	* fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for
14562169689Skan	nonnegative values of X.
14563169689Skan
14564169689Skan2005-06-18  Uros Bizjak  <uros@kss-loka.si>
14565169689Skan
14566169689Skan	* doc/md.texi (Standard Names): Change insn pattern name
14567169689Skan	from truncM2 to btruncM2 for 'trunc' built-in description.
14568169689Skan	Add rintM2 insn pattern description.
14569169689Skan
14570169689Skan2005-06-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14571169689Skan
14572169689Skan	* c-decl.c (locate_old_decl): Add format attribute.
14573169689Skan	(implicit_decl_warning): Likewise.
14574169689Skan
14575169689Skan	* diagnostic.h (verbatim): Move ...
14576169689Skan	* toplev.h (verbatim): ... here.  Add ATTRIBUTE_GCC_DIAG.
14577169689Skan	* pretty-print.h (pp_verbatim): Add ATTRIBUTE_GCC_PPDIAG.
14578169689Skan
14579169689Skan2005-06-18  Roger Sayle  <roger@eyesopen.com>
14580169689Skan
14581169689Skan	PR target/22083
14582169689Skan	* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
14583169689Skan
14584169689Skan2005-06-18  Dorit Nuzman  <dorit@il.ibm.com>
14585169689Skan
14586169689Skan	* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): New
14587169689Skan	tree-codes.
14588169689Skan	* optabs.h (OTI_reduc_smax, OTI_reduc_umax, OTI_reduc_smin,
14589169689Skan	OTI_reduc_umin, OTI_reduc_plus): New optabs for reduction.
14590169689Skan	(reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
14591169689Skan	reduc_plus_optab): New optabs for reduction.
14592169689Skan	* expr.c (expand_expr_real_1): Handle new tree-codes.
14593169689Skan	* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
14594169689Skan	* tree-pretty-print.c (dump_generic_node, op_prio, op_symbol): Handle
14595169689Skan	new tree-codes.
14596169689Skan	* optabs.c (optab_for_tree_code): Handle new tree-codes.
14597169689Skan	(init_optabs): Initialize new optabs.
14598169689Skan	* genopinit.c (optabs): Define handlers for new optabs.
14599169689Skan
14600169689Skan	* tree-vect-analyze.c (vect_analyze_operations): Fail vectorization in
14601169689Skan	case of a phi that is marked as relevant. Call vectorizable_reduction.
14602169689Skan	(vect_mark_relevant): Phis may be marked as relevant.
14603169689Skan	(vect_mark_stmts_to_be_vectorized): The use corresponding to the
14604169689Skan	reduction variable in a reduction stmt does not mark its defining phi
14605169689Skan	as relevant. Update documentation accordingly.
14606169689Skan	(vect_can_advance_ivs_p): Skip reduction phis.
14607169689Skan	* tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
14608169689Skan	additional argument. Handle reduction.
14609169689Skan	(vect_create_destination_var): Update call to vect_get_new_vect_var.
14610169689Skan	Handle non-vector argument.
14611169689Skan	(get_initial_def_for_reduction): New function.
14612169689Skan	(vect_create_epilog_for_reduction): New function.
14613169689Skan	(vectorizable_reduction): New function.
14614169689Skan	(vect_get_new_vect_var): Handle new vect_var_kind.
14615169689Skan	(vectorizable_assignment, vectorizable_operation, vectorizable_store,
14616169689Skan	vectorizable_condition): Update call to vect_get_new_vect_var.
14617169689Skan	(vect_transform_stmt): Call vectorizable_reduction.
14618169689Skan	(vect_update_ivs_after_vectorizer): Skip reduction phis.
14619169689Skan	(vect_transform_loop): Skip if stmt is both not relevant and not live.
14620169689Skan	* tree-vectorizer.c (reduction_code_for_scalar_code): New function.
14621169689Skan	(vect_is_simple_reduction): Was empty - added implementation.
14622169689Skan	* tree-vectorizer.h (vect_scalar_var): New enum vect_var_kind value.
14623169689Skan	(reduc_vec_info_type): New enum vect_def_type value.
14624169689Skan	* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
14625169689Skan	reduc_umax_v4si, reduc_smin_v4si, reduc_umin_v4sf, reduc_smin_v4sf,
14626169689Skan	reduc_plus_v4si, reduc_plus_v4sf): New define_expands.
14627169689Skan
14628169689Skan	* tree-vect-analyze.c (vect_determine_vectorization_factor): Remove
14629169689Skan	ENABLE_CHECKING around gcc_assert.
14630169689Skan	* tree-vect-transform.c (vect_do_peeling_for_loop_bound,
14631169689Skan	(vect_do_peeling_for_alignment, vect_transform_loop,
14632169689Skan	vect_get_vec_def_for_operand): Likewise.
14633169689Skan
14634169689Skan2005-06-18  Joseph S. Myers  <joseph@codesourcery.com>
14635169689Skan
14636169689Skan	* config/ia64/ia64.c (ia64_function_arg): Set up a PARALLEL for a
14637169689Skan	big-endian unnamed __float80 value.
14638169689Skan
14639169689Skan2005-06-18  Richard Henderson  <rth@redhat.com>
14640169689Skan
14641169689Skan	PR tree-opt/22103
14642169689Skan	* tree-sra.c (generate_copy_inout): Handle SSA_NAME complex
14643169689Skan	destinations.
14644169689Skan
14645169689Skan2005-06-17  Richard Henderson  <rth@redhat.com>
14646169689Skan
14647169689Skan	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Use
14648169689Skan	initialize_original_copy_tables and free_original_copy_tables.
14649169689Skan	(vect_do_peeling_for_alignment): Likewise.
14650169689Skan
14651169689Skan2005-06-17  Pat Haugen  <pthaugen@us.ibm.com>
14652169689Skan
14653169689Skan	* bb-reorder.c (find_traces_1_round): Use succ block frequency
14654169689Skan	instead of edge frequency for calls to better_edge_p.
14655169689Skan
14656169689Skan2005-06-17  Andrew Pinski  <pinskia@physics.uc.edu>
14657169689Skan
14658169689Skan	PR tree-opt/22105
14659169689Skan	* tree-ssa-loop-im.c (for_each_index): Handle COMPLEX_CST.
14660169689Skan
14661169689Skan2005-06-17  Steve Ellcey  <sje@cup.hp.com>
14662169689Skan
14663169689Skan	PR target/19889
14664169689Skan	* config/ia64/hpux.h (FUNCTION_PROFILER): New (dummy).
14665169689Skan	(PROFILE_HOOK): New.
14666169689Skan	(PROFILE_BEFORE_PROLOGUE): Undef.
14667169689Skan	(NO_PROFILE_COUNTERS): New.
14668169689Skan	* config/ia64/ia64-protos.h (ia64_profile_hook): New.
14669169689Skan	* config/ia64/ia64.c (ia64_compute_frame_size): Add ifdef.
14670169689Skan	(gen_mcount_func_rtx): New.
14671169689Skan	(ia64_profile_hook): New.
14672169689Skan	* config/ia64/ia64.md (ip_value): New.
14673169689Skan
14674169689Skan2005-06-17  Devang Patel  <dpatel@apple.com>
14675169689Skan
14676169689Skan	* config/rs6000/predicates.md (s5bit_cint_operand,
14677169689Skan	u5bit_cint_operand): New.
14678169689Skan	* config/rs6000/altivec.md (altivec_vspltb, altivec_vsplth,
14679169689Skan	altivec_vspltisw_v4sf): Use new 5 bit constant operand predicates.
14680169689Skan	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Fix signed
14681169689Skan	5 bit constant check.
14682169689Skan
14683169689Skan2005-06-17  Richard Henderson  <rth@redhat.com>
14684169689Skan
14685169689Skan	* local-alloc.c (update_equiv_regs): Update reg_equiv_init
14686169689Skan	properly when moving an initialization insn.
14687169689Skan
14688169689Skan2005-06-17  Paolo Bonzini  <bonzini@gnu.org>
14689169689Skan
14690169689Skan	* aclocal.m4 (gcc_AC_CHECK_TOOL): Do not overwrite the
14691169689Skan	passed variable.
14692169689Skan	* configure.ac: Regenerate.
14693169689Skan
14694169689Skan2005-06-17  Jan Hubicka  <jh@suse.cz>
14695169689Skan
14696169689Skan	* tree-optimize.c (execute_ipa_pass_list): New.
14697169689Skan	(ipa_passes): Use it.
14698169689Skan
14699169689Skan2005-06-16  Richard Henderson  <rth@redhat.com>
14700169689Skan
14701169689Skan	PR tree-opt/22022
14702169689Skan	* tree-complex.c (update_phi_components): Avoid no-op moves.
14703169689Skan
14704169689Skan2005-06-16  Joseph S. Myers  <joseph@codesourcery.com>
14705169689Skan
14706169689Skan	* Makefile.in (cc1-checksum.c): Use
14707169689Skan	build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
14708169689Skan
14709169689Skan2005-06-16  Geoffrey Keating  <geoffk@apple.com>
14710169689Skan
14711169689Skan	* gengtype.c (adjust_field_rtx_def): Don't add a skip to
14712169689Skan	basic_block types.
14713169689Skan
14714169689Skan	* config/t-slibgcc-darwin (SHLIB_SOVERSION): Rename from
14715169689Skan	SHLIB_MINOR.
14716169689Skan	(SHLIB_REVISION): Delete.
14717169689Skan	(SHLIB_VERSTRING): Update to compensate.
14718169689Skan	(SHLIB_SONAME): Just use one '.' in the name.
14719169689Skan
14720169689Skan2005-06-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
14721169689Skan
14722169689Skan	PR tree-optimization/22018
14723169689Skan	* tree-vrp.c (vrp_int_const_binop): Overhaul handling of overflow.
14724169689Skan
14725169689Skan2005-06-16  Richard Henderson  <rth@redhat.com>
14726169689Skan
14727169689Skan	PR tree-opt/22035
14728169689Skan	* builtins.c (fold_builtin_complex_mul): Remove.
14729169689Skan	(fold_builtin_complex_div): Remove.
14730169689Skan	(fold_builtin_1): Don't call them.
14731169689Skan	* fold-const.c (fold_complex_add, fold_complex_mult_parts,
14732169689Skan	fold_complex_mult, fold_complex_div_parts, fold_complex_div): Remove.
14733169689Skan	(fold_binary): Don't call them.  Don't expand complex comparisons to
14734169689Skan	elementary comparisons.
14735169689Skan	* tree-complex.c (init_dont_simulate_again): Enhance search for
14736169689Skan	stmts that require decomposition.
14737169689Skan	(complex_visit_stmt): Handle RETURN_EXPR properly.
14738169689Skan	(create_components): Handle no referenced variables properly.
14739169689Skan	* tree.h (fold_complex_mult_parts): Remove.
14740169689Skan	(fold_complex_div_parts): Remove.
14741169689Skan
14742169689Skan2005-06-16  Richard Guenther  <rguenth@gcc.gnu.org>
14743169689Skan
14744169689Skan	* doc/extend.texi: Document sseregparm target attribute.
14745169689Skan	Clarify fastcall and regparm documentation.
14746169689Skan	* config/i386/i386.h: Adjust float_in_sse documentation.
14747169689Skan	* config/i386/i386.c: Add new target attribute sseregparm.
14748169689Skan	(ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
14749169689Skan	Merge into ...
14750169689Skan	(ix86_handle_cconv_attribute): ... here.  Also handle
14751169689Skan	sseregparm attribute.
14752169689Skan	(ix86_comp_type_attributes): Compare sseregparm attributes.
14753169689Skan	(ix86_function_sseregparm): New function, split out from ...
14754169689Skan	(init_cumulative_args): ... here.  Use to decide use
14755169689Skan	of SSE registers and error in case of missing support.
14756169689Skan	(ix86_value_regno): Likewise.
14757169689Skan	(function_arg_advance): Do not bail out for DFmode if we need
14758169689Skan	to pass doubles in registers.
14759169689Skan	(function_arg): Likewise.
14760169689Skan
14761169689Skan2005-06-16  Paolo Bonzini  <bonzini@gnu.org>
14762169689Skan	    Daniel Jacobowitz  <dan@codesourcery.com>
14763169689Skan	    Alan Modra <amodra.bigpond.net.au>
14764169689Skan
14765169689Skan	* configure.ac (gcc_version): Set near the beginning.
14766169689Skan	(as, ld, nm): Do not link in-tree tools.  Set gcc_cv_* if tools are
14767169689Skan	found in the tree.  Use gcc_AC_PROG to find the tools in the system.
14768169689Skan	(objdump): Do not look for it.
14769169689Skan	* Makefile.in (NM_FOR_TARGET): Point to ./nm
14770169689Skan	(ORIGINAL_AS_FOR_TARGET, ORIGINAL_LD_FOR_TARGET,
14771169689Skan	ORIGINAL_NM_FOR_TARGET): Substitute from autoconf.
14772169689Skan	(as, ld, nm): New rules.
14773169689Skan	(libgcc.mk): Depend on them.
14774169689Skan	* aclocal.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL,
14775169689Skan	gcc_AC_BUILD_EXEEXT): New.
14776169689Skan	(gcc_AC_CHECK_PROG_VER): Use gcc_AC_BUILD_EXEEXT.
14777169689Skan	* configure: Regenerate.
14778169689Skan
14779169689Skan2005-06-16  Jan Hubicka  <jh@suse.cz>
14780169689Skan
14781169689Skan	* basic-block.h (rtl_bb_info): Break out head_, end_,
14782169689Skan	global_live_at_start, global_live_at_end from ...
14783169689Skan	(basic_block_def): ... here; update all references
14784169689Skan	(BB_RTL): New flag.
14785169689Skan	(init_rtl_bb_info): Declare.
14786169689Skan	* cfgexpand.c (expand_gimple_basic_block): Init bb info, set BB_RTL
14787169689Skan	flag.
14788169689Skan	* cfgrtl.c: Include ggc.h
14789169689Skan	(create_basic_block_structure): Init bb info.
14790169689Skan	(rtl_verify_flow_info_1): Check BB_RTL flag and rtl_bb_info pointer.
14791169689Skan	(init_rtl_bb_info): New function.
14792169689Skan	(rtl_merge_block, cfglayout_merge_block): Copy global_live_at_end here.
14793169689Skan	* cfghooks.c (merge_block): Do not copy global_live_at_end here.
14794169689Skan	* cfg.c (clear_bb_flags): Skip BB_RTL flag.
14795169689Skan	(dump_flow_info): Gueard global_live_* dumping.
14796169689Skan
14797169689Skan	* Makefile.in (cfg.o): Add new dependencies.
14798169689Skan	* basic-block.h (reorder_block_def): Kill
14799169689Skan	original/copy/duplicated/copy_number fields.
14800169689Skan	(BB_DUPLICATED): New flag.
14801169689Skan	(initialize_original_copy_tables, free_original_copy_tables,
14802169689Skan	set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New.
14803169689Skan	* cfg.c: Include hashtab.h and alloc-pool.h
14804169689Skan	(bb_original, bb_copy, original_copy_bb_pool): New static vars.
14805169689Skan	(htab_bb_copy_original_entry): New struct.
14806169689Skan	(bb_copy_original_hash, bb_copy_original_eq): New static functions.
14807169689Skan	(initialize_original_copy_tables, free_original_copy_tables,
14808169689Skan	set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New
14809169689Skan	global functions.
14810169689Skan	* cfghooks.c (duplicate_block): Update original/copy handling.
14811169689Skan	* cfglayout.c (fixup_reorder_chain): Likewise.
14812169689Skan	(cfg_layout_initialize): Initialize orignal_copy tables.
14813169689Skan	(cfg_layout_finalize): FInalize original_copy tables.
14814169689Skan	(can_copy_bbs_p): Use BB_DUPLICATED flag.
14815169689Skan	(copy_bbs): Likewise.
14816169689Skan	* cfgloopmanip.c (update-single_exits_after_duplication): Likewise.
14817169689Skan	(duplicate_loop_to_header_edge): Likewise; update handling of
14818169689Skan	copy_number.
14819169689Skan	(loop_version): Likewise.
14820169689Skan	* dominance.c (get_dominated_by_region): Use BB_DUPLICATED_FLAG.
14821169689Skan	* except.c (expand_resx_expr): Check that reg->resume is not set.
14822169689Skan	* loop-unroll.c (unroll_loop_constant_iterations,
14823169689Skan	unroll_loop_runtime_iterations, apply_opt_in_copies): Update
14824169689Skan	copy/original handling.
14825169689Skan	* loop-unwitch.c (unswitch_loop): Likewise.
14826169689Skan	* tree-cfg.c (create_bb): Do not initialize RBI.
14827169689Skan	(disband_implicit_edges): Do not kill RBI.
14828169689Skan	(add_phi_args_after_copy_bb): Use new original/copy mapping.
14829169689Skan	(add_phi_args_after_copy): Use BB_DUPLICATED flag.
14830169689Skan	(tree_duplicate_sese_region): Update original/copy handling.
14831169689Skan	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
14832169689Skan	* tree-ssa-loop-manip.c (copy_phi_node_args): Likewise.
14833169689Skan	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
14834169689Skan
14835169689Skan2005-06-15  Andrew Pinski  <pinskia@physics.uc.edu>
14836169689Skan
14837169689Skan	PR tree-opt/21923
14838169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Conversions between
14839169689Skan	integer types whos ranges are different are not useless.
14840169689Skan
14841169689Skan2005-06-15  Andrew Pinski  <pinskia@physics.uc.edu>
14842169689Skan
14843169689Skan	PR tree-opt/22024
14844169689Skan	* tree-ssa-reassoc.c (init_reassoc): Also give chain decl a distint
14845169689Skan	rank.
14846169689Skan
14847169689Skan2005-06-15  Diego Novillo  <dnovillo@redhat.com>
14848169689Skan
14849169689Skan	* tree-ssa-structalias.c (dump_solution_for_var): Reformat
14850169689Skan	output.
14851169689Skan	(dump_sa_points_to_info): Make extern.
14852169689Skan	(debug_sa_points_to_info): New.
14853169689Skan	* tree-ssa-structalias.h (TREE_SSA_STRUCTALIAS_H): Rename from
14854169689Skan	TREE_ALIAS_COMMON.
14855169689Skan	(dump_sa_points_to_info): Declare.
14856169689Skan	(debug_sa_points_to_info): Declare.
14857169689Skan
14858169689Skan2005-06-15  Joseph S. Myers  <joseph@codesourcery.com>
14859169689Skan
14860169689Skan	* c-tree.h (default_function_array_conversion): Declare.
14861169689Skan	* c-typeck.c (default_function_array_conversion): Export.  Correct
14862169689Skan	comment.
14863169689Skan	(default_conversion): Do not call
14864169689Skan	default_function_array_conversion.  Do not allow FUNCTION_TYPE.
14865169689Skan	(build_function_call): Call default_function_array_conversion on
14866169689Skan	the function.
14867169689Skan	(convert_arguments): Do not call it on the function arguments.
14868169689Skan	(build_unary_op): Do not allow ARRAY_TYPE or FUNCTION_TYPE for
14869169689Skan	TRUTH_NOT_EXPR.  Call default_function_array_conversion for taking
14870169689Skan	address of ARRAY_REF.
14871169689Skan	(build_compound_expr): Do not call
14872169689Skan	default_function_array_conversion.
14873169689Skan	(build_c_cast): Do not call default_function_array_conversion.
14874169689Skan	(convert_for_assignment): Do not call default_conversion.
14875169689Skan	(digest_init): Call default_function_array_conversion to convert
14876169689Skan	string constants and compound literals to pointers, but not
14877169689Skan	otherwise.
14878169689Skan	(output_init_element): Likewise.
14879169689Skan	(build_asm_expr): Do not call default_function_array_conversion.
14880169689Skan	(c_process_expr_stmt): Likewise.
14881169689Skan	(c_objc_common_truthvalue_conversion): Likewise.  Do not allow
14882169689Skan	FUNCTION_TYPE.
14883169689Skan	* c-parser.c (c_parser_expression_conv): New.
14884169689Skan	(c_parser_asm_operands, c_parser_expr_list): Add convert_p
14885169689Skan	argument.  All callers changed.  Call
14886169689Skan	default_function_array_conversion if convert_p.
14887169689Skan	(c_parser_initializer, c_parser_initval): Call
14888169689Skan	default_function_array_conversion except for string constants and
14889169689Skan	compound literals.
14890169689Skan	(c_parser_initelt): Call default_function_array_conversion for
14891169689Skan	ObjC expression received.
14892169689Skan	(c_parser_statement_after_labels): Call c_parser_expression_conv
14893169689Skan	for return and expression statements.
14894169689Skan	(c_parser_paren_condition, c_parser_for_statement,
14895169689Skan	c_parser_conditional_expression): Call c_parser_expression_conv.
14896169689Skan	(c_parser_expr_no_commas, c_parser_conditional_expression,
14897169689Skan	c_parser_binary_expression, c_parser_cast_expression,
14898169689Skan	c_parser_unary_expression): Call
14899169689Skan	default_function_array_conversion.
14900169689Skan
14901169689Skan2005-06-15  Diego Novillo  <dnovillo@redhat.com>
14902169689Skan
14903169689Skan	* tree-vrp.c (vrp_int_const_binop): Do not handle MAX_EXPR
14904169689Skan	when the result overflows.
14905169689Skan
14906169689Skan2005-06-15  David Ung  <davidu@mips.com>
14907169689Skan
14908169689Skan	* config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
14909169689Skan	24k and 24kx.
14910169689Skan
14911169689Skan2005-06-15  Richard Sandiford  <richard@codesourcery.com>
14912169689Skan
14913169689Skan	* doc/invoke.texi (-mips16): Fix typo.
14914169689Skan
14915169689Skan2005-06-15  David Ung  <davidu@mips.com>
14916169689Skan
14917169689Skan	* config/mips/mips.h (GENERATE_MIPS16E): New definition.
14918169689Skan	* config/mips/mips.md (zero_extend<SHORT:mode><GPR:mode>2):
14919169689Skan	Changed expand condition to exclude generating of "and" if
14920169689Skan	GENERATE_MIPS16E is true.
14921169689Skan	(*zero_extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for
14922169689Skan	matching mips16e zeb/zeh.
14923169689Skan	(*extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for matching
14924169689Skan	mips16e seb/seh.
14925169689Skan	(*extend<SHORT:mode><GPR:mode>2): Disable this pattern for
14926169689Skan	GENERATE_MIPS16E.
14927169689Skan	* doc/invoke.texi (MIPS Options): Add comment to -mips16
14928169689Skan	indicating MIPS16e ASE is used if targetting for MIPS32 or MIPS64.
14929169689Skan
14930169689Skan2005-06-15  Diego Novillo  <dnovillo@redhat.com>
14931169689Skan
14932169689Skan	PR 22018
14933169689Skan	* tree-vrp.c (vrp_int_const_binop): New.
14934169689Skan	(extract_range_from_binary_expr): Call it.
14935169689Skan	Unify handling division and multiplication.
14936169689Skan
14937169689Skan2005-06-15  Aldy Hernandez  <aldyh@redhat.com>
14938169689Skan
14939169689Skan	* c-common.h (same_scalar_type_ignoring_signedness): Protoize.
14940169689Skan
14941169689Skan	* c-common.c (same_scalar_type_ignoring_signedness): New.
14942169689Skan
14943169689Skan	* c-typeck.c (build_binary_op): Check compatability of vector
14944169689Skan	types.  Move error report after switch.
14945169689Skan	Do not clobber code[01] on *_DIV_EXPR case.
14946169689Skan
14947169689Skan	* testsuite/gcc.dg/simd-1.c: Update error messages.
14948169689Skan	* testsuite/gcc.dg/simd-1b.c: Re-enable tests.  Update error
14949169689Skan	messages.
14950169689Skan	* testsuite/gcc.dg/simd-2.c: Update error messages.
14951169689Skan	* testsuite/gcc.dg/simd-4.c: New.
14952169689Skan
14953169689Skan2005-06-15  Bernd Schmidt  <bernd.schmidt@analog.com>
14954169689Skan
14955169689Skan	* Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
14956169689Skan	* local-alloc.c: Include "ggc.h" and "reload.h".
14957169689Skan	(struct equivalence): New member is_arg_equivalence.
14958169689Skan	(local_alloc): Always call update_equiv_regs.
14959169689Skan	(update_equiv_regs): Allocate reg_equiv_init; set reg_equiv_init_size.
14960169689Skan	Detect equivalences made by stores to memory in a second pass.
14961169689Skan	Return early if not optimizing.
14962169689Skan	Initialize reg_equiv_init for all equivalences; treat equivalences for
14963169689Skan	REG_EQUIV notes existing before this pass specially.
14964169689Skan	(no_equiv): Don't clear reg_equiv_init or remove notes if the
14965169689Skan	is_arg_equivalence field is set.
14966169689Skan	* reload.h (reg_equiv_init, reg_equiv_init_size): Declare.
14967169689Skan	* reload1.c (reg_equiv_init): No longer static.
14968169689Skan	(reg_equiv_init_size): New variable.
14969169689Skan	(reload): Don't allocate reg_equiv_init; don't free it when done but
14970169689Skan	clear it.
14971169689Skan	Restructure equivalence set up code not to set reg_equiv_init, but to
14972169689Skan	clear it when we can't use an equivalence.
14973169689Skan	Undo change disabling equivalences for MEM_READONLY_P memrefs.
14974169689Skan	Dump equivalencing insns to dump_file.
14975169689Skan
14976169689Skan2005-06-14  Richard Sandiford  <richard@codesourcery.com>
14977169689Skan
14978169689Skan	* config/mips/mips.c (machine_function): Add varargs_size field.
14979169689Skan	(mips_setup_incoming_varargs): Store the amount of extra stack space
14980169689Skan	there rather than in *pretend_size.  When saving registers, always
14981169689Skan	expect virtual_incoming_args_rtx to point to the start of the
14982169689Skan	pretend arguments.
14983169689Skan	(mips_va_start): Remove alignment hack.  Handle all
14984169689Skan	!EABI_FLOAT_VARARGS_P cases in the same way.
14985169689Skan	(compute_frame_size): Handle varargs_size.  Remove the redundant
14986169689Skan	!TARGET_OLDABI condition in the handling of pretend_args_size.
14987169689Skan	(mips_initial_elimination_offset): Remove the now-redundant check
14988169689Skan	of TARGET_NEWABI.
14989169689Skan
14990169689Skan2005-06-14  Jeff Law  <law@redhat.com>
14991169689Skan
14992169689Skan	* tree-vrp.c (local_fold): Remove.
14993169689Skan	(simplify_using_ranges): Use fold_convert, not local_fold.  Tweak
14994169689Skan	DIV/MOD case slightly for readability.
14995169689Skan
14996169689Skan2005-06-14  Frank Ch. Eigler  <fche@redhat.com>
14997169689Skan
14998169689Skan	PR mudflap/21023
14999169689Skan	* tree-mudflap.c (mudflap_finish_file): Exclude non-public
15000169689Skan	rather than static objects (!) from libmudflap registration.
15001169689Skan
15002169689Skan2005-06-14  Richard Sandiford  <richard@codesourcery.com>
15003169689Skan
15004169689Skan	* opt-functions.awk (global_state_p, needs_state_p, static_var): New.
15005169689Skan	(var_ref): Take the option's flags as a second parameter.  Check
15006169689Skan	static_var.
15007169689Skan	* optc-gen.awk: Declare local state variables.  Pass flags to var_ref.
15008169689Skan
15009169689Skan2005-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
15010169689Skan
15011169689Skan	PR target/20301
15012169689Skan	* config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
15013169689Skan	unsigned index numbers.
15014169689Skan
15015169689Skan2005-06-13  Geoffrey Keating  <geoffk@apple.com>
15016169689Skan
15017169689Skan	* Makefile.in (install-man): Doesn't really depend on installdirs.
15018169689Skan	(various rules for installing manpages): Do depend on installdirs.
15019169689Skan
15020169689Skan2005-06-14  Nathan Sidwell  <nathan@codesourcery.com>
15021169689Skan
15022169689Skan	* unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in
15023169689Skan	read_encoded_value_with_base call.
15024169689Skan	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
15025169689Skan	* unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
15026169689Skan	* unwind-dw2.c (extract_cie_info): Fix aliasing in
15027169689Skan	read_encoded_value call.
15028169689Skan	(execute_cfa_program, uw_frame_state_for): Likewise.
15029169689Skan
15030169689Skan2005-06-13  Roger Sayle  <roger@eyesopen.com>
15031169689Skan
15032169689Skan	PR rtl-optimization/22053
15033169689Skan	* reg-stack.c (compensate_edge): Correct mistake in the assertion
15034169689Skan	checking of EDGE_ABNORMAL_CALL edges; complex return values can
15035169689Skan	result in the top two stack slots, st(0) and st(1), being live.
15036169689Skan
15037169689Skan2005-06-13  Jeff Law  <law@redhat.com>
15038169689Skan
15039169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer
15040169689Skan	simplify DIV, MOD or ABS expressions using VRP information.
15041169689Skan	Remove WALK_DATA parameter.  Prototype and all callers updated.
15042169689Skan	(eliminate_redundant_computations): Remove WALK_DATA parameter.
15043169689Skan	Prototype and all callers updated.
15044169689Skan	(optimize_stmt): WALK_DATA parameter is now unused.
15045169689Skan
15046169689Skan	* tree-vrp.c (local_fold): New function.  Like fold, but
15047169689Skan	strips useless type conversions in the result.
15048169689Skan	(simplify_using_ranges): New function, largely cribbed from
15049169689Skan	tree-ssa-dom.c::simplify_rhs_and_lookup_avail_expr.
15050169689Skan	(vrp_finalize): Call simplify_using_ranges.
15051169689Skan
15052169689Skan2005-06-13  Mark Mitchell  <mark@codesourcery.com>
15053169689Skan
15054169689Skan	* config/i386/x86-64.h (ASM_SPEC): Explicitly pass --64 to the
15055169689Skan	assembler in 64-bit mode.
15056169689Skan
15057169689Skan2005-06-13  David Edelsohn  <edelsohn@gnu.org>
15058169689Skan
15059169689Skan	Revert scc_operand patch.
15060169689Skan	* config/rs6000/predicates.md (scc_operand): Delete.
15061169689Skan	* config/rs6000/rs6000.md (scc_operand): Change to scc_eq_operand.
15062169689Skan
15063169689Skan2005-06-13  Zdenek Dvorak  <dvorakz@suse.cz>
15064169689Skan
15065169689Skan	PR middle-end/21985
15066169689Skan	* fold-const.c (split_address_to_core_and_offset): Always return
15067169689Skan	the address of the base object.
15068169689Skan
15069169689Skan2005-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
15070169689Skan
15071169689Skan	* doc/invoke.texi (Blackfin Options): Document -mlong-calls.
15072169689Skan
15073169689Skan2005-06-12  Richard Henderson  <rth@redhat.com>
15074169689Skan
15075169689Skan	PR tree-opt/21994
15076169689Skan	* tree-complex.c (update_complex_components_on_edge): New.
15077169689Skan	(update_parameter_components): Use it.
15078169689Skan	(update_phi_components): Likewise.
15079169689Skan	(expand_complex_move): Likewise for is_ctrl_altering_stmt.
15080169689Skan
15081169689Skan2005-06-12  James A. Morrison  <phython@gcc.gnu.org>
15082169689Skan
15083169689Skan	PR tree-optimization/14796
15084169689Skan	* fold-const (fold_binary): Transform (X << C) >> C into X & (-1>>C)
15085169689Skan	for unsigned types.
15086169689Skan
15087169689Skan2005-06-12  Kazu Hirata  <kazu@codesourcery.com>
15088169689Skan
15089169689Skan	* cgraphunit.c, tree-ssa-loop-ivopts.c,
15090169689Skan	tree-ssa-structalias.c, tree-vectorizer.c, tree-vectorizer.h,
15091169689Skan	config/sparc/sparc.c: Fix comment typos.
15092169689Skan
15093169689Skan2005-06-12  Richard Earnshaw  <richard.earnshaw@arm.com>
15094169689Skan
15095169689Skan	* arm/ieee754-df.s (aeabi_dcmpeq, aeabi_dcmplt, aeabi_dcmple)
15096169689Skan	(aeabi_dcmpge, aeabi_dcmpgt): Maintain 8-byte stack alignment.
15097169689Skan	* arm/ieee754-sf.s (aeabi_l2f, aeabi_fcmpeq, aeabi_fcmplt)
15098169689Skan	(aeabi_fcmple, aeabi_fcmpge, aeabi_fcmpgt): Likewise.
15099169689Skan
15100169689Skan2005-06-12  James A. Morrison  <phython@gcc.gnu.org>
15101169689Skan
15102169689Skan	PR tree-optimization/14796
15103169689Skan	* fold-const.c (fold_binary): Transform (A >> C) << C into
15104169689Skan	one BIT_AND_EXPR.
15105169689Skan	<shift>: Transform (A OP c1) OP c2 into A OP (c1 + c2).
15106169689Skan
15107169689Skan2005-06-11  Geoffrey Keating  <geoffk@apple.com>
15108169689Skan
15109169689Skan	* config/rs6000/predicates.md (reg_or_arith_cint_operand): Delete.
15110169689Skan	(reg_or_add_cint_operand): Rename from reg_or_add_cint64_operand.
15111169689Skan	Handle SImode.
15112169689Skan	(reg_or_sub_cint_operand): Likewise.
15113169689Skan	(mask_operand): Handle DImode.
15114169689Skan	(mask64_operand): Delete.
15115169689Skan	(and64_operand): Delete.
15116169689Skan	* config/rs6000/rs6000.c (num_insns_constant): Use mask_operand
15117169689Skan	instead of mask64_operand.
15118169689Skan	(print_operand): Likewise.
15119169689Skan	(rs6000_rtx_costs): Use mask_operand and reg_or_add_cint_operand and
15120169689Skan	reg_or_sub_cint_operand instead of *64_* variants.
15121169689Skan	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Use mask_operand
15122169689Skan	instead of mask64_operand.
15123169689Skan	* config/rs6000/rs6000.md: Use mask_operand and and_operand instead
15124169689Skan	of *64_* variants.
15125169689Skan	(FP): New.
15126169689Skan	(add_op2): Delete.
15127169689Skan	(add<mode>3): Use reg_or_add_cint_operand.
15128169689Skan	(sub_op2): Delete.
15129169689Skan	(sub<mode>3): Use reg_or_sub_cint_operand.
15130169689Skan	(udiv<mode>3, div<mode>3, div<mode>3_no_mq, mod<mode>3,
15131169689Skan	mov<mode>_internal2, mov<mode>, cmp<mode>, cmp<mode>,
15132169689Skan	cmp<mode>_internal1, indirect_jump<mode>, ctr<mode>,
15133169689Skan	ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
15134169689Skan	ctr<mode>_internal6, save_fpregs_<mode>, return_internal_<mode>,
15135169689Skan	return_and_restore_fpregs_<mode>, eh_set_lr_<mode>,
15136169689Skan	various unnamed patterns): New.
15137169689Skan	(udivsi3, divsi3, divsi3_no_mq, modsi3, movsi_internal2, movsi,
15138169689Skan	cmpsi, cmpsi_internal1, indirect_jumpsi, ctrsi, ctrsi_internal1,
15139169689Skan	ctrsi_internal2, ctrsi_internal5, ctrsi_internal6, save_fpregs_si,
15140169689Skan	return_internal_si, return_and_restore_fpregs_si, eh_set_lr_si,
15141169689Skan	udivdi3, divdi3, divdi3_no_mq, moddi3, movdi_internal2, movdi,
15142169689Skan	cmpdi, cmpdi_internal1, indirect_jumpdi, ctrdi, ctrdi_internal1,
15143169689Skan	ctrdi_internal2, ctrdi_internal5, ctrdi_internal6, save_fpregs_di,
15144169689Skan	return_internal_di, return_and_restore_fpregs_di, eh_set_lr_di,
15145169689Skan	movhi, movqi, cmpsf, cmpdf, cmptf, various unnamed patterns):
15146169689Skan	Delete.
15147169689Skan
15148169689Skan2005-06-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15149169689Skan
15150169689Skan	* rtl.h (to_rtx_code): Remove.
15151169689Skan	* machmode.h (to_machine_mode): Likewise.
15152169689Skan	* read-rtl.c (apply_mode_macro): Replace to_machine_mode with
15153169689Skan	explicit cast.
15154169689Skan	(apply_mode_maps): Likewise.
15155169689Skan	(read_rtx_1): Likewise.
15156169689Skan	(apply_code_macro): Replace to to_rtx_code with explicit cast.
15157169689Skan	(check_code_macro): Likewise.
15158169689Skan	(read_rtx_1): Likewise.
15159169689Skan
15160169689Skan2005-06-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15161169689Skan
15162169689Skan	* c-typeck.c (convert_for_assignment): Avoid checking
15163169689Skan	OPT_Wc___compat, as it is always true.
15164169689Skan
15165169689Skan2005-06-11  David Edelsohn  <edelsohn@gnu.org>
15166169689Skan
15167169689Skan	* config/rs6000/rs6000.md (eq<mode>_compare): Restrict to Pmode.
15168169689Skan
15169169689Skan2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
15170169689Skan
15171169689Skan	Fix PR tree-optimization/22005
15172169689Skan	Fix PR tree-optimization/22025
15173169689Skan
15174169689Skan	* tree-ssa-structalias.c (struct variable_info): Add has_union
15175169689Skan	member.
15176169689Skan	(create_variable_info_for): Mark variables containing unions.
15177169689Skan	Don't sort the field stack if notokay is true.
15178169689Skan	(find_what_p_points_to): Convert variables containing unions back
15179169689Skan	to their SFT's if necessary.
15180169689Skan
15181169689Skan2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
15182169689Skan
15183169689Skan	* lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
15184169689Skan	is an INTEGER_CST before calling int_cst_value.
15185169689Skan
15186169689Skan2005-06-10  Uros Bizjak  <uros@kss-loka.si>
15187169689Skan
15188169689Skan	PR target/21981
15189169689Skan	* config/i386/i386.c (ix86_function_value_regno_p): Return true
15190169689Skan	for FIRST_MMX_REG if TARGET_MMX.
15191169689Skan	(ix86_return_in_memory): Return 1 for MMX/3dNow vectors. Delete
15192169689Skan	wrong comment.
15193169689Skan	(ix86_struct_value_rtx): Emit warning for MMX ABI violations.
15194169689Skan	(ix86_value_regno): Return FIRST_MMX_REG for MMX vector modes.
15195169689Skan
15196169689Skan2005-06-10  Daniel Berlin  <dberlin@dberlin.org>
15197169689Skan
15198169689Skan	* lambda-code.c (replace_uses_equiv_to_x_with_y): Check step
15199169689Skan	and access function against chrec_dont_know.
15200169689Skan
15201169689Skan2005-06-10  Daniel Berlin  <dberlin@dberlin.org>
15202169689Skan
15203169689Skan	* lambda-code.c (replace_uses_of_x_with_y): Renamed and rewritten
15204169689Skan	slightly.
15205169689Skan	(exit_phi_for_loop_p): New function.
15206169689Skan	(can_put_in_inner_loop): Ditto.
15207169689Skan	(can_convert_to_perfect_nest): Ditto.
15208169689Skan	(perfect_nestify): Create iv with right type.
15209169689Skan	Rewrite statements in correct order.
15210169689Skan
15211169689Skan2005-06-10  Keith Besaw  <kbesaw@us.ibm.com>
15212169689Skan
15213169689Skan	* tree-ssa-alias.c (new_type_alias): Use existing type
15214169689Skan	tag if VAR has just one in its may_aliases list.
15215169689Skan
15216169689Skan2005-06-10  Fariborz Jahanian <fjahanian@apple.com>
15217169689Skan
15218169689Skan	* rs6000/predicates.md (scc_operand): New.
15219169689Skan	* rs6000/rs6000.md : Use scc_operand for eq:SI compares.
15220169689Skan
15221169689Skan2005-06-10  Dorit Nuzman  <dorit@il.ibm.com>
15222169689Skan
15223169689Skan	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
15224169689Skan	dependence-distance modulo VF is 0 are recorded in the
15225169689Skan	SAME_ALIGN_REFs VEC in each DR.
15226169689Skan	(vect_enhance_data_refs_alignment): Avoid 80 column overflow. The
15227169689Skan	alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the
15228169689Skan	DR we want to peel for, is set to 0.
15229169689Skan	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout.
15230169689Skan	* tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs
15231169689Skan	VEC.
15232169689Skan	* tree-vectorizer.h (dr_p): New type. Defined to use the VEC API.
15233169689Skan	(_stmt_vec_info): Added new field same_align_refs.
15234169689Skan	(STMT_VINFO_SAME_ALIGN_REFS): New macro.
15235169689Skan
15236169689Skan2005-06-10  Nathan Sidwell  <nathan@codesourcery.com>
15237169689Skan
15238169689Skan	* vec.h (VEC_safe_grow): Append MEM_STAT_INFO.
15239169689Skan
15240169689Skan2005-06-10  Alan Modra  <amodra@bigpond.net.au>
15241169689Skan
15242169689Skan	* config/rs6000/linux.h (NO_PROFILE_COUNTERS): Define.
15243169689Skan	* config/rs6000/linux64.h (NO_PROFILE_COUNTERS): Define as 1.
15244169689Skan	* config/rs6000/rs6000.c (output_function_profiler): Obey
15245169689Skan	NO_PROFILE_COUNTERS.  Handle TARGET_SECURE_PLT.  Use "bcl 20,31"
15246169689Skan	for -fPIC.  Delete save_lr and substitute its value into strings.
15247169689Skan
15248169689Skan2005-06-09  Dale Johannesen  <dalej@apple.com>
15249169689Skan
15250169689Skan	* config/i386/i386.c (optimization_options): Make -fno-math-errno
15251169689Skan	the default on Darwin.
15252169689Skan	* config/rs6000/rs6000.c (optimization_options): Ditto.
15253169689Skan	* doc/invoke.texi (-fno-math-errno): Document.
15254169689Skan
15255169689Skan2005-06-09  Dale Johannesen  <dalej@apple.com>
15256169689Skan
15257169689Skan	* config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
15258169689Skan	Change to TARGET_INVALID_WITHIN_DOLOOP.
15259169689Skan
15260169689Skan2005-06-09  David Edelsohn  <edelsohn@gnu.org>
15261169689Skan
15262169689Skan	* config/rs6000/rs6000.md (eq): Convert to define_insn_and_split.
15263169689Skan	* config/rs6000/predicates.md (scc_eq_operand): New.
15264169689Skan
15265169689Skan2005-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
15266169689Skan
15267169689Skan	* config/sh/sh.md (mextr_rl): Set buffer size properly.
15268169689Skan	(*mextr_lr): Likewise.
15269169689Skan
15270169689Skan2005-06-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15271169689Skan
15272169689Skan	PR c/21759
15273169689Skan	* c.opt (Wc++-compat): New.
15274169689Skan	* doc/invoke.texi (-Wc++-compat): Document.
15275169689Skan	* c-typeck.c (convert_for_assignment): Check for implicit
15276169689Skan	conversion void* -> T*.
15277169689Skan
15278169689Skan2005-06-09  Gabriel Dos Reis  <gdr@integrable-solutions.edu>
15279169689Skan
15280169689Skan	* machmode.h (to_machine_mode): New.
15281169689Skan	* rtl.h (to_rtx_code): Likewise.
15282169689Skan	* read-rtl.c (apply_mode_macro): Convert mode to machine_mode.
15283169689Skan	(print_c_condition): Convert return value of htab_find().
15284169689Skan	(apply_code_macro): Add explicit cast when convertin to enums.
15285169689Skan	(apply_mode_maps): Likewise.
15286169689Skan	(check_code_macro): Likewise.
15287169689Skan	(read_rtx_1): Likewise.
15288169689Skan
15289169689Skan2005-06-09  Richard Henderson  <rth@redhat.com>
15290169689Skan
15291169689Skan	* config/ia64/ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
15292169689Skan	Use SCALAR_FLOAT_MODE_P.
15293169689Skan	* config/ia64/vect.md (vcondv2sf): Remove code check on comparison.
15294169689Skan	(fselect): Rename from fpcmp; use %F.
15295169689Skan	(fpcmp): New.
15296169689Skan
15297169689Skan2005-06-09  Jan Hubicka  <jh@suse.cz>
15298169689Skan
15299169689Skan	* cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize
15300169689Skan	local statics when doing unit-at-a-time.
15301169689Skan	(cgraph_varpool_assemble_pending_decls): Output debug info.
15302169689Skan	* dwarf2out.c (decls_for_scope): Skip local statics.
15303169689Skan	(dwarf2out_decl): Handle local statics.
15304169689Skan	* passes.c (rest_of_decl_compilation): Do not differentiate
15305169689Skan	local and global statics in unit-at-a-time.
15306169689Skan	* tree-inline.c (remap_decls): Put local static into
15307169689Skan	unexpanded_vars_list rather than introducing duplicated VAR_DECL
15308169689Skan	node.
15309169689Skan
15310169689Skan2005-06-09  Daniel Berlin  <dberlin@dberlin.org>
15311169689Skan
15312169689Skan	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Fix
15313169689Skan	prototype.
15314169689Skan
15315169689Skan2005-06-08  Daniel Berlin  <dberlin@dberlin.org>
15316169689Skan
15317169689Skan	* Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
15318169689Skan	* tree-flow.h (find_what_p_points_to): Add prototype.
15319169689Skan	(push_fields_onto_fieldstack): Ditto.
15320169689Skan	(sort_fieldstack): Ditto.
15321169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
15322169689Skan	pass_build_pta and pass_del_pta.
15323169689Skan	* tree-pass.h (pass_build_pta): New structure.
15324169689Skan	(pass_del_pta): Ditto.
15325169689Skan	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Disambiguate
15326169689Skan	using new alias analyzer.
15327169689Skan	(push_fields_onto_fieldstack): Removed from here.
15328169689Skan	(bitpos_of_field): Ditto.
15329169689Skan	(fieldoff_compare): Ditto.
15330169689Skan	* tree-ssa-structalias.c: New file.
15331169689Skan	* tree-ssa-structalias.h: Ditto.
15332169689Skan
15333169689Skan2005-06-09  Nathan Sidwell  <nathan@codesourcery.com>
15334169689Skan
15335169689Skan	* c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF
15336169689Skan	too.
15337169689Skan
15338169689Skan2005-06-09  Bernd Schmidt  <bernd.schmidt@analog.com>
15339169689Skan
15340169689Skan	* config/bfin/bfin.c (enum bfin_builtins): Moved here from...
15341169689Skan	* config/bfin/bfin.h (enum bfin_builtins): ... here.
15342169689Skan
15343169689Skan2005-06-09  Adrian Straetling  <straetling@de.ibm.com>
15344169689Skan
15345169689Skan	* target.h (insn_valid_within_doloop): Rename into
15346169689Skan	"invalid_within_doloop".  Change return type to "const char *".
15347169689Skan	Update Comment.
15348169689Skan	* targhooks.h (default_insn_valid_within_doloop): Rename into
15349169689Skan	"default_invalid_within_doloop".
15350169689Skan	* targhooks.c (default_insn_valid_within_doloop): Likewise.
15351169689Skan	Update Comment.
15352169689Skan	* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
15353169689Skan	into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
15354169689Skan	"default_invalid_within_doloop".
15355169689Skan	* hooks.c (hook_constcharptr_rtx_null): New function.
15356169689Skan	(hook_bool_rtx_true): Remove.
15357169689Skan	* hooks.h (hook_constcharptr_rtx_null): Declare.
15358169689Skan	(hook_bool_rtx_true): Remove.
15359169689Skan	* loop-doloop.c (doloop_valid_p): Temporarily store return value of
15360169689Skan	"invalid_within_doloop" and print error message if non-null.
15361169689Skan	Update Comment.
15362169689Skan	* doc/tm.texi: Update documentation.
15363169689Skan	* config/s390/s390.c: Adjust to new hook name and new default hook.
15364169689Skan	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
15365169689Skan	into "rs6000_invalid_within_doloop".
15366169689Skan	(rs6000_invalid_within_doloop): Change return type to "static const
15367169689Skan	char *" and replace return values.  Update Comment.
15368169689Skan
15369169689Skan2005-06-09  Bernd Schmidt  <bernd.schmidt@analog.com>
15370169689Skan
15371169689Skan	* config/bfin/bfin.opt (mlong-calls): New.
15372169689Skan	* config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF
15373169689Skan	if TARGET_LONG_CALLS.
15374169689Skan
15375169689Skan2005-06-09  Richard Henderson  <rth@redhat.com>
15376169689Skan
15377169689Skan	PR tree-opt/20610
15378169689Skan	* tree.h (DECL_COMPLEX_GIMPLE_REG_P): New.
15379169689Skan	(struct tree_decl): Add gimple_reg_flag.
15380169689Skan	* integrate.c (copy_decl_for_inlining): Copy it.
15381169689Skan	* gimplify.c (internal_get_tmp_var): Set it.
15382169689Skan	(gimplify_bind_expr): Likewise.
15383169689Skan	(gimplify_function_tree): Likewise.
15384169689Skan	(gimplify_modify_expr_complex_part): New.
15385169689Skan	(gimplify_modify_expr): Use it.
15386169689Skan	* tree-gimple.c (is_gimple_reg_type): Allow complex.
15387169689Skan	(is_gimple_reg): Allow complex with DECL_COMPLEX_GIMPLE_REG_P set.
15388169689Skan
15389169689Skan	* tree-complex.c (complex_lattice_t): New.
15390169689Skan	(complex_lattice_values, complex_variable_components): New.
15391169689Skan	(some_nonzerop, find_lattice_value, is_complex_reg,
15392169689Skan	init_parameter_lattice_values, init_dont_simulate_again,
15393169689Skan	complex_visit_stmt, complex_visit_phi, create_components,
15394169689Skan	update_complex_components, update_parameter_components,
15395169689Skan	update_phi_components, update_all_vops, expand_complex_move): New.
15396169689Skan	(extract_component): Handle INDIRECT_REF, COMPONENT_REF, ARRAY_REF,
15397169689Skan	SSA_NAME.
15398169689Skan	(update_complex_assignment): Use update_complex_components;
15399169689Skan	handle updates of return_expr properly.
15400169689Skan	(expand_complex_addition): Use complex lattice values.
15401169689Skan	(expand_complex_multiplication): Likewise.
15402169689Skan	(expand_complex_division): Likewise.
15403169689Skan	(expand_complex_libcall): Use update_complex_components.
15404169689Skan	(expand_complex_comparison): Use update_stmt.
15405169689Skan	(expand_complex_operations_1): Use expand_complex_move, retrieve
15406169689Skan	lattice values.
15407169689Skan	(tree_lower_complex): Compute lattice values.
15408169689Skan	(tree_lower_complex_O0): Duplicate from tree_lower_complex.
15409169689Skan	(pass_lower_complex_O0): Rename from pass_lower_complex.
15410169689Skan	(pass_lower_complex, gate_no_optimization): New.
15411169689Skan	* tree-optimize.c (init_tree_optimization_passes): Update for
15412169689Skan	complex pass changes.
15413169689Skan	* tree-pass.h (pass_lower_complex_O0): Declare.
15414169689Skan
15415169689Skan2005-06-08  Dale Johannesen  <dalej@apple.com>
15416169689Skan
15417169689Skan	* config/darwin.c (darwin_binds_local_p): New.
15418169689Skan	* config/darwin-protos.h (darwin_binds_local_p): Declare it.
15419169689Skan	* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Use it for TARGET_MACHO.
15420169689Skan	* config/rs6000/rs6000.c (rs6000_binds_local_p): Remove.
15421169689Skan	(TARGET_BINDS_LOCAL_P): Change it to darwin_binds_local_p.
15422169689Skan
15423169689Skan2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
15424169689Skan
15425169689Skan	* config/rs6000/rs6000.h: Remove rs6000_long_double_size_string,
15426169689Skan	rs6000_isel, rs6000_spe, rs6000_alignment_string,
15427169689Skan	rs6000_sched_restricted_insns_priority_str,
15428169689Skan	rs6000_sched_restricted_insns_priority, rs6000_abi_string.
15429169689Skan
15430169689Skan2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
15431169689Skan
15432169689Skan	* tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER
15433169689Skan	instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters.
15434169689Skan	* tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost,
15435169689Skan	multiplier_allowed_in_address_p, get_address_cost): Ditto.
15436169689Skan
15437169689Skan2005-06-08  Richard Henderson  <rth@redhat.com>
15438169689Skan
15439169689Skan	* config/ia64/ia64.h (NO_PROFILE_COUNTERS): New.
15440169689Skan	* config/ia64/ia64.c (ia64_output_function_profiler): Honor it.
15441169689Skan	Emit out3 load right after alloc.
15442169689Skan
15443169689Skan2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
15444169689Skan
15445169689Skan	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
15446169689Skan	rs6000_explicit_options.
15447169689Skan
15448169689Skan2005-06-08  Richard Henderson  <rth@redhat.com>
15449169689Skan
15450169689Skan	* config/ia64/ia64.h (FUNCTION_PROFILER): Move implementation ...
15451169689Skan	* config/ia64/ia64.c (ia64_output_function_profiler): ... here; add
15452169689Skan	unwind markup.
15453169689Skan	* config/ia64/ia64-protos.h (ia64_output_function_profiler): Declare.
15454169689Skan
15455169689Skan2005-06-08  Joseph S. Myers  <joseph@codesourcery.com>
15456169689Skan
15457169689Skan	* config/sol2-c.c (cmn_err_char_table): Allow width for %b
15458169689Skan	formats.
15459169689Skan
15460169689Skan2005-06-08  James A. Morrison  <phython@gcc.gnu.org>
15461169689Skan
15462169689Skan	PR target/20666
15463169689Skan	* config/sparc/sparc.c (sparc_fold_builtin): New function
15464169689Skan	(sparc_vis_mul8x16): New function.
15465169689Skan	(sparc_handle_vis_mul8x16): New function.
15466169689Skan	(TARGET_FOLD_BUILTIN): Define to sparc_fold_builtin.
15467169689Skan
15468169689Skan2005-06-08  David Edelsohn  <edelsohn@gnu.org>
15469169689Skan
15470169689Skan	* config/rs6000/rs6000.md (call_indirect_nonlocal_aix32): Prefer
15471169689Skan	CTR to LR.
15472169689Skan	(call_indirect_nonlocal_aix64): Same.
15473169689Skan	(call_value_indirect_nonlocal_aix32): Same.
15474169689Skan	(call_value_indirect_nonlocal_aix64): Same.
15475169689Skan
15476169689Skan	PR target/10588
15477169689Skan	(eq): Use CLZ splitter for compare with zero.
15478169689Skan
15479169689Skan2005-06-08  Bernd Schmidt  <bernd.schmidt@analog.com>
15480169689Skan
15481169689Skan	* config/bfin/bfin.c (bfin_return_in_memory): Simplify; return
15482169689Skan	everything larger than 8 bytes in memory.
15483169689Skan
15484169689Skan	* config/bfin/bfin.h (enum bfin_builtins): New.
15485169689Skan	* config/bfin/bfin.md (UNSPEC_VOLATILE_CSYNC, UNSPEC_VOLATILE_SSYNC):
15486169689Skan	New constants.
15487169689Skan	(csync, ssync): New insn patterns.
15488169689Skan	* config/bfin/bfin.c (bfin_init_builtins, bfin_expand_builtin):
15489169689Skan	New functions.
15490169689Skan	(def_builtin): New macro.
15491169689Skan	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
15492169689Skan
15493169689Skan	From Jie Zhang  <jie.zhang@analog.com>
15494169689Skan	* config/bfin/bfin.h (ASM_OUTPUT_ALIGN): Gas now emulates the
15495169689Skan	behavior of the native assembler in VDSP. So change accordingly.
15496169689Skan
15497169689Skan2005-06-08  Sebastian Pop  <pop@cri.ensmp.fr>
15498169689Skan
15499169689Skan	* tree-data-ref.c (compute_estimated_nb_iterations,
15500169689Skan	analyze_array_indexes, compute_overlap_steps_for_affine_1_2,
15501169689Skan	analyze_subscript_affine_affine, find_data_references_in_loop):
15502169689Skan	Fixed to use chrec_contains_undetermined to test the values of
15503169689Skan	loop->estimated_nb_iterations.
15504169689Skan	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
15505169689Skan	Compute the estimation only when loop->estimated_nb_iterations
15506169689Skan	has not yet been initialized.
15507169689Skan	(convert_step_widening, scev_probably_wraps_p): Add a call to
15508169689Skan	estimate_numbers_of_iterations_loop.
15509169689Skan	* tree-vrp.c (execute_vrp): Don't call estimate_numbers_of_iterations.
15510169689Skan
15511169689Skan2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
15512169689Skan
15513169689Skan	PR debug/21946
15514169689Skan	* dwarf2out.c (add_loc_descr_op_piece): Move to the
15515169689Skan	DWARF2_DEBUGGING_INFO section.
15516169689Skan
15517169689Skan2005-06-08  Richard Henderson  <rth@redhat.com>
15518169689Skan
15519169689Skan	PR target/21721
15520169689Skan	* config/ia64/ia64.c (emit_predicate_relation_info): Skip p0.
15521169689Skan
15522169689Skan2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
15523169689Skan
15524169689Skan	PR target/21889
15525169689Skan	* target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel.
15526169689Skan	* target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro.
15527169689Skan	(TARGET_ASM_OUT): Add it.
15528169689Skan	* doc/tm.texi (Debugging Info): Document it.
15529169689Skan	* dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>:
15530169689Skan	Test it instead of ASM_OUTPUT_DWARF_DTPREL.
15531169689Skan	(loc_descriptor_from_tree_1) <VAR_DECL>: Likewise.
15532169689Skan	* system.h: Poison ASM_OUTPUT_DWARF_DTPREL.
15533169689Skan	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete.
15534169689Skan	* config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused.
15535169689Skan	(gen_inlined_tls_plt): Remove unused variable MEM.
15536169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel.
15537169689Skan	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15538169689Skan	* config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete.
15539169689Skan	* config/i386/i386.c (i386_output_dwarf_dtprel): Make static and
15540169689Skan	unused.
15541169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel.
15542169689Skan	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15543169689Skan	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete.
15544169689Skan	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and
15545169689Skan	unused.
15546169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel.
15547169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15548169689Skan	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete.
15549169689Skan	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and
15550169689Skan	unused.
15551169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel
15552169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15553169689Skan	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete.
15554169689Skan	* config/s390/s390.c (s390_output_dwarf_dtprel): Make static and
15555169689Skan	unused.
15556169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel.
15557169689Skan	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15558169689Skan	* config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0.
15559169689Skan	(TARGET_GNU_TLS): Define to 1.
15560169689Skan	* config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete.
15561169689Skan	* config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and
15562169689Skan	unused.
15563169689Skan	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel
15564169689Skan	if TARGET_GNU_TLS only.
15565169689Skan	* config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
15566169689Skan
15567169689Skan	* config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last.
15568169689Skan	(sparc-*-solaris2*): Likewise on Solaris 7 and up.
15569169689Skan
15570169689Skan2005-06-07  Dale Johannesen  <dalej@apple.com>
15571169689Skan
15572169689Skan	* config/i386/i386.md (movqi_1): Fix case where source
15573169689Skan	is memory and destination EDI.
15574169689Skan
15575169689Skan2005-06-08  Kazu Hirata  <kazu@codesourcery.com>
15576169689Skan
15577169689Skan	* config/c4x/c4x.h (PREDICATE_CODES): Remove mem_operand.
15578169689Skan
15579169689Skan2005-06-07  Eric Christopher  <echristo@redhat.com>
15580169689Skan
15581169689Skan	* system.h: Poison EXTRA_CC_MODES.
15582169689Skan	* config/frv/frv.h (SELECT_CC_MODE): Rewrite comment.
15583169689Skan	* config/ia64/ia64.h (SELECT_CC_MODE): Ditto.
15584169689Skan	* doc/md.texi (Jump Patterns): Replace reference to
15585169689Skan	EXTRA_CC_MODES with machine-modes.def.
15586169689Skan	* doc/rtl.texi (Machine Modes): Ditto.
15587169689Skan
15588169689Skan2005-06-07  Richard Henderson  <rth@redhat.com>
15589169689Skan
15590169689Skan	* varasm.c (initialize_cold_section_name): Fix alloca buffer overflow.
15591169689Skan	(assemble_start_function): Fix strcmp confusion.
15592169689Skan
15593169689Skan2005-06-07  Uros Bizjak  <uros@kss-loka.si>
15594169689Skan
15595169689Skan	* config/i386/i386.h (enum ix86_entity): New.
15596169689Skan	(enum ix86_stack_slot): New.
15597169689Skan	(OPTIMIZE_MODE_SWITCHING): Redefine to use
15598169689Skan	ix86_optimize_mode_switching[] array.
15599169689Skan	(NUM_MODES_FOR_MODE_SWITCHING): Redefine for 4 entities.
15600169689Skan	(MODE_NEEDED): Use ix86_mode_needed() function.
15601169689Skan	(EMIT_MODE_SET): Redefine for changed emit_i387_cw_initialization ()
15602169689Skan	function.
15603169689Skan	(struct machine_function): Use optimize_mode_switching[] array.
15604169689Skan
15605169689Skan	* config/i386/i386.c (MAX_386_STACK_LOCALS): Remove.
15606169689Skan	(ix86_mode_needed): New function.
15607169689Skan	(emit_i387_cw_initialization): Cleanup. Use mode to calculate
15608169689Skan	correct stack positions for stored control words.
15609169689Skan	(assign_386_stack_local): Use enum ix86_stack_slot. Change assert.
15610169689Skan	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR]: Change constant to
15611169689Skan	SLOT_TEMP.
15612169689Skan	[IX86_BUILTIN_STMXCSR]: Same.
15613169689Skan
15614169689Skan	* config/i386/i386-protos.h (assign_stack_local): Change prototype.
15615169689Skan	(emit_i387_cw_initialization): Change prototype.
15616169689Skan	(ix86_mode_needed): New prototype.
15617169689Skan
15618169689Skan	* config/i386/i386.md (i387_cw attribute): Change order of elements.
15619169689Skan	(truncdfsf2, truncxfsf2, truncxfdf2, fix_trunc<mode>_fisttp_i387_1)
15620169689Skan	(*fix_trunc<mode>_i387_1, lrint<mode>2, *fist<mode>2_floor_1)
15621169689Skan	(*fist<mode>2_ceil_1): Change constant in call to
15622169689Skan	assign_386_stack_local to SLOT_TEMP.
15623169689Skan	(*fix_trunc<mode>_i387_1): Change constant in call to
15624169689Skan	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
15625169689Skan	Use new ix86_optimize_mode_switching[] array.
15626169689Skan	(frndintxf2_floor, *fist<mode>2_floor_1): Change constants in call to
15627169689Skan	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_FLOOR.
15628169689Skan	Use new ix86_optimize_mode_switching[] array.
15629169689Skan	(frndintxf2_ceil, *fist<mode>2_ceil_1): Change constants in call to
15630169689Skan	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_CEIL.
15631169689Skan	Use new ix86_optimize_mode_switching[] array.
15632169689Skan	(frndintxf2_trunc): Change constants in call to
15633169689Skan	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
15634169689Skan	Use new ix86_optimize_mode_switching[] array.
15635169689Skan	(frndintxf2_mask_pm): Change constants in call to
15636169689Skan	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_MASK_PM.
15637169689Skan	Use new ix86_optimize_mode_switching[] array.
15638169689Skan
15639169689Skan	(define_peephole2): Change constant from 17 to FLAGS_REG;
15640169689Skan
15641169689Skan2005-06-07  Richard Henderson  <rth@redhat.com>
15642169689Skan
15643169689Skan	PR rtl-opt/21528
15644169689Skan	* rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.
15645169689Skan
15646169689Skan2005-06-07  Dale Johannesen  <dalej@apple.com>
15647169689Skan
15648169689Skan	* tree-nested.c (finalize_nesting_tree_1): Disable
15649169689Skan	warn_padded around layout_type call.
15650169689Skan
15651169689Skan2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
15652169689Skan
15653169689Skan	* tree-ssa-loop-ivopts.c (rewrite_use_outer): Unshare the expression
15654169689Skan	before emiting it.
15655169689Skan
15656169689Skan2005-06-07  Eric Christopher  <echristo@redhat.com>
15657169689Skan
15658169689Skan	* config/mips/predicates.md: Revert previous patch.
15659169689Skan
15660169689Skan2005-06-07  Jakub Jelinek  <jakub@redhat.com>
15661169689Skan
15662169689Skan	PR middle-end/21850
15663169689Skan	* tree.c (get_unwidened): Stop at NOP_EXPR/CONVERT_EXPR that convert
15664169689Skan	from vector types.
15665169689Skan
15666169689Skan2005-06-07  Diego Novillo  <dnovillo@redhat.com>
15667169689Skan
15668169689Skan	* tree-ssa-threadupdate.c (struct thread_stats_d): Declare.
15669169689Skan	(thread_stats): New local variable.
15670169689Skan	(redirect_edges): Increment count of threaded edges.
15671169689Skan	(thread_through_all_blocks): Initialize thread_stats.
15672169689Skan	Display number of threaded jumps if TDF_STATS is enabled.
15673169689Skan
15674169689Skan2005-06-07  Kazu Hirata  <kazu@codesourcery.com>
15675169689Skan
15676169689Skan	* sbitmap.h (sbitmap_iter_init): Consistently treat bit_num as
15677169689Skan	the current bit index with no modulo.
15678169689Skan
15679169689Skan2005-06-07  Sebastian Pop  <pop@cri.ensmp.fr>
15680169689Skan
15681169689Skan	PR 18403 and meta PR 21861.
15682169689Skan	* Makefile.in (tree-chrec.o): Depend on CFGLOOP_H and TREE_FLOW_H.
15683169689Skan	* tree-chrec.c: Include cfgloop.h and tree-flow.h.
15684169689Skan	(evolution_function_is_invariant_rec_p,
15685169689Skan	evolution_function_is_invariant_p): New.
15686169689Skan	(chrec_convert): Use an extra parameter AT_STMT for refining the
15687169689Skan	information that is passed down to convert_step.  Integrate the
15688169689Skan	code that was in count_ev_in_wider_type.
15689169689Skan	* tree-chrec.h (count_ev_in_wider_type): Removed.
15690169689Skan	(chrec_convert): Modify its declaration.
15691169689Skan	(evolution_function_is_invariant_p): Declared.
15692169689Skan	(evolution_function_is_affine_p): Use evolution_function_is_invariant_p.
15693169689Skan	* tree-flow.h (can_count_iv_in_wider_type): Renamed convert_step.
15694169689Skan	(scev_probably_wraps_p): Declared.
15695169689Skan	* tree-scalar-evolution.c (count_ev_in_wider_type): Removed.
15696169689Skan	(follow_ssa_edge_in_rhs, interpret_rhs_modify_expr):
15697169689Skan	Use an extra parameter AT_STMT for refining the information that is
15698169689Skan	passed down to convert_step.
15699169689Skan	(follow_ssa_edge_inner_loop_phi, follow_ssa_edge,
15700169689Skan	analyze_scalar_evolution_1): Initialize AT_STMT with the current
15701169689Skan	analyzed statement.
15702169689Skan	(instantiate_parameters_1): Don't know yet how to initialize AT_STMT.
15703169689Skan	* tree-ssa-loop-ivopts.c (idx_find_step): Update the use of
15704169689Skan	can_count_iv_in_wider_type to use convert_step.
15705169689Skan	* tree-ssa-loop-niter.c (can_count_iv_in_wider_type_bound): Move
15706169689Skan	code that is independent of the loop over the known iteration
15707169689Skan	bounds to convert_step_widening, the rest is moved to
15708169689Skan	proved_non_wrapping_p.
15709169689Skan	(scev_probably_wraps_p): New.
15710169689Skan	(can_count_iv_in_wider_type): Renamed convert_step.
15711169689Skan	* tree-vrp.c (adjust_range_with_scev): Take an extra AT_STMT parameter.
15712169689Skan	Use scev_probably_wraps_p for computing init_is_max.
15713169689Skan	(vrp_visit_assignment): Pass the current analyzed statement to
15714169689Skan	adjust_range_with_scev.
15715169689Skan	(execute_vrp): Call estimate_numbers_of_iterations for refining the
15716169689Skan	information provided by scev analyzer.
15717169689Skan
15718169689Skan2005-06-07  Eric Christopher  <echristo@redhat.com>
15719169689Skan
15720169689Skan	* config/mips/predicates.md (sleu_operand): Use
15721169689Skan	IN_RANGE to specify range of operand.
15722169689Skan
15723169689Skan2005-06-07  Steven Bosscher  <stevenb@suse.de>
15724169689Skan
15725169689Skan	PR tree-optimization/21847
15726169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With
15727169689Skan	-fnon-call-exceptions, also mark statements inherently
15728169689Skan	necessary if they may throw.
15729169689Skan
15730169689Skan2005-06-07  Adrian Straetling  <straetling@de.ibm.com>
15731169689Skan
15732169689Skan	* config/s390/s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.
15733169689Skan	("type"): Add "sem" to 'type' attribute.
15734169689Skan	("memory_barrier", "*memory_barrier", "sync_compare_and_swapdi",
15735169689Skan	"sync_compare_and_swapsi", "sync_compare_and_swap_ccdi",
15736169689Skan	"sync_compare_and_swap_ccsi", "*sync_compare_and_swap_ccdi",
15737169689Skan	"*sync_compare_and_swap_ccsi"): New patterns.
15738169689Skan	* config/s390/2064.md: ("z_sem"): New insn_reservation.
15739169689Skan	* config/s390/2084.md: ("x_sem"): New insn_reservation.
15740169689Skan	* config/s390/s390.c: (s390_compare_emitted): New global variable.
15741169689Skan	(s390_emit_compare): Do not emit comparison again after cas.
15742169689Skan	* config/s390/s390.h (s390_compare_emitted): Declare.
15743169689Skan
15744169689Skan2005-06-07  Kazu Hirata  <kazu@codesourcery.com>
15745169689Skan
15746169689Skan	* sbitmap.h (sbitmap_iterator, sbitmap_iter_init,
15747169689Skan	sbitmap_iter_cond, sbitmap_iter_next): New.
15748169689Skan	* bt-load.c, cfganal.c, combine.c, ddg.c, flow.c,
15749169689Skan	modulo-sched.c, sbitmap.c, sched-rgn.c, tree-into-ssa.c,
15750169689Skan	tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Update
15751169689Skan	uses of EXECUTE_IF_SET_IN_SBITMAP to the new style.
15752169689Skan
15753169689Skan2005-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
15754169689Skan
15755169689Skan	* tree-ssa-address.c: New file.
15756169689Skan	* Makefile.in (tree-ssa-address.o): Add.
15757169689Skan	* expr.c (expand_expr_real_1): Do not handle REF_ORIGINAL on
15758169689Skan	INDIRECT_REFs.  Handle TARGET_MEM_REFs.
15759169689Skan	* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REFs.
15760169689Skan	* tree-flow.h (struct mem_address): New.
15761169689Skan	(struct affine_tree_combination): Moved from tree-ssa-loop-ivopts.c.
15762169689Skan	(create_mem_ref, addr_for_mem_ref, get_address_description,
15763169689Skan	maybe_fold_tmr, multiplier_allowed_in_address_p,
15764169689Skan	multiply_by_cost): Declare.
15765169689Skan	* tree-mudflap.c (mf_xform_derefs_1): Handle TARGET_MEM_REFs.
15766169689Skan	* tree-pretty-print.c (dump_generic_node): Ditto.
15767169689Skan	* tree-ssa-loop-im.c (for_each_index): Ditto.
15768169689Skan	* tree-ssa-loop-ivopts.c (may_be_unaligned_p,
15769169689Skan	find_interesting_uses_address): Ditto.
15770169689Skan	(rewrite_address_base, build_addr_strip_iref): Removed.
15771169689Skan	(struct affine_tree_combination): Moved to tree-flow.h.
15772169689Skan	(get_ref_tag, copy_ref_info): New functions.
15773169689Skan	(rewrite_use_address): Produce TARGET_MEM_REFs.
15774169689Skan	(tree_ssa_iv_optimize): Do not call update_ssa
15775169689Skan	and rewrite_into_loop_closed_ssa.
15776169689Skan	(tree_to_aff_combination): Use build_fold_addr_expr instead of
15777169689Skan	build_addr_strip_iref.
15778169689Skan	(unshare_aff_combination): New function.
15779169689Skan	(fold_affine_sum): Removed.
15780169689Skan	(get_computation_at): Use get_computation_aff.  Unshare the result.
15781169689Skan	(get_computation_aff, multiplier_allowed_in_address_p): New function.
15782169689Skan	(multiply_by_cost): Exported.
15783169689Skan	(get_address_cost): Use multiplier_allowed_in_address_p.
15784169689Skan	* tree-ssa-operands.c (get_tmr_operands): New function.
15785169689Skan	(get_expr_operands): Handle TARGET_MEM_REFs.
15786169689Skan	* tree.c (copy_node_stat): Copy annotations for TARGET_MEM_REFs.
15787169689Skan	(build): Handle 7 arguments.
15788169689Skan	(build7_stat): New function.
15789169689Skan	* tree.def (TARGET_MEM_DEF): New.
15790169689Skan	* tree.h (REF_ORIGINAL): Removed.
15791169689Skan	(TMR_SYMBOL, TMR_BASE, TMR_INDEX, TMR_STEP, TMR_OFFSET, TMR_ORIGINAL,
15792169689Skan	TMR_TAG, build7): New macros.
15793169689Skan	(build7_stat, tree_mem_ref_addr, copy_mem_ref_info): Declare.
15794169689Skan	* tree-ssa-ccp.c (fold_stmt_r): Call maybe_fold_tmr.
15795169689Skan	* doc/c-tree.texi: Document TARGET_MEM_REF.
15796169689Skan	* doc/tree-ssa.texi: Add TARGET_MEM_REF to gimple grammar.
15797169689Skan
15798169689Skan2005-06-07  Jakub Jelinek  <jakub@redhat.com>
15799169689Skan
15800169689Skan	PR debug/21946
15801169689Skan	* dwarf2out.c (add_loc_descr_op_piece): New function.
15802169689Skan	(multiple_reg_loc_descriptor, concat_loc_descriptor,
15803169689Skan	loc_descriptor): Use it.
15804169689Skan	* var-tracking.c: Include regs.h and expr.h.
15805169689Skan	(emit_note_insn_var_location): Skip over pieces where offset
15806169689Skan	is smaller than previous offset plus previous piece mode size.
15807169689Skan	Optimize adjacent hard registers or memory locations.
15808169689Skan	* Makefile.in (var-tracking.o): Depend on $(REGS_H) and $(EXPR_H).
15809169689Skan
15810169689Skan2005-06-07  Richard Guenther  <rguenth@gcc.gnu.org>
15811169689Skan
15812169689Skan	* c-typeck.c (c_finish_if_stmt): Use void_type_node as type
15813169689Skan	for COND_EXPR.
15814169689Skan	* gimplify.c (gimplify_cond_expr): No need to fix up the
15815169689Skan	type of COND_EXPRs.
15816169689Skan
15817169689Skan2005-06-07  Richard Guenther  <rguenth@gcc.gnu.org>
15818169689Skan
15819169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Fix
15820169689Skan	comments.
15821169689Skan
15822169689Skan2005-06-07  Geoffrey Keating  <geoffk@apple.com>
15823169689Skan
15824169689Skan	* config/rs6000/host-darwin.c (segv_handler): Widen the possible
15825169689Skan	'stwux' instructions that are considered to be stack decrements.
15826169689Skan
15827169689Skan	* rtlanal.c (subreg_offset_representable_p): Handle objects
15828169689Skan	with holes.
15829169689Skan
15830169689Skan2005-06-06  Uros Bizjak  <uros@kss-loka.si>
15831169689Skan
15832169689Skan	* mode-switching.c (optimize_mode_switching): Fix n_exprs parameter
15833169689Skan	in call to pre_edge_lcm.
15834169689Skan
15835169689Skan2005-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
15836169689Skan
15837169689Skan	* config/sh/linux-unwind.h (SH_DWARF_FRAME_XD0): Remove for SH5.
15838169689Skan	(SH_DWARF_FRAME_PR, SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACL)
15839169689Skan	(SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_PC, SH_DWARF_FRAME_FPUL):
15840169689Skan	Likewise.
15841169689Skan	(SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_FPSCR): Define to the correct
15842169689Skan	dwarf register number for SHmedia.
15843169689Skan	(shmedia_fallback_frame_state): New.
15844169689Skan	(MD_FALLBACK_FRAME_STATE_FOR): Define to it for SH5.
15845169689Skan
15846169689Skan	* config/sh/linux.h (FUNCTION_PROFILER): Provide SHMEDIA version.
15847169689Skan
15848169689Skan2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15849169689Skan
15850169689Skan	* c-lex.c (lex_string): Use XOBFINISH.
15851169689Skan	* collect2.c (extract_string, dump_file): Likewise.
15852169689Skan	* dbxout.c (dbxout_finish_complex_stabs): Likewise.
15853169689Skan	* gcc.c (init_spec, build_search_list, convert_filename,
15854169689Skan	set_collect_gcc_options, do_spec_2, do_spec_1, main): Likewise.
15855169689Skan	* genpreds.c (write_predicate_subfunction): Likewise.
15856169689Skan	* genflags.c (main): Likewise.
15857169689Skan	* read-rtl.c (mode_attr_index, apply_macro_to_string,
15858169689Skan	join_c_conditions, read_quoted_string, read_braced_string,
15859169689Skan	read_rtx_1): Likewise.
15860169689Skan	* stringpool.c (ggc_alloc_string): Likewise.
15861169689Skan	* tlink.c (obstack_fgets, recompile_files): Likewise.
15862169689Skan
15863169689Skan2005-06-06  Jakub Jelinek  <jakub@redhat.com>
15864169689Skan
15865169689Skan	* intl.h (G_): New macro.
15866169689Skan	* rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
15867169689Skan	instead of msgid for argument name.
15868169689Skan	* tree-ssa.c (warn_uninit): Likewise.
15869169689Skan	* c-parser.c (c_parser_error): Likewise.
15870169689Skan	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
15871169689Skan	* config/darwin-c.c (BAD): Likewise.
15872169689Skan	* config/c4x/c4x-c.c (BAD): Likewise.
15873169689Skan	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
15874169689Skan	* c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
15875169689Skan	* c-common.c (c_parse_error): Likewise.
15876169689Skan	* diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
15877169689Skan	warning0, pedwarn, error, sorry, fatal_error, internal_error):
15878169689Skan	Likewise.
15879169689Skan	(fnotice): Use cmsgid instead of msgid for argument name.
15880169689Skan	* gcov.c (fnotice): Likewise.
15881169689Skan	* protoize.c (notice): Likewise.
15882169689Skan	* final.c (output_operand_lossage): Likewise.
15883169689Skan	* gcc.c (fatal, notice): Likewise.
15884169689Skan	(error): Use gmsgid instead of msgid for argument name.
15885169689Skan	* collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
15886169689Skan	of msgid for argument name.
15887169689Skan	(error): Use gmsgid instead of msgid for argument name.
15888169689Skan	* c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
15889169689Skan	instead of N_().
15890169689Skan	* c-typeck.c (readonly_error, convert_for_assignment): Likewise.
15891169689Skan	* tree-inline.c (inline_forbidden_p_1): Likewise.
15892169689Skan	* ABOUT-GCC-NLS: Require gettext 0.14.5 or later.  Mention the new
15893169689Skan	conventions for marking translations.
15894169689Skan	* doc/install.texi: Mention gettext 0.14.5 or later requirement.
15895169689Skan
15896169689Skan	* tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
15897169689Skan	build2.
15898169689Skan
15899169689Skan	* fold-const.c (operand_equal_p): Don't return 1, if element
15900169689Skan	chains for 2 VECTOR_CSTs are not the same length.
15901169689Skan
15902169689Skan	PR regression/21897
15903169689Skan	* fold-const.c (fold_ternary) <case BIT_FIELD_REF>: Don't crash if
15904169689Skan	not all VECTOR_CST elements are given.
15905169689Skan
15906169689Skan	* combine.c (try_combine): Use hard_regno_nregs array instead of
15907169689Skan	HARD_REGNO_NREGS macro.
15908169689Skan	* config/rs6000/rs6000.c (rs6000_split_multireg_move,
15909169689Skan	rs6000_register_move_cost, rs6000_memory_move_cost): Likewise.
15910169689Skan	* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
15911169689Skan
15912169689Skan2005-06-06  Daniel Berlin  <dberlin@dberlin.org>
15913169689Skan
15914169689Skan	* tree-ssa-reassoc.o: New.
15915169689Skan	(OBJS-common): Add tree-ssa-reassoc.o
15916169689Skan	* timevar.def: Add TV_TREE_REASSOC
15917169689Skan	* tree-optimize.c (pass_reassoc): Add call.
15918169689Skan	* tree-pass.h (pass_reassoc): Add.
15919169689Skan	* tree-ssa-reassoc.c: New file.
15920169689Skan
15921169689Skan2005-06-06  Eric Christopher  <echristo@redhat.com>
15922169689Skan
15923169689Skan	target/21927
15924169689Skan	* expr.c (do_store_flag): Remove check for non-negative BRANCH_COST.
15925169689Skan
15926169689Skan2005-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15927169689Skan
15928169689Skan	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard with
15929169689Skan	HAVE_GAS_MAX_SKIP_P2ALIGN.
15930169689Skan	(HAVE_AS_DWARF2_DEBUG_LINE): Remove.
15931169689Skan
15932169689Skan2005-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15933169689Skan
15934169689Skan	* Makefile.in (mips-tfile.o): Add $(srcdir)/../include prefix to
15935169689Skan	getopt.h dependency.
15936169689Skan	(mips-tdump.o): Likewise.
15937169689Skan
15938169689Skan2005-06-06  Jan Hubicka  <jh@suse.cz>
15939169689Skan
15940169689Skan	* predict.c (tree_predict_edge): Don't drop useless predictions;
15941169689Skan	check that it is not called too late in the game.
15942169689Skan	(gate_estimate_probability): New gate.
15943169689Skan	(pass_profile): Gate.
15944169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Do not drop
15945169689Skan	predictions; update CFG instead.
15946169689Skan	* cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.
15947169689Skan
15948169689Skan2005-06-06  Jie Zhang  <jie.zhang@analog.com>
15949169689Skan
15950169689Skan	* config.gcc (bfin*-uclinux*): New.
15951169689Skan	* config/bfin/uclinux.h: New file.
15952169689Skan
15953169689Skan2005-06-06  Ben Elliston  <bje@au.ibm.com>
15954169689Skan
15955169689Skan	* doc/md.texi (Insn Splitting): Fix some wording.
15956169689Skan
15957169689Skan2005-06-05  David Edelsohn  <edelsohn@gnu.org>
15958169689Skan
15959169689Skan	* config/rs6000/rs6000.c (rs6000_emit_swdivsf): New function.
15960169689Skan	(rs6000_emit_swdivdf): New function.
15961169689Skan	* config/rs6000/rs6000.md (fres): New pattern.
15962169689Skan	(divsf3): Add approximation through rs6000_emit_swdivsf.
15963169689Skan	(fred): New pattern.
15964169689Skan	(divdf3): Add approximation through rs6000_emit_swdivdf.
15965169689Skan	* config/rs6000/rs6000-protos.h (rs6000_emit_swdivsf): Declare.
15966169689Skan	(rs6000_emit_swdivdf): Declare.
15967169689Skan	* config/rs6000/rs6000.opt (mswdiv): New option.
15968169689Skan	* doc/invoke.texi (RS/6000 and PowerPC Options): Document mswdiv.
15969169689Skan
15970169689Skan2005-06-05  Zdenek Dvorak  <dvorakz@suse.cz>
15971169689Skan
15972169689Skan	PR tree-optimization/21846
15973169689Skan	* tree-cfg.c (replace_uses_by): Update information stored at loops.
15974169689Skan	* tree-flow.h (substitute_in_loop_info): Declare.
15975169689Skan	* tree-scalar-evolution.c (initialize_scalar_evolutions_analyzer):
15976169689Skan	Ensure that chrec_dont_know and chrec_known have a type.
15977169689Skan	* tree-ssa-loop-niter.c (substitute_in_loop_info): New function.
15978169689Skan
15979169689Skan2005-06-05  Steven Bosscher  <stevenb@suse.de>
15980169689Skan
15981169689Skan	* config/i386/i386.c (x86_use_loop): Remove.
15982169689Skan	* config/i386/i386.h (x86_use_loop): Remove extern decl.
15983169689Skan	(TARGET_USE_LOOP): Remove.
15984169689Skan	* config/i386/i386.md (doloop_end, doloop_end_internal): Remove.
15985169689Skan	Also remove related define_splits.
15986169689Skan
15987169689Skan2005-06-05  Dorit Nuzman  <dorit@il.ibm.com>
15988169689Skan
15989169689Skan	* tree-flow.h (stmt_ann_d): Move aux to ...
15990169689Skan	(tree_ann_common_d): ... here.
15991169689Skan	* tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
15992169689Skan	move_computations_stmt, schedule_sm): Update references to
15993169689Skan	aux.
15994169689Skan	* tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
15995169689Skan	* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
15996169689Skan	call to set_stmt_info.
15997169689Skan	(vect_transform_loop): Likewise.
15998169689Skan	* tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info):
15999169689Skan	Likewise.
16000169689Skan
16001169689Skan	* tree-vect-analyze.c (vect_analyze_scalar_cycles): Made void instead of
16002169689Skan	bool.
16003169689Skan	(vect_mark_relevant): Takes two additional arguments - live_p and
16004169689Skan	relevant_p. Set RELEVANT_P and LIVE_P according to these arguments.
16005169689Skan	(vect_stmt_relevant_p): Differentiate between a live stmt and a
16006169689Skan	relevant stmt. Return two values = live_p and relevant_p.
16007169689Skan	(vect_mark_stmts_to_be_vectorized): Call vect_mark_relevant and
16008169689Skan	vect_stmt_relevant_p with additional arguments. Phis are no longer
16009169689Skan	put into the worklist (analyzed seperately in analyze_scalar_cycles).
16010169689Skan	(vect_determine_vectorization_factor): Also check for LIVE_P, because a
16011169689Skan	stmt that is marked as irrelevant and live, cause it's only used out
16012169689Skan	side the loop, may need to be vectorized (e.g. reduction).
16013169689Skan	(vect_analyze_operations): Examine phis. Call
16014169689Skan	vectorizable_live_operation for for LIVE_P stmts. Check if
16015169689Skan	need_to_vectorize.
16016169689Skan	(vect_analyze_scalar_cycles): Update documentation. Don't fail
16017169689Skan	vectorization - just classify the scalar cycles created by the loop
16018169689Skan	phis. Call vect_is_simple_reduction.
16019169689Skan	(vect_analyze_loop): Call to analyze_scalar_cycles moved earlier.
16020169689Skan	* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
16021169689Skan	call to set_stmt_info.
16022169689Skan	(vect_get_vec_def_for_operand): Code reorganized - the code that
16023169689Skan	classifies the type of use was factored out to vect_is_simple_use.
16024169689Skan	(vectorizable_store, vect_is_simple_cond): Call vect_is_simple_use with
16025169689Skan	additional arguments.
16026169689Skan	(vectorizable_assignment): Likewise. Also make sure the stmt is relevant
16027169689Skan	and computes a loop_vec_def.
16028169689Skan	(vectorizable_operation, vectorizable_load, vectorizable_condition):
16029169689Skan	Likewise.
16030169689Skan	(vectorizable_live_operation): New.
16031169689Skan	(vect_transform_stmt): Handle LIVE_P stmts.
16032169689Skan	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new fields
16033169689Skan	STMT_VINFO_LIVE_P and STMT_VINFO_DEF_TYPE.
16034169689Skan	(new_loop_vec_info, destroy_loop_vec_info): Also handle phis.
16035169689Skan	(vect_is_simple_use): Determine the type of the def and return it
16036169689Skan	in a new function argument. Consider vect_reduction_def and
16037169689Skan	vect_induction_def, but for now these are not supported.
16038169689Skan	(vect_is_simple_reduction): New. Empty for now.
16039169689Skan	* tree-vectorizer.h (vect_def_type): New enum type.
16040169689Skan	(_stmt_vec_info): Added new fields - live and _stmt_vec_info.
16041169689Skan	(STMT_VINFO_LIVE_P, STMT_VINFO_DEF_TYPE): New accessor macros.
16042169689Skan	(vect_is_simple_use): New arguments added to function declaration.
16043169689Skan	(vect_is_simple_reduction): New function declaration.
16044169689Skan	(vectorizable_live_operation): New function declaration.
16045169689Skan
16046169689Skan	* tree-vect-analyze.c (vect_can_advance_ivs_p): Add debug printout.
16047169689Skan	(vect_can_advance_ivs_p): Likewise.
16048169689Skan	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Likewise.
16049169689Skan
16050169689Skan2005-06-05  Eric Christopher  <echristo@redhat.com>
16051169689Skan
16052169689Skan	* config/mips/mips.c (mips_rtx_costs): Remove unused variable.
16053169689Skan
16054169689Skan2005-06-05  Hans-Peter Nilsson  <hp@bitrange.com>
16055169689Skan
16056169689Skan	PR target/21914
16057169689Skan	* config/mmix/mmix.md ("*movdicc_real_foldable")
16058169689Skan	("*movdfcc_real_foldable", "*bCC_foldable")
16059169689Skan	("*bCC_inverted_foldable"): Specify DImode for register being
16060169689Skan	compared.
16061169689Skan
16062169689Skan2005-06-04  Roger Sayle  <roger@eyesopen.com>
16063169689Skan
16064169689Skan	* reg-stack.c (struct block_info_def): Correct grammar typo.
16065169689Skan	(compensate_edge): Clean-up.  Perform as little work as possible
16066169689Skan	when src and dest stacks match.  Avoid modifying block_info.
16067169689Skan	Reorder and simplify assertion checks.  Avoid unnecessary copying
16068169689Skan	of regstack structure.
16069169689Skan	(convert_regs_1): Set the done flag here...
16070169689Skan	(convert_regs_2): ... instead of here.
16071169689Skan
16072169689Skan2005-06-04  Dale Johannesen  <dalej@apple.com>
16073169689Skan
16074169689Skan	* config/rs6000/rs6000.c (no_global_regs_above): New.
16075169689Skan	(rs6000_emit_prologue): Use it; cosmetic formatting fixes.
16076169689Skan	(rs6000_emit_epilogue): Use it; cosmetic formatting fixes.
16077169689Skan	(rs6000_conditional_register_usage): Don't put Darwin PIC
16078169689Skan	register in global_regs.
16079169689Skan	(rs6000_stack_info): Don't set lr_save_p just because Darwin
16080169689Skan	PIC reg used.
16081169689Skan	(rs6000_emit_prologue): Save LR in R0 around Darwin PIC setup,
16082169689Skan	if not done by lr_save_p.
16083169689Skan	* config/rs6000/rs6000.md (insnv1_internal1): Back out 05-18 patch.
16084169689Skan	Use rotate instead of ashift.
16085169689Skan	(call_indirect_nonlocal_sysv): Prefer CTR to LR.
16086169689Skan	(call_value_indirect_nonlocal_sysv): Ditto.
16087169689Skan
16088169689Skan2005-06-04  Jan Hubicka  <jh@suse.cz>
16089169689Skan
16090169689Skan	* cgraphunit.c (cgraph_reset_node): Break out from ...
16091169689Skan	(cgraph_finalize_function): ... here.
16092169689Skan	(cgraph_finalize_compilation_unit): Reset nodes where backend
16093169689Skan	removed the body.
16094169689Skan
16095169689Skan2005-06-04  Richard Henderson  <rth@redhat.com>
16096169689Skan
16097169689Skan	PR target/21888
16098169689Skan	* config/alpha/alpha.c (alpha_align_insns): Don't insert nops
16099169689Skan	until we've passed initial ldgp.
16100169689Skan
16101169689Skan2005-06-04  Daniel Berlin  <dberlin@dberlin.org>
16102169689Skan
16103169689Skan	* cfgexpand.c (expand_one_var): Use DECL_HAS_VALUE_EXPR_P.
16104169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Ditto.
16105169689Skan	* expr.c (expand_var): Ditto.
16106169689Skan	* function.c (gimplify_parameters): Use SET_DECL_VALUE_EXPR too.
16107169689Skan	* gimplify.c (gimplify_decl_expr): Ditto.
16108169689Skan	(gimplify_expr): Ditto.
16109169689Skan	* tree-mudflap.c (mf_decl_eligible_p): Use DECL_HAS_VALUE_EXPR_P.
16110169689Skan	* tree.c (value_expr_for_decl): New.
16111169689Skan	(print_value_expr_statistics): New.
16112169689Skan	(init_ttree): Init value_expr_for_decl.
16113169689Skan	(decl_value_expr_lookup): New.
16114169689Skan	(decl_value_expr_insert): Ditto.
16115169689Skan	(copy_node_stat): Copy DECL_VALUE_EXPR status.
16116169689Skan	* tree.h (DECL_VALUE_EXPR): Use hashtable.
16117169689Skan	(SET_DECL_VALUE_EXPR): New.
16118169689Skan	(DECL_HAS_VALUE_EXPR_P): New.
16119169689Skan
16120169689Skan2005-06-04  Steven Bosscher  <stevenb@suse.de>
16121169689Skan
16122169689Skan	* lcm.c: Move all mode-switching related functions from here...
16123169689Skan	* mode-switching.c: ...to this new file.
16124169689Skan	* doc/passes.texi: Update accordingly.
16125169689Skan
16126169689Skan	* basic-block.h (label_value_list): Remove extern decl.
16127169689Skan	* cfgrtl.c (label_value_list): Remove.
16128169689Skan	(can_delete_label_p): Don't look at it.
16129169689Skan	* cfgcleanup.c (cleanup_cfg): Don't free it.
16130169689Skan
16131169689Skan	* common.opt: Don't refer to non-existing flag_alias_check.
16132169689Skan
16133169689Skan2005-06-04  David Edelsohn  <edelsohn@gnu.org>
16134169689Skan
16135169689Skan	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
16136169689Skan
16137169689Skan2005-06-04  Kazu Hirata  <kazu@codesourcery.com>
16138169689Skan
16139169689Skan	* function.c (prologue, epilogue, sibcall_epilogue): Change
16140169689Skan	their types to VEC(int,heap)*.
16141169689Skan	(free_after_compilation): Free the three vectors above.
16142169689Skan	(init_function_for_compilation, record_insns, contains,
16143169689Skan	prologue_epilogue_contains, sibcall_epilogue_contains,
16144169689Skan	reposition_prologue_and_epilogue_notes): Use VEC instead of
16145169689Skan	VARRAY.  (init_function_once): Remove.
16146169689Skan	* function.h: Remove the prototype for init_function_once.
16147169689Skan	* toplev.c (backend_init): Don't call init_function_once.
16148169689Skan
16149169689Skan2005-06-04  Jan Hubicka  <jh@suse.cz>
16150169689Skan
16151169689Skan	* predict.c (tree_predict_edge): Do not predict entry edge and
16152169689Skan	single succestor edge.
16153169689Skan
16154169689Skan2005-06-04  Joseph S. Myers  <joseph@codesourcery.com>
16155169689Skan
16156169689Skan	PR c/21873
16157169689Skan	* c-typeck.c (push_init_level): Don't pop levels without braces if
16158169689Skan	implicit == 1.
16159169689Skan
16160169689Skan2005-06-03  Sebastian Pop  <pop@cri.ensmp.fr>
16161169689Skan
16162169689Skan	* tree-data-ref.c (compute_self_dependence): New function.
16163169689Skan	(compute_all_dependences): Use it.
16164169689Skan
16165169689Skan2005-06-03  Geoffrey Keating  <geoffk@apple.com>
16166169689Skan
16167169689Skan	* c-parser.c (c_parser_parms_declarator): Don't use chainon().
16168169689Skan	(c_parser_expr_list): Don't use chainon().
16169169689Skan
16170169689Skan	* config/darwin.h (LINK_SPEC): Pass -syslibroot to linker
16171169689Skan	when -isysroot passed.
16172169689Skan
16173169689Skan2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
16174169689Skan
16175169689Skan	PR c/21879
16176169689Skan	* c-decl.c (start_function): Restore label_context_stack_se and
16177169689Skan	label_context_stack_vm  if returning with an error.
16178169689Skan
16179169689Skan2005-06-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16180169689Skan
16181169689Skan	* configure.ac: Check declaration for asprintf, needed by
16182169689Skan	libiberty.h.
16183169689Skan	* configure: Regenerate.
16184169689Skan	* config.in: Likewise.
16185169689Skan
16186169689Skan2005-06-03  Diego Novillo  <dnovillo@redhat.com>
16187169689Skan
16188169689Skan	* tree-ssa-dom.c (record_edge_info): Use last_basic_block to
16189169689Skan	allocate info array.
16190169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Set resulting
16191169689Skan	range to varying in cast expressions that change
16192169689Skan	TYPE_PRECISION.
16193169689Skan
16194169689Skan2005-06-03  Eric Christopher  <echristo@redhat.com>
16195169689Skan
16196169689Skan	* config/mips/mips.opt: Add RejectNegative to divide-breaks and
16197169689Skan	divide-traps.
16198169689Skan
16199169689Skan2005-06-03  Jan Hubicka  <jh@suse.cz>
16200169689Skan
16201169689Skan	* basic-block.h (remove_predictions_associated_with_edge): Declare.
16202169689Skan	* cfg.c (remove_edge): Use it.
16203169689Skan	* predict.c (remove_predictions_associated_with_edge): New function.
16204169689Skan
16205169689Skan2005-06-03  Pat Haugen  <pthaugen@us.ibm.com>
16206169689Skan
16207169689Skan	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
16208169689Skan	Clear call_realy_used_regs[r2] when ABI_AIX.
16209169689Skan
16210169689Skan2005-06-03  Richard Guenther  <rguenth@gcc.gnu.org>
16211169689Skan
16212169689Skan	PR middle-end/21858
16213169689Skan	* fold-const.c (fold_binary): Fix type mismatches in folding
16214169689Skan	of comparisons.
16215169689Skan
16216169689Skan2005-06-03  Kazu Hirata  <kazu@codesourcery.com>
16217169689Skan
16218169689Skan	* cgraph.c, cgraphunit.c, config/mips/mips.c: Fix comment
16219169689Skan	typos.
16220169689Skan
16221169689Skan2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
16222169689Skan
16223169689Skan	* collect2.c (maybe_unlink): Use unlink_if_ordinary.
16224169689Skan
16225169689Skan2005-06-02  Bernd Schmidt  <bernd.schmidt@analog.com>
16226169689Skan
16227169689Skan	* reload1.c (reload): Revert my previous patch.
16228169689Skan
16229169689Skan2005-06-03  Nick Clifton  <nickc@redhat.com>
16230169689Skan
16231169689Skan	* config/arm/semi.h (ASM_SPEC): Fix typo passing -mfloat-abi to
16232169689Skan	assembler.
16233169689Skan
16234169689Skan2005-06-03  Kazu Hirata  <kazu@codesourcery.com>
16235169689Skan
16236169689Skan	PR tree-optimization/21849
16237169689Skan	* tree-ssa-copy.c (dump_copy_of): Call sbitmap_zero.
16238169689Skan
16239169689Skan2005-06-02  Richard Henderson  <rth@redhat.com>
16240169689Skan
16241169689Skan	* Makefile.in (tree-vect-generic.o): New.
16242169689Skan	(OBJS-common, GTFILES, s-gtype): Add it.
16243169689Skan	* tree-complex.c (build_replicated_const, vector_inner_type,
16244169689Skan	vector_last_type, vector_last_nunits, build_word_mode_vector_type,
16245169689Skan	elem_op_func, tree_vec_extract, do_unop, do_binop, do_plus_minus,
16246169689Skan	do_negate, expand_vector_piecewise, expand_vector_parallel,
16247169689Skan	expand_vector_addition, expand_vector_operation,
16248169689Skan	type_for_widest_vector_mode, expand_vector_operations_1,
16249169689Skan	gate_expand_vector_operations, expand_vector_operations,
16250169689Skan	pass_lower_vector_ssa): Move to tree-vect-generic.c.
16251169689Skan	(tree_lower_complex): Rename from tree_lower_operations.
16252169689Skan	(pass_lower_complex): Rename from pass_pre_expand.
16253169689Skan	* tree-vect-generic.c: New file.
16254169689Skan	* tree-pass.h (pass_lower_complex): Rename from pass_pre_expand.
16255169689Skan	(pass_lower_vector): New.
16256169689Skan	* tree-optimize.c (init_tree_optimization_passes): Update to match.
16257169689Skan
16258169689Skan2005-06-02  Richard Henderson  <rth@redhat.com>
16259169689Skan
16260169689Skan	* modulo-sched.c (doloop_register_get): Protect against
16261169689Skan	doloop_end not defined.
16262169689Skan
16263169689Skan2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
16264169689Skan
16265169689Skan	* config/sh/sh.c (general_movsrc_operand,
16266169689Skan	general_movdst_operand, arith_reg_operand, arith_reg_dest,
16267169689Skan	logical_reg_operand, int_gpr_dest, fp_arith_reg_operand,
16268169689Skan	fp_arith_reg_dest, arith_operand, arith_reg_or_0_operand,
16269169689Skan	xor_operand, cmp_operand, logical_operand, and_operand,
16270169689Skan	fpscr_operand, fpul_operand, symbol_ref_operand,
16271169689Skan	commutative_float_operator, noncommutative_float_operator,
16272169689Skan	unary_float_operator, binary_float_operator,
16273169689Skan	binary_logical_operator, equality_comparison_operator,
16274169689Skan	greater_comparison_operator, less_comparison_operator,
16275169689Skan	shift_operator, logical_operator, target_reg_operand,
16276169689Skan	target_operand, mextr_bit_offset, extend_reg_operand,
16277169689Skan	trunc_hi_operand, extend_reg_or_0_operand, minuend_operand,
16278169689Skan	general_extend_operand, ua_address_operand,
16279169689Skan	cache_address_operand, inqhi_operand, sh_rep_vec, sh_1el_vec,
16280169689Skan	sh_const_vec, ua_offset, sh_register_operand, cmpsi_operand,
16281169689Skan	shift_count_reg_operand, shift_count_operand,
16282169689Skan	unaligned_load_operand): Move to ...
16283169689Skan	* config/sh/predicates.md: ... here.
16284169689Skan	* config/sh/sh.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
16285169689Skan	Remove.
16286169689Skan
16287169689Skan2005-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
16288169689Skan
16289169689Skan	* tree.c (build_common_builtin_nodes): Fix the return type on
16290169689Skan	__builtin_memcmp.
16291169689Skan
16292169689Skan2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
16293169689Skan
16294169689Skan	* tree-ssa-loop-ivopts.c (build_addr_strip_iref): Remove.
16295169689Skan	(find_interesting_uses_address): Use build_fold_addr_expr instead.
16296169689Skan	(strip_offset_1): Likewise.
16297169689Skan	(tree_to_aff_combination): Likewise.
16298169689Skan
16299169689Skan2005-06-02  DJ Delorie  <dj@redhat.com>
16300169689Skan
16301169689Skan	* convert.c (convert_to_pointer): Avoid recursion if no conversion
16302169689Skan	is needed.
16303169689Skan
16304169689Skan2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
16305169689Skan
16306169689Skan	* tree-chrec.c (chrec_fold_plus_1): Ensure we build
16307169689Skan	binary operations with the correct types.
16308169689Skan	* tree-ssa-loo-ivopts.c (idx_find_step): Use sizetype
16309169689Skan	for all computation.
16310169689Skan
16311169689Skan2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
16312169689Skan
16313169689Skan	* tree-vrp.c, config/arm/arm.md, config/arm/arm1020e.md,
16314169689Skan	config/rs6000/rs6000.md: Fix comment typos.  Follow splling
16315169689Skan	conventions.
16316169689Skan	* doc/install.texi: Fix a typo.
16317169689Skan
16318169689Skan2005-06-02  Jan Hubicka  <jh@suse.cz>
16319169689Skan
16320169689Skan	* cgraphunit.c (cgraph_function_and_variable_visibility): Extern
16321169689Skan	inline functions are not local.
16322169689Skan
16323169689Skan2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
16324169689Skan
16325169689Skan	* gimplify.c (gimplify_ctx): Change the type of case_labels to
16326169689Skan	VEC from VARRAY.
16327169689Skan	(gimplify_switch_expr, gimplify_case_label_expr): Adjust uses
16328169689Skan	of case_labels.
16329169689Skan
16330169689Skan2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
16331169689Skan
16332169689Skan	* c-typeck.c (build_indirect_ref): Build INDIRECT_REF
16333169689Skan	with correct type.
16334169689Skan
16335169689Skan2005-06-02  Ulrich Weigand  <uweigand@de.ibm.com>
16336169689Skan
16337169689Skan	* config/s390/s390.c (s390_add_execute): Do not handle out-of-pool
16338169689Skan	execute templates.
16339169689Skan	(s390_dump_pool): Likewise.
16340169689Skan	(s390_mainpool_start, s390_mainpool_finish): Likewise.
16341169689Skan	(s390_chunkify_start): Likewise.
16342169689Skan	(s390_dump_execute): Remove.
16343169689Skan	(s390_reorg): Handle out-of-pool execute templates.
16344169689Skan
16345169689Skan2005-06-02  Adrian Straetling  <straetling@de.ibm.com>
16346169689Skan
16347169689Skan	* optabs.c: (expand_bool_compare_and_swap): Emit barrier after
16348169689Skan	  unconditional jump.
16349169689Skan
16350169689Skan2005-06-02  Jan Hubicka  <jh@suse.cz>
16351169689Skan
16352169689Skan	* cgraph.c (cgraph_node): Maintain master clones.
16353169689Skan	(cgraph_remove_node): Likewise.
16354169689Skan	(availability_names): New static variable.
16355169689Skan	(dump_cgraph_node): Dump availability.
16356169689Skan	(dump_cgraph_varpool_node): Likewise.
16357169689Skan	(cgraph_is_master_clone, cgraph_master_clone,
16358169689Skan	cgraph_function_body_availability,
16359169689Skan	cgraph_variable_initializer_availability): New functions.
16360169689Skan	* cgraph.h (availability): New enum.
16361169689Skan	(struct cgraph_node): Add master_clone.
16362169689Skan	(cgraph_is_master_clone, cgraph_master_clone,
16363169689Skan	cgraph_function_body_availability,
16364169689Skan	cgraph_variable_initializer_availability): Declare.
16365169689Skan	* cgraphunit.c (cgraph_expand_function): Setcgraph_function_flags_ready.
16366169689Skan	(cgraph_remove_unreachable_nodes): Remove unreachable nodes.
16367169689Skan	* ipa-inline.c (cgraph_decide_inlining): Do not call
16368169689Skan	cgraph_remove_unreachable_nodes.
16369169689Skan
16370169689Skan	* cgraphunit.c (cgraph_function_and_variable_visibility): Fix typo in
16371169689Skan	previous patch.
16372169689Skan
16373169689Skan2005-06-02  Diego Novillo  <dnovillo@redhat.com>
16374169689Skan
16375169689Skan	PR 21582
16376169689Skan	* tree-vrp.c (nonnull_arg_p): New.
16377169689Skan	(get_value_range): Call it.
16378169689Skan
16379169689Skan2005-06-02  Eric Christopher  <echristo@redhat.com>
16380169689Skan
16381169689Skan	* config/mips/mips.h (processor_type): Remove PROCESSOR_DEFAULT,
16382169689Skan	add PROCESSOR_MAX.
16383169689Skan	(mips_rtx_cost_data): New datatype.
16384169689Skan	(MEMORY_MOVE_COST): Use data from structure.
16385169689Skan	(BRANCH_COST): Ditto.
16386169689Skan	(LOGICAL_OP_NON_SHORT_CIRCUIT): Define to zero.
16387169689Skan	* config/mips/mips.md (cpu): Rework for processor_type changes.
16388169689Skan	* config/mips/mips.c (mips_cost): New variable.
16389169689Skan	(DEFAULT_COSTS): Define.
16390169689Skan	(mips_rtx_cost_data): New.
16391169689Skan	(mips_rtx_costs): Use. Minor formatting changes. Use COSTS_N_INSNS
16392169689Skan	for NEG cost. Add support for FLOAT, UNSIGNED_FLOAT, FIX,
16393169689Skan	FLOAT_EXTEND, FLOAT_TRUNCATE, and SQRT.
16394169689Skan	(override_options): Set cost data.
16395169689Skan	(mips_register_move_cost): Formatting changes.
16396169689Skan	(bdesc_arrays): Use PROCESSOR_MAX.
16397169689Skan	(mips_init_builtins): Ditto.
16398169689Skan
16399169689Skan2005-06-02  Diego Novillo  <dnovillo@redhat.com>
16400169689Skan
16401169689Skan	PR 21765
16402169689Skan	* doc/invoke.texi: Document -ftree-vrp.
16403169689Skan
16404169689Skan2005-06-02  Dorit Nuzman  <dorit@il.ibm.com>
16405169689Skan
16406169689Skan	PR tree-optimization/21734
16407169689Skan	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop): Use the
16408169689Skan	phi_result when current_def is not available.
16409169689Skan	(slpeel_update_phi_nodes_for_guard1): Don't fail if current_def is not
16410169689Skan	available.
16411169689Skan
16412169689Skan2005-06-02  David Edelsohn  <edelsohn@gnu.org>
16413169689Skan
16414169689Skan	* config/rs6000/rs6000.c (rs6000_insn_valid_within_doloop): New.
16415169689Skan	(TARGET_INSN_VALID_WITHIN_DOLOOP): Define.
16416169689Skan
16417169689Skan2005-06-02  Diego Novillo  <dnovillo@redhat.com>
16418169689Skan
16419169689Skan	* tree-vrp.c (has_assert_expr, maybe_add_assert_expr): Remove.
16420169689Skan
16421169689Skan2005-06-02  Jan Hubicka  <jh@suse.cz>
16422169689Skan
16423169689Skan	* cgraph.c (dump_cgraph_node): Print new flags.
16424169689Skan	(dump_cgraph_varpool_node): Likewise.
16425169689Skan	(decide_variable_is_needed): Initialize externally_visible flag.
16426169689Skan	* cgraph.h (cgraph_local_info): Add externally_visible flag.
16427169689Skan	(cgraph_varpool_node): Likewise.
16428169689Skan	(cgraph_function_flags_ready): Declare.
16429169689Skan	* cgraph.c (cgraph_mark_local_functions): Rename to ...
16430169689Skan	(cgraph_function_and_variable_visibility) ... this one; handle
16431169689Skan	externally_visible flags.
16432169689Skan	(decide_is_function_needed): Set externally_visible flag.
16433169689Skan	(cgraph_finalize_function): Deal properly with early cleanups.
16434169689Skan	(cgraph_optimize): Update call of
16435169689Skan	cgraph_function_and_variable_visibility.
16436169689Skan
16437169689Skan2005-06-02 Steven Bosscher  <stevenb@suse.de>
16438169689Skan	   Mostafa Hagog <mustafa@il.ibm.com>
16439169689Skan
16440169689Skan	* cfgloop.h (doloop_condition_get): Make external.
16441169689Skan	* loop-doloop.c (doloop_condition_get): Generalize to make it
16442169689Skan	usable in modulo-sched.c.
16443169689Skan	* modulo-sched.c (doloop_register_get): Use
16444169689Skan	doloop_condition_get instead of duplicating it.
16445169689Skan
16446169689Skan2005-06-02  Bernd Schmidt  <bernd.schmidt@analog.com>
16447169689Skan
16448169689Skan	* reload1.c (reload): Undo 2005-04-20 change.  Make sure we detect
16449169689Skan	the correct set of init_insns that need deletion.
16450169689Skan	* local-alloc.c (update_equiv_regs): When substituting sole definition
16451169689Skan	into sole use of a reg, delete it from liveness information.
16452169689Skan
16453169689Skan2005-06-02  Kaz Kojima  <kkojima@gcc.gnu.org>
16454169689Skan
16455169689Skan	* config/sh/sh.h (TARGET_FPU_DOUBLE): Use MASK_SH4.
16456169689Skan
16457169689Skan2005-06-01  Diego Novillo  <dnovillo@redhat.com>
16458169689Skan
16459169689Skan	PR 14341, PR 21332, PR 20701, PR 21029, PR 21086, PR 21090
16460169689Skan	PR 21289, PR 21348, PR 21367, PR 21368, PR 21458.
16461169689Skan	* fold-const.c (invert_tree_comparison): Make extern.
16462169689Skan	* tree-flow.h (enum value_range_type): Move to tree-ssa-propagate.
16463169689Skan	(struct value_range_def): Limewise.
16464169689Skan	(get_value_range): Remove.
16465169689Skan	(dump_value_range): Remove.
16466169689Skan	(dump_all_value_ranges): Remove.
16467169689Skan	(debug_all_value_ranges): Remove.
16468169689Skan	(vrp_evaluate_conditional): Declare.
16469169689Skan	* tree-ssa-propagate.c (struct prop_stats_d): Add field
16470169689Skan	num_pred_folded.
16471169689Skan	(substitute_and_fold): Add argument use_ranges_p.
16472169689Skan	Update all callers.
16473169689Skan	If use_ranges_p is true, call fold_predicate_in to fold
16474169689Skan	predicates using range information.
16475169689Skan	Ignore ASSERT_EXPRs.
16476169689Skan	Change debugging output to only show statements that have been
16477169689Skan	folded.
16478169689Skan	(replace_phi_args_in): Move debugging output code from
16479169689Skan	substitute and fold.
16480169689Skan	(fold_predicate_in): New local function.
16481169689Skan	* tree-ssa-propagate.h (enum value_range_type): Move from
16482169689Skan	tree-flow.h.
16483169689Skan	(struct value_range_d): Likewise.
16484169689Skan	Add field 'equiv'.
16485169689Skan	(value_range_t): Rename from value_range.
16486169689Skan	* tree-vrp.c (found_in_subgraph): Rename from found.
16487169689Skan	(get_opposite_operand): Remove.
16488169689Skan	(struct assert_locus_d): Declare.
16489169689Skan	(assert_locus_t): Declare.
16490169689Skan	(need_assert_for): Declare.
16491169689Skan	(asserts_for): Declare.
16492169689Skan	(blocks_visited): Declare.
16493169689Skan	(vr_value): Declare.
16494169689Skan	(set_value_range): Add argument 'equiv'.
16495169689Skan	Don't drop to VARYING ranges that cover all values in the
16496169689Skan	type.
16497169689Skan	Make deep copy of equivalence set 'equiv'.
16498169689Skan	(copy_value_range): New local function.
16499169689Skan	(set_value_range_to_undefined): New local function.
16500169689Skan	(compare_values): Return -2 if either value has overflowed.
16501169689Skan	(range_includes_zero_p): New local function.
16502169689Skan	(extract_range_from_assert): Flip the predicate code if the
16503169689Skan	name being asserted is on the RHS of the predicate.
16504169689Skan	Avoid creating unnecessary symbolic ranges if the comparison
16505169689Skan	includes another name with a known numeric range.
16506169689Skan	Update the equivalnce set of the new range when asserting
16507169689Skan	EQ_EXPR predicates.
16508169689Skan	(extract_range_from_ssa_name): Update the equivalence set of
16509169689Skan	the new range with VAR.
16510169689Skan	(extract_range_from_binary_expr): Also handle TRUTH_*_EXPR.
16511169689Skan	If -fwrapv is used, set the resulting range to VARYING if the
16512169689Skan	operation overflows.  Otherwise, use TYPE_MIN_VALUE and
16513169689Skan	TYPE_MAX_VALUE to represent -INF and +INF.
16514169689Skan	Fix handling of *_DIV_EXPR.
16515169689Skan	(extract_range_from_unary_expr): Handle MINUS_EXPR and
16516169689Skan	ABS_EXPR properly by switching the range around if necessary.
16517169689Skan	(extract_range_from_comparison): New local function.
16518169689Skan	(extract_range_from_expr): Call it.
16519169689Skan	(adjust_range_with_scev): Do not adjust the range if using
16520169689Skan	wrapping arithmetic (-fwrapv).
16521169689Skan	(dump_value_range): Also show equivalence set.
16522169689Skan	Show -INF and +INF for TYPE_MIN_VALUE and TYPE_MAX_VALUE.
16523169689Skan	(build_assert_expr_for): Also build ASSERT_EXPR for EQ_EXPR.
16524169689Skan	(infer_value_range): Change return value to bool.
16525169689Skan	Add arguments 'comp_code_p' and 'val_p'.
16526169689Skan	Do not attempt to infer ranges from statements that may throw.
16527169689Skan	Store the comparison code in comp_code_p.
16528169689Skan	Store the other operand to be used in the predicate in val_p.
16529169689Skan	(dump_asserts_for): New.
16530169689Skan	(debug_asserts_for): New.
16531169689Skan	(dump_all_asserts): New.
16532169689Skan	(debug_all_asserts): New.
16533169689Skan	(register_new_assert_for): New.
16534169689Skan	(register_edge_assert_for): New.
16535169689Skan	(find_conditional_asserts): New.
16536169689Skan	(find_assert_locations): New.
16537169689Skan	(process_assert_insertions_for): New.
16538169689Skan	(process_assert_insertions): New.
16539169689Skan	(insert_range_assertions): Initialize found_in_subgraph,
16540169689Skan	blocks_visited, need_assert_for and asserts_for.
16541169689Skan	Call find_assert_locations and process_assert_insertions.
16542169689Skan	(remove_range_assertions): Add more documentation.
16543169689Skan	(vrp_initialize): Change return type to void.
16544169689Skan	Do not try to guess if running VRP is worth it.
16545169689Skan	(compare_name_with_value): New.
16546169689Skan	(compare_names): New.
16547169689Skan	(vrp_evaluate_conditional): Add argument 'use_equiv_p'.  If
16548169689Skan	use_equiv_p is true, call compare_names and
16549169689Skan	compare_name_with_value to compare all the ranges for every
16550169689Skan	name in the equivalence set of the predicate operands.
16551169689Skan	Update all callers.
16552169689Skan	(vrp_meet): Try harder not to derive a VARYING range.
16553169689Skan	If two values meet, the resulting equivalence set is the
16554169689Skan	intersection of the two equivalence sets.
16555169689Skan	(vrp_visit_phi_node): Call copy_value_range to get the current
16556169689Skan	range information of the LHS.
16557169689Skan	(vrp_finalize): Create a value vector representing all the
16558169689Skan	names that ended up with exactly one value in their range.
16559169689Skan	Call substitute_and_fold.
16560169689Skan	(execute_vrp): Document equivalence sets in ranges.
16561169689Skan	* tree.h (SSA_NAME_VALUE_RANGE): Remove.
16562169689Skan	(struct tree_ssa_name): Remove field value_range.
16563169689Skan	(invert_tree_comparison): Declare.
16564169689Skan
16565169689Skan2005-06-01  Daniel Berlin  <dberlin@dberlin.org>
16566169689Skan
16567169689Skan	Fix PR tree-optimization/21839
16568169689Skan
16569169689Skan	* gimplify.c (zero_sized_field_decl): New function.
16570169689Skan	(gimplify_init_ctor_eval): Use it.
16571169689Skan
16572169689Skan2005-06-01  Josh Conner <jconner@apple.com>
16573169689Skan
16574169689Skan	PR 21478
16575169689Skan	* gimplify.c (gimplify_init_constructor): Don't spill initializer
16576169689Skan	to read-only memory if it's sparse.
16577169689Skan
16578169689Skan2005-06-01  Ramana Radhakrishnan  <ramana@codito.com>
16579169689Skan
16580169689Skan	* doc/rtl.texi: Remove references to NOTE_INSN_SETJMP.
16581169689Skan	Add documentation for REG_SETJMP
16582169689Skan
16583169689Skan2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
16584169689Skan
16585169689Skan	* stmt.c (expand_case): Use build_int_cst.
16586169689Skan	(node_has_low_bound): Likewise, and correct type mismatch.
16587169689Skan	(node_has_high_bound): Likewise.
16588169689Skan	* fold-const.c (fold_binary): Ensure we build trees
16589169689Skan	with the correct types - undo what STRIP_NOPS possibly did.
16590169689Skan
16591169689Skan2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
16592169689Skan
16593169689Skan	* tree.h (fold_indirect_ref_1): Export from fold-const.c.
16594169689Skan	* fold-const.c (fold_indirect_ref_1): No longer static.
16595169689Skan	* tree-inline.c (copy_body_r): Use fold_indirect_ref_1 for
16596169689Skan	folding, if possible.
16597169689Skan
16598169689Skan2005-06-01  Joseph S. Myers  <joseph@codesourcery.com>
16599169689Skan
16600169689Skan	* common.opt (fjump-tables): New.
16601169689Skan	* doc/invoke.texi (-fno-jump-tables): Document.
16602169689Skan	* stmt.c (expand_end_case_type): Do not emit jump tables unless
16603169689Skan	flag_jump_tables.
16604169689Skan
16605169689Skan2005-06-01  Richard Earnshaw  <richard.earnshaw@arm.com>
16606169689Skan
16607169689Skan	* arm.md (bunordered, bordered, bungt, bunlt, bunge, bunle, buneq)
16608169689Skan	(bltgt, arm_buneq, arm_bltgt, sunordered, sordered, sungt, sunge)
16609169689Skan	(sunlt, sunle): Enable patterns on VFP.
16610169689Skan
16611169689Skan	* arm.md (attribute 'type'): Add new types - f_loads floadd, f_stores,
16612169689Skan	f_stored, f_flag, f_cvt.
16613169689Skan	(generic_sched): No-longer used for the arm1020e and arm1022e cores.
16614169689Skan	Include arm1020e.md.
16615169689Skan	* vfp.md (fmstat): New cpu unit.  Add an exclusion set between it and
16616169689Skan	the ds and fmac pipelines.  Re-work all load and store patterns and
16617169689Skan	all conversion patterns to use new attributes.  Adjust reservation
16618169689Skan	descriptions accordingly.
16619169689Skan	* arm1020e.md: New file.
16620169689Skan	* t-arm: Add dependency.
16621169689Skan
16622169689Skan2005-06-01  Jan Hubicka  <jh@suse.cz>
16623169689Skan
16624169689Skan	* except.c (struct eh_region): Kill unused fields.
16625169689Skan	* basic-block.h (struct basic_block_def): Likewise.
16626169689Skan
16627169689Skan2005-06-01  J"orn Rennecke <joern.rennecke@st.com>
16628169689Skan
16629169689Skan	PR rtl-optimization/21767
16630169689Skan	* rtl.h (function_invariant_p): Re-add declaration.
16631169689Skan	* reload1.c (function_invariant_p): No longer static.
16632169689Skan	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL notes that
16633169689Skan	might have become invalid.
16634169689Skan
16635169689Skan2005-06-01  Jakub Jelinek  <jakub@redhat.com>
16636169689Skan
16637169689Skan	PR c/21536
16638169689Skan	PR c/20760
16639169689Skan	* gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes
16640169689Skan	on variable sizes types if a decl is a pointer to a VLA.
16641169689Skan	(gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE.
16642169689Skan	Call gimplify_type_sizes on aggregate fields.  Prevent infinite
16643169689Skan	recursion.
16644169689Skan
16645169689Skan	* fold-const.c (fold_ternary): Optimize BIT_FIELD_REF of VECTOR_CST.
16646169689Skan
16647169689Skan	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
16648169689Skan	_mm_set_ps, _mm_setr_ps): Add __extension__.
16649169689Skan	* config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd,
16650169689Skan	_mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x,
16651169689Skan	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128):
16652169689Skan	Likewise.
16653169689Skan	(_mm_clflush): Don't use return in void function.
16654169689Skan
16655169689Skan	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128,
16656169689Skan	_mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd):
16657169689Skan	Use __inline instead of inline.
16658169689Skan
16659169689Skan2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
16660169689Skan
16661169689Skan	* fold-const.c (fold_binary): Fix types in strlen vs.
16662169689Skan	zero comparison folding.
16663169689Skan
16664169689Skan2005-06-01  Richard Henderson  <rth@redhat.com>
16665169689Skan
16666169689Skan	* configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.
16667169689Skan	* config.in, configure: Rebuild.
16668169689Skan	* config/alpha/alpha.c (print_operand): Add 'j'.
16669169689Skan	* alpha.md (divmodsi_internal_er_1): Use it.
16670169689Skan	(divmoddi_internal_er_1): Likewise.
16671169689Skan
16672169689Skan2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
16673169689Skan
16674169689Skan	* system.h (TARGET_OPTIONS, TARGET_SWITCHES): Poison.
16675169689Skan	* opts.h (print_filtered_help): Delete.
16676169689Skan	* opts.c (handle_option, decode_options): Remove calls to
16677169689Skan	set_target_switch.
16678169689Skan	(print_target_help): New function.
16679169689Skan	(common_option, print_help): Call print_target_help instead of
16680169689Skan	display_target_options.
16681169689Skan	(print_filtered_help): Make static.
16682169689Skan	* toplev.h (display_target_options, set_target_switch): Delete.
16683169689Skan	* toplev.c (target_switches, target_options, display_target_options)
16684169689Skan	(set_target_switch): Delete.
16685169689Skan	(print_switch_values): Remove handling of TARGET_SWITCHES and
16686169689Skan	TARGET_OPTIONS.
16687169689Skan	(default_get_pch_validity): Likewise.  Only treat target_flags
16688169689Skan	specially if targetm.check_pch_target_flags is nonnull.
16689169689Skan	(pch_option_mismatch): New function.
16690169689Skan	(default_pch_valid_p): Use it.  Remove handling of TARGET_SWITCHES
16691169689Skan	and TARGET_OPTIONS.  Only treat target_flags specially if
16692169689Skan	targetm.check_pch_target_flags is nonnull.
16693169689Skan	* config/ia64/ia64.c (ia64_override_options): Don't mention
16694169689Skan	TARGET_OPTIONS in comment.
16695169689Skan	* config/m68k/m68k-none.h (CC1_SPEC): Likewise.
16696169689Skan	* doc/invoke.texi: Remove a reference to TARGET_SWITCHES.
16697169689Skan	* doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS): Don't mention the
16698169689Skan	interaction with TARGET_SWITCHES.
16699169689Skan	(TARGET_@var{featurename}, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
16700169689Skan
16701169689Skan2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
16702169689Skan
16703169689Skan	* config/sh/sh.c (multcosts): Check sh_multcost rather than
16704169689Skan	sh_multcost_str.
16705169689Skan	(sh_register_move_cost): Likewise sh_gettrcost and sh_gettrcost_str.
16706169689Skan	(sh_multcost_str, sh_gettrcost_str, sh_div_str, sh_divsi3_libfunc)
16707169689Skan	(cut2_workaround_str): Delete.
16708169689Skan	* config/sh/sh.h (SUBTARGET_OPTIONS, TARGET_OPTIONS)
16709169689Skan	(TARGET_SH5_CUT2_WORKAROUND, sh_multcost_str, sh_gettrcost_str)
16710169689Skan	(sh_div_str, sh_divsi3_libfunc, cut2_workaround_str): Delete.
16711169689Skan	* config/sh/sh.opt (mcut2-workaround, mdiv=, mdivsi3_libfunc=)
16712169689Skan	(mgettrcost=, multcost=): New options.
16713169689Skan
16714169689Skan2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
16715169689Skan
16716169689Skan	* opts.h (cl_option_state): New structure.
16717169689Skan	(get_option_state): Declare.
16718169689Skan	* opts.c (get_option_state): New function.
16719169689Skan	* toplev.c (option_affects_pch_p): New function.
16720169689Skan	(default_get_pch_validity): Store the state of all options for which
16721169689Skan	option_affects_pch_p returns true.
16722169689Skan	(default_pch_valid_p): Check the state of those options here.
16723169689Skan	Only check target_flags separately if targetm.check_pch_target_Flags
16724169689Skan	is nonnull or if TARGET_SWITCHES is defined.
16725169689Skan
16726169689Skan2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
16727169689Skan
16728169689Skan	* config/mips/mips-protos.h (mips_use_ins_ext_p): Remove parameter
16729169689Skan	names.
16730169689Skan
16731169689Skan2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
16732169689Skan
16733169689Skan	* modulo-sched.c (undo_generate_reg_moves ): Fix PR 21138.
16734169689Skan
16735169689Skan2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
16736169689Skan
16737169689Skan	* gcse.c (compute_transp, load_killed_in_block): Use
16738169689Skan	MEM_READONLY_P.
16739169689Skan
16740169689Skan2005-06-01  David.Billinghurst  <David.Billinghurst@riotinto.com>
16741169689Skan
16742169689Skan	PR target/21854
16743169689Skan	* config/mips/mips-protos.h: Declare mips_use_ins_ext_p
16744169689Skan
16745169689Skan2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16746169689Skan
16747169689Skan	* errors.h (warning, error, fatal, internal_error): Add printf
16748169689Skan	attribute.
16749169689Skan	* genmodes.c (make_vector_mode): Fix format arguments.
16750169689Skan
16751169689Skan2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16752169689Skan
16753169689Skan	* basic-block.h, bb-reorder.c, c-gimplify.c, config/darwin.c,
16754169689Skan	config/rs6000/rs6000-c.c, dominance.c, gimple-low.c, gimplify.c,
16755169689Skan	lambda-code.c, lambda-trans.c, tree-browser.c, tree-cfg.c,
16756169689Skan	tree-chrec.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
16757169689Skan	tree-if-conv.c, tree-into-ssa.c, tree-loop-linear.c,
16758169689Skan	tree-mudflap.c, tree-nomudflap.c, tree-outof-ssa.c,
16759169689Skan	tree-pretty-print.c, tree-scalar-evolution.c, tree-sra.c,
16760169689Skan	tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
16761169689Skan	tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-live.c,
16762169689Skan	tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
16763169689Skan	tree-ssa-propagate.c, tree-ssa-sink.c, tree-ssa-threadupdate.c,
16764169689Skan	tree-ssa-uncprop.c, tree-ssa.c, tree-vect-analyze.c,
16765169689Skan	tree-vect-transform.c, tree-vectorizer.c, vec.c: Don't include
16766169689Skan	errors.h and include toplev.h if necessary.
16767169689Skan
16768169689Skan	* rtl.c, varray.c: If we're compiling as a GENERATOR_FILE, include
16769169689Skan	errors.h otherwise include toplev.h.
16770169689Skan
16771169689Skan	* Makefile.in: Update dependencies.
16772169689Skan
16773169689Skan2005-06-01  Danny Smith  <dannysmith@users.sourceforge.net>
16774169689Skan
16775169689Skan	* config/i386/cygming.h (NO_PROFILE_COUNTERS): Define.
16776169689Skan
16777169689Skan2005-05-31  Geoffrey Keating  <geoffk@geoffk.org>
16778169689Skan
16779169689Skan	* config/rs6000/rs6000.md (sync_boolcshort_internal): New.
16780169689Skan	* config/rs6000/rs6000.c (rs6000_emit_sync): Shift count must
16781169689Skan	be complemented for big-endian.  Mask for AND must be rotated,
16782169689Skan	not shifted.  Handle short operands with NOT on the memory
16783169689Skan	operation.
16784169689Skan
16785169689Skan2005-05-30  Daniel Berlin  <dberlin@dberlin.org>
16786169689Skan
16787169689Skan	* c-objc-common.c (c_tree_printer): Check flag before hashtable.
16788169689Skan	Use DECL_DEBUG_EXPR and SET_DECL_DEBUG_EXPR.
16789169689Skan	* dwarf2out.c (dwarf2out_var_location): Ditto.
16790169689Skan	* toplev.c (default_tree_printer): Ditto.
16791169689Skan	* tree-outof-ssa.c (create_temp): Ditto.
16792169689Skan	* tree-sra.c (instantiate_element): Ditto.
16793169689Skan	* var-tracking.c (track_expr_p): Ditto.
16794169689Skan	* tree.c (struct tree_map): New structure.
16795169689Skan	(debug_expr_for_decl): New.
16796169689Skan	(tree_map_eq): New function.
16797169689Skan	(tree_map_hash): Ditto.
16798169689Skan	(tree_map_marked_p): Ditto.
16799169689Skan	(print_debug_expr_statistics): Ditto.
16800169689Skan	(decl_debug_expr_lookup): Ditto.
16801169689Skan	(decl_debug_expr_insert): Ditto.
16802169689Skan	(dump_tree_statistics): Dump debug_expr hashtable stats.
16803169689Skan	* tree.h (DECL_DEBUG_EXPR): Change
16804169689Skan	(SET_DECL_DEBUG_EXPR): Add.
16805169689Skan
16806169689Skan2005-06-01  Alan Modra  <amodra@bigpond.net.au>
16807169689Skan
16808169689Skan	* configure.ac: Add --enable-secureplt.
16809169689Skan	(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
16810169689Skan	* config.in: Regenerate.
16811169689Skan	* configure: Regenerate.
16812169689Skan	* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
16813169689Skan	rs6000/secureplt.h to tm_file when enable_secureplt.
16814169689Skan	* doc/invoke.texi (msecure-plt, mbss-plt): Document.
16815169689Skan	* doc/install.texi: Document --enable-targets and --enable-secureplt.
16816169689Skan	Correct xrefs to "Using the GNU Compiler Collection (GCC)".
16817169689Skan	* config/rs6000/secureplt.h: New file.
16818169689Skan	* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
16819169689Skan	(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
16820169689Skan	assembler support.
16821169689Skan	(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
16822169689Skan	(CC1_SPEC): Delete duplicate mno-sdata.  Invoke cc1_secure_plt_default.
16823169689Skan	(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
16824169689Skan	* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
16825169689Skan	* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
16826169689Skan	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
16827169689Skan	TARGET_SECURE_PLT got register load sequence.
16828169689Skan	(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
16829169689Skan	TARGET_SECURE_PLT.
16830169689Skan	(rs6000_elf_declare_function_name): Don't emit toc address offset
16831169689Skan	word when TARGET_SECURE_PLT.
16832169689Skan	* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
16833169689Skan	(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
16834169689Skan	(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
16835169689Skan	(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
16836169689Skan	TARGET_SECURE_PLT.
16837169689Skan	(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
16838169689Skan	sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
16839169689Skan	and -fPIC.
16840169689Skan	* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
16841169689Skan	(__trampoline_setup): Likewise.  Init r30 before plt call.
16842169689Skan
16843169689Skan2005-05-31  DJ Delorie  <dj@redhat.com>
16844169689Skan
16845169689Skan	* expr.c (convert_move): When a partial_int requires multiple
16846169689Skan	conversion steps, make sure successive steps convert the
16847169689Skan	intermediate value, not the original value.
16848169689Skan
16849169689Skan	* expmed.c (expand_mult): Convert partial_int multiplies to
16850169689Skan	shift/add combinations too.
16851169689Skan
16852169689Skan	* genmodes.c (mode_data): Add wider_2x.
16853169689Skan	(calc_wider_mode): Calculate twice-wider mode too.
16854169689Skan	(emit_mode_wider): Emit twice-wider mode too.
16855169689Skan	* machmode.h (mode_2xwider, GET_MODE_2XWIDER_MODE): New.
16856169689Skan	* expr.c (expand_expr_real_1): Use it for expanding
16857169689Skan	multiplies.
16858169689Skan
16859169689Skan2005-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
16860169689Skan
16861169689Skan	PR tree-optimization/21817
16862169689Skan	* tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
16863169689Skan
16864169689Skan2005-05-31  Pat Haugen  <pthaugen@us.ibm.com>
16865169689Skan
16866169689Skan	* loop.c (loop_invariant_p, valid_initial_value_p): Revert last
16867169689Skan	change.
16868169689Skan
16869169689Skan2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
16870169689Skan
16871169689Skan	PR middle-end/20931
16872169689Skan	PR middle-end/20946
16873169689Skan	* fold-const.c (fold_checksum_tree): Copy types also if
16874169689Skan	TYPE_CONTAINS_PLACEHOLDER_INTERNAL is set.
16875169689Skan	Don't call fold_checksum_tree for TREE_LIST's TREE_CHAIN
16876169689Skan	first.
16877169689Skan	Tail recurse TREE_LIST's TREE_CHAIN.
16878169689Skan
16879169689Skan2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
16880169689Skan
16881169689Skan	PR tree-opt/21732
16882169689Skan	* tree-ssa-copy.c (dump_copy_of): Create a bitmap and don't visit a
16883169689Skan	SSA_NAME twice and cause the loop to become finite.  Remove the test
16884169689Skan	for val.
16885169689Skan
16886169689Skan2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
16887169689Skan
16888169689Skan	* tree-cfg.c (verify_expr): Add checking for COND_EXPR's conditional
16889169689Skan	expression.
16890169689Skan
16891169689Skan2005-05-31  Richard Sandiford  <rsandifo@redhat.com>
16892169689Skan
16893169689Skan	* doc/tm.texi (TARGET_GET_PCH_VALIDITY, TARGET_PCH_VALID_P): Tweak
16894169689Skan	the documentation to make it more future-proof.
16895169689Skan	(TARGET_CHECK_PCH_TARGET_FLAGS): Document this new hook.
16896169689Skan	* target.h (gcc_target): Add check_pch_target_flags.
16897169689Skan	* target-def.h (TARGET_CHECK_PCH_TARGET_FLAGS): New macro.
16898169689Skan	(TARGET_INITIALIZER): Include it.
16899169689Skan	* toplev.c (default_pch_valid_p): Use targetm.check_pch_target_flags.
16900169689Skan	* config/sh/sh-protos.h (sh_pch_valid_p): Delete.
16901169689Skan	* config/sh/sh.c (TARGET_PCH_VALID_P, sh_pch_valid_p): Delete.
16902169689Skan	(sh_check_pch_target_flags): New function.
16903169689Skan	(TARGET_CHECK_PCH_TARGET_FLAGS): Override default.
16904169689Skan
16905169689Skan2005-05-31  Richard Guenther  <rguenth@gcc.gnu.org>
16906169689Skan
16907169689Skan	* fold-const.c (extract_array_ref): Handle more cases,
16908169689Skan	do some useful canonicalization of the base.
16909169689Skan	(fold_binary): Explicitly deal with arrays of zero-sized
16910169689Skan	structures during folding of &a[i] == &a[j].
16911169689Skan
16912169689Skan2005-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
16913169689Skan
16914169689Skan	* doc/install.texi (sparc-sun-solaris2*): Update note
16915169689Skan	about Sun bug 4910101.
16916169689Skan	(sparc-sun-solaris2.7): Document bootstrap
16917169689Skan	failure with Sun WorkShop 6 99/08/18 as.
16918169689Skan
16919169689Skan2005-05-30  Pat Haugen  <pthaugen@us.ibm.com>
16920169689Skan
16921169689Skan	* loop.c (loop_invariant_p, valid_initial_value_p): Use
16922169689Skan	regs_invalidated_by_call instead of call_used_regs.
16923169689Skan
16924169689Skan2005-05-30  Paolo Carlini  <pcarlini@suse.de>
16925169689Skan
16926169689Skan	PR middle-end/21743
16927169689Skan	* builtins.def (BUILT_IN_CLOG, BUILT_IN_CLOGF, BUILT_IN_CLOGL):
16928169689Skan	Enable.
16929169689Skan	* doc/extend.texi: Add clog, clogf, clogl.
16930169689Skan
16931169689Skan2005-05-30  H.J. Lu  <hongjiu.lu@intel.com>
16932169689Skan
16933169689Skan	PR middle-end/20303
16934169689Skan	* c-pragma.c: Include "vec.h".
16935169689Skan	(handle_pragma_visibility): Use VEC.
16936169689Skan
16937169689Skan	* doc/invoke.texi: Remove the nested visibility push limit.
16938169689Skan
16939169689Skan2005-05-30  Roger Sayle  <roger@eyesopen.com>
16940169689Skan
16941169689Skan	PR rtl-optimization/15422
16942169689Skan	* reg-stack.c (starting_stack_p): New static global.
16943169689Skan	(straighten_stack): Delete prototype. Change to update the stack
16944169689Skan	before the current insn.
16945169689Skan	(subst_stack_regs): Update call to straighten stack.
16946169689Skan	(emit_swap_insn): Delete prototype.  For the first insn in a
16947169689Skan	basic block, update stack_in instead of emitting a real swap.
16948169689Skan	(change_stack): When changing the stack before the first insn
16949169689Skan	in a basic block, update stack_in instead of emitting real code.
16950169689Skan	(compensate_edges): Clear starting_stack_p during compensation.
16951169689Skan	(convert_regs_1): Keep track of starting_stack_p whilst processing
16952169689Skan	a basic block.
16953169689Skan
16954169689Skan2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
16955169689Skan
16956169689Skan	* tree-ssa-ccp.c (const_val): Make it static.
16957169689Skan
16958169689Skan2005-05-29  Geoffrey Keating  <geoffk@apple.com>
16959169689Skan
16960169689Skan	PR target/21761
16961169689Skan	* config/rs6000/rs6000.md: Remove stray TARGET_32BIT from
16962169689Skan	pattern involving `:P'.
16963169689Skan
16964169689Skan	* Makefile.in (install-cpp): Depend on installdirs.
16965169689Skan
16966169689Skan2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
16967169689Skan
16968169689Skan	* tree-outof-ssa.c (_elim_graph): Change the type of edge_list
16969169689Skan	to VEC(int,heap)*.
16970169689Skan	(new_elim_graph, clear_elim_graph, delete_elim_graph,
16971169689Skan	elim_graph_add_edge, elim_graph_remove_succ_edge,
16972169689Skan	FOR_EACH_ELIM_GRAPH_SUCC, FOR_EACH_ELIM_GRAPH_PRED): Use VEC
16973169689Skan	instead of VARRAY.
16974169689Skan
16975169689Skan2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
16976169689Skan
16977169689Skan	* cgraphunit.c, ipa-inline.c, loop-iv.c, modulo-sched.c,
16978169689Skan	opts.c, postreload-gcse.c, tree-browser.def, tree-eh.c,
16979169689Skan	tree-ssa-copyrename.c, tree-vect-analyze.c: Fix typos and
16980169689Skan	follow spelling conventions in error/dump messages.
16981169689Skan
16982169689Skan2005-05-29  Roger Sayle  <roger@eyesopen.com>
16983169689Skan	    Richard Henderson  <rth@redhat.com>
16984169689Skan
16985169689Skan	* ifcvt.c (noce_emit_move_insn): Construct a SET pattern directly
16986169689Skan	if the RHS isn't suitable for calling emit_move_insn.
16987169689Skan
16988169689Skan2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
16989169689Skan
16990169689Skan	* tree-ssa-ccp.c (ccp_fold): Return immediately after calling
16991169689Skan	fold_unary and fold_binary.
16992169689Skan
16993169689Skan2005-05-29  Roger Sayle  <roger@eyesopen.com>
16994169689Skan
16995169689Skan	* reg-stack.c (propagate_stack): Always copy the source stack to
16996169689Skan	the destination.  This routine is now only called when this is safe.
16997169689Skan	(better_edge): New function split out from convert_regs_1 to
16998169689Skan	determine which of two edges is better to propagate across.
16999169689Skan	(convert_regs_1): We need only search for a best edge if the
17000169689Skan	stack layout hasn't been defined yet.  Use better_edge to help
17001169689Skan	find beste.  No longer traverse unnecessary edges.
17002169689Skan
17003169689Skan2005-05-29  Keith Besaw  <kbesaw@us.ibm.com>
17004169689Skan
17005169689Skan	* tree-ssa-alias.c (new_type_alias): New procedure to
17006169689Skan	create a type memory tag for a pointer with a may-alias
17007169689Skan	set determined from a variable declaration.
17008169689Skan	* tree-flow.h: export declaration of new_type_alias
17009169689Skan	* tree-optimize.c (init_tree_optimization_passes): document
17010169689Skan	that pass_may_alias cannot be called after pass_vectorize.
17011169689Skan	* tree-vect-transform (vect_create_data_ref_ptr): Call
17012169689Skan	new_type_alias when an type memory tag isn't available
17013169689Skan	for a reference.
17014169689Skan	(vectorizable_store): Use copy_virtual_operands to update
17015169689Skan	virtual defs in place (so that loop_version can be called).
17016169689Skan	Call mark_for_renaming for the virtual defs in case peeling
17017169689Skan	is done and virtual uses outside the loop need to be updated.
17018169689Skan
17019169689Skan2005-05-29  Dorit Naishlos  <dorit@il.ibm.com>
17020169689Skan
17021169689Skan	PR tree-optimization/21639
17022169689Skan	* tree-complex.c (pass_lower_vector_s): Remove TODO_ggc_collect.
17023169689Skan
17024169689Skan2005-05-29  Jan Hubicka  <jh@suse.cz>
17025169689Skan
17026169689Skan	PR tree-optimization/21562
17027169689Skan	* cfgexpand.c (construct_init_block): Deal properly with the case
17028169689Skan	of entry edge not pointing to very first basic block.
17029169689Skan
17030169689Skan2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
17031169689Skan
17032169689Skan	* tree-ssa-ccp.c (ccp_fold): Remove code that produces
17033169689Skan	non-gimple min invariant.
17034169689Skan
17035169689Skan	* Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
17036169689Skan	* tree-flow.h: Add prototypes for start_recording_case_labels
17037169689Skan	and end_recording_case_labels.
17038169689Skan	* tree-cfg.c (start_recording_case_labels,
17039169689Skan	end_recording_case_labels): Export.
17040169689Skan	(cleanup_tree_cfg_loop, modified_noreturn_calls,
17041169689Skan	cleanup_control_flow, cleanup_control_expr_graph,
17042169689Skan	remove_fallthru_edge, phi_alternatives_equal,
17043169689Skan	tree_forwarder_block_p, has_abnormal_incoming_edge_p,
17044169689Skan	remove_forwarder_block, cleanup_forwarder_blocks,
17045169689Skan	remove_forwarder_block_with_phi, merge_phi_nodes,
17046169689Skan	gate_merge_phi, pass_merge_phi): Move to ...
17047169689Skan	* tree-cfgcleanup.c: ... here.
17048169689Skan
17049169689Skan	* basic-block.h: Remove forward declaration of bb_ann_d.
17050169689Skan
17051169689Skan2005-05-28  Jan Hubicka  <jh@suse.cz>
17052169689Skan
17053169689Skan	* tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis):
17054169689Skan	Update profile.
17055169689Skan	* value-prof.c (tree_divmod_fixed_value_transform): Be more verbose in
17056169689Skan	debug output.
17057169689Skan	(tree_mod_subtract): Fix profile updating code.
17058169689Skan	(tree_divmod_values_to_profile): Do not produce useless value profilers
17059169689Skan	for divisions.
17060169689Skan
17061169689Skan2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
17062169689Skan
17063169689Skan	* tree-ssa-dom.c (vrp_element_p): Define.
17064169689Skan	(vrp_hash_elt): Change the type of records to
17065169689Skan	VEC(vrp_element_p,heap).
17066169689Skan	(vrp_free): New.
17067169689Skan	(tree_ssa_dominator_optimize): Pass vrp_free to htab_create.
17068169689Skan	Update uses of VRP records.
17069169689Skan	(simplify_cond_and_lookup_avail_expr, record_range): Update
17070169689Skan	uses of VRP records.
17071169689Skan
17072169689Skan	* tree-inline.c (cfun_stack): Change the type to
17073169689Skan	VEC(function_p,heap).
17074169689Skan	(push_cfun, pop_cfun): Use VEC instead of VARRAY.
17075169689Skan
17076169689Skan2005-05-27  Ian Lance Taylor  <ian@airs.com>
17077169689Skan
17078169689Skan	* c-decl.c (add_stmt): Add C frontend specific version.
17079169689Skan	(stmts_are_full_exprs_p): Remove.
17080169689Skan	* c-common.h (STMT_IS_FULL_EXPR_P): Remove.
17081169689Skan	(stmts_are_full_exprs_p): Don't declare.
17082169689Skan	* c-semantics.c (add_stmt): Remove.
17083169689Skan
17084169689Skan2005-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17085169689Skan
17086169689Skan	* config/mips/mips-protos.h (mips_declare_object): Add printf
17087169689Skan	attribute.
17088169689Skan	* config/mips/mips.c (mips_declare_object_name): Fix format
17089169689Skan	argument.
17090169689Skan
17091169689Skan2005-05-27  Roger Sayle  <roger@eyesopen.com>
17092169689Skan
17093169689Skan	* reg-stack.c (compensate_edge): Remove original prototype.
17094169689Skan	(propagate_stack): New function to copy the stack layout
17095169689Skan	at the start of a basic block from the layout at the end of
17096169689Skan	one of its predecessors.
17097169689Skan	(compensate_edge): Assume that both source and destination
17098169689Skan	blocks have already had their stack layouts defined.
17099169689Skan	(compensate_edges): Traverse all non-entry edges in the CFG
17100169689Skan	and call compensate_edge on each in turn.
17101169689Skan	(convert_regs_1): Change return type to void.  Call
17102169689Skan	propagate_stack instead of compensate_edge.
17103169689Skan	(convert_regs_2): Change return type to void.  Update call
17104169689Skan	to convert_regs_1 to ignore the (now void) return value.
17105169689Skan	(convert_regs): Update calls to convert_regs_2 to ignore
17106169689Skan	the (now void) return value.  After all the basic blocks have
17107169689Skan	been processed, call compensate_edges to actually emit new
17108169689Skan	insns.
17109169689Skan	(reg_to_stack): Initialize the aux info for each basic block
17110169689Skan	with FOR_EACH_BB instead of which FOR_EACH_BB_REVERSE.
17111169689Skan
17112169689Skan2005-05-28  Jan Hubicka  <jh@suse.cz>
17113169689Skan
17114169689Skan	* except.c (can_throw_internal_1, can_throw_external_1): Add
17115169689Skan	"is_resx" argument.
17116169689Skan	(can_throw_external, can_throw_internal): Bring into sync wrt
17117169689Skan	dealing resx.
17118169689Skan	* except.h (can_throw_internal_1, can_throw_external_1): Update
17119169689Skan	prototype.
17120169689Skan	* tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
17121169689Skan	Deal properly with resx.
17122169689Skan
17123169689Skan2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
17124169689Skan
17125169689Skan	* basic-block.h (basic_block_def): Add phi_nodes and
17126169689Skan	predictions.  Remove tree_annotations.
17127169689Skan	* predict.c (tree_predicted_by_p, tree_predict_edge,
17128169689Skan	combine_predictions_for_bb): Adjust references to predictions.
17129169689Skan	* tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
17130169689Skan	create_block_annotation.
17131169689Skan	(create_block_annotation, free_blocks_annotatios,
17132169689Skan	clear_blocks_annotations): Remove.
17133169689Skan	(dump_cfg_stats): Don't print out the memory spent on
17134169689Skan	bb_ann_d.
17135169689Skan	(delete_tree_cfg_annotations): Don't call free_blocks_annotations.
17136169689Skan	* tree-flow-inline.h (bb_ann): Remove.
17137169689Skan	(phi_nodes, set_phi_nodes): Update references to phi_nodes.
17138169689Skan	* tree-flow.h (bb_ann_d): Remove.
17139169689Skan	* tree-if-conv.c (process_phi_nodes): Update a reference to
17140169689Skan	phi_nodes.
17141169689Skan	* tree-phinodes.c (reserve_phi_args_for_new_edge,
17142169689Skan	create_phi_node, remove_phi_node): Likewise.
17143169689Skan	* tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
17144169689Skan	* tree-ssa-dom.c (threaded_blocks): New.
17145169689Skan	(tree_ssa_dominator_optimize): Initialize, clear, and free
17146169689Skan	threaded_blocks. Update a call to thread_through_all_blocks.
17147169689Skan	(thread_across_edge): Use threaded_blocks instead of setting
17148169689Skan	incoming_edge_threaded.
17149169689Skan	* tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
17150169689Skan	a bitmap of blocks that are threaded through.
17151169689Skan	* tree.h: Move the prototype of threaded_through_blocks to
17152169689Skan	tree-flow.h.
17153169689Skan
17154169689Skan	* domwalk.c (walk_dominator_tree, init_walk_dominator_tree,
17155169689Skan	fini_walk_dominator_tree): Use VEC instead of VARRAY.
17156169689Skan	* domwalk.h (dom_walk_data): Change the type of
17157169689Skan	block_data_stack and free_block_data to VEC(void_p,heap)*.
17158169689Skan	* tree-ssa-dse.c (dse_initialize_block_local_data,
17159169689Skan	dse_optimize_stmt, dse_record_phis, dse_finalize_block): Use
17160169689Skan	VEC instead of VARRAY.
17161169689Skan
17162169689Skan2005-05-27  Jan Hubicka  <jh@suse.cz>
17163169689Skan
17164169689Skan	* cgraph.c: Include tree-gimple.h
17165169689Skan	(cgraph_edge): Rename expr to stmt.
17166169689Skan	(cgraph_create_edge): Likewise.
17167169689Skan	(cgraph_clone_node): Likewise.
17168169689Skan	* cgraph.h (cgraph_node): Use call_stmt instead of call_expr.
17169169689Skan	* cgraphunit.c (record_call_1): Rename to ...
17170169689Skan	(record_reference): ... this one; do not build edges.
17171169689Skan	(cgraph_varpool_analyze_pending_decls): Call record_reference directly.
17172169689Skan	(current_basic_block): Kill.
17173169689Skan	(cgraph_create_edges): Rewrite to work on gimple statements nicely.
17174169689Skan	(verify_cgraph_node): Likewise.
17175169689Skan	* tree-inline.c (copy_body_r): Do not mess up with cgraph edges.
17176169689Skan	(copy_bb): Mess up with cgraph edges here; simplify EH handling.
17177169689Skan	(copy_edges_for_bb): Simplify EH handling.
17178169689Skan	(expand_call_inline): Pass statement to cgraph_edge and
17179169689Skan	cgraph_create_edge.
17180169689Skan
17181169689Skan2005-05-27  Richard Guenther  <rguenth@gcc.gnu.org>
17182169689Skan
17183169689Skan	* tree-inline.c (copy_body_r): Manually fold *& to deal
17184169689Skan	with ADDR_EXPRs with mismatched types for now.
17185169689Skan
17186169689Skan	* gimplify.c (fold_indirect_ref_rhs): New function.
17187169689Skan	(gimplify_modify_expr_rhs): Use it instead of pessimistic
17188169689Skan	fold_indirect_ref.
17189169689Skan
17190169689Skan	* fold-const.c (fold_indirect_ref_1): Add type argument;
17191169689Skan	make sure the resulting expression is of this type.
17192169689Skan	(build_fold_indirect_ref, fold_indirect_ref): Adjust callers.
17193169689Skan
17194169689Skan2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
17195169689Skan
17196169689Skan	PR tree-optimization/21658
17197169689Skan	* tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
17198169689Skan	fold_binary_to_constant.  Likewise, call fold_unary instead of
17199169689Skan	fold_unary_to_constant.
17200169689Skan
17201169689Skan2005-05-27  Nathan Sidwell  <nathan@codesourcery.com>
17202169689Skan
17203169689Skan	* vec.h: Implement integral type vector specialization.
17204169689Skan	(VEC_T): Define a non-GTY structure.
17205169689Skan	(VEC_T_GTY): Define a GTY structure.
17206169689Skan	(VEC_TA): Rename to ...
17207169689Skan	(VEC_TA_GTY): ... here.
17208169689Skan	(DEF_VEC_I, DEF_VEC_ALLOC_I): New.
17209169689Skan	(DEF_VEC_P, DEF_VEC_ALLOC_P): Adjust.
17210169689Skan	(DEF_VEC_FUNC_P, DEF_VEC_ALLOC_FUNC_P): New, broken out of
17211169689Skan	DEF_VEC_P and DEF_VEC_ALLOC_P.
17212169689Skan	(DEF_VEC_O, DEF_VEC_ALLOC_O): Adjust.
17213169689Skan	(DEF_VEC_FUNC_O, DEF_VEC_ALLOC_FUNC_O): New, broken out of
17214169689Skan	DEF_VEC_O and DEF_VEC_ALLOC_O.
17215169689Skan	* global.c: Use DEF_VEC_I, DEF_VEC_ALLOC_I.
17216169689Skan	* lambda-code.c: Likewise.
17217169689Skan	* tree-into-ssa.c: Likewise.
17218169689Skan	* tree-ssa-live.c: Likewise.
17219169689Skan
17220169689Skan2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
17221169689Skan
17222169689Skan	* tree-into-ssa.c (update_ssa): Ensure that the operand cache
17223169689Skan	is up-to-date.
17224169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
17225169689Skan	update_stmt_if_modified before calling update_ssa.
17226169689Skan
17227169689Skan2005-05-27  Ralf Corsepius  <ralf.corsepius@rtems.org>
17228169689Skan
17229169689Skan	* config/rs6000/t-rtems: Remove roe multilib variant.
17230169689Skan
17231169689Skan2005-05-26  Roger Sayle  <roger@eyesopen.com>
17232169689Skan
17233169689Skan	PR tree-optimization/9814
17234169689Skan	* ifcvt.c (noce_emit_move_insn): If we fail to recognize the move
17235169689Skan	instruction, add the necessary clobbers by re-expanding the RTL
17236169689Skan	for arithmetic operations via optab.c's expand_unop/expand_binop.
17237169689Skan	(noce_try_bitop): New function to optimize bit manipulation idioms
17238169689Skan	of the form "if (x & C) x = x op C" and "if (!(x & C) x = x op C".
17239169689Skan	(noce_process_if_block): Call noce_try_bitop.
17240169689Skan
17241169689Skan2005-05-26  Roger Sayle  <roger@eyesopen.com>
17242169689Skan
17243169689Skan	* reg-stack.c (convert_regs_entry, convert_regs_exit,
17244169689Skan	convert_regs_1, convert_regs_2, convert_regs): Delete prototypes.
17245169689Skan	(reg_to_stack): Move to end of the file.  Initialize the per
17246169689Skan	basic block information here, instead of...
17247169689Skan	(convert_regs_entry): Here.
17248169689Skan	(convert_regs): Change unused return type to void.
17249169689Skan
17250169689Skan2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
17251169689Skan
17252169689Skan	* c-pch.c, timevar.c, timevar.h, unwind-compat.c,
17253169689Skan	unwind-dw2-fde-compat.c, unwind-dw2-fde.c, config/mmix/mmix.h,
17254169689Skan	config/rs6000/eabispe.h, config/rs6000/lynx.h,
17255169689Skan	config/sh/elf.h, config/sh/symbian-pre.h,
17256169689Skan	config/sparc/sparc-protos.h: Update copyright.
17257169689Skan
17258169689Skan2005-05-26  Mike Stump  <mrs@apple.com>
17259169689Skan
17260169689Skan	* darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
17261169689Skan	for Objective-C++.
17262169689Skan
17263169689Skan2005-05-26  Richard Guenther  <rguenth@gcc.gnu.org>
17264169689Skan
17265169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr):
17266169689Skan	See through ADDR_EXPR in finding place to propagate into.
17267169689Skan
17268169689Skan2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
17269169689Skan
17270169689Skan	* c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
17271169689Skan	cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
17272169689Skan	ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
17273169689Skan	tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
17274169689Skan	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
17275169689Skan	tree-ssa-operands.c, tree-vect-analyze.c,
17276169689Skan	tree-vect-transform.c, tree-vectorizer.c, tree.c,
17277169689Skan	config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
17278169689Skan	config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
17279169689Skan	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
17280169689Skan	config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
17281169689Skan	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
17282169689Skan	config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
17283169689Skan	config/sh/ushmedia.h, config/sparc/sparc.c,
17284169689Skan	config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
17285169689Skan	typos.  Follow spelling conventions.
17286169689Skan	* doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
17287169689Skan	Follow spelling conventions.
17288169689Skan
17289169689Skan2005-05-26  David Ung  <davidu@mips.com>
17290169689Skan
17291169689Skan	* config/mips/mips.c (mips_use_ins_ext_p): New helper function
17292169689Skan	that determines whether the MIPS32/64 R2 ext/ins should be used.
17293169689Skan	* config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
17294169689Skan	* config/mips/mips.md (extzv): Changed predicate for operand to
17295169689Skan	nonimmediate_operand. Add code to generate insn patterns for
17296169689Skan	extzvsi and extzvdi.
17297169689Skan	(extzv<mode>): New pattern to match mips32/64 r2 ext insn.
17298169689Skan	(insv): Similarly for insertion.
17299169689Skan	(insv<mode>): Similarly.
17300169689Skan
17301169689Skan2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
17302169689Skan
17303169689Skan	* simplify-rtx.c (avoid_constant_pool_reference): Support
17304169689Skan	offsetted addresses in the constant pool.
17305169689Skan
17306169689Skan2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
17307169689Skan
17308169689Skan	* df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
17309169689Skan	* df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
17310169689Skan
17311169689Skan2005-05-26  Jakub Jelinek  <jakub@redhat.com>
17312169689Skan
17313169689Skan	PR target/21716
17314169689Skan	* reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
17315169689Skan	found in the basic block and last insn in the basic block is not
17316169689Skan	INSN_P.  Remove explicit unspec numbers that are no longer valid
17317169689Skan	from comments.
17318169689Skan
17319169689Skan2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
17320169689Skan
17321169689Skan	* tree-vect-transform.c (vectorizable_operation): Try word_mode
17322169689Skan	vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
17323169689Skan	if a vector mode is available.
17324169689Skan
17325169689Skan2005-05-25  Roger Sayle  <roger@eyesopen.com>
17326169689Skan
17327169689Skan	PR middle-end/21709
17328169689Skan	* fold-const.c (const_binop): Check for division by zero during
17329169689Skan	complex division.
17330169689Skan
17331169689Skan2005-05-26  Ian Lance Taylor  <ian@airs.com>
17332169689Skan
17333169689Skan	* reload1.c (verify_initial_elim_offsets): Add braces to avoid
17334169689Skan	having a declaration after a statement.
17335169689Skan
17336169689Skan2005-05-26  Richard Sandiford  <rsandifo@redhat.com>
17337169689Skan
17338169689Skan	* opt-functions.awk (var_type): New function.
17339169689Skan	(var_set): Use CLVC_STRING if var_type returns "const char *".
17340169689Skan	* opth-gen.awk: Use var_type to find out the types of variables.
17341169689Skan	Don't print comments above each "extern" definition.
17342169689Skan	* optc-gen.awk: Use var_type in the same way.
17343169689Skan	* opts.h (cl_var_cond): Rename to...
17344169689Skan	(cl_var_type): ...this.  Add CLVC_STRING.
17345169689Skan	(cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
17346169689Skan	with "var_type".
17347169689Skan	* opts.c (handle_option, option_enabled): Update after above name
17348169689Skan	change.  Cast flag_var before using it.  Handle CLVC_STRING.
17349169689Skan
17350169689Skan	* config/alpha/alpha.h (alpha_tls_size): Delete.
17351169689Skan	* config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
17352169689Skan	(alpha_tune_string, alpha_tp_string, alpha_fprm_string)
17353169689Skan	(alpha_fptm_string, alpha_mlat_string): Delete.
17354169689Skan	(alpha_handle_option): Don't set the above variables here.  Use the
17355169689Skan	integer argument to check the validity of -mtls-size=.
17356169689Skan	* config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
17357169689Skan	(mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
17358169689Skan	(mtls-size=): Likewise.  Convert to a UInteger and initialize the
17359169689Skan	variable to 32.
17360169689Skan
17361169689Skan	* config/arc/arc.c (arc_cpu_string, arc_text_string)
17362169689Skan	(arc_data_string, arc_rodata_string): Delete.
17363169689Skan	(arc_handle_option): Don't set the above variables here.
17364169689Skan	* config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
17365169689Skan	and initialize them.
17366169689Skan
17367169689Skan	* config/arm/arm.c (target_fpu_name, target_fpe_name)
17368169689Skan	(target_float_abi_name, target_abi_name, structure_size_string)
17369169689Skan	(arm_pic_register_string): Delete.
17370169689Skan	(arm_handle_option): Don't set the above variables here, except
17371169689Skan	in the handling of -mhard-float and -msoft-float.
17372169689Skan	* config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
17373169689Skan	(mpic-register=, mstructure-size-boundary=): Add Var()s.
17374169689Skan
17375169689Skan	* config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
17376169689Skan	(avr_handle_option): Delete.
17377169689Skan	* config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
17378169689Skan	them.
17379169689Skan
17380169689Skan	* config/bfin/bfin.c (bfin_library_id): Delete.
17381169689Skan	(bfin_handle_option): Don't set it.
17382169689Skan	* config/bfin/bfin.opt (mshared-library-id=): Add Var().
17383169689Skan
17384169689Skan	* config/c4x/c4x.h (c4x_rpts_cycles): Delete.
17385169689Skan	* config/c4x/c4x.c (c4x_rpts_cycles): Delete.
17386169689Skan	(c4x_handle_option): Don't set c4x_rpts_cycles here.
17387169689Skan	* config/c4x/c4x.opt (mrpts=): Add Var().
17388169689Skan
17389169689Skan	* config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
17390169689Skan	cris_elinux_stacksize_str here.
17391169689Skan	* config/cris/aout.opt (melinux-stacksize=): Add Var().
17392169689Skan	* config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
17393169689Skan	(cris_tune_str, cris_elinux_stacksize_str): Delete.
17394169689Skan	* config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
17395169689Skan	(cris_tune_str, cris_elinux_stacksize_str): Delete.
17396169689Skan	(cris_handle_option): Don't set the above variables here.
17397169689Skan	* config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
17398169689Skan	(max-stackframe=): Add Var()s.
17399169689Skan
17400169689Skan	* config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
17401169689Skan	* config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
17402169689Skan	(ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
17403169689Skan	(ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
17404169689Skan	(ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
17405169689Skan	(ix86_branch_cost_string, ix86_align_funcs_string): Delete.
17406169689Skan	(ix86_handle_option): Don't set the above variables here.
17407169689Skan	* config/i386/i386.opt (malign-functions=, malign-jumps=)
17408169689Skan	(malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
17409169689Skan	(mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
17410169689Skan	Var()s.
17411169689Skan
17412169689Skan	* config/ia64/ia64.h (ia64_tls_size): Delete.
17413169689Skan	* config/ia64/ia64.c (ia64_tls_size): Delete.
17414169689Skan	(ia64_handle_option): Treat -mtls-size= as a UInteger option,
17415169689Skan	reading the integer argument from the "value" parameter.  Don't
17416169689Skan	set ia64_tls_size here.
17417169689Skan	* config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
17418169689Skan	Add Var() and Init().
17419169689Skan
17420169689Skan	* config/m32r/m32r.h (m32r_cache_flush_func): Delete.
17421169689Skan	(m32r_cache_flush_trap): Delete.
17422169689Skan	* config/m32r/m32r.c (m32r_cache_flush_func): Delete.
17423169689Skan	(m32r_cache_flush_trap): Delete.
17424169689Skan	(m32r_handle_option): Don't set the above variables when handling
17425169689Skan	-mflush-func= and -mflush-trap=.
17426169689Skan	* config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
17427169689Skan	and Init()s.
17428169689Skan
17429169689Skan	* config/mips/mips.h (mips_cache_flush_func): Delete.
17430169689Skan	* config/mips/mips.c (mips_arch_string, mips_tune_string)
17431169689Skan	(mips_cache_flush_func): Delete.
17432169689Skan	(mips_handle_option): Don't set the above variables when handling
17433169689Skan	-march=, -mtune= and -mflush-func=.
17434169689Skan	* config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
17435169689Skan
17436169689Skan	* config/s390/s390.c (s390_arch_string): Delete.
17437169689Skan	(s390_handle_option): Don't set it here.
17438169689Skan	* config/s390/s390.opt (march=): Add Var().
17439169689Skan
17440169689Skan	* config/sparc/sparc.h (sparc_cmodel_string): Delete.
17441169689Skan	* config/sparc/sparc.c (sparc_cmodel_string): Delete.
17442169689Skan	(sparc_handle_option): Don't set it here.
17443169689Skan	* config/sparc/sparc.opt (mcmodel=): Add Var().
17444169689Skan
17445169689Skan2005-05-25  Roger Sayle  <roger@eyesopen.com>
17446169689Skan
17447169689Skan	* convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
17448169689Skan	call to convert_to_integer by building the NOP_EXPR directly.
17449169689Skan
17450169689Skan2005-05-25  Richard Sandiford  <rsandifo@redhat.com>
17451169689Skan
17452169689Skan	* config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
17453169689Skan
17454169689Skan2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
17455169689Skan	    Jeff Law  <law@redhat.com>
17456169689Skan
17457169689Skan	* tree-cfg.c (verify_expr, case ADDR_EXPR): Verify invariant,
17458169689Skan	constant and side_effects of the ADDR_EXPR are consistent.
17459169689Skan
17460169689Skan	* tree-nested.c (convert_local_reference): Set CURRENT_FUNCTION_DECL
17461169689Skan	appropriately around calls to recompute_tree_invarant_for_addr_expr.
17462169689Skan
17463169689Skan2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
17464169689Skan
17465169689Skan	* config/s390/s390.c (GP_ARG_NUM_REG, FP_ARG_NUM_REG): New defines.
17466169689Skan	(s390_function_arg, s390_gimplify_va_arg): Use them.
17467169689Skan	(s390_register_info): Save only required subset of argument
17468169689Skan	registers into save area for va_list.
17469169689Skan	(s390_va_start): Initialize only required elements of va_list struct.
17470169689Skan	(s390_build_builtin_va_list): Set va_list_[gf]pr_counter_field.
17471169689Skan
17472169689Skan2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
17473169689Skan
17474169689Skan	* reload1.c (verify_initial_elim_offsets): Return boolean status
17475169689Skan	instead of aborting.
17476169689Skan	(reload): Adapt verify_initial_elim_offsets call site.  Restart
17477169689Skan	main loop if some initial elimination offsets changed.
17478169689Skan
17479169689Skan2005-05-25  Adam Nemet  <anemet@lnxw.com>
17480169689Skan
17481169689Skan	* config/rs6000/lynx.h (CC1_SPEC): Use -maix-struct-return instead
17482169689Skan	of -mno-svr4-struct-return.
17483169689Skan
17484169689Skan2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
17485169689Skan
17486169689Skan	Fix PR tree-optimization/21705
17487169689Skan
17488169689Skan	* tree-ssa-pre.c (in_fre): New static variable.
17489169689Skan	(create_value_expr_from): Recursively value number reference ops
17490169689Skan	in argument lists.
17491169689Skan	(can_value_number_call): Temporary restrict only exists for
17492169689Skan	PRE, not FRE.
17493169689Skan
17494169689Skan2005-05-25  Kazu Hirata  <kazu@cs.umass.edu>
17495169689Skan
17496169689Skan	* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Replace
17497169689Skan	sizeof (bitmap *) with sizeof (bitmap).
17498169689Skan
17499169689Skan2005-05-25  Daniel Berlin <dberlin@dberlin.org>
17500169689Skan
17501169689Skan	* lambda-code.c (perfect_nestify): Call update_stmt on the exit
17502169689Skan	condition.
17503169689Skan
17504169689Skan2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
17505169689Skan
17506169689Skan	* config/s390/s390.c (TARGET_INSN_VALID_WITHIN_DOLOOP): Set to
17507169689Skan	hook_bool_rtx_true.
17508169689Skan
17509169689Skan2005-05-25  Jan Hubicka  <jh@suse.cz>
17510169689Skan
17511169689Skan	* Makefile.in (ipa-inline.o): Add COEVERAGE_H dependency.
17512169689Skan	* cgraph.c (cgraph_create_node): Reset estimated_growth.
17513169689Skan	* cgraph.h (cgraph_global_info): Add estimated_growth.
17514169689Skan	* ipa-inline.c: Include coverage.h
17515169689Skan	(max_insns, max_count): New static variables.
17516169689Skan	(cgraph_estimate_size_after_inlining): Cache the result.
17517169689Skan	(cgraph_estimate_growth):
17518169689Skan	* passes.c (rest_of_clean_state): Kill coverage_end_function.
17519169689Skan	* timevar.def (TV_INLINE_HEURISTICS): New timevar.
17520169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move profiling before
17521169689Skan	inlining.
17522169689Skan	(ipa_passes): Initialize bitmaps.
17523169689Skan
17524169689Skan2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
17525169689Skan
17526169689Skan	* loop-doloop.c: Include "target.h".
17527169689Skan	  (doloop_valid_p): Move tests to function in targhooks.c.
17528169689Skan	* target.h (struct gcc_target): New target hook
17529169689Skan	  "insn_valid_within_doloop".
17530169689Skan	* target-def.h: Define default value for "insn_valid_within_doloop".
17531169689Skan	  (TARGET_INITIALIZER): Insert new target hook into initializer.
17532169689Skan	* targhooks.c (default_insn_valid_within_doloop): New function.
17533169689Skan	* targhooks.h (default_insn_valid_within_doloop): Declare.
17534169689Skan	* hooks.c (hook_bool_rtx_true): New function.
17535169689Skan	* hooks.h (hook_bool_rtx_true): Declare.
17536169689Skan	* doc/tm.texi: Add documentation for new target hook.
17537169689Skan
17538169689Skan2005-05-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
17539169689Skan
17540169689Skan	PR target/21412
17541169689Skan	* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): New macro
17542169689Skan	* config/sparc/sparc-protos.h (tls_symbolic_operand): Delete.
17543169689Skan	(sparc_tls_referenced_p): New prototype.
17544169689Skan	* config/sparc/sparc.c (tls_symbolic_operand): Delete.
17545169689Skan	(sparc_expand_move): Look for TLS addresses with constant offsets.
17546169689Skan	(legitimate_constant_p): Use SPARC_SYMBOL_REF_TLS_P instead of
17547169689Skan	tls_symbolic_operand.
17548169689Skan	(legitimate_pic_operand_p): Likewise.
17549169689Skan	(legitimate_address_p): Likewise.
17550169689Skan	(legitimize_address): Likewise.
17551169689Skan	(sparc_tls_symbol_ref_1): New function.
17552169689Skan	(sparc_tls_referenced_p): New function.
17553169689Skan	* config/sparc/predicates.md (tgd_symbolic_operand): Use
17554169689Skan	SYMBOL_REF_TLS_MODEL instead of tls_symbolic_operand.
17555169689Skan	(tld_symbolic_operand): Likewise.
17556169689Skan	(tie_symbolic_operand): Likewise.
17557169689Skan	(tle_symbolic_operand): Likewise.
17558169689Skan
17559169689Skan2005-05-24  DJ Delorie  <dj@redhat.com>
17560169689Skan
17561169689Skan	* common.opt (-Wattributes): New.  Default true.
17562169689Skan	* doc/invoke.texi (-Wno-attributes): Document.
17563169689Skan
17564169689Skan	* attribs.c (decl_attributes): Move warning control from if() to
17565169689Skan	warning(OPT_*).
17566169689Skan	* c-common.c (handle_packed_attribute): Likewise.
17567169689Skan	(handle_nocommon_attribute): Likewise.
17568169689Skan	(handle_common_attribute): Likewise.
17569169689Skan	(handle_noreturn_attribute): Likewise.
17570169689Skan	(handle_noinline_attribute): Likewise.
17571169689Skan	(handle_always_inline_attribute): Likewise.
17572169689Skan	(handle_used_attribute): Likewise.
17573169689Skan	(handle_unused_attribute): Likewise.
17574169689Skan	(handle_const_attribute): Likewise.
17575169689Skan	(handle_transparent_union_attribute): Likewise.
17576169689Skan	(handle_constructor_attribute): Likewise.
17577169689Skan	(handle_destructor_attribute): Likewise.
17578169689Skan	(handle_mode_attribute): Likewise.
17579169689Skan	(handle_alias_attribute): Likewise.
17580169689Skan	(handle_visibility_attribute): Likewise.
17581169689Skan	(handle_tls_model_attribute): Likewise.
17582169689Skan	(handle_malloc_attribute): Likewise.
17583169689Skan	(handle_returns_twice_attribute): Likewise.
17584169689Skan	(handle_pure_attribute): Likewise.
17585169689Skan	(handle_deprecated_attribute): Likewise.
17586169689Skan	(handle_vector_size_attribute): Likewise.
17587169689Skan	(handle_nothrow_attribute): Likewise.
17588169689Skan	(handle_cleanup_attribute): Likewise.
17589169689Skan	(handle_warn_unused_result_attribute): Likewise.
17590169689Skan	(handle_sentinel_attribute): Likewise.
17591169689Skan	* c-decl.c (diagnose_mismatched_decls): Likewise.
17592169689Skan	(start_decl): Likewise.
17593169689Skan	(grokdeclarator): Likewise.
17594169689Skan	(start_function): Likewise.
17595169689Skan	* c-format.c (check_function_format): Likewise.
17596169689Skan	* stor-layout.c (place_field): Likewise.
17597169689Skan	(finalize_record_size): Likewise.
17598169689Skan	* tree.c (handle_dll_attribute)): Likewise.
17599169689Skan	* varasm.c (default_assemble_visibility): Likewise.
17600169689Skan	* config/darwin.c (darwin_handle_weak_import_attribute): Likewise.
17601169689Skan	(darwin_assemble_visibility): Likewise.
17602169689Skan	* config/arc/arc.c (arc_handle_interrupt_attribute): Likewise.
17603169689Skan	* config/arm/arm.c (arm_handle_fndecl_attribute): Likewise.
17604169689Skan	(arm_handle_isr_attribute): Likewise.
17605169689Skan	* config/avr/avr.c (avr_handle_progmem_attribute): Likewise.
17606169689Skan	(avr_handle_fndecl_attribute): Likewise.
17607169689Skan	* config/bfin/bfin.c (handle_int_attribute): Likewise.
17608169689Skan	* config/c4x/c4x.c (c4x_handle_fntype_attribute): Likewise.
17609169689Skan	* config/h8300/h8300.c (h8300_handle_fndecl_attribute): Likewise.
17610169689Skan	(h8300_handle_eightbit_data_attribute): Likewise.
17611169689Skan	(h8300_handle_tiny_data_attribute): Likewise.
17612169689Skan	* config/i386/i386.c (ix86_handle_cdecl_attribute): Likewise.
17613169689Skan	(ix86_handle_regparm_attribute): Likewise.
17614169689Skan	(ix86_handle_struct_attribute): Likewise.
17615169689Skan	* config/i386/winnt.c (ix86_handle_shared_attribute): Likewise.
17616169689Skan	(i386_pe_encode_section_info): Likewise.
17617169689Skan	* config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
17618169689Skan	* config/ip2k/ip2k.c (ip2k_handle_progmem_attribute): Likewise.
17619169689Skan	(ip2k_handle_fndecl_attribute): Likewise.
17620169689Skan	* config/m32r/m32r.c (m32r_handle_model_attribute): Likewise.
17621169689Skan	* config/m68hc11/m68hc11 (m68hc11_handle_page0_attribute): Likewise.
17622169689Skan	(m68hc11_handle_fntype_attribute): Likewise.
17623169689Skan	(m68hc11_encode_section_info): Likewise.
17624169689Skan	* config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
17625169689Skan	* config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
17626169689Skan	* config/ns32k/ns32k.c (ns32k_handle_fntype_attribute): Likewise.
17627169689Skan	* config/rs6000/rs6000.c (rs6000_handle_longcall_attribute): Likewise.
17628169689Skan	* config/sh/sh.c (sh_handle_interrupt_handler_attribute): Likewise.
17629169689Skan	(sh_handle_sp_switch_attribute): Likewise.
17630169689Skan	(sh_handle_trap_exit_attribute): Likewise.
17631169689Skan	* config/sh/symbian.c (sh_symbian_dllimport_p): Likewise.
17632169689Skan	(sh_symbian_handle_dll_attribute): Likewise.
17633169689Skan	* config/stormy16/stormy16.c (xstormy16_handle_interrupt_attribute): Likewise.
17634169689Skan	(xstormy16_handle_below100_attribute): Likewise.
17635169689Skan	* config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
17636169689Skan
17637169689Skan	* c-common.c (unsigned_conversion_warning): Move warning control
17638169689Skan	from if() to warning(OPT_*).
17639169689Skan	(c_common_truthvalue_conversion): Likewise.
17640169689Skan	(c_do_switch_warnings): Likewise.
17641169689Skan	* c-decl.c (diagnose_mismatched_decls): Likewise.
17642169689Skan	(diagnose_mismatched_decls): Likewise.
17643169689Skan	(define_label): Likewise.
17644169689Skan	(grokdeclarator): Likewise.
17645169689Skan	* c-format.c (check_format_info): Likewise.
17646169689Skan	* c-lex.c (interpret_integer): Likwise.
17647169689Skan	(lex_string): Likewise.
17648169689Skan	* c-opts.c (c_common_post_options): Likewise.
17649169689Skan	* c-parser.c (c_parser_unary_expression): Likewise.
17650169689Skan	* c-pragma.c (handle_pragma_redefine_extname): Likewise.
17651169689Skan	(handle_pragma_extern_prefix): Likewise.
17652169689Skan	* c-typeck.c (build_binary_op): Likewise.
17653169689Skan	* gcse.c (is_too_expensive): Likewise.
17654169689Skan	* opts.c (decode_options): Likewise.
17655169689Skan	* stor-layout.c (place_field): Likewise.
17656169689Skan	* tree-cfg.c (remove_bb): Likewise.
17657169689Skan
17658169689Skan	* c.opt (-Wreturn-type): Add Var(warn_return_type).
17659169689Skan	* flags.h (warn_return_type): Remove.
17660169689Skan	* toplev.c (warn_return_type): Likewise.
17661169689Skan
17662169689Skan2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
17663169689Skan
17664169689Skan	* configure.ac: Don't use gcc_AC_C_LONG_LONG.  Check for
17665169689Skan	existence of long long and __int64 before determining their size.
17666169689Skan	* aclocal.m4: Delete gcc_AC_C_LONG_LONG.
17667169689Skan	* configure, config.h.in: Regenerate.
17668169689Skan
17669169689Skan2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
17670169689Skan
17671169689Skan	* configure: Regenerate.
17672169689Skan
17673169689Skan2005-05-24  Ziemowit Laski  <zlaski@apple.com>
17674169689Skan
17675169689Skan	* c-common.h (objc_comptypes): Remove prototype.
17676169689Skan	(objc_compare_types): New prototype.
17677169689Skan	(objc_volatilized_decl): Likewise.
17678169689Skan	(objc_type_quals_match): Likewise.
17679169689Skan	* c-decl.c (objc_mark_locals_volatile): Streamline by calling
17680169689Skan	objc_volatilize_decl().
17681169689Skan	* c-typeck.c (comp_target_types): Remove third parameter; do
17682169689Skan	not call objc_comptypes().
17683169689Skan	(comptypes): Remove calls to objc_comptypes().
17684169689Skan	(build_function_call): Extend compatible prototype check to ObjC.
17685169689Skan	(build_conditional_expr): Adjust call to comp_target_types().
17686169689Skan	(convert_for_assignment): Call objc_compare_types() instead of
17687169689Skan	objc_comptypes(); adjust calls to comp_target_types(); call
17688169689Skan	objc_type_quals_match() before issuing qualifier mismatch
17689169689Skan	warnings.
17690169689Skan	(build_binary_op): Call objc_compare_types() before issuing
17691169689Skan	pointer mismatch warnings; adjust calls to
17692169689Skan	comp_target_types().
17693169689Skan	* stub-objc.c (objc_comptypes): Remove stub.
17694169689Skan	(objc_compare_types): New stub.
17695169689Skan	(objc_volatilized_decl): Likewise.
17696169689Skan	(objc_type_quals_match): Likewise.
17697169689Skan
17698169689Skan2005-05-24  Paolo Carlini  <pcarlini@suse.de>
17699169689Skan
17700169689Skan	* config/ia64/ia64intrin.h: Define nothing for C++:
17701169689Skan	overloaded builtins have been ported to C++.
17702169689Skan
17703169689Skan2005-05-24  Jeff Law  <law@redhat.com>
17704169689Skan
17705169689Skan	* tree-nested.c (build_addr): New "context" argument.  Temporarily
17706169689Skan	set current_function_decl around the call to build the ADDR_EXPR.
17707169689Skan	(get_static_chain): Pass proper context to build_addr.
17708169689Skan	(convert_nl_goto_reference): Likewise.
17709169689Skan	(convert_tramp_reference): Likewise.
17710169689Skan	(final_nesting_tree_1): Likewise.
17711169689Skan	* tree-profile.c (tree_gen_interval_profiler): Likewise.
17712169689Skan	(tree_gen_pow2_profiler): Likewise.
17713169689Skan	(tree_gen_one_value_profiler): Likewise.
17714169689Skan	* tree-ssa-loop-ivopts.c (build_addr_strip_iref): Likewise.
17715169689Skan	* tree.h (build_addr): Update prototype.
17716169689Skan
17717169689Skan2005-05-24  Kazu Hirata  <kazu@cs.umass.edu>
17718169689Skan
17719169689Skan	* tree-flow.h (bb_ann_d): Remove has_escape_site.
17720169689Skan	* tree-ssa-alias.c (compute_points_to_addr_escape): Don't
17721169689Skan	write to has_escape_site.
17722169689Skan
17723169689Skan2005-05-24  Jeff Law  <law@redhat.com>
17724169689Skan
17725169689Skan	* Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h.
17726169689Skan	* tree-cfg.c: Include tree-ssa-propagate.h.
17727169689Skan	(replace_uses_by): Call recompute_tree_invarant_for_addr_expr as
17728169689Skan	needed.
17729169689Skan
17730169689Skan2005-05-24  Nick Clifton  <nickc@redhat.com>
17731169689Skan
17732169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17733169689Skan	__NO_FPRS__ when 'f' class registers will not be available.
17734169689Skan
17735169689Skan2005-05-24  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
17736169689Skan
17737169689Skan	* config/m32r/m32r.c (m32r_expand_block_move): Return 0 if
17738169689Skan	nothing was done.
17739169689Skan	* config/m32r/m32r.md (movmemsi): If m32r_expand_block_move did
17740169689Skan	nothing then FAIL.
17741169689Skan	* config/m32r/m32r/m32r-protos.h  (m32r_expand_block_move): Update
17742169689Skan	prototype.
17743169689Skan
17744169689Skan2005-05-23  Jeff Law  <law@redhat.com>
17745169689Skan
17746169689Skan	* tree-ssa-dom.c (cprop_into_stmt): Do not call
17747169689Skan	recompute_tree_invariant_for_addr_expr here.
17748169689Skan	(optimize_stmt): Call it here instead and do so if anything
17749169689Skan	at all has changed in the statement and the RHS is an ADDR_EXPR.
17750169689Skan	* tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): If
17751169689Skan	needed, call recompute_tree_invariant_for_addr_expr.
17752169689Skan	* tree-ssa-propagate.c (substitute_and_fold): Call
17753169689Skan	recompute_tree_invariant_for_addr_expr as needed.
17754169689Skan
17755169689Skan2005-05-23  Andreas Krebbel  <krebbel1@de.ibm.com>
17756169689Skan
17757169689Skan	* config/s390/s390.c (s390_optimize_prologue): Don't replace an insn
17758169689Skan	saving less registers than the replacement.
17759169689Skan
17760169689Skan2005-05-23  Jan Hubicka  <jh@suse.cz>
17761169689Skan
17762169689Skan	* tree-flow.h (stmt_ann_d): Kill GTY ((skip)) mark on BB.
17763169689Skan
17764169689Skan2005-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
17765169689Skan
17766169689Skan	* config/sparc/sparc-protos.h (sparc_expand_move): New prototype.
17767169689Skan	* config/sparc/sparc.c (sparc_expand_move): New function.
17768169689Skan	(sparc_emit_set_const64): Rewrite assert condition on entry.
17769169689Skan	(legitimate_constant_p) <CONST_VECTOR>: New case.
17770169689Skan	(legitimize_pic_address): Use TARGET_ARCH64 to select the mode.
17771169689Skan	* config/sparc/sparc.md (movqi, movhi, movsi, movdi, movV32,
17772169689Skan	movV64, movtf): Use nonimmediate_operand for the first operand.
17773169689Skan	Rewrite.  Only invoke sparc_expand_move.
17774169689Skan	* config/sparc/predicates.md (input_operand): Reorder tests.
17775169689Skan
17776169689Skan2005-05-23  Jan Beulich  <jbeulich@novell.com>
17777169689Skan
17778169689Skan	* gthr-posix.h (__gthread_recursive_mutex_init_function): Add
17779169689Skan	missing return statement.
17780169689Skan
17781169689Skan2005-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
17782169689Skan
17783169689Skan	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Use
17784169689Skan	emit_move_insn for moves to TFmode stack slots.
17785169689Skan
17786169689Skan2005-05-21  Richard Guenther  <rguenth@gcc.gnu.org>
17787169689Skan
17788169689Skan	* tree-stdarg.c (execute_optimize_stdarg): Handle references
17789169689Skan	to va_list of the form &va[0].
17790169689Skan
17791169689Skan2005-05-20  Jan Hubicka  <jh@suse.cz>
17792169689Skan
17793169689Skan	* Makefile.in (insn-emit.o): Add basic-block.h dependency.
17794169689Skan	* genemit.c (main): Make insn-emit to include basic-block.h too.
17795169689Skan
17796169689Skan2005-05-20  Jan Hubicka  <jh@suse.cz>
17797169689Skan
17798169689Skan	* cgraphunit.c (cgraph_expand_function): Force function being lowered.
17799169689Skan
17800169689Skan2005-05-19  Richard Henderson  <rth@redhat.com>
17801169689Skan
17802169689Skan	* config/alpha/alpha.c (emit_unlikely_jump, emit_load_locked,
17803169689Skan	emit_store_conditional): Split out from ...
17804169689Skan	(alpha_split_atomic_op): ... here.
17805169689Skan	(alpha_split_compare_and_swap): New; extract from .md file.
17806169689Skan	(alpha_split_lock_test_and_set): Likewise.
17807169689Skan	* config/alpha/alpha-protos.h: Update.
17808169689Skan	* config/alpha/sync.md (sync_compare_and_swap<I48MODE>): Move
17809169689Skan	split code into alpha.c.
17810169689Skan	(sync_lock_test_and_set<I48MODE>): Likewise.
17811169689Skan
17812169689Skan2005-05-19  Richard Henderson  <rth@redhat.com>
17813169689Skan
17814169689Skan	* unwind.h, unwind-pe.h: Revert gcc_unreachable change of 05-17.
17815169689Skan
17816169689Skan2005-05-19  Richard Henderson  <rth@redhat.com>
17817169689Skan
17818169689Skan	* config/i386/sse.md (mulv4si3): Use all register inputs.
17819169689Skan	(mulv2di3): Likewise.
17820169689Skan
17821169689Skan2005-05-19  Richard Guenther  <rguenth@gcc.gnu.org>
17822169689Skan
17823169689Skan	* tree-ssa-loop-ivopts.c (determine_base_object): Use
17824169689Skan	build_fold_addr_expr to generate trees of correct type.
17825169689Skan	Use fold_buildN if possible.
17826169689Skan
17827169689Skan2005-05-19  Jan Hubicka  <jh@suse.cz>
17828169689Skan
17829169689Skan	* basic-block.h (REG_BR_PROB_BASE): Define.
17830169689Skan	* cgraph.c (cgraph_create_edge): Initialize loop_nest and count.
17831169689Skan	(dump_cgraph_node): Dump count.
17832169689Skan	(cgraph_clone_edge): Rescale counts.
17833169689Skan	(cgraph_clone_node): Likewise.
17834169689Skan	* cgraph.h: Include basic-block.h
17835169689Skan	(cgraph_node): Add count.
17836169689Skan	(cgraph_edge): Add count and loop_nest.
17837169689Skan	(cgraph_node, cgraph_edge, cgraph_clone_edge, cgraph_clone_node):
17838169689Skan	Update prototypes.
17839169689Skan	* cgraphunit.c: Kill now redundant inlining comment.
17840169689Skan	(cgraph_create_edges): Make static, maintain current basic block;
17841169689Skan	fix pasto.
17842169689Skan	(record_call_1): Fill in new fields.
17843169689Skan	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
17844169689Skan	cgraph_clone_node.
17845169689Skan	(cgraph_decide_recursive_inlining): Likewise.
17846169689Skan	* rtl.h (REG_BR_PROB_BASE): Kill.
17847169689Skan	* tree-inline.c (copy_body_r): Update call of cgraph_clone_edge.
17848169689Skan	(expand_call_inline): Update call of cgraph_create_edge.
17849169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
17850169689Skan
17851169689Skan2005-05-19  Nick Clifton  <nickc@redhat.com>
17852169689Skan
17853169689Skan	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use the
17854169689Skan	new rs6000_explicit_options structure.
17855169689Skan
17856169689Skan2005-05-19  Richard Henderson  <rth@redhat.com>
17857169689Skan
17858169689Skan	PR target/21390
17859169689Skan	* config/alpha/alpha.c (alpha_emit_conditional_branch): Move
17860169689Skan	TFmode code swapping ...
17861169689Skan	(alpha_emit_xfloating_compare): ... here.
17862169689Skan	(alpha_emit_setcc): Update to match.
17863169689Skan	(alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS.
17864169689Skan
17865169689Skan2005-05-19  Richard Henderson  <rth@redhat.com>
17866169689Skan
17867169689Skan	PR target/21657
17868169689Skan	* config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
17869169689Skan	memory indirection in local-dynamic case.
17870169689Skan
17871169689Skan2005-05-18  Jie Zhang  <jie.zhang@analog.com>
17872169689Skan	    Bernd Schmidt  <bernd.schmidt@analog.com>
17873169689Skan
17874169689Skan	* config/bfin/bfin.c (branch_dest): Add comment why it's
17875169689Skan	necessary.
17876169689Skan	* config/bfin/bfin.md (attr "length" default): Change the offset of
17877169689Skan	forward conditional branch of length 4 from 4096 to 4092.
17878169689Skan
17879169689Skan2005-05-19  Jan Beulich  <jbeulich@novell.com>
17880169689Skan
17881169689Skan	* unwind-compat.c: Include tconfig.h and tsystem.h.
17882169689Skan	* unwind-dw2-fde-compat.c: Likewise.
17883169689Skan
17884169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
17885169689Skan
17886169689Skan	PR 21541
17887169689Skan	* ifcvt.c (noce_process_if_block): Avoid conversion when the
17888169689Skan	memory destination is readonly.
17889169689Skan
17890169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
17891169689Skan
17892169689Skan	PR 21541
17893169689Skan	* tree-ssa-operands.c (opf_non_specific): New.
17894169689Skan	(get_asm_expr_operands): Set it.
17895169689Skan	(add_call_clobber_ops, add_call_read_ops): Likewise.
17896169689Skan	(add_stmt_operand): Test it instead of opf_kill_def when
17897169689Skan	considering unmodifiable variables.
17898169689Skan
17899169689Skan	* tree-ssa-operands.c (get_expr_operands): Fix exact test.
17900169689Skan
17901169689Skan2005-05-19  Kazu Hirata  <kazu@cs.umass.edu>
17902169689Skan
17903169689Skan	* cfgexpand.c, tree-cfg.c, tree-inline.c, tree-optimize.c,
17904169689Skan	tree-ssa-forwprop.c: Fix comment typos.
17905169689Skan	* doc/invoke.texi: Fix a typo.
17906169689Skan
17907169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
17908169689Skan
17909169689Skan	* config.gcc (powerpc-*-linux*): Include linux64.opt when
17910169689Skan	including linux64.h.
17911169689Skan
17912169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
17913169689Skan
17914169689Skan	* tree-cfg.c (pass_remove_useless): Revert last change.
17915169689Skan	* tree-optimize.c (init_tree_optimization_passes): Initialize
17916169689Skan	all_lowering_passes with PROP_gimple_any.
17917169689Skan
17918169689Skan2005-05-18  Devang Patel  <dpatel@apple.com>
17919169689Skan
17920169689Skan	* config/rs6000/rs6000.md (insvsi_internal1): Subtract shift from
17921169689Skan	the mask end.
17922169689Skan
17923169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
17924169689Skan
17925169689Skan	* tree-ssa-forwprop.c (cfg_changed): New.
17926169689Skan	(tidy_after_forward_propagate_addr): New.
17927169689Skan	(forward_propagate_addr_expr): Use it, and fold_stmt_inplace.
17928169689Skan	(forward_propagate_addr_into_variable_array_index): Likewise.
17929169689Skan	(tree_ssa_forward_propagate_single_use_vars): Cleanup cfg if
17930169689Skan	edges were removed.
17931169689Skan
17932169689Skan2005-05-18  Geoffrey Keating  <geoffk@apple.com>
17933169689Skan
17934169689Skan	* dummy-checksum.c: New.
17935169689Skan	* genchecksum.c: New.
17936169689Skan	* c.opt (print_pch_checksum): New flag.
17937169689Skan	* c-pch.c (struct c_pch_validity): Make much shorter.
17938169689Skan	(no_checksum): New.
17939169689Skan	(host_machine): Remove.
17940169689Skan	(target_machine): Remove.
17941169689Skan	(get_ident): Change PCH version number.
17942169689Skan	(pch_init): When -fverbose-asm, print out the compiler fingerprint.
17943169689Skan	Don't put triplets or version string in PCH validity data.
17944169689Skan	Do put the compiler checksum in the validity data.
17945169689Skan	(c_common_valid_pch): Don't check triplets or version string.  Do
17946169689Skan	check checksum.
17947169689Skan	(c_common_print_pch_checksum): New.
17948169689Skan	* c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum.
17949169689Skan	Print fingerprint with -v.
17950169689Skan	* c-common.h (c_common_print_pch_checksum): New.
17951169689Skan	(executable_checksum): New.
17952169689Skan	* Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c.
17953169689Skan	(cc1-dummy): New rule.
17954169689Skan	(cc1-checksum.c): New rule.
17955169689Skan	(cc1-checksum.o): New rule.
17956169689Skan	(cc1): Add checksum support.
17957169689Skan	(build/genchecksum): New.
17958169689Skan	(build/genchecksum.o): New.
17959169689Skan	(dummy-checksum.o): New.
17960169689Skan	(genobjnames): Add genchecksum.o.
17961169689Skan	(mostlyclean): Remove *-checksum.c.
17962169689Skan	(gnucompare): Add libgcc to list of directories checked.
17963169689Skan	Make comparison problems in libgcc/ and with checksum files only
17964169689Skan	be warnings.
17965169689Skan	* doc/invoke.texi (Precompiled Headers): Remove caution.
17966169689Skan	Document that it must be the exact same binary.  Add a few
17967169689Skan	known-safe flags to the list.
17968169689Skan
17969169689Skan	* rs6000/predicates.md (fix_trunc_dest_operand): New.
17970169689Skan	* rs6000/rs6000.md (fix_truncdfsi2): Use fix_trunc_dest_operand.
17971169689Skan	Check that a memory operand is valid before trying to use it.
17972169689Skan
17973169689Skan	* tree-cfg.c (pass_remove_useless): This pass works on trees.
17974169689Skan
17975169689Skan2005-05-18  Richard Guenther  <rguenth@gcc.gnu.org>
17976169689Skan
17977169689Skan	* tree.c (build1_stat): Don't try to handle two-operand
17978169689Skan	tree codes.
17979169689Skan
17980169689Skan2005-05-18  Richard Sandiford  <rsandifo@redhat.com>
17981169689Skan
17982169689Skan	* config.gcc (sh*-*-*): Define SUPPORT_* macros to 1.
17983169689Skan	* config/sh/sh.h: Update mask names throughout.
17984169689Skan	(target_flags, ISIZE_BIT, DALIGN_BIT, SH1_BIT, SH2_BIT, SH3_BIT)
17985169689Skan	(SH_E_BIT, HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, SH4A_BIT, FMOVD_BIT)
17986169689Skan	(SH5_BIT, SPACE_BIT, BIGTABLE_BIT, RELAX_BIT, USERMODE_BIT)
17987169689Skan	(HITACHI_BIT, NOMACSAVE_BIT, PREFERGOT_BIT, PADSTRUCT_BIT)
17988169689Skan	(LITTLE_ENDIAN_BIT, IEEE_BIT, SAVE_ALL_TR_BIT, HARD_SH2A_BIT)
17989169689Skan	(HARD_SH2A_DOUBLE_BIT, INDEXED_ADDRESS_BIT, PT_FIXED_BIT)
17990169689Skan	(INVALID_SYMBOLS_BIT, ADJUST_UNROLL_BIT, TARGET_DUMPISIZE)
17991169689Skan	(TARGET_ALIGN_DOUBLE, TARGET_SH1, TARGET_SH2, TARGET_SH3)
17992169689Skan	(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH5, TARGET_FMOVD)
17993169689Skan	(TARGET_IEEE, TARGET_SMALLCODE, TARGET_BIGTABLE, TARGET_RELAX)
17994169689Skan	(TARGET_HITACHI, TARGET_NOMACSAVE, TARGET_PADSTRUCT)
17995169689Skan	(TARGET_LITTLE_ENDIAN, TARGET_USERMODE, TARGET_PREFERGOT)
17996169689Skan	(TARGET_SAVE_ALL_TARGET_REGS, TARGET_ALLOW_INDEXED_ADDRESS)
17997169689Skan	(TARGET_PT_FIXED, TARGET_INVALID_SYMBOLS, TARGET_ADJUST_UNROLL)
17998169689Skan	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E)
17999169689Skan	(TARGET_SWITCH_SH2A, TARGET_SWITCH_SH2A_SINGLE_ONLY)
18000169689Skan	(TARGET_SWITCH_SH2A_SINGLE, TARGET_SWITCH_SH2A_NOFPU)
18001169689Skan	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E, TARGET_SWITCH_SH4_SINGLE_ONLY)
18002169689Skan	(TARGET_SWITCH_SH4_SINGLE, TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4)
18003169689Skan	(TARGET_SWITCH_SH4A, TARGET_SWITCH_SH4A_SINGLE_ONLY)
18004169689Skan	(TARGET_SWITCH_SH4A_SINGLE, TARGET_SWITCH_SH4A_NOFPU)
18005169689Skan	(TARGET_SWITCH_SH4AL, TARGET_SWITCH_SH5_64MEDIA)
18006169689Skan	(TARGET_SWITCH_SH5_64MEDIA_NOFPU, TARGET_SWITCHES_SH5_32MEDIA)
18007169689Skan	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU, TARGET_SWITCH_SH5_32_ANY_EXTRA)
18008169689Skan	(TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA, TARGET_SWITCHES)
18009169689Skan	(SUBTARGET_SWITCHES): Delete.
18010169689Skan	(TARGET_SH2E, TARGET_SH2A, TARGET_SH2A_SINGLE, TARGET_SH2A_DOUBLE)
18011169689Skan	(TARGET_SH3E, TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARVARD)
18012169689Skan	(TARGET_FPU_DOUBLE, TARGET_SH4A_ARCH, TARGET_SHMEDIA32)
18013169689Skan	(TARGET_SHMEDIA64): Redefine using other TARGET_* macros.
18014169689Skan	(TARGET_SH4): Undefine options.h definition and check MASK_SH1 as well.
18015169689Skan	(SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4, SUPPORT_SH4_SINGLE)
18016169689Skan	(SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Make numeric.
18017169689Skan	(SUPPORT_SH2): Define to 1 if SUPPORT_SH1.
18018169689Skan	(SUPPORT_SH3): Likewise SUPPORT_SH2.
18019169689Skan	(SUPPORT_SH4_NOFPU): Likewise SUPPORT_SH3.
18020169689Skan	(SUPPORT_SH4A_NOFPU, SUPPORT_SH4AL, SUPPORT_SH2A_NOFPU): Likewise
18021169689Skan	SUPPORT_SH4_NOFPU.
18022169689Skan	(SUPPORT_SH3E): Likewise SUPPORT_SH2E.
18023169689Skan	(SUPPORT_SH4_SINGLE_ONLY, SUPPORT_SH4A_SINGLE_ONLY)
18024169689Skan	(SUPPORT_SH2A_SINGLE_ONLY): Likewise SUPPORT_SH3E.
18025169689Skan	(SUPPORT_SH4A): Likewise SUPPORT_SH4.
18026169689Skan	(SUPPORT_SH4A_SINGLE): Likewise SUPPORT_SH4_SINGLE.
18027169689Skan	(SUPPORT_SH5_32MEDIA): Likewise SUPPORT_SH5_COMPACT.
18028169689Skan	(SUPPORT_SH5_32MEDIA_NOFPU): Likewise SUPPORT_SH5_COMPACT_NOFPU.
18029169689Skan	(SUPPORT_ANY_SH5_32MEDIA, SUPPORT_ANY_SH5_64MEDIA)
18030169689Skan	(SUPPORT_ANY_SH5): New macros.
18031169689Skan	(TARGET_NONE): Replace with...
18032169689Skan	(MASK_ARCH): ...this new macro.
18033169689Skan	* config/sh/elf.h: Update mask names
18034169689Skan	* config/sh/linux.h: Likewise.
18035169689Skan	* config/sh/little.h: Likewise.
18036169689Skan	* config/sh/netbsd-elf.h: Likewise.
18037169689Skan	* config/sh/symbian-pre.h: Likewise.
18038169689Skan	* config/sh/sh.c (sh_handle_option): New function.
18039169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
18040169689Skan	(calc_live_regs): Use MASK_FPU_SINGLE instead of FPU_SINGLE_BIT.
18041169689Skan	(sh_target_switches, target_switches): Delete.
18042169689Skan	(sh_pch_valid_p): Check for specific differences in the target_flags
18043169689Skan	settings.
18044169689Skan	(sh_init_cumulative_args): Use MASK_HITACHI instead of HITACHI_BIT.
18045169689Skan	* config/sh/sh.opt: New file.
18046169689Skan
18047169689Skan2005-05-18  Richard Henderson  <rth@redhat.com>
18048169689Skan
18049169689Skan	PR target/21632
18050169689Skan	* config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use
18051169689Skan	small_addr_symbolic_operand.
18052169689Skan
18053169689Skan2005-05-18  Jeff Law  <law@redhat.com>
18054169689Skan
18055169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
18056169689Skan	propagate an ADDR_EXPR if the definition and use sites are
18057169689Skan	in different EH regions.
18058169689Skan
18059169689Skan2005-05-18  Ian Lance Taylor  <ian@airs.com>
18060169689Skan
18061169689Skan	* read-rtl.c (mode_attr_index): Use obstack_grow0, not
18062169689Skan	obstack_grow.
18063169689Skan
18064169689Skan2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
18065169689Skan
18066169689Skan	* cfgrtl.c (purge_dead_edges): Don't remove fake edges.
18067169689Skan
18068169689Skan2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
18069169689Skan
18070169689Skan	Fix PR tree-optimization/21407
18071169689Skan
18072169689Skan	* tree-ssa-operands.c (note_addressable): Change
18073169689Skan	COMPONENT_REF handling in response to aliasing
18074169689Skan	discussion.
18075169689Skan
18076169689Skan2005-05-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
18077169689Skan
18078169689Skan	* config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS.
18079169689Skan	* config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise.
18080169689Skan	* config/sparc/sp-elf.h (TARGET_DEFAULT): Delete.
18081169689Skan	* doc/invoke.texi (SPARC options): Document that -mapp-regs is
18082169689Skan	the default on Solaris too.
18083169689Skan
18084169689Skan2005-05-17  Daniel Berlin  <dberlin@dberlin.org>
18085169689Skan
18086169689Skan	* tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR
18087169689Skan	is okay too.
18088169689Skan
18089169689Skan2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
18090169689Skan
18091169689Skan	* timevar.def (TV_SCEV_CONST): New timevar.
18092169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
18093169689Skan	pass_scev_cprop.
18094169689Skan	* tree-pass.h (pass_scev_cprop): Declare.
18095169689Skan	* tree-scalar-evolution.c (scev_const_prop): New function.
18096169689Skan	* tree-scalar-evolution.h (scev_const_prop): Declare.
18097169689Skan	* tree-ssa-loop.c (gate_scev_const_prop, pass_scev_cprop):
18098169689Skan	New.
18099169689Skan	* tree-cfg.c (replace_uses_by): Export.
18100169689Skan	* tree-flow.h (replace_uses_by): Declare.
18101169689Skan
18102169689Skan2005-05-17  Ziemowit Laski  <zlaski@apple.com>
18103169689Skan	    Mike Stump  <mrs@apple.com>
18104169689Skan
18105169689Skan	Yet more Objective-C++...
18106169689Skan
18107169689Skan	* c-common.h (objc_finish_try_stmt): Add.
18108169689Skan	(objc_build_synchronized): Add.
18109169689Skan	(objc_generate_write_barrier): Add.
18110169689Skan	* stub-objc.c (objc_build_synchronized): Add return value.
18111169689Skan	(objc_finish_try_stmt): Likewise.
18112169689Skan	(objc_generate_write_barrier): Add.
18113169689Skan
18114169689Skan	* c-common.h (objc_rewrite_function_call): Add.
18115169689Skan	* c-typeck.c (build_function_call): Allow objc to rewrite
18116169689Skan	FUNCTION_DECLs.
18117169689Skan	(build_modify_expr): Allow objc to generate write barriers.
18118169689Skan	* c.opt (Wassign-intercept): Add.
18119169689Skan	(Wstrict-selector-match): Add.
18120169689Skan	(fobjc-call-cxx-cdtors): Add.
18121169689Skan	(fobjc-direct-dispatch): Add.
18122169689Skan	(fobjc-gc): Add.
18123169689Skan	* dbxout.c (get_lang_number): Add Objective-C++ support.
18124169689Skan	* doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise.
18125169689Skan	(-Wstrict-selector-match): Likewise.
18126169689Skan	(-fobjc-direct-dispatch): Likewise.
18127169689Skan	(-Wassign-intercept): Likewise.
18128169689Skan	(Overall Options): Likewise.
18129169689Skan	* gengtype.c (get_output_file_with_visibility): Likewise.
18130169689Skan	* stub-objc.c (objc_rewrite_function_call): Add.
18131169689Skan	* config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support.
18132169689Skan
18133169689Skan	* c-common.c (flag_objc_exceptions): Remove.
18134169689Skan	(flag_objc_sjlj_exceptions): Remove.
18135169689Skan	* c-decl.c (objc_mark_locals_volatile): Don't change decls
18136169689Skan	that are already ok.
18137169689Skan	* c-opts.c (c_common_handle_option, case
18138169689Skan	OPT_fobjc_exceptions): Remove.
18139169689Skan	(case OPT_fobjc_sjlj_exceptions): Remove
18140169689Skan	* c.opt (fobjc-call-cxx-cdtors): Have opt create the flag.
18141169689Skan	(fobjc-exceptions): Likewise.
18142169689Skan	(fobjc-sjlj-exceptions): Likewise.
18143169689Skan	* config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add.
18144169689Skan	(OFFS_ASSIGNIVAR_FAST): Add.
18145169689Skan
18146169689Skan2005-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
18147169689Skan
18148169689Skan	* config/sparc/sparc.md (movhi): Do not test constness
18149169689Skan	of operand #1 twice.
18150169689Skan	(movsi): Likewise.
18151169689Skan	(movdi): Unconditionally accept zero as second operand
18152169689Skan	when the first is memory.
18153169689Skan	(movdi_insn_sp32): Handle above case.
18154169689Skan	(DImode splitter): Use predicates.
18155169689Skan	(DImode splitter): Use const_zero_operand predicate.
18156169689Skan	(movsf_insn): Swap 2 alternatives.
18157169689Skan
18158169689Skan2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
18159169689Skan
18160169689Skan	* tree-ssa-loop-ivopts.c (find_bivs, find_givs_in_stmt_scev): Apply
18161169689Skan	expand_simple_operations to bases of the ivs.
18162169689Skan	(tree_int_cst_sign_bit): Export.
18163169689Skan	* tree-flow.h (expand_simple_operations): Declare.
18164169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond): Use
18165169689Skan	tree_int_cst_sign_bit.
18166169689Skan	(expand_simple_operations): Export.
18167169689Skan	* tree.h (tree_int_cst_sign_bit): Declare.
18168169689Skan
18169169689Skan2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
18170169689Skan
18171169689Skan	* tree-cfg.c (tree_can_merge_blocks_p): Allow phi nodes in the
18172169689Skan	merged block.
18173169689Skan	(replace_uses_by): New function.
18174169689Skan	(tree_merge_blocks): Eliminate the phi nodes in the merged block.
18175169689Skan	* tree-flow.h (fold_stmt_inplace): Declare.
18176169689Skan	* tree-ssa-ccp.c (fold_stmt_inplace): New function.
18177169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Update dominance
18178169689Skan	info after cfg cleanup.
18179169689Skan
18180169689Skan2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
18181169689Skan
18182169689Skan	* cfgloop.h (just_once_each_iteration_p): Declaration changed.
18183169689Skan	* cfgloopanal.c (just_once_each_iteration_p): Make the loop argument
18184169689Skan	const.
18185169689Skan
18186169689Skan2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
18187169689Skan
18188169689Skan	* ggc-page.c (ggc_alloc_stat): Record amount of memory allocated.
18189169689Skan	* ggc-zone.c (ggc_alloc_zone_1): Ditto.
18190169689Skan	* timevar.c (timevar_ggc_mem_total): New variable.
18191169689Skan	(GGC_MEM_BOUND): New constant.
18192169689Skan	(get_time): Record ggc memory status.
18193169689Skan	(timevar_accumulate): Accumulate amount of ggc memory.
18194169689Skan	(timevar_print): Print consumption of ggc memory.
18195169689Skan	* timevar.def (TV_FIND_REFERENCED_VARS, TV_TREE_REDPHI,
18196169689Skan	TV_TREE_LOOP_BOUNDS, TV_TREE_LOOP_IVCANON, TV_TREE_VECTORIZATION,
18197169689Skan	TV_TREE_LINEAR_TRANSFORM): Shorten strings to fit in 22 characters.
18198169689Skan	* timevar.h (struct timevar_time_def): Add ggc_mem field.
18199169689Skan	(timevar_ggc_mem_total): Declare.
18200169689Skan
18201169689Skan2005-05-17  Kazu Hirata  <kazu@cs.umass.edu>
18202169689Skan
18203169689Skan	* tree-into-ssa.c (update_ssa): Clean up by shortening the
18204169689Skan	live range of DFS.
18205169689Skan
18206169689Skan2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
18207169689Skan
18208169689Skan	* config/cris/cris.md (ncond, ocode, rcond): Remove separate
18209169689Skan	define_code_attr.
18210169689Skan	("b<ncond:code>", "b<ocond:code>", "b<rcond:code>")
18211169689Skan	("*b<ncond:code>_reversed", "*b<ocond:code>_reversed")
18212169689Skan	("*b<rcond:code>_reversed", "s<ncond:code>", "s<rcond:code>")
18213169689Skan	("s<ocond:code>"): Rename from respectively "b<ncond>",
18214169689Skan	"b<ocond>", "b<rcond>", ("*b<ncond>_reversed",
18215169689Skan	"*b<ocond>_reversed", "*b<rcond>_reversed", "s<ncond>",
18216169689Skan	"s<rcond>" and "s<ocond>".
18217169689Skan	("b<ocond:code>", "*b<ocond:code>_reversed")
18218169689Skan	("*b<rcond:code>_reversed"): Remove extraneous backslashes in
18219169689Skan	output statement section.
18220169689Skan
18221169689Skan2005-05-17  Roger Sayle  <roger@eyesopen.com>
18222169689Skan
18223169689Skan	* c-typeck.c (common_type): Also handle BOOLEAN_TYPEs.
18224169689Skan
18225169689Skan2005-05-17  Steven Bosscher  <stevenb@suse.de>
18226169689Skan	    Stuart Hastings <stuart@apple.com>
18227169689Skan	    Jan Hubicka  <jh@suse.cz>
18228169689Skan	    Dale Johannesen  <dalej@apple.com>
18229169689Skan
18230169689Skan	* cgraph.h (cgraph_node): Add 'lowered' state.
18231169689Skan	(cgraph_lower_function): Declare.
18232169689Skan	* cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
18233169689Skan	(cgraph_lower_function): New function.
18234169689Skan	(cgraph_create_edges): Deal with lowered function bodies.
18235169689Skan	(verify_cgraph_node): Likewise.
18236169689Skan	(cgraph_analyze_function): Do lowering job.
18237169689Skan	(cgraph_build_static_cdtor): Likewise.
18238169689Skan	* function.h (struct function): Add saved_eh and saved_cfg.
18239169689Skan	* integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
18240169689Skan	* tree-cfg.c (fold_cond_expr_cond): Export.
18241169689Skan	* tree-flow.h (fold_cond_expr_cond): Declare.
18242169689Skan	* tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
18243169689Skan	pointer-set.
18244169689Skan	(struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
18245169689Skan	in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
18246169689Skan	callee_cfun, block, eh_region, eh_region_offset.
18247169689Skan	(inlining_p): New predicate.
18248169689Skan	(remap_decl): Update for new inline_data; declare newly created inline
18249169689Skan	vars in low gimple way.
18250169689Skan	(copy_body_r): Update for new datastructure, simplify some of handling
18251169689Skan	when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
18252169689Skan	deal with RESX_EXPRs.
18253169689Skan	(copy_bb): New.
18254169689Skan	(copy_edges_for_bb): Likewise.
18255169689Skan	(remap_decl_1): New.
18256169689Skan	(copy_cfg_body): New.
18257169689Skan	(copy_generic_body): Rewrite to work on low gimple.
18258169689Skan	(copy_body): Turn into simple wrapper around copy_cfg_body.
18259169689Skan	(setup_one_parameter): Insert new statements into given basic block.
18260169689Skan	(initialize_initialized_parameters): Likewise, reorganize way things are
18261169689Skan	gimplified.
18262169689Skan	(declare_return_variable): Update for new inline data datastructure.
18263169689Skan	(inline_forbidden_p): Work on low gimple.
18264169689Skan	(estimate_num_insns): Likewise.
18265169689Skan	(expand_call_inline): Work on CFG.
18266169689Skan	(push_cfun, pop_cfun): New functions.
18267169689Skan	(cfun_stack): New stack.
18268169689Skan	(add_lexical_block): New function.
18269169689Skan	(gimple_expand_calls_inline): Work on basic block.
18270169689Skan	(optimize_inline_calls): Likewise.
18271169689Skan	(clone_body, save_body, unsave_ewpr_now): Update for new
18272169689Skan	datastructures.
18273169689Skan	(declare_inline_vars): Work on block instead of bind_expr.
18274169689Skan	(inlining_p): New predicate.
18275169689Skan	* tree-inline.h (push_cfun, pop_cfun): Declare.
18276169689Skan	* tree-optimize.c: Include except.h
18277169689Skan	(all_lowering_passes): New variable.
18278169689Skan	(execute_fixup_cfg, pass_fixup_cfg): New pass.
18279169689Skan	(init_tree_optimization_passes): Move some to all_lowering_passes.
18280169689Skan	(tree_lowering_passes): New function.
18281169689Skan	(tree_rest_of_compilation): Register cfg hooks; save/unsave eh.
18282169689Skan	* tree-pass.h (tree_lowering_passes): Declare
18283169689Skan
18284169689Skan2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
18285169689Skan
18286169689Skan	* unwind-dw2-fde-darwin.c: Include tsystem.h.
18287169689Skan
18288169689Skan2005-05-17  Jeff Law  <law@redhat.com>
18289169689Skan
18290169689Skan	* Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h.
18291169689Skan	* tree-ssa-forwprop.c: Include langhooks.h.
18292169689Skan	(forward_propagate_addr_expr_into_variable_array_index): New.
18293169689Skan	(forward_propagate_addr_expr): New.
18294169689Skan	(tree_ssa_forward_propagate_single_use_vars): Loop over all
18295169689Skan	the statements in the block instead of just the last statement.
18296169689Skan	Call forward_propagate_addr_expr as needed.
18297169689Skan	(pass_forwprop): Update the SSA graph after forward propagation is
18298169689Skan	complete.
18299169689Skan
18300169689Skan2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
18301169689Skan
18302169689Skan	* unwind-dw2-fde-glibc.c (base_from_cb_data,
18303169689Skan	_Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
18304169689Skan	appropriate.
18305169689Skan	* unwind-dw2-fde.c (__deregister_frame_info_bases,
18306169689Skan	base_from_object, fde_split, end_fde_sort): Likewise.
18307169689Skan	* unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op,
18308169689Skan	execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
18309169689Skan	uw_init_context_1): Likewise.
18310169689Skan	* unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
18311169689Skan	_Unwind_Resume_or_Rethrow): Likewise.
18312169689Skan	* unwind-pe.h (__gxx_abort): Do not define.
18313169689Skan	(size_of_encoded_value, base_of_encoded_value,
18314169689Skan	read_encoded_value_with_base): Use gcc_unreachable.
18315169689Skan	* unwind.h (_Unwind_GetTextRelBase): Likewise.
18316169689Skan
18317169689Skan2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
18318169689Skan
18319169689Skan	* config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start)
18320169689Skan	(cfi_end): New macros.
18321169689Skan	(RETLDM): Use cfi_pop.  Expect an eight byte stack frame.
18322169689Skan	(ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros.  Create
18323169689Skan	an eight byte stack frame.
18324169689Skan	(__NR_tkill): Define.
18325169689Skan	(__div0): Use gettid tkill on GNU/Linux.
18326169689Skan	(_arm_return): Add CFI.
18327169689Skan	(Lchange_\register, .Lchange_lr): Create an eight byte stack frame.
18328169689Skan
18329169689Skan2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
18330169689Skan
18331169689Skan	* configure.ac: Remove spaces around assignment to
18332169689Skan	gcc_cv_ld_sysroot.
18333169689Skan	* configure: Regenerated.
18334169689Skan
18335169689Skan2005-05-17  David Edelsohn  <edelsohn@gnu.org>
18336169689Skan
18337169689Skan	* config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete.
18338169689Skan	* config/rs6000/rs6000.c (rs6000_explicit_options): Add
18339169689Skan	aix_struct_ret.
18340169689Skan	(rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE.
18341169689Skan	Modify aix_struct_return variable, not target_flags.
18342169689Skan	(rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE.
18343169689Skan	(rs6000_return_in_memory): Test aix_struct_return.
18344169689Skan	* config/rs6000/rs6000.opt (maix-struct-return): Convert to
18345169689Skan	independent variable.  Report mxl-compat.
18346169689Skan
18347169689Skan2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
18348169689Skan
18349169689Skan	* config/bfin/bfin.md (eh_return): Add missing DONE.
18350169689Skan
18351169689Skan2005-05-17  Ian Lance Taylor  <ian@airs.com>
18352169689Skan
18353169689Skan	* read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr
18354169689Skan	field.
18355169689Skan	(mode_attr_index): Remove check for defined attribute.  Remove
18356169689Skan	infile parameter.  Change all callers.
18357169689Skan	(apply_mode_maps): Add unknown parameter.  Change caller.  Always
18358169689Skan	return after finding attribute.
18359169689Skan	(apply_macro_to_rtx): Add unknown_mode_attr parameter.  Change
18360169689Skan	callers.
18361169689Skan	(apply_macro_traverse): Set mtd->unknown_mode_attr.
18362169689Skan	(read_rtx): Use mtd.unknown_mode_attr to check for an undefined
18363169689Skan	attribute used for a mode.
18364169689Skan
18365169689Skan2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
18366169689Skan
18367169689Skan	* tree-ssa-math-opts.c: New file.
18368169689Skan
18369169689Skan2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
18370169689Skan
18371169689Skan	* Makefile.in: Add tree-ssa-math-opts.c.
18372169689Skan	* expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
18373169689Skan	* fold-const.c (distribute_real_division): New.
18374169689Skan	(fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
18375169689Skan	* tree-pass.h (pass_cse_reciprocals): New.
18376169689Skan	* tree-optimize.c (init_tree_optimization_passes): Run it.
18377169689Skan	* doc/passes.texi: Document the new pass.
18378169689Skan
18379169689Skan2005-05-17  Richard Guenther  <rguenth@gcc.gnu.org>
18380169689Skan
18381169689Skan	PR middle-end/21595
18382169689Skan	* builtins.c (fold_builtin_constant_p): Handle
18383169689Skan	&"string cst"[0] as constant.
18384169689Skan
18385169689Skan2005-05-17  Richard Henderson  <rth@redhat.com>
18386169689Skan
18387169689Skan	* config/i386/sse.md (mulv16qi3, mulv2di3): New.
18388169689Skan
18389169689Skan2005-05-17  Jakub Jelinek  <jakub@redhat.com>
18390169689Skan
18391169689Skan	PR middle-end/21492
18392169689Skan	* cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
18393169689Skan	src2 if src2 has been split.
18394169689Skan
18395169689Skan	PR tree-optimization/21610
18396169689Skan	* c-typeck.c (decl_constant_value_for_broken_optimization): If not
18397169689Skan	returning DECL, call unshare_expr.
18398169689Skan
18399169689Skan2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
18400169689Skan
18401169689Skan	* config/cris/cris.md: Unquote preparation and output statements.
18402169689Skan	(BWD, WD, BW): New, mode-macros.
18403169689Skan	(S, s, m, mm, nbitsm1): New, mode-attrs.
18404169689Skan	(szext, shift, shiftrt, ncond, ocond, rcond): New, code-macros.
18405169689Skan	(u, su, shlr, slr, ncond, ocond, rcond, rCC, oCC, roCC): New,
18406169689Skan	code-attrs.
18407169689Skan	("tst<mode>"): Replace "tstqi", "tsthi" and "tstsi".
18408169689Skan	("*cmp_ext<mode>"): Replace "*cmp_extsi" and "*cmp_exthi".
18409169689Skan	("*cmp_swapext<mode>"): Replace "*cmp_swapextqi" and
18410169689Skan	"*cmp_swapexthi".
18411169689Skan	("cmp<mode>"): Replace "cmphi" and "cmpqi".
18412169689Skan	("movdi"): Move misplaced head comment regarding necessity of
18413169689Skan	movdi from movsi to here.
18414169689Skan	("*mov_side<mode>_biap"): Replace "*mov_sideqi_biap" and
18415169689Skan	"*mov_sidehi_biap".
18416169689Skan	("*mov_side<mode>"): Replace "*mov_sideqi" and "*mov_sidehi".
18417169689Skan	("*mov_side<mode>_biap_mem", "*mov_sidehi_biap_mem"): Replace
18418169689Skan	"*mov_sideqi_biap_mem".
18419169689Skan	("*mov_side<mode>_mem"): Replace "*mov_sideqi_mem" and
18420169689Skan	"*mov_sidehi_mem".
18421169689Skan	("*clear_side<mode>_biap"): Replace "*clear_sidesi_biap",
18422169689Skan	"*clear_sidehi_biap" and "*clear_sideqi_biap".
18423169689Skan	("*clear_side<mode>"): Replace "*clear_sidesi", "*clear_sidehi"
18424169689Skan	and "*clear_sideqi".
18425169689Skan	("*ext_side<mode>si_biap"): Replace "*ext_sideqisi_biap" and
18426169689Skan	"*ext_sidehisi_biap".
18427169689Skan	("*ext_side<mode>si"): Replace "*ext_sideqisi" and
18428169689Skan	"*ext_sidehisi".
18429169689Skan	("reload_in<mode>"): Replace "reload_inhi" and "reload_inqi".
18430169689Skan	("reload_out<mode>"): Replace "reload_outhi" and "reload_outqi".
18431169689Skan	("extend<mode>di2"): Replace "extendhidi2" and "extendqidi2".
18432169689Skan	("extend<mode>si2"): Replace "extendhisi2" and "extendqisi2".
18433169689Skan	("zero_extend<mode>si2"): Replace "zero_extendhisi2" and
18434169689Skan	"zero_extendqisi2".
18435169689Skan	("*op_side<mode>_biap"): Replace "*op_sideqi_biap",
18436169689Skan	"*op_sidehi_biap" and "*op_sidesi_biap".
18437169689Skan	("*op_side<mode>"): Replace "*op_sideqi", "*op_sidehi" and
18438169689Skan	"*op_sidesi".
18439169689Skan	("*op_swap_side<mode>_biap"): Replace "*op_swap_sideqi_biap",
18440169689Skan	"*op_swap_sidehi_biap" and "*op_swap_sidesi_biap".
18441169689Skan	("*op_swap_side<mode>"): Replace "*op_swap_sideqi",
18442169689Skan	"*op_swap_sidehi" and "*op_swap_sidesi".
18443169689Skan	("sub<mode>3"): Replace "subhi3" and "subqi3", correcting a typo
18444169689Skan	in the N alternative of "subqi3".
18445169689Skan	("*extop<mode>si_side_biap"): Replace "*extopqisi_side_biap" and
18446169689Skan	"*extophisi_side_biap".
18447169689Skan	("*extop<mode>si_side"): Replace "*extopqisi_side" and
18448169689Skan	"*extophisi_side".
18449169689Skan	("*extop<mode>si_swap_side_biap"): Replace
18450169689Skan	"*extopqisi_swap_side_biap" and "*extophisi_swap_side_biap".
18451169689Skan	("*extop<mode>si_swap_side"): Replace "*extopqisi_swap_side" and
18452169689Skan	"*extophisi_swap_side".
18453169689Skan	("*extop<mode>si"): Replace "*extopqisi" and "*extophisi".
18454169689Skan	("*extop<mode>si_swap"): Replace "*extopqisi_swap" and
18455169689Skan	"*extophisi_swap".
18456169689Skan	("<u>mul<s><mode>3"): Replace "umulhisi3", "umulqihi3",
18457169689Skan	"mulqihi3", "mulhisi3" and "mulhisi3".
18458169689Skan	("<u>mulsidi3"): Replace "mulsidi3" and "umulsidi3".
18459169689Skan	("<su>mulsi3_highpart"): Replace "smulsi3_highpart" and
18460169689Skan	"umulsi3_highpart".
18461169689Skan	("xor<mode>3"): Replace "xorhi3" and "xorqi3".
18462169689Skan	("neg<mode>2"): Replace "negsi2", "neghi2" and "negqi2".
18463169689Skan	("one_cmpl<mode>2"): Replace "one_cmplhi2" and "one_cmplqi2".
18464169689Skan	("<shlr>si3"): Replace "ashrsi3", "lshrsi3" and "ashlsi3".
18465169689Skan	("ashr<mode>3"): Replace "ashrhi3" and "ashrqi3".
18466169689Skan	("*expanded_<shlr><mode>"): Replace "*expanded_ashrhi",
18467169689Skan	"*expanded_ashrqi", "*expanded_lshrhi" and "*expanded_lshrqi".
18468169689Skan	("*<shlr><mode>_lowpart"): Replace "*ashrhi_lowpart",
18469169689Skan	"*ashrqi_lowpart", "*lshrhi_lowpart" and "*lshrqi_lowpart".
18470169689Skan	("lshr<mode>3"): Replace "lshrhi3" and "lshrqi3".
18471169689Skan	("ashl<mode>3"): Replace "ashlhi3" and "ashlqi3".
18472169689Skan	("*ashl<mode>_lowpart"): Replace "*ashlqi_lowpart" and
18473169689Skan	"*ashlhi_lowpart".
18474169689Skan	("abs<mode>2"): Replace "abshi2" and "absqi2".
18475169689Skan	("b<ncond>"): Replace "beq", "bne", "bgtu", "bltu", "bgeu" and
18476169689Skan	"bleu".
18477169689Skan	("b<ocond>"): Replace "bgt" and "ble".
18478169689Skan	("b<rcond>"): Replace "blt" and "bge".
18479169689Skan	("*b<ncond>_reversed"): Replace "*beq_reversed", "*bne_reversed",
18480169689Skan	"*bgtu_reversed", "*bltu_reversed", "*bgeu_reversed" and
18481169689Skan	"*bleu_reversed".
18482169689Skan	("*b<ocond>_reversed"): Replace "*bgt_reversed" and
18483169689Skan	"*ble_reversed".
18484169689Skan	("*b<rcond>_reversed"): Replace "*blt_reversed" and
18485169689Skan	"*blt_reversed".
18486169689Skan	("s<ncond>"): Replace "sgeu", "sltu", "seq", "sgtu", "sleu" and
18487169689Skan	"sne".
18488169689Skan	("s<rcond>"): Replace "sge" and "slt".
18489169689Skan	("s<ocond>"): Replace "sgt" and "sle".
18490169689Skan	("clear.[bwd] [rx=rx+rz.S2]"): Replace split clear.d
18491169689Skan	[rx=rx+rz.S2], clear.w [rx=rx+rz.S2] and clear.b [rx=rx+rz.S2].
18492169689Skan	("clear.[bwd] [rx=rx+i]"): Replace splits clear.d [rx=rx+i],
18493169689Skan	clear.w [rx=rx+i] and clear.b [rx=rx+i].
18494169689Skan
18495169689Skan2005-05-17  Jakub Jelinek  <jakub@redhat.com>
18496169689Skan
18497169689Skan	* varasm.c (struct constant_descriptor_tree): Add hash field.
18498169689Skan	(const_desc_hash): Just return hash field.
18499169689Skan	(const_desc_eq): If hash values are different, return 0 immediately.
18500169689Skan	(output_constant_def): Compute hash field of temporary key, use
18501169689Skan	htab_find_slot_with_hash instead of htab_find_slot.  Set hash in
18502169689Skan	newly built constant descriptor.
18503169689Skan	(lookup_constant_def): Compute hash field of temporary key, use
18504169689Skan	htab_find_with_hash instead of htab_find.
18505169689Skan
18506169689Skan2005-05-16  Richard Henderson  <rth@redhat.com>
18507169689Skan
18508169689Skan	* config/i386/sse.md (mulv4si3): New.
18509169689Skan
18510169689Skan2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
18511169689Skan
18512169689Skan	* config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
18513169689Skan	tests for noncanonical versions of reg+constant and
18514169689Skan	reg+reg*{1,2,4}.
18515169689Skan
18516169689Skan2005-05-16  Richard Henderson  <rth@redhat.com>
18517169689Skan	    Steven Bosscher <stevenb@suse.de>
18518169689Skan
18519169689Skan	PR tree-opt/21399
18520169689Skan	* tree-eh.c (maybe_clean_or_replace_eh_stmt): Rename from
18521169689Skan	maybe_clean_eh_stmt; take old stmt parameter.  Update EH
18522169689Skan	region data structure to match replacement.
18523169689Skan	* tree-flow.h: Update to match.
18524169689Skan	* tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
18525169689Skan	* tree-ssa-dom.c (optimize_stmt): Likewise.
18526169689Skan	* tree-ssa-pre.c (eliminate): Likewise.
18527169689Skan	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
18528169689Skan
18529169689Skan2005-05-16  Caroline Tice  <ctice@apple.com>
18530169689Skan
18531169689Skan	* bb-reorder.c (verify_hot_cold_block_grouping): Replace
18532169689Skan	internal_error with gcc_assert.
18533169689Skan	* dwarf2out.c (dwarf2out_switch_text_section): Likewise.
18534169689Skan	* function.h (struct function): Remove space between "*" and
18535169689Skan	struct field names.
18536169689Skan	* varasm.c (initialize_cold_section_name):  Add gcc_assert;
18537169689Skan	modify to use alloca.
18538169689Skan	(unlikely_text_section): Add check for flag_function_sections.
18539169689Skan	(assemble_start_function): Move call to resolve_section, so it
18540169689Skan	comes before first call to unlikely_text_section.
18541169689Skan	(assemble_end_function): Add test and call to function_section
18542169689Skan	if appropriate.
18543169689Skan
18544169689Skan2005-05-16  Roger Sayle  <roger@eyesopen.com>
18545169689Skan
18546169689Skan	* c-common.c (c_common_truthvalue_conversion): Use fold_build2
18547169689Skan	instead of build_binary_op when performing code transformations
18548169689Skan	to avoid error messages about constructs not it the user's code.
18549169689Skan
18550169689Skan2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
18551169689Skan
18552169689Skan	* tree-ssa-pre.c: Fix a comment typo.
18553169689Skan
18554169689Skan2005-05-16  Richard Henderson  <rth@redhat.com>
18555169689Skan
18556169689Skan	PR target/21556
18557169689Skan	* config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel,
18558169689Skan	load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel,
18559169689Skan	add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64,
18560169689Skan	load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14,
18561169689Skan	add_tprel22): Remove mode from symbolic operand.
18562169689Skan
18563169689Skan2005-05-16  Richard Sandiford  <rsandifo@redhat.com>
18564169689Skan
18565169689Skan	* optc-gen.awk: Include intl.h after the externally-provided files.
18566169689Skan
18567169689Skan2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
18568169689Skan
18569169689Skan	* tree-ssa-copy.c (copy_prop_visit_assignment): Clean up by
18570169689Skan	folding a COND_EXPR_COND in a nondestructive manner.
18571169689Skan
18572169689Skan2005-05-16  Fariborz Jahanian <fjahanian@apple.com>
18573169689Skan
18574169689Skan	* config/rs6000/altivec.md (altivec_vmrghb, altivec_vmrghh,
18575169689Skan	altivec_vmrghw, altivec_vmrglb, altivec_vmrglh, altivec_vmrglw):
18576169689Skan	New values for vec_select definitions and bitmask for element
18577169689Skan	selection.
18578169689Skan
18579169689Skan2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
18580169689Skan
18581169689Skan	* dwarf2out.c (used_rtx_varray): Rename to used_rtx_array.
18582169689Skan	Change the type to VEC(rtx,gc)*.
18583169689Skan	(mem_loc_descriptor, add_const_value_attributes,
18584169689Skan	dwarf2out_init): Adjust uses of used_rtx_varray.
18585169689Skan
18586169689Skan	* tree-data-ref.c (compute_all_dependences): Change the type
18587169689Skan	of dependence_relations to VEC(ddr_p,heap)**.
18588169689Skan	(compute_data_dependences_for_loop): Change the type of
18589169689Skan	allrelations to VEC(ddr_p,heap)*.
18590169689Skan
18591169689Skan2005-05-16  Richard Sandiford  <rsandifo@redhat.com>
18592169689Skan
18593169689Skan	* Makefile.in (options.c): Tell optc-gen.awk to include config.h,
18594169689Skan	system.h, coretypes.h and tm.h.
18595169689Skan	(options.o): Update dependencies accordingly.
18596169689Skan	* optc-gen.awk: Allow header_name to be a list of filenames.
18597169689Skan	Handle the "Condition" flag.
18598169689Skan	* opts.h (CL_DISABLED): New flag.
18599169689Skan	* opts.c (handle_option): Print an error for CL_DISABLED options.
18600169689Skan	* doc/options.texi: Document the "Condition" option flag.
18601169689Skan
18602169689Skan2005-05-16  Paolo Bonzini  <bonzini@gnu.org>
18603169689Skan
18604169689Skan	* tree-inline.c (estimate_num_insns_1): Handle VEC_COND_EXPR.
18605169689Skan
18606169689Skan2005-05-15  Roger Sayle  <roger@eyesopen.com>
18607169689Skan
18608169689Skan	* tree-scalar-evolution.c (set_nb_iterations_in_loop): Only
18609169689Skan	check for TREE_OVERFLOW on INTEGER_CST trees.
18610169689Skan	* tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on
18611169689Skan	CONSTANT_CLASS_P tree nodes.
18612169689Skan
18613169689Skan2005-05-15  H.J. Lu  <hongjiu.lu@intel.com>
18614169689Skan
18615169689Skan	PR target/21551
18616169689Skan	* config/ia64/ia64.c (ia64_expand_move): Don't add addend twice.
18617169689Skan
18618169689Skan2005-05-15  Daniel Berlin  <dberlin@dberlin.org>
18619169689Skan
18620169689Skan	Fix PR tree-optimization/21576
18621169689Skan
18622169689Skan	* tree-ssa-pre.c (expression_node_pool): New pool.
18623169689Skan	(comparison_node_pool): Ditto.
18624169689Skan	(list_node_pool): Ditto.
18625169689Skan	(pool_copy_list): New function.
18626169689Skan	(phi_translate): Handle CALL_EXPR.
18627169689Skan	(valid_in_set): Ditto.
18628169689Skan	(create_expression_by_pieces): Ditto.
18629169689Skan	(insert_into_preds_of_block): Ditto.
18630169689Skan	(insert_aux): Ditto.
18631169689Skan	(compute_avail): Ditto.
18632169689Skan	(create_value_expr_from): Handle TREE_LIST and CALL_EXPR.
18633169689Skan	(can_value_number_call): New function.
18634169689Skan	(find_leader): Update comment.
18635169689Skan	(init_pre): Create new pools.
18636169689Skan	(fini_pre): Free new pools.
18637169689Skan	(pass_pre): Add TODO_update_ssa for the future when we are going
18638169689Skan	to need vops.
18639169689Skan	* tree-vn.c (expressions_equal_p): Handle TREE_LIST.
18640169689Skan	(set_value_handle): Ditto.
18641169689Skan	(get_value_handle): Ditto.
18642169689Skan
18643169689Skan2005-05-15  Richard Earnshaw  <richard.earnshaw@arm.com>
18644169689Skan
18645169689Skan	* arm.c (thumb_unexpanded_epilogue): Delete unused variable 'mode'.
18646169689Skan
18647169689Skan2005-05-15  Andreas Jaeger  <aj@suse.de>
18648169689Skan
18649169689Skan	* gcc.c (pfatal_pexecute): Remove unused local function.
18650169689Skan
18651169689Skan2005-05-15  Richard Sandiford  <rsandifo@redhat.com>
18652169689Skan
18653169689Skan	* optc-gen.awk: Remove excess indentation.
18654169689Skan	* opth-gen.awk: Likewise.
18655169689Skan
18656169689Skan2005-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
18657169689Skan
18658169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Check cfun->cfg instead
18659169689Skan	of basic_block_info.  Call init_flow and find_basic_blocks
18660169689Skan	before dbr_schedule if needed.
18661169689Skan
18662169689Skan2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
18663169689Skan
18664169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move
18665169689Skan	pass_cd_dce in place of the last pass_dce.
18666169689Skan
18667169689Skan	PR tree-optimization/21563
18668169689Skan	* tree-vrp.c (compare_value): Return boolean_false_node when
18669169689Skan	SSA_NAME in "if (SSA_NAME == CST)" is strictly smaller than or
18670169689Skan	strictly larger than CST.
18671169689Skan
18672169689Skan2005-05-14  Nathan Sidwell  <nathan@codesourcery.com>
18673169689Skan	    Jan-Benedict Glaw  <jbglaw@lug-owl.de>
18674169689Skan
18675169689Skan	* config/vax/vax.c: (print_operand_address) Use gcc_unreachable() and
18676169689Skan	gcc_assert().
18677169689Skan	(rev_cond_name) Likewise.
18678169689Skan	(vax_float_literal) Likewise.
18679169689Skan	* config/vax/vax.md: Likewise.
18680169689Skan
18681169689Skan2005-05-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
18682169689Skan
18683169689Skan	* config/vax/vax.md: define_constant VAXens AP, FP, SP and PC
18684169689Skan	registers and use them (specifically the stack pointer).
18685169689Skan	* config/vax/vax.h: Use above defines right here.
18686169689Skan
18687169689Skan	* config/vax/vax.c: (override_options) Remove 'register' keyword.
18688169689Skan	(split_quadword_operands) Likewise. (rev_cond_name) Likewise.
18689169689Skan	(vax_float_literal) Likewise. (vax_rtx_costs) Remove trailing
18690169689Skan	whitespace.
18691169689Skan	* config/vax/vax.h: Remove 'register' keyword. Misc. whitespace fixes,
18692169689Skan	mostly removal of trailing spaces...
18693169689Skan	* config/vax/vax-modes.def: Remove trailing whitespace.
18694169689Skan
18695169689Skan	* config/vax/elf.h: Update whitespace.
18696169689Skan
18697169689Skan2005-05-14  Richard Guenther  <rguenth@gcc.gnu.org>
18698169689Skan
18699169689Skan	Revert
18700169689Skan	2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
18701169689Skan	* fold-const.c (fold_indirect_ref_1): Avoid removing
18702169689Skan	NOP_EXPRs with type qualifiers like const.
18703169689Skan
18704169689Skan2005-05-14  Jan Hubicka  <jh@suse.cz>
18705169689Skan
18706169689Skan	Patch by Richard Henderson:
18707169689Skan	* tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
18708169689Skan	Handle RESX expressions properly.
18709169689Skan
18710169689Skan	* tree-eh.c (record_stmt_eh_region): Use add_stmt_to_eh_region.
18711169689Skan	(add_stmt_to_eh_region_fn): Nest into CALL_EXPR.
18712169689Skan	(remove_stmt_from_eh_region_fn): Likewise.
18713169689Skan
18714169689Skan	* tree-cfg.c (execute_warn_function_return): Break out noreturn
18715169689Skan	warning too..
18716169689Skan	(execute_warn_function_noreturn): ... here.
18717169689Skan	(pass_warn_function_noreturn): New pass.
18718169689Skan	* tree-pass.h (pass_warn_function_noreturn): Declare
18719169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move return
18720169689Skan	warnings early and add noreturn warnings at place of previous
18721169689Skan	return warnings.
18722169689Skan
18723169689Skan2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
18724169689Skan
18725169689Skan	* tree-ssa-live.c (tpa_init, tpa_delete, tpa_compact,
18726169689Skan	root_var_init, type_var_init): Use VEC instead of VARRAY.
18727169689Skan	* tree-ssa-live.h (tree_partition_associator_d): Change the
18728169689Skan	type of trees to VEC(tree,heap)*.
18729169689Skan	(tpa_tree): Use VEC instead of VARRAY.
18730169689Skan
18731169689Skan2005-05-14  Richard Guenther  <rguenth@gcc.gnu.org>
18732169689Skan
18733169689Skan	* fold-const.c (div_if_zero_remainder): New function.
18734169689Skan	(try_move_mult_to_index): Use it.
18735169689Skan
18736169689Skan2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
18737169689Skan
18738169689Skan	* tree-eh.c (leh_tf_state): Change the type of dest_array to
18739169689Skan	VEC(tree,heap)*.
18740169689Skan	(maybe_record_in_goto_queue, lower_try_finally_onedest,
18741169689Skan	lower_try_finally_copy, lower_try_finally_switch,
18742169689Skan	lower_try_finally): Use VEC instead of VARRAY.
18743169689Skan
18744169689Skan2005-05-14  Hans-Peter Nilsson  <hp@axis.com>
18745169689Skan
18746169689Skan	* config/cris/cris.h (Node: Register Classes): Remove obsoleted
18747169689Skan	comment regarding defined register classes.
18748169689Skan	(LEGITIMIZE_RELOAD_ADDRESS): Do not define.
18749169689Skan
18750169689Skan2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
18751169689Skan
18752169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move
18753169689Skan	pass_merge_phi before the first pass_dominator.
18754169689Skan
18755169689Skan2005-05-13  Richard Earnshaw  <richard.earnshaw@arm.com>
18756169689Skan
18757169689Skan	* arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache
18758169689Skan	unconditional.
18759169689Skan
18760169689Skan2005-05-13  Josh Conner  <jconner@apple.com>
18761169689Skan
18762169689Skan	* config/arm/arm.c (arm_size_return_regs): New.
18763169689Skan	(thumb_unexpanded_epilogue): replace in-line calculation
18764169689Skan	of return registers with call to arm_size_return_regs.
18765169689Skan	(use_return_insn): Include test of which registers are
18766169689Skan	being used to hold return values, to accommodate
18767169689Skan	vector return values.
18768169689Skan
18769169689Skan2005-05-11  Aldy Hernandez  <aldyh@redhat.com>
18770169689Skan
18771169689Skan	* config/rs6000/sysv4.opt (mlittle): Handle.
18772169689Skan
18773169689Skan	* config/rs6000/rs6000.c (rs6000_handle_option): Set
18774169689Skan	target_flags_explicit when appropriate.
18775169689Skan
18776169689Skan2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
18777169689Skan
18778169689Skan	PR middle-end/20714:
18779169689Skan	* optabs.c (no_conflict_data): New struct.
18780169689Skan	(no_conflict_move_test): New function.
18781169689Skan	(emit_no_conflict_block): Use it.
18782169689Skan
18783169689Skan2005-05-13  Adam Nemet  <anemet@lnxw.com>
18784169689Skan
18785169689Skan	* doc/invoke.texi (Debugging Options): Option
18786169689Skan	-fdump-translation-unit only works with C++ now.
18787169689Skan
18788169689Skan2005-05-13  Hans-Peter Nilsson  <hp@axis.com>
18789169689Skan
18790169689Skan	Replace calls to abort in CRIS port.
18791169689Skan	* config/cris/cris.h (CRIS_ASSERT): New macro.
18792169689Skan	* config/cris/cris.md ("*movsi_internal"): Use CRIS_ASSERT and
18793169689Skan	internal_error instead of abort.
18794169689Skan	("movsi"): Ditto.  Unquote preparation statement section.
18795169689Skan	("call", "call_value"): Ditto, but use gcc_assert where
18796169689Skan	appropriate.  Tweak comments.
18797169689Skan	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Define in terms of
18798169689Skan	CRIS_ASSERT.
18799169689Skan	(cris_op_str): Call internal_error, not abort.
18800169689Skan	(cris_print_operand): Tweak "abort" reference to "die" in comment.
18801169689Skan	(cris_initial_elimination_offset): Call gcc_unreachable, not abort.
18802169689Skan	(cris_notice_update_cc): Call internal_error, not abort.
18803169689Skan	(cris_expand_return, cris_expand_prologue, cris_gen_movem_load)
18804169689Skan	(cris_emit_movem_store, cris_asm_output_symbol_ref)
18805169689Skan	(cris_output_addr_const_extra): Use CRIS_ASSERT, don't call abort.
18806169689Skan	(cris_symbol, cris_got_symbol): Use CRIS_ASSERT instead of
18807169689Skan	ENABLE_CHECKING-guarded abort call.
18808169689Skan	(cris_split_movdx): Use CRIS_ASSERT instead of abort with test.
18809169689Skan	Use internal_error at end of test-chain.
18810169689Skan
18811169689Skan2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
18812169689Skan
18813169689Skan	PR rtl-optimization/20769:
18814169689Skan	* bt-load.c (compute_defs_uses_and_gen): Check for the blockage
18815169689Skan	pattern emitted by expand_nl_goto_receiver.
18816169689Skan
18817169689Skan	PR middle-end/20793:
18818169689Skan	* integrate.c (allocate_initial_values): Update register liveness
18819169689Skan	information.
18820169689Skan
18821169689Skan2005-05-13  Josh Conner  <jconner@apple.com>
18822169689Skan
18823169689Skan	* arm.c (arm_return_in_memory): Add handling for vector return types.
18824169689Skan
18825169689Skan2005-05-13  David Ung  <davidu@mips.com>
18826169689Skan
18827169689Skan	* config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
18828169689Skan	name.
18829169689Skan	* config/mips/mips.c: Add 4km alias.
18830169689Skan	* config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
18831169689Skan	* config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
18832169689Skan	description.
18833169689Skan
18834169689Skan2005-05-13  Jan Hubicka  <jh@suse.cz>
18835169689Skan
18836169689Skan	* c-decl.c (finish_function): Suppress "control reaches end of
18837169689Skan	non-void function" when "no return statement in function
18838169689Skan	returning non-void" is issued.
18839169689Skan
18840169689Skan	* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
18841169689Skan	* tree-optimize.c (pass_gimple): Kill.
18842169689Skan	(init_tree_optimization_passes): Kill pass_gimple.
18843169689Skan	* tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
18844169689Skan	* tree-dump.c (dump_files): Rename .generic to .gimple.*
18845169689Skan
18846169689Skan2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
18847169689Skan
18848169689Skan	PR rtl-optimization/20756:
18849169689Skan	* basic-block.h (PROP_DEAD_INSN): Define.
18850169689Skan	* flow.c (propagate_one_insn): Set during mark_set_regs call
18851169689Skan	for a dead insn.
18852169689Skan	(mark_set_1): Emit a clobber when we are about to delete a dead insn
18853169689Skan	that kills a live register.
18854169689Skan
18855169689Skan2005-05-13  Adrian Straetling  <straetling@de.ibm.com>
18856169689Skan
18857169689Skan	* config/s390/s390.md: ("DBL"): New mode attribute.
18858169689Skan	("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
18859169689Skan	("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
18860169689Skan	("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
18861169689Skan
18862169689Skan2005-05-13  Richard Guenther  <rguenth@gcc.gnu.org>
18863169689Skan
18864169689Skan	* c-format.c (check_format_arg): Handle string literals of
18865169689Skan	the form &"string"[offset].
18866169689Skan
18867169689Skan	* g++.dg/warn/format4.C: New testcase.
18868169689Skan
18869169689Skan2005-05-13  Kazu Hirata  <kazu@cs.umass.edu>
18870169689Skan
18871169689Skan	* config/mips/3000.md, config/mips/4000.md,
18872169689Skan	config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
18873169689Skan	config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
18874169689Skan	config/mips/generic.md, config/pdp11/pdp11.md,
18875169689Skan	config/sh/crt1.asm, config/sh/lib1funcs.asm,
18876169689Skan	config/sh/sh-modes.def, config/sh/sh-protos.h,
18877169689Skan	config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
18878169689Skan
18879169689Skan2005-05-13  Richard Henderson  <rth@redhat.com>
18880169689Skan
18881169689Skan	* function.c (instantiate_virtual_regs_in_insn): Do not simplify
18882169689Skan	addition to move unless dest is a register.  Do not skip
18883169689Skan	instantiation in dest on addition simplification.
18884169689Skan
18885169689Skan2005-05-13  Hans-Peter Nilsson  <hp@axis.com>
18886169689Skan
18887169689Skan	* config/cris/cris.c (cris_print_operand) <case 'H'; case
18888169689Skan	CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
18889169689Skan	output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
18890169689Skan
18891169689Skan2005-05-13  Jan Hubicka  <jh@suse.cz>
18892169689Skan
18893169689Skan	* basic-block.h (FOR_ALL_BB_FN): New macro.
18894169689Skan	(init_flow): Initialize cfg structure.
18895169689Skan	* function.c (allocate_struct_function): Do not initialize cfg structure.
18896169689Skan	* tree-cfg.c (init_empty_tree_cfg): Break out from ...
18897169689Skan	(build_tree_cfg): ... here.
18898169689Skan	* tree-flow.h (init_empty_tree_cfg): Declare.
18899169689Skan
18900169689Skan2005-05-12  Steven Bosscher <stevenb@suse.de>
18901169689Skan
18902169689Skan	Fix PR tree-optimization/21520
18903169689Skan	* tree-ssa-pre.c (phi_translate): Use fully_constant_expression
18904169689Skan	to attempt to fold constants.
18905169689Skan
18906169689Skan2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
18907169689Skan
18908169689Skan	* config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
18909169689Skan	only when TARGET_ADJUST_UNROLL_MAX is defined.
18910169689Skan	(general_movsrc_operand): Use the C style comment.
18911169689Skan	(ua_offset): Use prototype.
18912169689Skan
18913169689Skan2005-05-12  Zdenek Dvorak  <dvorakz@suse.cz>
18914169689Skan
18915169689Skan	* tree-ssa-loop-im.c (struct mem_ref): Add field "next".
18916169689Skan	(struct hmr_data, hoist_memory_reference, memref_del,
18917169689Skan	struct fmrv_data): Removed.
18918169689Skan	(hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
18919169689Skan	(gather_mem_refs, gather_mem_refs_stmt): Add new references to the
18920169689Skan	list.
18921169689Skan	(find_more_ref_vops): Traverse the list of memory references.
18922169689Skan	(determine_lsm_loop): Work with the list of memory references instead
18923169689Skan	of traversing the hashtable.
18924169689Skan
18925169689Skan2005-05-12  Steven Bosscher  <stevenb@suse.de>
18926169689Skan	    Stuart Hastings <stuart@apple.com>
18927169689Skan	    Jan Hubicka  <jh@suse.cz>
18928169689Skan
18929169689Skan	* except.c  (duplicate_eh_region_1, duplicate_eh_region_2,
18930169689Skan	duplicate_eh_regions): New functions, based on old
18931169689Skan	implementation removed with RTL inliner.
18932169689Skan	(reachable_next_level): Modify behaviour pre-inline.
18933169689Skan	* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
18934169689Skan	Declare.
18935169689Skan	* function.h (struct function): Add after_inlining flag.
18936169689Skan	* tree-optimize.c (tree_rest_of_compilation): Set it.
18937169689Skan	* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
18938169689Skan	when needed.
18939169689Skan	* tree-cfg.c (label_to_block_fn): Deal with cases where
18940169689Skan	label was never insterted into code.
18941169689Skan
18942169689Skan2005-05-12  Zack Weinberg  <zack@codesourcery.com>
18943169689Skan
18944169689Skan	* doc/cpp.texi: Document that #sccs is a synonym for #ident.
18945169689Skan
18946169689Skan2005-05-12  Daniel Berlin  <dberlin@dberlin.org>
18947169689Skan
18948169689Skan	Fix PR tree-optimization/21532
18949169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): stmt
18950169689Skan	needs to go onto the inserted_exprs list.
18951169689Skan
18952169689Skan2005-05-12  Ian Lance Taylor  <ian@airs.com>
18953169689Skan
18954169689Skan	* c-common.h (statement_code_p): Don't declare.
18955169689Skan	(STATEMENT_CODE_P): Don't define.
18956169689Skan	(INIT_STATEMENT_CODES): Don't define.
18957169689Skan	* c-common.c (statement_code_p): Don't define.
18958169689Skan
18959169689Skan2005-05-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
18960169689Skan
18961169689Skan	* config/sparc/sparc.h: Remove dead code.
18962169689Skan	* config/sparc/sparc.c (sparc_compute_frame_size): Use
18963169689Skan	FIRST_PARM_OFFSET for the size of the register window area.
18964169689Skan	(emit_save_regs): Rename into emit_save_or_restore_regs.
18965169689Skan	Add 'action' parameter.  Use 4095 as upper bound for the offset.
18966169689Skan	Pass 'action' to save_or_restore_regs.
18967169689Skan	(emit_restore_regs): Delete.
18968169689Skan	(sparc_expand_prologue): Call emit_save_or_restore_regs.
18969169689Skan	(sparc_expand_epilogue): Likewise.
18970169689Skan	* config/sparc/sparc.md (mode macro P): Move.
18971169689Skan	(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
18972169689Skan	(mov<V32:mode> expander): Move to the top of the V32 section.
18973169689Skan	(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
18974169689Skan	(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
18975169689Skan	(sibcall_epilogue): Move.
18976169689Skan
18977169689Skan2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
18978169689Skan
18979169689Skan	PR target/21501
18980169689Skan	* arm.c (arm_gen_constant): Sign-extend intermediate values when
18981169689Skan	synthesizing a constant of the difference of two immediates.
18982169689Skan
18983169689Skan2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
18984169689Skan
18985169689Skan	* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
18986169689Skan	(negdf2_vfp): Likewise.  Convert to define_insn_and_split and split
18987169689Skan	the alternatives using integer registers into the appropriate
18988169689Skan	primitives.
18989169689Skan
18990169689Skan2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
18991169689Skan
18992169689Skan	* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
18993169689Skan	bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
18994169689Skan	* bitmap.h: Fixed comments.
18995169689Skan
18996169689Skan2005-05-11  Richard Henderson  <rth@redhat.com>
18997169689Skan
18998169689Skan	PR target/21412
18999169689Skan	* config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
19000169689Skan	(ia64_cannot_force_const_mem): New.
19001169689Skan	(tls_symbolic_operand_type): New.
19002169689Skan	(ia64_legitimate_constant_p): New.
19003169689Skan	(ia64_expand_load_address): Return true on success.  Improve
19004169689Skan	checks for when we should not split.
19005169689Skan	(ia64_expand_tls_address): New addend operand.  Distribute it
19006169689Skan	as appropriate to the tls_kind.  Delay referencing gp.
19007169689Skan	(ia64_expand_move): Split symbolic addend as necessary.  Handle
19008169689Skan	tls symbols with addends.
19009169689Skan	* config/ia64/ia64-protos.h: Update.
19010169689Skan	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
19011169689Skan	p0, f0, f1, and r13.
19012169689Skan	(LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
19013169689Skan	* config/ia64/ia64.md (UNSPEC_DTPMOD): New.
19014169689Skan	(symbolic_operand splitter): Pass everything through
19015169689Skan	ia64_expand_load_address and FAIL or DONE as appropriate.
19016169689Skan	(load_fptr): Only accept after reload.
19017169689Skan	(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
19018169689Skan	load_symptr_low, load_ltoff_dtpmod,
19019169689Skan	(load_dtpmod): New.
19020169689Skan	(load_dtprel): Only accept tls symbols.
19021169689Skan	(load_dtprel64, load_dtprel22): Likewise.
19022169689Skan	(load_tprel, load_tprel64, load_tprel22): Likewise.
19023169689Skan	(load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
19024169689Skan	(add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
19025169689Skan	(add_dtprel14, add_dtprel22): Likewise.
19026169689Skan	(add_tprel, add_tprel14, add_tprel22): Likewise.
19027169689Skan	* config/ia64/predicates.md (small_addr_symbolic_operand): New.
19028169689Skan	(any_offset_symbol_operand, aligned_offset_symbol_operand): New.
19029169689Skan	(got_symbolic_operand): Check CONST offsets.
19030169689Skan	(tls_symbolic_operand, ld_tls_symbolic_operand): New.
19031169689Skan	(ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
19032169689Skan	(move_operand): Don't handle tls here.  Check CONST offsets.
19033169689Skan
19034169689Skan2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
19035169689Skan
19036169689Skan	* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
19037169689Skan	Remove hilo_operand check.
19038169689Skan	(rm7_impy_si_mul): Just match imul3.  Remove hilo_operand check.
19039169689Skan	* config/mips/predicates.md (hilo_operand): Delete.
19040169689Skan
19041169689Skan2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
19042169689Skan
19043169689Skan	* config/mips/sr71k.md, config/mips/7000.md: Reformat.
19044169689Skan
19045169689Skan2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
19046169689Skan
19047169689Skan	PR tree-optimizer/18472
19048169689Skan	* tree-if-conv.c (tree_if_convert_stmt,
19049169689Skan	if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
19050169689Skan
19051169689Skan2005-05-11  Jan Hubicka  <jh@suse.cz>
19052169689Skan
19053169689Skan	* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
19054169689Skan	(GTFILES): add except.h.
19055169689Skan	* except.c (eh_status): Add throw_stmt_table.
19056169689Skan	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
19057169689Skan	* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
19058169689Skan	lookup_stmt_eh_region_fn): Declare.
19059169689Skan	(throw_stmt_node): New structure.
19060169689Skan	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
19061169689Skan	* gengtype.c (open_base_files): Add except.h to inlines.
19062169689Skan	* tree-eh.c (throw_stmt_node): Kill.
19063169689Skan	(record_stmt_eh_region): Update.
19064169689Skan	(add_stmt_to_eh_region_fn): Break out from ...
19065169689Skan	(add_stmt_to_eh_region): ... here.
19066169689Skan	(remove_stmt_from_eh_region_fn): Break out from ...
19067169689Skan	(remove_stmt_from_eh_region): ... here.
19068169689Skan	(lookup_stmt_eh_region_fn): Break out from ...
19069169689Skan	(lookup_stmt_eh_region): ... here.
19070169689Skan	(honor_protect_cleanup_actions): Use build_resx.
19071169689Skan	(lower_try_finally_onedest): Likewise.
19072169689Skan	(lower_try_finally_copy): Likewise.
19073169689Skan	(lower_try_finally_switch): Likewise.
19074169689Skan	(lower_eh_constructs): Update eh table construction.
19075169689Skan	* tree.c (build_resx): New.
19076169689Skan	* tree.h (build_resx): Declare.
19077169689Skan
19078169689Skan2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>
19079169689Skan
19080169689Skan	* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
19081169689Skan	is needed.
19082169689Skan
19083169689Skan2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
19084169689Skan
19085169689Skan	* fold-const.c, libgcov.c: Fix comment typos.
19086169689Skan
19087169689Skan	* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
19088169689Skan	redundant code.
19089169689Skan
19090169689Skan2005-05-11  Daniel Jacobowitz  <dan@codesourcery.com>
19091169689Skan
19092169689Skan	* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
19093169689Skan	* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
19094169689Skan	default definition.
19095169689Skan	(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
19096169689Skan
19097169689Skan2005-05-11  Nathan Sidwell  <nathan@codesourcery.com>
19098169689Skan
19099169689Skan	PR bootstrap/21481
19100169689Skan	* crtstuff.c: Include auto-host.h again, for now.
19101169689Skan
19102169689Skan2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
19103169689Skan
19104169689Skan	* config/mips/24k.md: Remove trailing whitespace.
19105169689Skan
19106169689Skan2005-05-11  David Ung  <davidu@mips.com>
19107169689Skan
19108169689Skan	* config/mips/mips.md (type): Add imul3.
19109169689Skan	(length, hazard, may_clobber_hilo): Check for imul3.
19110169689Skan	(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
19111169689Skan	(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
19112169689Skan	* config/mips/24k.md (r24k_int_mul3): Enable this reservation
19113169689Skan	for a 3 operand mul and its bypasses.
19114169689Skan	* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
19115169689Skan	* config/mips/4000.md (r4k_imul): Likewise.
19116169689Skan	* config/mips/4100.md (r4100_imul_si, r4100_imul_di): Likewise.
19117169689Skan	* config/mips/4130.md (vr4130_class, vr4130_mulsi)
19118169689Skan	(vr4130_muldi): Likewise.
19119169689Skan	* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
19120169689Skan	* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
19121169689Skan	* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
19122169689Skan	* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
19123169689Skan	(ir_vr54_imadd_si): Likewise.
19124169689Skan	* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di): Likewise.
19125169689Skan	* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
19126169689Skan	(rm7_impy_di): Likewise.
19127169689Skan	* config/mips/9000.md (rm9k_mulsi, rm9k_muldi): Likewise.
19128169689Skan	* config/mips/generic.md (generic_imul): Likewise.
19129169689Skan	* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
19130169689Skan	* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di): Likewise.
19131169689Skan
19132169689Skan2005-05-11  J"orn Rennecke <joern.rennecke@st.com>
19133169689Skan
19134169689Skan	PR middle-end/20371:
19135169689Skan	* tree.h (record_layout_info_s): New member prev_packed.
19136169689Skan	* stor-layout.c (update_alignment_for_field): Fix comment about
19137169689Skan	KNOWN_ALIGN.  For MS bitfields, if we start a new run, make sure
19138169689Skan	we start it properly aligned.
19139169689Skan	(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
19140169689Skan	to update_alignment_for_field, and recompute it afterwards using
19141169689Skan	the alignment of the record.
19142169689Skan	When a packed bitfield precedes an MS bitfield, don't add padding
19143169689Skan	at the end of the packed bitfield on behalf of the base type of
19144169689Skan	the packed bit field.
19145169689Skan	Don't adjust rli->bitpos at the end
19146169689Skan	of an MS bitfield run if we already adjusted bitpos/offset for an
19147169689Skan	alignment as large or larger than the bitfield type size.
19148169689Skan	Take possible record alignment > BIGGEST_ALIGNMENT into account
19149169689Skan	when calculating actual_align.
19150169689Skan	Only put packed buit fields into rli->prev_field if they end up
19151169689Skan	suitably aligned.
19152169689Skan	Also set rli->remaining_in_alignment when we re-set rli->prev_field.
19153169689Skan	Update rli->remaining_in_alignment when we have already started a
19154169689Skan	run of bit fields and we process a packed bit field.
19155169689Skan
19156169689Skan2005-05-11  Sebastian Pop  <pop@cri.ensmp.fr>
19157169689Skan
19158169689Skan	* tree-data-ref.c (find_data_references_in_loop): Give up when
19159169689Skan	the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
19160169689Skan	may embed arbitrary side effects.
19161169689Skan	Remove the assumption that GIMPLE form contains a single array
19162169689Skan	access per statement.
19163169689Skan	When the statement contains virtual operands, fail if it is not
19164169689Skan	a MODIFY_EXPR or a CALL_EXPR.
19165169689Skan	Return after the dont know node is inserted.
19166169689Skan
19167169689Skan2005-05-11  Richard Earnshaw  <richard.earnshaw@arm.com>
19168169689Skan
19169169689Skan	* arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
19170169689Skan
19171169689Skan2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
19172169689Skan
19173169689Skan	PR middle-end/19807
19174169689Skan	PR tree-optimization/19639
19175169689Skan	* fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
19176169689Skan	and generic summands for char* as s * delta, too, folding &a[i]
19177169689Skan	CODE x to &a[i CODE x/s].  Use tree_int_cst_equal
19178169689Skan	for comparison of steps.  Convert types for index addition.
19179169689Skan	(fold_binary): Adjust the callers to always dispatch to
19180169689Skan	try_move_mult_to_index.
19181169689Skan	* tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
19182169689Skan	expr with non-gimple ARRAY_REF offset.
19183169689Skan
19184169689Skan2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
19185169689Skan
19186169689Skan	* fold-const.c (fold_indirect_ref_1): Avoid removing
19187169689Skan	NOP_EXPRs with type qualifiers like const.
19188169689Skan
19189169689Skan2005-05-11  Richard Henderson  <rth@redhat.com>
19190169689Skan
19191169689Skan	PR c/21502
19192169689Skan	* c-decl.c (finish_decl): Propagate the completed array type of
19193169689Skan	a global variable into the binding.
19194169689Skan
19195169689Skan2005-05-10  Matt Kraai  <kraai@ftbfs.org>
19196169689Skan
19197169689Skan	* Makefile.in (gtype-desc.o, build/genautomata.o)
19198169689Skan	(build/varray.o): Depend on $(VARRAY_H).
19199169689Skan
19200169689Skan2005-05-10  Diego Novillo  <dnovillo@redhat.com>
19201169689Skan
19202169689Skan	* tree-optimize.c (init_tree_optimization_passes): Re-organize
19203169689Skan	optimization passes to do an initial batch of scalar cleanups.
19204169689Skan
19205169689Skan2005-05-10  Ian Lance Taylor  <ian@airs.com>
19206169689Skan
19207169689Skan	* read-rtl.c (struct macro_traverse_data): Define.
19208169689Skan	(map_attr_string): New static function, broken out of
19209169689Skan	apply_macro_to_string.
19210169689Skan	(mode_attr_index, apply_mode_maps): New static functions.
19211169689Skan	(apply_macro_to_string): Call map_attr_string.
19212169689Skan	(apply_macro_to_rtx): Add mode_maps and infile parameters.  Change
19213169689Skan	all callers.
19214169689Skan	(apply_macro_traverse): Expect data to point to a struct
19215169689Skan	macro_traverse_data.
19216169689Skan	(read_rtx): Add mode_maps local variable.  Use mode_traverse_data
19217169689Skan	to pass data through htab_traverse.
19218169689Skan	(read_rtx_1): Add mode_maps parameter.  Change all callers.
19219169689Skan	Handle mode names which are attribute strings.
19220169689Skan	* doc/md.texi (Substitutions): Rename from String Substitutions.
19221169689Skan	Change references.  Document using attributes as modes.
19222169689Skan
19223169689Skan2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
19224169689Skan
19225169689Skan	* tree-cfg.c (tree_duplicate_sese_region): Update profile.
19226169689Skan	* tree-optimize.c (init_tree_optimization_passes) Swap
19227169689Skan	pass_ch and pass_profile.
19228169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
19229169689Skan	here.  Remove rewrite_into_loop_closed_ssa call.
19230169689Skan
19231169689Skan2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
19232169689Skan
19233169689Skan	* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
19234169689Skan	function.
19235169689Skan	(legitimate_reload_constant_p): Add check for const double zero.
19236169689Skan	* config/s390/s390.md: Add comment for constraint letter 'G'.
19237169689Skan	("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
19238169689Skan	attributes for new case.
19239169689Skan	* config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
19240169689Skan	s390_const_double_ok_for_constraint_p.
19241169689Skan	* config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
19242169689Skan	Add prototype.
19243169689Skan
19244169689Skan2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
19245169689Skan
19246169689Skan	PR tree-optimization/21170
19247169689Skan	* tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
19248169689Skan	rewrite_ssa_into_ssa in comments with update_ssa.
19249169689Skan
19250169689Skan2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
19251169689Skan
19252169689Skan	* tree-ssa-loop-im.c: Include hashtab.h.
19253169689Skan	(struct mem_ref_loc): New.
19254169689Skan	(struct mem_ref): Describe the set of references with the same
19255169689Skan	shape.
19256169689Skan	(max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
19257169689Skan	maybe_queue_var, fem_single_reachable_address,
19258169689Skan	for_each_memref, single_reachable_address,
19259169689Skan	is_call_clobbered_ref, determine_lsm_reg): Removed.
19260169689Skan	(record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
19261169689Skan	hoist_memory_reference, memref_hash, memref_eq, memref_del,
19262169689Skan	gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
19263169689Skan	New functions.
19264169689Skan	(rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
19265169689Skan	(determine_lsm_loop): Rewritten.
19266169689Skan	(determine_lsm): Do not set stmt uids.
19267169689Skan
19268169689Skan2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
19269169689Skan
19270169689Skan	* config/s390/s390.md: Add comment lines for 'f' and 't' constraint
19271169689Skan	letters.
19272169689Skan
19273169689Skan2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
19274169689Skan
19275169689Skan	* config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
19276169689Skan	("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
19277169689Skan	("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
19278169689Skan
19279169689Skan2005-05-10  Jeff Law  <law@redhat.com>
19280169689Skan
19281169689Skan	* tree-ssa-dom.c (dom_opt_finalize_block): Do not call
19282169689Skan	thread_across_edge for any abnormal edges.
19283169689Skan
19284169689Skan2005-05-10  Richard Henderson  <rth@redhat.com>
19285169689Skan
19286169689Skan	* config/ia64/ia64.c (ia64_expand_atomic_op): New.
19287169689Skan	* config/ia64/ia64-protos.h: Declare it.
19288169689Skan	* config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
19289169689Skan	(sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
19290169689Skan	(sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
19291169689Skan	(sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
19292169689Skan	(sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
19293169689Skan	(cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>.  Zero
19294169689Skan	extend result; use release semantics.
19295169689Skan	(cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
19296169689Skan	(sync_val_compare_and_swap_<IMODE>): Update to match.
19297169689Skan
19298169689Skan2005-05-10  Richard Henderson  <rth@redhat.com>
19299169689Skan
19300169689Skan	* optabs.c (expand_compare_and_swap_loop): Don't clobber old value
19301169689Skan	before comparing it for success.
19302169689Skan
19303169689Skan2005-05-10  Richard Henderson  <rth@redhat.com>
19304169689Skan
19305169689Skan	* config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
19306169689Skan	no return value pattern.
19307169689Skan
19308169689Skan2005-05-10  Grigory Zagorodnev  <grigory.zagorodnev@intel.com>
19309169689Skan	    H.J. Lu  <hongjiu.lu@intel.com>
19310169689Skan
19311169689Skan	* libgcov.c (create_file_directory): New function. Create
19312169689Skan	directory for the given file name.
19313169689Skan	(gcov_max_filename): New static var. Keeps size of the longest
19314169689Skan	file name.
19315169689Skan	(gcov_exit): Always try to create directory for output
19316169689Skan	file. Relocate each filename basing on environment vars.
19317169689Skan	(__gcov_init): Remember the longest file name.
19318169689Skan	* tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
19319169689Skan	* doc/gcov.texi (Cross-profiling): New node documenting
19320169689Skan	cross-profiling management.
19321169689Skan	* doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
19322169689Skan
19323169689Skan2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
19324169689Skan
19325169689Skan	* config/sparc/sparc.c (mem_min_alignment): Do not rely
19326169689Skan	on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
19327169689Skan
19328169689Skan2005-05-10  Bob Wilson  <bob.wilson@acm.org>
19329169689Skan
19330169689Skan	* config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
19331169689Skan	case code to avoid one move instruction.
19332169689Skan	(__umodsi3, __modsi3): Merge duplicated code sequences.
19333169689Skan
19334169689Skan2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
19335169689Skan
19336169689Skan	* config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
19337169689Skan	config/sh/sh.md, config/sh/superh.h: Fix comment typos.
19338169689Skan	* doc/invoke.texi: Fix typos.
19339169689Skan
19340169689Skan	* tree-data-ref.c (analyze_array_indexes, analyze_array,
19341169689Skan	init_data_ref, access_functions_are_affine_or_constant_p,
19342169689Skan	free_data_refs): Use VEC instead of VARRAY.
19343169689Skan	* tree-data-ref.h (data_reference): Change the type of
19344169689Skan	access_fns to VEC(tree,gc)*.
19345169689Skan	(DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
19346169689Skan
19347169689Skan2005-05-10  Gabor Loki <loki@gcc.gnu.org>
19348169689Skan
19349169689Skan	PR c/17913
19350169689Skan	* c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
19351169689Skan	* fold-const.c (fold): Expand the condition of reducing cond_expr.
19352169689Skan	(contains_label_1, contains_label_p): New functions for checking
19353169689Skan	labels in a sub-tree.
19354169689Skan
19355169689Skan2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
19356169689Skan
19357169689Skan	PR c/21342
19358169689Skan	* c-decl.c (pushdecl): When there is a declaration in the current
19359169689Skan	scope and the declarations are external linkage, check for
19360169689Skan	compatibility with the type in the external scope and update the
19361169689Skan	type in the external scope with the composite type information.
19362169689Skan	Do not form a composite type of the new type and the visible type
19363169689Skan	if they are incompatible.
19364169689Skan
19365169689Skan2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
19366169689Skan
19367169689Skan	* crtstuff.c: Revert part of 2005-05-08 Change.
19368169689Skan	(IN_LIBGCC2): Define.
19369169689Skan
19370169689Skan2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
19371169689Skan
19372169689Skan	* config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
19373169689Skan	remove redundant test.
19374169689Skan	(fp_mov_p): Accept 0.
19375169689Skan	(fp_high_losum_p): Remove redundant test.
19376169689Skan	* config/sparc/predicates.md (const_high_operand): Explicitly test
19377169689Skan	(not small_int_operand).
19378169689Skan	(fp_const_high_losum_operand): New.
19379169689Skan	* config/sparc/sparc.md (movsi_insn): Do not emit 'clr'.  Reorder.
19380169689Skan	(movdi_insn_sp32_v9): Use canonical predicates.
19381169689Skan	(movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
19382169689Skan	(movdi_insn_sp64_novis): Delete.
19383169689Skan	(movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
19384169689Skan	(movsf_insn_novis): Delete.
19385169689Skan	(movsf_insn_vis): Rename into movsf_insn.
19386169689Skan	(movsf_no_f_insn): Rename into movsf_insn_no_fpu.
19387169689Skan	(movsf_lo_sum): Use fp_const_high_losum_operand.
19388169689Skan	(movsf_high): Likewise.
19389169689Skan	(movsf_high_losum splitter): Likewise.
19390169689Skan	(mov<V32:mode> expander): Use register_or_zero_operand.
19391169689Skan	(mov<V64:mode> expander): Likewise.
19392169689Skan	(movdf_insn_sp32): Use register_or_zero_operand.
19393169689Skan	(movdf_no_e_insn_sp32): Use register_or_zero_operand.
19394169689Skan	Rename into movdf_insn_sp32_no_fpu.
19395169689Skan	(movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
19396169689Skan	Rename into movdf_insn_sp32_v9_no_fpu.
19397169689Skan	(movdf_insn_v9only_novis): Delete.
19398169689Skan	(movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
19399169689Skan	(movdf_insn_sp64_novis): Delete.
19400169689Skan	(movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
19401169689Skan	(movdf_no_e_insn_sp64): Use register_or_zero_operand.
19402169689Skan	Rename into movdf_insn_sp64_no_fpu.
19403169689Skan	(movtf expander): Use register_or_zero_operand.
19404169689Skan	(movtf_insn_sp32): Delete.
19405169689Skan	(movtf_insn_vis_sp32): Use register_or_zero_operand.
19406169689Skan	Rename into movtf_insn_sp32.
19407169689Skan	(movtf_no_e_insn_sp32): Use register_or_zero_operand.
19408169689Skan	Rename into movtf_insn_sp32_no_fpu.
19409169689Skan	(movtf_insn_hq_sp64): Delete.
19410169689Skan	(movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
19411169689Skan	Rename into movtf_insn_sp64_hq.
19412169689Skan	(movtf_insn_sp64): Delete.
19413169689Skan	(movtf_insn_vis_sp64): Use register_or_zero_operand.
19414169689Skan	Rename into movtf_insn_sp64.
19415169689Skan	(movtf_no_e_insn_sp64): Use register_or_zero_operand.
19416169689Skan	Rename into movtf_insn_sp64_no_fpu.
19417169689Skan
19418169689Skan2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
19419169689Skan
19420169689Skan	* config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
19421169689Skan	gcc_assert and gcc_unreachable as appropriate.
19422169689Skan	(xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
19423169689Skan	xstormy16_output_cbranch_si, xstormy16_split_move,
19424169689Skan	xstormy16_initial_elimination_offset,
19425169689Skan	xstormy16_encode_section_info, xstormy16_print_operand_address,
19426169689Skan	xstormy16_expand_call, xstormy16_expand_arith,
19427169689Skan	xstormy16_output_shift, xstormy16_init_builtins): Likewise.
19428169689Skan
19429169689Skan2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
19430169689Skan
19431169689Skan	* tree-outof-ssa.c (_elim_graph): Change the type of nodes and
19432169689Skan	const_copies to VEC(tree,heap)*.
19433169689Skan	(new_elim_graph, delete_elim_graph, elim_graph_size,
19434169689Skan	elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
19435169689Skan	instead of VARRAY.
19436169689Skan
19437169689Skan2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
19438169689Skan
19439169689Skan	PR other/21052
19440169689Skan	* doc/extend.texi (Type Attributes): Correct example syntax.
19441169689Skan
19442169689Skan2005-05-09  Joseph S. Myers  <joseph@codesourcery.com>
19443169689Skan
19444169689Skan	PR c/21160
19445169689Skan	* doc/invoke.texi (-Wuninitialized): Update documentation.
19446169689Skan
19447169689Skan2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
19448169689Skan
19449169689Skan	* arm.c (const_ok_for_arm): Use a faster algorithm.
19450169689Skan
19451169689Skan2005-05-09  David Edelsohn  <edelsohn@gnu.org>
19452169689Skan
19453169689Skan	PR target/21477
19454169689Skan	* config/rs6000/rs6000.md (add_op2): New.
19455169689Skan	(add<mode>3): Use it.
19456169689Skan
19457169689Skan2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
19458169689Skan
19459169689Skan	* arm.c (arm_gen_constant): Add new heuristic for generating
19460169689Skan	constant integers that can be expressed as the difference of two
19461169689Skan	valid immediates.
19462169689Skan
19463169689Skan2005-05-09  Roger Sayle  <roger@eyesopen.com>
19464169689Skan
19465169689Skan	* c-tree.h (parser_build_unary_op): New prototype.
19466169689Skan	* c-typeck.c (parser_build_unary_op): New function to construct
19467169689Skan	a unary operation in the C parser.
19468169689Skan	* c-parser.c (c_parser_unary_expression): Use the new function
19469169689Skan	parser_build_unary_op when appropriate.
19470169689Skan
19471169689Skan2005-05-09  Mark Mitchell  <mark@codesourcery.com>
19472169689Skan
19473169689Skan	PR 18655
19474169689Skan	* dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
19475169689Skan	before outputting DWARF_FRAME_RETURN_COLUMN.
19476169689Skan
19477169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19478169689Skan
19479169689Skan	* config/s390/s390.c: (s390_branch_condition_mask,
19480169689Skan	s390_branch_condition_mnemonic, s390_extra_constraint_str,
19481169689Skan	s390_const_ok_for_constraint_p, s390_expand_plus_operand,
19482169689Skan	legitimize_pic_address, s390_emit_tls_call_insn,
19483169689Skan	legitimize_tls_address, legitimize_tls_address,
19484169689Skan	s390_expand_addcc, print_shift_count_operand, print_operand,
19485169689Skan	addr_generation_dependency_p, annotate_constant_pool_refs,
19486169689Skan	s390_split_branches, find_constant_pool_ref,
19487169689Skan	replace_constant_pool_ref, s390_add_constant, s390_find_constant,
19488169689Skan	s390_find_execute, s390_mainpool_start, s390_chunkify_start,
19489169689Skan	s390_output_pool_entry, s390_function_value,
19490169689Skan	s390_call_saved_register_used, s390_emit_call): Replace
19491169689Skan	conditional aborts by gcc_assert and unconditional by gcc_unreachable.
19492169689Skan	(s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
19493169689Skan	s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
19494169689Skan	get_some_local_dynamic_name, s390_function_arg_size,
19495169689Skan	s390_function_arg_advance, s390_function_arg,
19496169689Skan	s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
19497169689Skan	default case by gcc_unreachable.
19498169689Skan	* config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
19499169689Skan	conditional abort by gcc_assert.
19500169689Skan	("doloop_si31"): Replace abort in last else by gcc_unreachable.
19501169689Skan	("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
19502169689Skan
19503169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19504169689Skan
19505169689Skan	* config/s390/s390.c: (s390_decompose_address,
19506169689Skan	tls_symbolic_operand, legitimate_pic_operand_p,
19507169689Skan	legitimate_constant_p, legitimate_reload_constant_p,
19508169689Skan	s390_expand_plus_operand, legitimate_address_p,
19509169689Skan	legitimate_la_operand_p, ): Remove 'register' from signature.
19510169689Skan	(symbolic_reference_mentioned_p,
19511169689Skan	tls_symbolic_reference_mentioned_p): Remove 'register' from local
19512169689Skan	variable declarations.
19513169689Skan	(legitimize_address): Remove 'register' from
19514169689Skan	signature and local variable declarations.
19515169689Skan
19516169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19517169689Skan
19518169689Skan	* config/s390/s390-protos.h: (s390_match_ccmode,
19519169689Skan	s390_match_ccmode_set, reg_used_in_mem_p,
19520169689Skan	symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
19521169689Skan	legitimate_la_operand_p, preferred_la_operand_p,
19522169689Skan	s390_short_displacement, addr_generation_dependency_p,
19523169689Skan	legitimate_reload_constant_p, legitimate_address_p): Change return type
19524169689Skan	into 'bool'.
19525169689Skan	(s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
19526169689Skan	* config/s390/s390.c: (s390_match_ccmode,
19527169689Skan	symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
19528169689Skan	legitimate_reload_constant_p): Change return type into 'bool'.
19529169689Skan	(preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
19530169689Skan	Likewise.  Additionally adapted comment.
19531169689Skan	(s390_extra_constraint_p): Change Comment to reflect 'int' return type.
19532169689Skan	(s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
19533169689Skan	(s390_decompose_address): Change the type of the internal flags
19534169689Skan	"pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
19535169689Skan	(struct s390_address): Change type of "pointer" into bool.
19536169689Skan	* config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
19537169689Skan	Adapt calls for 's390_tm_ccmode' to the new signature.
19538169689Skan
19539169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19540169689Skan
19541169689Skan	* config/s390/s390.c: (s390_match_ccmode_set,
19542169689Skan	s390_branch_condition_mnemonic, s390_short_displacement,
19543169689Skan	s390_decompose_address, get_thread_pointer, legitimize_tls_address,
19544169689Skan	print_shift_count_operand, get_some_local_dynamic_name,
19545169689Skan	get_some_local_dynamic_name_1, reg_used_in_mem_p,
19546169689Skan	addr_generation_dependency_p, s390_split_branches,
19547169689Skan	annotate_constant_pool_refs, find_constant_pool_ref,
19548169689Skan	replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
19549169689Skan	s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
19550169689Skan	s390_register_info, s390_frame_info, s390_init_frame_layout,
19551169689Skan	s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
19552169689Skan	restore_gprs, s390_function_arg_size, s390_function_arg_float,
19553169689Skan	s390_init_machine_status, s390_assemble_integer, s390_handle_option,
19554169689Skan	s390_encode_section_info, s390_cannot_force_const_mem,
19555169689Skan	s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
19556169689Skan	s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
19557169689Skan	s390_adjust_priority, s390_issue_rate,
19558169689Skan	s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
19559169689Skan	s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
19560169689Skan	s390_build_builtin_va_list, s390_gimplify_va_arg,
19561169689Skan	s390_function_ok_for_sibcall, s390_call_saved_register_used,
19562169689Skan	s390_pass_by_reference, s390_fixed_condition_code_regs,
19563169689Skan	s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
19564169689Skan	s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
19565169689Skan	s390_chunkify_cancel, s390_start_pool, s390_end_pool,
19566169689Skan	s390_add_pool_insn, s390_find_pool, s390_add_constant,
19567169689Skan	s390_find_constant, s390_add_execute, s390_find_execute,
19568169689Skan	s390_execute_label, s390_execute_target, s390_dump_pool,
19569169689Skan	s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
19570169689Skan	Move target macro definitions to the end of the file.  Move several
19571169689Skan	functions within the file to assure correct compiling.
19572169689Skan
19573169689Skan2005-05-09  Steven Bosscher  <stevenb@suse.de>
19574169689Skan
19575169689Skan	* calls.c (purge_reg_equiv_notes): Remove, fold into...
19576169689Skan	(fixup_tail_calls): ...here.  Only look at insns between the
19577169689Skan	start of the function and the FUNCTION_BEG insn note.
19578169689Skan
19579169689Skan	* gcse.c (one_cprop_pass): Fix typos in dumps.
19580169689Skan
19581169689Skan	* tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
19582169689Skan
19583169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19584169689Skan
19585169689Skan	* config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
19586169689Skan	* config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
19587169689Skan	"RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
19588169689Skan	Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
19589169689Skan	CC_REGNUM)'.
19590169689Skan	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
19591169689Skan	'(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
19592169689Skan	("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
19593169689Skan	REG_SC)'.
19594169689Skan
19595169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19596169689Skan
19597169689Skan	* config/s390/s390.md: ("gf") New mode attribute.
19598169689Skan	("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
19599169689Skan	"fixuns_truncsfsi2"): Merge.
19600169689Skan	("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
19601169689Skan	("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
19602169689Skan	"fix_truncsfsi2_ieee"): Merge.
19603169689Skan
19604169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19605169689Skan
19606169689Skan	* config/s390/s390.md: ("FPR") New mode macro.
19607169689Skan	("de", "dee"): New mode attributes.
19608169689Skan	("cmpdf", "cmpsf"): Merge.
19609169689Skan	("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
19610169689Skan	("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
19611169689Skan	("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
19612169689Skan	("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
19613169689Skan	("floatdidf2", "floatdisf2"): Merge.
19614169689Skan	("adddf3", "addsf3"): Merge.
19615169689Skan	("*adddf3", "*addsf3"): Merge.
19616169689Skan	("*adddf3_cc", "*addsf3_cc"): Merge.
19617169689Skan	("*adddf3_cconly", "*addsf3_cconly"): Merge.
19618169689Skan	("*adddf3_ibm", "*addsf3_ibm"): Merge.
19619169689Skan	("subdf3", "subsf3"): Merge.
19620169689Skan	("*subdf3", "*subsf3"): Merge.
19621169689Skan	("*subdf3_cc", "*subsf3_cc"): Merge.
19622169689Skan	("*subdf3_cconly", "*subsf3_cconly"): Merge.
19623169689Skan	("*subdf3_ibm", "*subsf3_ibm"): Merge.
19624169689Skan	("muldf3", "mulsf3"): Merge.
19625169689Skan	("*muldf3", "*mulsf3" "): Merge.
19626169689Skan	("*muldf3_ibm", "*mulsf3_ibm"): Merge.
19627169689Skan	("*fmadddf", "*fmaddsf"): Merge.
19628169689Skan	("*fmsubdf", "*fmsubsf"): Merge.
19629169689Skan	("divdf3", "divsf3"): Merge.
19630169689Skan	("*divdf3", "*divsf3"): Merge.
19631169689Skan	("*divdf3_ibm", "*divsf3_ibm"): Merge.
19632169689Skan	("negdf2", "negsf2"): Merge.
19633169689Skan	("*negdf2_cc", "*negsf2_cc"): Merge.
19634169689Skan	("*negdf2_cconly", "*negsf2_cconly"): Merge.
19635169689Skan	("*negdf2", "*negsf2"): Merge.
19636169689Skan	("*negdf2_ibm", "*negsf2_ibm"): Merge.
19637169689Skan	("absdf2", "abssf2"): Merge.
19638169689Skan	("*absdf2_cc", "*abssf2_cc"): Merge.
19639169689Skan	("*absdf2_cconly", "*abssf2_cconly"): Merge.
19640169689Skan	("*absdf2", "*abssf2"): Merge.
19641169689Skan	("*absdf2_ibm", "*abssf2_ibm"): Merge.
19642169689Skan	("*negabsdf2_cc", "*negabssf2_cc"): Merge.
19643169689Skan	("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
19644169689Skan	("*negabsdf2", "*negabssf2"): Merge.
19645169689Skan	("sqrtdf2", "sqrtsf2"): Merge.
19646169689Skan
19647169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19648169689Skan
19649169689Skan	* config/s390/s390.c: (s390_adjust_priority): Adapt to changed
19650169689Skan	attribute names.
19651169689Skan	* config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
19652169689Skan	"x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
19653169689Skan	("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
19654169689Skan	"x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
19655169689Skan	attribute names.
19656169689Skan	* config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
19657169689Skan	fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
19658169689Skan	"fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
19659169689Skan	fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
19660169689Skan	("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
19661169689Skan	"*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
19662169689Skan	"*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
19663169689Skan	"*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
19664169689Skan	"*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
19665169689Skan	"mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
19666169689Skan	"*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
19667169689Skan	"*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
19668169689Skan	"*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
19669169689Skan	"*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
19670169689Skan	"*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
19671169689Skan	"*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
19672169689Skan	'type' value.
19673169689Skan	("*divsf3"): Additionally rename second pattern to
19674169689Skan	"*divsf3_ibm".
19675169689Skan	("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
19676169689Skan	"*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
19677169689Skan	"*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
19678169689Skan	"subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
19679169689Skan	"subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
19680169689Skan	'type values' and rename 'type' value.
19681169689Skan	("*addsf3"): Additionally rename second pattern to
19682169689Skan	"*addsf3_ibm".
19683169689Skan
19684169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19685169689Skan
19686169689Skan	* config/s390/s390.md: ("SHIFT"): New mode macro.
19687169689Skan	("lr", "shift"): New mode attributes.
19688169689Skan	("ashldi3", "lshrdi3"): Merge.
19689169689Skan	("*ashldi3_31", "*lshrdi3"_31): Merge.
19690169689Skan	("*ashldi3_64", "*lshrdi3"_64): Merge.
19691169689Skan	("ashlsi3", "lshrsi3"): Merge.
19692169689Skan
19693169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19694169689Skan
19695169689Skan	* config/s390/s390.md: ("DSI", "SCOND"): New mode
19696169689Skan	macros.
19697169689Skan	("E", "g"): New mode attributes.
19698169689Skan	("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
19699169689Skan	("*adddi3_alc", "*addsi3_alc"): Merge.
19700169689Skan	("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
19701169689Skan	("*subdi3_slb", "*subsi3_slb"): Merge.
19702169689Skan	("adddicc", "addsicc"): Merge.
19703169689Skan	("*sconddi", "*scondsi"): Merge.
19704169689Skan	("*sconddi_neg", "*scondsi_neg"): Merge.
19705169689Skan	("sltu", "sgtu", "sleu", "sgeu"): Merge.
19706169689Skan	("negdi2", "negsi2"): Extract expander pattern from
19707169689Skan	"negsi2" and merge with "negdi2".
19708169689Skan	("*negdi2"): Merge with instruction pattern of "negsi2".
19709169689Skan	("*negdi2_cc", "*negsi2_cc"): Merge.
19710169689Skan	("*negdi2_cconly", "*negsi2_cconly"): Merge.
19711169689Skan	("rotldi3", "rotlsi3"): Merge.
19712169689Skan
19713169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19714169689Skan
19715169689Skan	* config/s390/s390.md: ("hc"): New mode attribute.
19716169689Skan	("extendhidi2", "extendqidi2"): Merge.
19717169689Skan	("*extendhidi2", "*extendqidi2"): Merge.
19718169689Skan	("extendhisi2", "extendqisi2"): Merge.
19719169689Skan	("zero_extendhidi2", "zero_extendqidi2"): Merge.
19720169689Skan	("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
19721169689Skan	Merged 2 define_split.
19722169689Skan	("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
19723169689Skan	("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
19724169689Skan
19725169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19726169689Skan
19727169689Skan	* config/s390/s390.md: ("COMPARE"): New mode macro.
19728169689Skan	("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
19729169689Skan	"ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
19730169689Skan	"bungt", "bunle", "bunge", "bltgt"): Merge.
19731169689Skan
19732169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19733169689Skan
19734169689Skan	* config/s390/s390.md: ("INT"): New mode macro.
19735169689Skan	("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
19736169689Skan	Merge.
19737169689Skan
19738169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19739169689Skan
19740169689Skan	* config/s390/s390.md: ("GPR", "P"): New mode macros.
19741169689Skan	("cmpdi", "cmpsi"): Merge.
19742169689Skan	("strlendi", "strlensi"): Merge.
19743169689Skan	("*strlendi", "*strlensi"): Merge.
19744169689Skan	("movmemdi", "movmemsi"): Merge.
19745169689Skan	("clrmemdi", "clrmemsi"): Merge.
19746169689Skan
19747169689Skan2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
19748169689Skan
19749169689Skan	* config/s390/s390.md: ("HQI"): New mode macro.
19750169689Skan	("icm_lo", "icm_hi", "max_uint"): New mode attributes.
19751169689Skan	("*tmhi_full", "*tmqi_full"): Merge.
19752169689Skan	("*tsthiCCT", "*tstqiCCT"): Merge.
19753169689Skan	("*tsthi", "*tstqi"): Merge.
19754169689Skan	("*tsthi_cconly", "tstqi_cconly"): Merge.
19755169689Skan	("*sethighhisi", "*sethighqisi"): Merge.
19756169689Skan
19757169689Skan2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
19758169689Skan
19759169689Skan	* crtstuff.c, integrate.h, tree-scalar-evolution.h,
19760169689Skan	config/alpha/unicosmk.h, config/arc/arc.md,
19761169689Skan	config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
19762169689Skan	config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
19763169689Skan	config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
19764169689Skan	config/arm/semi.h, config/arm/uclinux-elf.h,
19765169689Skan	config/arm/wince-pe.h, config/fr30/fr30.c,
19766169689Skan	config/rs6000/altivec.h: Update copyright.
19767169689Skan
19768169689Skan2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
19769169689Skan
19770169689Skan	* config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
19771169689Skan	gcc_assert and gcc_unreachable as appropriate.
19772169689Skan	(pdp11_output_function_epilogue, output_move_double,
19773169689Skan	output_move_quad, print_operand_address, output_jump,
19774169689Skan	output_addr_const_pdp11): Likewise.
19775169689Skan	* config/pdp11/pdp11.h (FUNCTION_PROFILER,
19776169689Skan	ASM_OUTPUT_ALIGN): Likewise.
19777169689Skan	* config/pdp11/pdp11.md: Likewise.
19778169689Skan	(extendhisi2, subhi3, subqi3): Likewise.
19779169689Skan
19780169689Skan2005-05-09  David Edelsohn  <edelsohn@gnu.org>
19781169689Skan
19782169689Skan	PR middle-end/21237
19783169689Skan	* dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
19784169689Skan	to NE_EXPR case.
19785169689Skan
19786169689Skan2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
19787169689Skan
19788169689Skan	* config/ia64/ia64.c: Fix a comment typo.
19789169689Skan
19790169689Skan2005-05-09  Richard Earnshaw  <rearnsha@arm.com>
19791169689Skan
19792169689Skan	PR target/21397
19793169689Skan	* arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
19794169689Skan	(arm_override_options): Use them instead of manifest constants.  Don't
19795169689Skan	allow -march to override the -mtune setting.
19796169689Skan
19797169689Skan2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
19798169689Skan
19799169689Skan	* config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
19800169689Skan	(gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
19801169689Skan	(function_arg_advance, function_arg, save_restore_insns,
19802169689Skan	iq2000_expand_prologue, iq2000_output_conditional_branch,
19803169689Skan	expand_one_builtin, print_operand):
19804169689Skan	* config/iq2000/iq2000.md (tablejump): Likewise.
19805169689Skan
19806169689Skan2005-05-09  David Ung  <davidu@mips.com>
19807169689Skan
19808169689Skan	* config/mips/mips.h (processor_type): Add names for the 24K.
19809169689Skan	* config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
19810169689Skan	processor family.
19811169689Skan	* config/mips/mips.md (cnv_mode): New attribute for recording the
19812169689Skan	conversion types of float convert insns.
19813169689Skan	(cpu): Add 24k and 24kx.
19814169689Skan	(include): Include 24k.md file.
19815169689Skan	(truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
19816169689Skan	(fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
19817169689Skan	(floatdisf2): Setup cnv_mode.
19818169689Skan	(fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
19819169689Skan	setup cnv_mode.
19820169689Skan	* config/mips/24k.md: New file, contains 24k DFA pipeline
19821169689Skan	description.
19822169689Skan
19823169689Skan2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
19824169689Skan
19825169689Skan	* config/sh/sh.c (print_operand_address): Use gcc_assert and
19826169689Skan	gcc_unreachable as appropriate.
19827169689Skan	(print_operand, prepare_move_operands, prepare_scc_operands,
19828169689Skan	output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
19829169689Skan	gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
19830169689Skan	fixup_mova, gen_far_branch, sh_reorg, split_branches,
19831169689Skan	final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
19832169689Skan	sh_set_return_address, sh_setup_incoming_varargs,
19833169689Skan	initial_elimination_offset, sh_pch_valid_p, get_free_reg,
19834169689Skan	sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
19835169689Skan	check_use_sfunc_addr): Likewise.
19836169689Skan	* config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
19837169689Skan	* config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
19838169689Skan	* config/sh/symbian.c (sh_symbian_mark_dllexport,
19839169689Skan	sh_symbian_mark_dllimport): Likewise.
19840169689Skan	* config/sh/sh.md: Likewise.
19841169689Skan	(movdicc, call_pop, call_value_pop, casesi_worker_1,
19842169689Skan	casesi_worker_2, casesi_shift_media, casesi_load_media,
19843169689Skan	return_media): Likewise.
19844169689Skan
19845169689Skan2005-05-08  Roger Sayle  <roger@eyesopen.com>
19846169689Skan
19847169689Skan	PR inline-asm/8788
19848169689Skan	* stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
19849169689Skan	operands.
19850169689Skan
19851169689Skan2005-05-08  Richard Henderson  <rth@redhat.com>
19852169689Skan
19853169689Skan	* config/alpha/alpha.c (adjust_address): Fix typo last change.
19854169689Skan
19855169689Skan2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
19856169689Skan
19857169689Skan	* config/m68hc11/m68hc11.h (REG_VALID_P): A regno must be >= 0
19858169689Skan	and -1 can happen in reg_renumber when no hard register is assigned.
19859169689Skan
19860169689Skan2005-05-08  Steven Bosscher  <stevenb@suse.de>
19861169689Skan	    Kazu Hirata  <kazu@cs.umass.edu>
19862169689Skan
19863169689Skan	PR tree-optimization/14841, tree-optimization/15838
19864169689Skan	* tree-ssa-ccp.c (fold_const_aggregate_ref): New.
19865169689Skan	(evaluate_stmt): Call it.
19866169689Skan
19867169689Skan2005-05-08  Jakub Jelinek  <jakub@redhat.com>
19868169689Skan
19869169689Skan	* config/ia64/ia64.c (ia64_override_options): Don't set
19870169689Skan	ia64_flag_var_tracking and clear flag_var_tracking here...
19871169689Skan	(ia64_file_start): ... but here.
19872169689Skan
19873169689Skan2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
19874169689Skan
19875169689Skan	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
19876169689Skan	and gcc_unreachable as appropriate.
19877169689Skan	(expand_prologue, expand_epilogue, m68hc11_gen_lowpart,
19878169689Skan	m68hc11_gen_highpart, print_operand, print_operand_address,
19879169689Skan	m68hc11_expand_compare, m68hc11_expand_compare_and_branch,
19880169689Skan	m68hc11_gen_movhi): Likewise.
19881169689Skan	* config/m68hc11/m68hc11.h (HARD_X_REGNUM): Reword comment.
19882169689Skan	* config/m68hc11/m68hc11.md: Reword comment.
19883169689Skan
19884169689Skan2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
19885169689Skan
19886169689Skan	PR target/21281
19887169689Skan	* config/m68hc11/predicates.md (splitable_operand): An immediate is
19888169689Skan	allowed.
19889169689Skan
19890169689Skan2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
19891169689Skan
19892169689Skan	* config/m68hc11/predicates.md (reg_or_some_mem_operand): Do not allow
19893169689Skan	the 68HC12 address indirect addressing mode as it is not supported by
19894169689Skan	bset and bclr.
19895169689Skan	* config/m68hc11/m68hc11-protos.h
19896169689Skan	(m68hc11_valid_addressing_p): Declare.
19897169689Skan	(m68hc11_add_mode): Declare.
19898169689Skan	* config/m68hc11/m68hc11.c (m68hc11_valid_addressing_p): Rename from
19899169689Skan	register_indirect_p and export it.
19900169689Skan	(m68hc11_z_replacement): Use emit_insn_after when adding the save Z
19901169689Skan	instruction so that it is part of the good BB.
19902169689Skan	(m68hc11_gen_movhi): Fix invalid generation of indexed indirect
19903169689Skan	addressing with movw.
19904169689Skan	(m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
19905169689Skan	68HC12.
19906169689Skan	* config/m68hc11/m68hc11.h (ADDR_STRICT, ADDR_INCDEC, ADDR_INDEXED,
19907169689Skan	ADDR_OFFSET, ADDR_INDIRECT, ADDR__CONST): Moved from m68hc11.c.
19908169689Skan	* config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
19909169689Skan	for 68HC11.
19910169689Skan	("*movhi_68hc12"): Handle movhi_const0.
19911169689Skan	("*subhi3", "subqi3"): Use general_operand for operand 1.
19912169689Skan	("*subhi3_zext"): Likewise.
19913169689Skan
19914169689Skan2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
19915169689Skan
19916169689Skan	PR target/19051
19917169689Skan	* config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for
19918169689Skan	operand 1 and fix constraints.
19919169689Skan	("mulqihi3"): Use general_operand for operand 2.
19920169689Skan
19921169689Skan2005-05-08  Julian Brown  <julian@codesourcery.com>
19922169689Skan	    H.J. Lu  <hongjiu.lu@intel.com>
19923169689Skan	    Paul Brook  <paul@codesourcery.com>
19924169689Skan
19925169689Skan	* configure.ac: Set ld_vers_major, ld_vers_minor and ld_vers_patch for
19926169689Skan	GNU linker. Support linker version x.x.x.x.x. Require GNU linker
19927169689Skan	20050308/2.16.0 or newer for comdat group.
19928169689Skan	* configure: Regenerated.
19929169689Skan	* config.in: Regenerated.
19930169689Skan	* varasm.c (default_function_rodata_section): Put .rodata section in
19931169689Skan	COMDAT group when necessary.
19932169689Skan	(default_elf_asm_named_section): Rename HAVE_GAS_COMDAT_GROUP to
19933169689Skan	HAVE_COMDAT_GROUP.
19934169689Skan	(default_unique_section_1): Don't use .gnu.linkonce when COMDAT is
19935169689Skan	available.
19936169689Skan
19937169689Skan2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
19938169689Skan
19939169689Skan	* tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
19940169689Skan	instead of VARRAY.
19941169689Skan	* tree-flow.h (num_referenced_var, referenced_var): Likewise.
19942169689Skan	* tree-into-ssa.c (mark_def_site_blocks): Likewise.
19943169689Skan	* tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
19944169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
19945169689Skan
19946169689Skan2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
19947169689Skan
19948169689Skan	PR target/16925
19949169689Skan	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
19950169689Skan	64-bit constants on 64-bit hosts.
19951169689Skan	(m68hc11_split_logical): Simplify.
19952169689Skan	(m68hc11_split_move): Likewise.
19953169689Skan
19954169689Skan2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
19955169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
19956169689Skan
19957169689Skan	* Makefile.in (cs-tconfig.h): Pass USED_FOR_TARGET to mkconfig.sh
19958169689Skan	* aclocal.m4 (GCC_TARGET_TEMPLATE, AH_TEMPLATE): New.
19959169689Skan	* configure.ac (enable_checking): Fix typos in runtime_checking.
19960169689Skan	(ENABLE_RUNTIME_CHECKING): Mark as target template.
19961169689Skan	(xm_file): Prepend auto-host.h
19962169689Skan	(HAVE_GAS_HIDDEN, HAVE_LD_EH_FRAME_HDR): Mark as target template.
19963169689Skan	* mkconfig.sh: Do not automatically define USED_FOR_TARGET in
19964169689Skan	tconfig.h.
19965169689Skan	* crtstuff.c: Do not include auto-host.h.
19966169689Skan	(IN_LIBGCC2): Do not define.
19967169689Skan	* gcov-io.h: Include tconfig.h, not auto-host.h.
19968169689Skan	* libgcc2.c: Do not include auto-host.h.
19969169689Skan	(abort): Do not undefine.
19970169689Skan	* libgcov.c: Remove unneeded comment about config.h.
19971169689Skan	* unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
19972169689Skan	* config.in, configure: Regenerated.
19973169689Skan
19974169689Skan2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
19975169689Skan	    Falk Hueffner  <falk@debian.org>
19976169689Skan
19977169689Skan	* config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
19978169689Skan	and gcc_unreachable as appropriate.
19979169689Skan	(get_aligned_mem, get_unaligned_address,
19980169689Skan	alpha_emit_set_long_const, alpha_emit_conditional_branch,
19981169689Skan	alpha_emit_setcc, alpha_emit_conditional_move,
19982169689Skan	alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
19983169689Skan	alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
19984169689Skan	alpha_expand_unaligned_load, alpha_expand_block_move,
19985169689Skan	alpha_expand_zap_mask, get_trap_mode_suffix,
19986169689Skan	get_round_mode_suffix, get_some_local_dynamic_name,
19987169689Skan	print_operand_address, function_arg, alpha_return_in_memory,
19988169689Skan	function_value, alpha_expand_builtin,
19989169689Skan	alpha_initial_elimination_offset, alpha_expand_epilogue,
19990169689Skan	summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
19991169689Skan	alphaev5_next_group, alpha_align_insns,
19992169689Skan	unicosmk_initial_elimination_offset, unicosmk_unique_section,
19993169689Skan	unicosmk_ssib_name): Likewise.
19994169689Skan	* config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
19995169689Skan	* config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
19996169689Skan	ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
19997169689Skan	* config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
19998169689Skan	ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
19999169689Skan	* config/alpha/alpha.md (*divmodsi_internal_er,
20000169689Skan	*divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
20001169689Skan	call_nt, call_umk, call_vms, call_value, sibcall_value,
20002169689Skan	call_value_osf, call_value_nt, call_value_vms, call_value_umk,
20003169689Skan	*call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
20004169689Skan	* config/alpha/predicates.md (input_operand): Likewise.
20005169689Skan
20006169689Skan2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
20007169689Skan
20008169689Skan	* config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
20009169689Skan	gcc_unreachable, as appropriate.
20010169689Skan	(frv_function_prologue, frv_alloc_temp_reg,
20011169689Skan	frv_initial_elimination_offset, frv_expand_block_move,
20012169689Skan	frv_expand_block_clear, frv_print_operand_jump_hint,
20013169689Skan	frv_legitimize_tls_address, unspec_got_name, frv_emit_move,
20014169689Skan	frv_emit_movsi, frv_split_cond_move, frv_split_minmax,
20015169689Skan	frv_ifcvt_modify_insn, frv_ifcvt_modify_final,
20016169689Skan	frv_adjust_field_align, frv_insn_unit, frv_cond_flags,
20017169689Skan	frv_sort_insn_group, frv_reorder_packet, frv_matching_accg_mode,
20018169689Skan	frv_in_small_data_p, frv_asm_out_constructor,
20019169689Skan	frv_asm_out_destructor, frv_output_dwarf_dtprel): Likewise.
20020169689Skan	* config/frv/frv.md (reload_incc_fp, *cond_exec_si_binary1,
20021169689Skan	*cond_exec_si_binary2, *cond_exec_si_divide, *cond_exec_si_unary1,
20022169689Skan	*cond_exec_sf_conv, *cond_exec_sf_add, call, sibcall, call_value,
20023169689Skan	sibcall_value, casesi): Likewise.
20024169689Skan
20025169689Skan	* config/mn10300/mn10300.c (print_operand): Use gcc_assert and
20026169689Skan	gcc_unreachable as appropriate.
20027169689Skan	(print_operand_address, mn10300_print_reg_list, expand_prologue,
20028169689Skan	expand_epilogue, notice_update_cc, initial_offset,
20029169689Skan	mn10300_address_cost_1): Likewise.
20030169689Skan	* config/mn10300/mn10300.md: Likewise.
20031169689Skan	(absdf2, abssf2, negdf2, negsf2): Likewise.
20032169689Skan
20033169689Skan2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
20034169689Skan
20035169689Skan	PR target/21416
20036169689Skan	* config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
20037169689Skan	comparisons.
20038169689Skan	* config/mips/mips.md (swapped_fcond): New code macro and attribute.
20039169689Skan	(sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond,
20040169689Skan	including sunge_<mode> and sungt_<mode>.
20041169689Skan
20042169689Skan2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
20043169689Skan
20044169689Skan	* integrate.h (get_hard_reg_initial_val): Change type of register
20045169689Skan	parameter from int to unsigned int.
20046169689Skan	(has_hard_reg_initial_val): Likewise.
20047169689Skan	* integrate.c (get_hard_reg_initial_val): Likewise.
20048169689Skan	(has_hard_reg_initial_val): Likewise.  Remove cast to unsigned int.
20049169689Skan
20050169689Skan2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
20051169689Skan
20052169689Skan	* except.c (eh_status): Change the type of ttype_data to
20053169689Skan	VEC(tree,gc)*.
20054169689Skan	(add_ttypes_entry, assign_filter_values,
20055169689Skan	output_function_exception_table): Use VEC instead of VARRAY.
20056169689Skan
20057169689Skan2005-05-07  David Edelsohn  <edelsohn@gnu.org>
20058169689Skan
20059169689Skan	* config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant.
20060169689Skan
20061169689Skan2005-05-07  Paul Brook  <paul@codesourcery.com>
20062169689Skan
20063169689Skan	* Makefile.in: Fix dependencies.
20064169689Skan	(GCOV_IO_H, VARRAY_H): Set.
20065169689Skan
20066169689Skan2005-05-07  Anthony Green  <green@redhat.com>
20067169689Skan
20068169689Skan	PR bootstrap/21403
20069169689Skan	* configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in
20070169689Skan	x$STMP_FIXPROTO test.
20071169689Skan	* configure: Rebuilt.
20072169689Skan
20073169689Skan2005-05-07  Joseph S. Myers  <joseph@codesourcery.com>
20074169689Skan
20075169689Skan	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define
20076169689Skan	inappropriate feature test macros if flag_iso.
20077169689Skan
20078169689Skan2005-05-07  Joseph S. Myers  <joseph@codesourcery.com>
20079169689Skan
20080169689Skan	* config/ia64/hpux.h (NO_IMPLICIT_EXTERN_C): Define.
20081169689Skan
20082169689Skan2005-05-07  Hans-Peter Nilsson  <hp@axis.com>
20083169689Skan
20084169689Skan	PR target/21441
20085169689Skan	* config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
20086169689Skan	("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
20087169689Skan	Handle moved operand being in special register.
20088169689Skan	("smulsi3_highpart", "umulsi3_highpart"): Change .error into
20089169689Skan	presumed working insn.
20090169689Skan	(mover2side): Add FIXME.
20091169689Skan
20092169689Skan2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
20093169689Skan
20094169689Skan	* integrate.c (get_func_hard_reg_initial_val): Delete.
20095169689Skan	(has_func_hard_reg_initial_val): Delete.
20096169689Skan	(get_hard_reg_initial_val): Inline the old implementation of
20097169689Skan	get_func_hard_reg_initial_val.  Use has_hard_reg_initial_val
20098169689Skan	instead of has_func_hard_reg_initial_val to test for an existing
20099169689Skan	pseudo.  Only create an rtx if a new initial value entry is needed.
20100169689Skan	(has_hard_reg_initial_val): Scan the initial value list directly.
20101169689Skan	Don't create an rtx.
20102169689Skan
20103169689Skan2005-05-07  David Edelsohn  <edelsohn@gnu.org>
20104169689Skan
20105169689Skan	* config.gcc ({powerpc,rs6000}-ibm-aix*): Remove rs6000/aix.opt
20106169689Skan	from extra_options.
20107169689Skan	* config.in (HAVE_AS_POPCNTB): New.
20108169689Skan	* configure.ac (HAVE_AS_MFCRF): Add .machine "pwr5" to AIX test.
20109169689Skan	(HAVE_AS_POPCNTB): New.
20110169689Skan	* configure: Regenerated.
20111169689Skan	* config/rs6000/aix.h (TARGET_XL_COMPAT): Delete.
20112169689Skan	* config/rs6000/rs6000.c (rs6000_override_options, power5): Add
20113169689Skan	MASK_POPCNTB.  Uncomment rs6000_sched_restricted_insns_priority
20114169689Skan	and rs6000_sched_costly_dep.
20115169689Skan	* config/rs6000/rs6000.h (TARGET_POPCNTB): New.
20116169689Skan	(TARGET_XL_COMPAT): Delete.
20117169689Skan	* config/rs6000/rs6000.md (UNSPEC_POPCNTB): New.
20118169689Skan	(popcount<mode>2): New.
20119169689Skan	(popcntb<mode>2): New.
20120169689Skan	* config/rs6000/rs6000.opt (mpopcntb): New.
20121169689Skan
20122169689Skan	* opt-functions.awk (var_set): Emit OPTION_MASK_ for InverseMask
20123169689Skan	if variable name exists.
20124169689Skan
20125169689Skan2005-05-07  Matt Kraai  <kraai@ftbfs.org>
20126169689Skan
20127169689Skan	* Makefile.in (c-gimplify.o): Depend on $(RTL_H) instead of rtl.h.
20128169689Skan
20129169689Skan2005-05-07  Richard Henderson  <rth@redhat.com>
20130169689Skan
20131169689Skan	PR target/21412
20132169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
20133169689Skan	with constant offsets.
20134169689Skan
20135169689Skan2005-05-07  Nathan Sidwell  <nathan@codesourcery.com>
20136169689Skan
20137169689Skan	* config/v850/v850.c (print_operand): Use gcc_assert and
20138169689Skan	gcc_unreachable, as appropriate.
20139169689Skan	(print_operand_address, v850_handle_data_area_attribute,
20140169689Skan	v850_encode_data_area, construct_restore_jr, construct_save_jarl,
20141169689Skan	v850_insert_attributes, construct_prepare_instruction): Likewise.
20142169689Skan	* config/v850/v850.h (INITIAL_ELIMINATION_OFFSET): Likewise.
20143169689Skan	* config/v850/v850.md (movsicc, *sasf_1): Likewise.
20144169689Skan
20145169689Skan2005-05-07  Kazu Hirata  <kazu@cs.umass.edu>
20146169689Skan
20147169689Skan	* tree-ssa-loop-ivcanon.c, config/i386/i386.c,
20148169689Skan	config/rs6000/rs6000.h: Fix comment typos.
20149169689Skan
20150169689Skan2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
20151169689Skan
20152169689Skan	* doc/invoke.texi: Remove documentation for MIPS' -mint64 option.
20153169689Skan	* config/mips/mips.c (TARGET_SCALAR_MODE_SUPPORTED_P): Delete.
20154169689Skan	(mips_scalar_mode_supported_p): Delete.
20155169689Skan
20156169689Skan2005-05-06  Eric Christopher  <echristo@redhat.com>
20157169689Skan
20158169689Skan	* config/mips/mips.opt: Remove -mint64 option.
20159169689Skan	* config/mips/mips.c (override_options): Remove -mint64
20160169689Skan	handling.
20161169689Skan	* config/mips/mips.h (INT_TYPE_SIZE): Define to 32.
20162169689Skan	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove
20163169689Skan	64-bit integer handling.
20164169689Skan	* doc/invoke.texi (Option Summary): Remove -mint64 for
20165169689Skan	mips.
20166169689Skan
20167169689Skan2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
20168169689Skan
20169169689Skan	PR tree-optimization/19401
20170169689Skan	* tree-flow.h (tree_unroll_loops_completely): Declaration changed.
20171169689Skan	* tree-ssa-loop-ivcanon.c (enum unroll_level): New.
20172169689Skan	(estimated_unrolled_size): New function.
20173169689Skan	(try_unroll_loop_completely, canonicalize_loop_induction_variables,
20174169689Skan	tree_unroll_loops_completely): Always unroll loops if the code size
20175169689Skan	does not increase.
20176169689Skan	* tree-ssa-loop.c (tree_complete_unroll): Indicate whether all
20177169689Skan	loops should be unrolled completely.
20178169689Skan	(gate_tree_complete_unroll): Run complete unrolling unconditionally.
20179169689Skan
20180169689Skan2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
20181169689Skan
20182169689Skan	PR rtl-optimization/21254
20183169689Skan	* loop-iv.c (iv_number_of_iterations): Simplify infiniteness
20184169689Skan	assumptions for loops that otherwise do not roll.
20185169689Skan	(find_simple_exit): Prefer # of iterations that is guaranteed
20186169689Skan	not to be infinite.
20187169689Skan	* loop-unroll.c (decide_peel_once_rolling,
20188169689Skan	decide_peel_completely): Check whether the loop is infinite.
20189169689Skan
20190169689Skan2005-05-06  Pat Haugen  <pthaugen@us.ibm.com>
20191169689Skan
20192169689Skan	* config/rs6000/sysv4.opt: Fix typo.
20193169689Skan
20194169689Skan2005-05-06  Denis Vlasenko  <vda@port.imtp.ilyichevsk.odessa.ua>
20195169689Skan	    Jakub Jelinek  <jakub@redhat.com>
20196169689Skan
20197169689Skan	PR target/21329
20198169689Skan	* config/i386/i386.c (ix86_expand_movmem): Don't use rep; movsb
20199169689Skan	for -Os if (movsl;)*(movsw;)?(movsb;)? sequence is shorter.
20200169689Skan	Don't use rep; movs{l,q} if the repetition count is really small,
20201169689Skan	instead use a sequence of movs{l,q} instructions.
20202169689Skan
20203169689Skan2005-05-06  Jeff Law  <law@redhat.com>
20204169689Skan
20205169689Skan	PR tree-optimization/21380
20206169689Skan	* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
20207169689Skan	thread through a block with no preds.
20208169689Skan
20209169689Skan2005-05-06  Kazu Hirata  <kazu@cs.umass.edu>
20210169689Skan
20211169689Skan	* tree-ssa-operands.c (clobbered_v_may_defs, clobbered_vuses,
20212169689Skan	ro_call_vuse, fini_ssa_operands, add_call_clobber_ops,
20213169689Skan	add_call_read_ops): Use VEC instead of VARRAY.
20214169689Skan
20215169689Skan2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
20216169689Skan
20217169689Skan	* config/mcore/mcore.c (mcore_print_operand_address): Use
20218169689Skan	gcc_assert and gcc_unreachable as appropriate.
20219169689Skan	(mcore_print_operand, mcore_gen_compare_reg, mcore_output_call,
20220169689Skan	mcore_output_andn, output_inline_const, mcore_output_move,
20221169689Skan	mcore_output_movedouble, mcore_expand_block_move,
20222169689Skan	layout_mcore_frame, mcore_initial_elimination_offset,
20223169689Skan	mcore_expand_prolog, mcore_mark_dllexport,
20224169689Skan	mcore_mark_dllimport): Likewise.
20225169689Skan	* config/mcore/mcore.h (switch_to_section): Likewise.
20226169689Skan	* config/mcore/mcore.md: Likewise.
20227169689Skan
20228169689Skan2005-05-06  Aldy Hernandez  <aldyh@redhat.com>
20229169689Skan
20230169689Skan	* config/rs6000/linux64.h: Remove MASK_PROFILE_KERNEL, and
20231169689Skan	TARGET_PROFILE_KERNEL.
20232169689Skan
20233169689Skan	* config/rs6000/rs6000.c (output_profile_hook): Add comment to
20234169689Skan	TARGET_PROFILE_KERNEL use.
20235169689Skan
20236169689Skan2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
20237169689Skan
20238169689Skan	* config/m32r/m32r.c (m32r_encode_section_info): Use gcc_assert
20239169689Skan	and gcc_unreachable, as appropriate.
20240169689Skan	(gen_compare, gen_split_move_double, m32r_setup_incoming_varargs,
20241169689Skan	m32r_expand_prologue, m32r_output_function_epilogue,
20242169689Skan	m32r_legitimize_pic_address, m32r_print_operand_address,
20243169689Skan	emit_cond_move, m32r_function_symbol,
20244169689Skan	m32r_output_block_move): Likewise.
20245169689Skan	* config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
20246169689Skan	* config/m32r/m32r.md (	*movsi_insn, *zero_branch_insn,
20247169689Skan	*rev_zero_branch_insn): Likewise.
20248169689Skan
20249169689Skan2005-05-06  Jakub Jelinek  <jakub@redhat.com>
20250169689Skan
20251169689Skan	PR c++/20961
20252169689Skan	* varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
20253169689Skan	if both NEWDECL and OLDDECL are already weak.
20254169689Skan
20255169689Skan2005-05-06  Richard Sandiford  <rsandifo@redhat.com>
20256169689Skan
20257169689Skan	* config/rs6000/sysv4.h (EXTRA_SUBTARGET_SWITCHES): Delete.
20258169689Skan
20259169689Skan2005-05-05  J"orn Rennecke  <joern.rennecke@st.com>
20260169689Skan	    Kaz Kojima  <kkojima@gcc.gnu.org>
20261169689Skan
20262169689Skan	* config/sh/sh.c (sh_builtin_saveregs): Use copy_to_mode_reg
20263169689Skan	and plus_constant.
20264169689Skan
20265169689Skan2005-05-05  Aldy Hernandez  <aldyh@redhat.com>
20266169689Skan	    David Edelsohn  <edelsohn@gnu.org>
20267169689Skan
20268169689Skan	* config.gcc: Add .opt magic for the rs6000 ports.
20269169689Skan
20270169689Skan	* doc/invoke.texi: Document -mabi= option properly.  Document
20271169689Skan	-misel and -mno-sel.  Document -mspe and -mno-spe.  Document
20272169689Skan	-mvrsave and -mno-vrsave.  Document deprecation of -mspe= and
20273169689Skan	-misel=.
20274169689Skan
20275169689Skan	* config/rs6000/aix.h: Remove XL_COMPAT stuff.  Remove
20276169689Skan	SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES.  Define
20277169689Skan	TARGET_XL_COMPAT.
20278169689Skan
20279169689Skan	* config/rs6000/aix.opt: New.
20280169689Skan	* config/rs6000/aix41.opt: New.
20281169689Skan	* config/rs6000/aix64.opt: New.
20282169689Skan	* config/rs6000/darwin.opt: New.
20283169689Skan	* config/rs6000/linux64.opt: New.
20284169689Skan	* config/rs6000/rs6000.opt: New.
20285169689Skan	* config/rs6000/sysv4.opt: New.
20286169689Skan
20287169689Skan	* config/rs6000/sysv4.h: Delete definitions of MASK_* and
20288169689Skan	associated TARGET_*.  Remove SUBTARGET_OPTIONS,
20289169689Skan	SUBTARGET_SWITCHES.
20290169689Skan	Define TARGET_USES_SYSV4_OPT.
20291169689Skan	* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
20292169689Skan	* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES.  Define
20293169689Skan	TARGET_USES_AIX64_OPT.
20294169689Skan	* config/rs6000/aix51.h: Same.
20295169689Skan	* config/rs6000/aix52.h: Same.
20296169689Skan	* config/rs6000/darwin.h: Remove SUBTARGET_SWITCHES,
20297169689Skan	MASK_MACHO_DYNAMIC_NO_PIC, TARGET_MACHO_DYNAMIC_NO_PIC.
20298169689Skan	Use TARGET_ALTIVEC_VRSAVE instead of rs6000_altivec_vrsave.
20299169689Skan	Define TARGET_DYNAMIC_NO_PIC as TARGET_MACHO_DYNAMIC_NO_PIC.
20300169689Skan	* config/rs6000/linux64.h: Use
20301169689Skan	rs6000_explicit_options.  Remove EXTRA_SUBTARGET_SWITCHES.
20302169689Skan
20303169689Skan	* config/rs6000/rs6000.c: Remove definitions of
20304169689Skan	rs6000_sched_restricted_insns_priority,
20305169689Skan	rs6000_long_double_size_string, rs6000_altivec_vrsave,
20306169689Skan	rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
20307169689Skan	rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
20308169689Skan	rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
20309169689Skan	rs6000_alignment_string.  Define rs6000_explicit_options.
20310169689Skan	(rs6000_parse_abi_options): Remove.
20311169689Skan	(rs6000_parse_alignment_option): Remove.
20312169689Skan	(rs6000_parse_float_gprs_option): Remove.
20313169689Skan	(rs6000_handle_option): New.  Define TARGET_HANDLE_OPTION.  Define
20314169689Skan	TARGET_DEFAULT_TARGET_FLAGS.
20315169689Skan	(rs6000_override_options): Revamp to use new .opt machinery.
20316169689Skan
20317169689Skan	* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
20318169689Skan	of new .opt machinery.  Remove target_flags.  Redefine
20319169689Skan	TARGET_MFCRF and TARGET_POWERPC64.  Remove TARGET_SWITCHES,
20320169689Skan	SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
20321169689Skan	rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
20322169689Skan	rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
20323169689Skan	rs6000_longcall_switch, rs6000_default_long_calls,
20324169689Skan	rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
20325169689Skan	rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
20326169689Skan	TARGET_ALTIVEC_VRSAVE.
20327169689Skan
20328169689Skan2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
20329169689Skan
20330169689Skan	* config.gcc (hppa1.1-*-rtems*): Remove.
20331169689Skan	* config/pa/rtems.h: Remove.
20332169689Skan
20333169689Skan2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
20334169689Skan
20335169689Skan	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
20336169689Skan	Exclude roe/603e multilib variants.
20337169689Skan
20338169689Skan2005-05-04  Denis Chertykov  <denisc@overta.ru>
20339169689Skan
20340169689Skan	PR target/21284
20341169689Skan	* config/avr/avr.c (avr_output_addr_vec_elt): Use special section
20342169689Skan	for output.
20343169689Skan
20344169689Skan2005-05-05  Richard Sandiford  <rsandifo@redhat.com>
20345169689Skan
20346169689Skan	* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
20347169689Skan	arm/pe.opt to $extra_options.
20348169689Skan	* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
20349169689Skan	(target_float_abi_name, target_float_switch, target_abi_name)
20350169689Skan	(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
20351169689Skan	(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
20352169689Skan	(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
20353169689Skan	(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
20354169689Skan	(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
20355169689Skan	(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
20356169689Skan	(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
20357169689Skan	(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
20358169689Skan	(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
20359169689Skan	(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
20360169689Skan	(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
20361169689Skan	(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
20362169689Skan	(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
20363169689Skan	(TARGET_OPTIONS, arm_cpu_select, arm_select,  structure_size_string)
20364169689Skan	(arm_pic_register_string): Delete.
20365169689Skan	(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
20366169689Skan	TARGET_TPCS_FRAME.
20367169689Skan	(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
20368169689Skan	* config/arm/coff.h (TARGET_DEFAULT): Likewise.
20369169689Skan	* config/arm/elf.h (TARGET_DEFAULT): Likewise.
20370169689Skan	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
20371169689Skan	* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
20372169689Skan	* config/arm/semi.h (TARGET_DEFAULT): Likewise.
20373169689Skan	* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
20374169689Skan	* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
20375169689Skan	* config/arm/pe.h (TARGET_DEFAULT): Likewise.
20376169689Skan	(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
20377169689Skan	(SUBTARGET_SWITCHES): Delete.
20378169689Skan	* config/arm/arm.c (target_float_switch): Delete.
20379169689Skan	(arm_cpu_select): Moved from config/arm/arm.h.
20380169689Skan	(target_fpu_name, target_fpe_name, target_float_abi_name)
20381169689Skan	(target_abi_name, structure_size_string, arm_pic_register_string)
20382169689Skan	(arm_select): Make static.
20383169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
20384169689Skan	(arm_handle_option): New function.
20385169689Skan	(arm_override_options): Update target_flags checks for new mask names.
20386169689Skan	Remove target_float_switch code.
20387169689Skan	(arm_expand_prologue, thumb_expand_prologue): Check
20388169689Skan	!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
20389169689Skan	* config/arm/arm.opt, config/arm/pe.opt: New files.
20390169689Skan
20391169689Skan2005-05-05  Nathan Sidwell  <nathan@codesourcery.com>
20392169689Skan
20393169689Skan	* config/arc/arc.c (get_arc_condition_code): Use gcc_assert &
20394169689Skan	gcc_unreachable as appropriate.
20395169689Skan	(arc_double_limm_p, arc_setup_incoming_varargs,
20396169689Skan	arc_compute_function_type, arc_output_function_prologue,
20397169689Skan	arc_output_function_epilogue, arc_eligible_for_epilogue_delay,
20398169689Skan	output_shift, arc_print_operand, arc_print_operand_address,
20399169689Skan	arc_final_prescan_insn): Likewise.
20400169689Skan	* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
20401169689Skan
20402169689Skan2005-05-04  Geoffrey Keating  <geoffk@apple.com>
20403169689Skan
20404169689Skan	* config/rs6000/rs6000.md (P): Use TARGET_*BIT rather than
20405169689Skan	comparing Pmode.
20406169689Skan	(SDI): New.
20407169689Skan	(cmp): Delete.
20408169689Skan	(wd): New.
20409169689Skan	(add<mode>3, add<mode>3_internal1, add<mode>3_internal2,
20410169689Skan	add<mode>3_internal3, one_cmpl<mode>2, sub<mode>3, neg<mode>2,
20411169689Skan	clz<mode>2, ctz<mode>2, ffs<mode>2): New.
20412169689Skan	(addsi3, addsi3_internal1, addsi3_internal2, addsi3_internal3,
20413169689Skan	(one_cmplsi2, subsi3, negsi2, clzsi2, ctzsi2, ffssi2): Remove.
20414169689Skan	(adddi3, adddi3_internal1, adddi3_internal2, adddi3_internal3,
20415169689Skan	(one_cmpldi2, subdi3, negdi2, clzdi2, ctzdi2, ffsdi2): Remove.
20416169689Skan	(sync_compare_and_swap<mode>): Use <wd> rather than <cmp>.
20417169689Skan
20418169689Skan2005-05-05  Paul Brook  <paul@codesourcery.com>
20419169689Skan
20420169689Skan	* Makefile.in: Replace dependencies on basic-block.h, c-pragma.h,
20421169689Skan	cfgloop.h, diagnostic.h, insn-attr.h, langhooks-def.h, params.h,
20422169689Skan	regs.h, system.h, tree-dump.h, tree-gimple.h, tree-scalar-evolution.h
20423169689Skan	and tree-data-ref.h with *_H variables.
20424169689Skan
20425169689Skan2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>
20426169689Skan
20427169689Skan	* config/m32r/xm-m32r.h, config/m32r/xm-linux.h: Delete files.
20428169689Skan
20429169689Skan2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>
20430169689Skan
20431169689Skan	* system.h: Poison BYTEORDER and HOST_WORDS_BIG_ENDIAN.
20432169689Skan
20433169689Skan2005-05-04  Gerald Pfeifer  <gerald@pfeifer.com>
20434169689Skan
20435169689Skan	* doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks.
20436169689Skan
20437169689Skan2005-05-04 Fariborz Jahanian <fjahanian@apple.com>
20438169689Skan
20439169689Skan	* config/rs6000/rs6000.c (rs6000_emit_prologue): Emit
20440169689Skan	setting of vrsave register for current function after
20441169689Skan	call to save_world is emitted.
20442169689Skan
20443169689Skan2005-05-05  Hans-Peter Nilsson  <hp@bitrange.com>
20444169689Skan
20445169689Skan	* config/mmix/predicates.md: New file.
20446169689Skan	* config/mmix/mmix.c (mmix_symbolic_or_address_operand)
20447169689Skan	(mmix_reg_or_constant_operand, mmix_reg_cc_operand)
20448169689Skan	(mmix_foldable_comparison_operator, mmix_comparison_operator)
20449169689Skan	(mmix_reg_or_0_operand, mmix_reg_or_8bit_operand): Remove.
20450169689Skan	* config/mmix/mmix.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
20451169689Skan	Don't define.
20452169689Skan	* config/mmix/mmix.md: Include predicates.md.
20453169689Skan	("call", "call_value"): Force address to register if it isn't a
20454169689Skan	mmix_symbolic_or_address_operand.
20455169689Skan
20456169689Skan2005-05-04  Andrew MacLeod  <amacleod@redhat.com>
20457169689Skan
20458169689Skan	* tree-flow-inline.h (op_iter_init_use, op_iter_init_def): Assert that
20459169689Skan	the flags are of appropriate types.
20460169689Skan	(num_ssa_operands): Generalize using the generic interface.
20461169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Don't ask for kills on a DEF
20462169689Skan	iterator.
20463169689Skan
20464169689Skan2005-05-04  Richard Sandiford  <rsandifo@redhat.com>
20465169689Skan
20466169689Skan	* protoize.c (version_flag, quiet_flag, nochange_flag, nosave_flag)
20467169689Skan	(keep_flag, local_flag, global_flag, cplusplus_flag): Make extern.
20468169689Skan
20469169689Skan2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
20470169689Skan
20471169689Skan	* tree-outof-ssa.c (edge_leader, stmt_list,
20472169689Skan	analyze_edges_for_bb): Use VEC instead of VARRAY.
20473169689Skan	(init_analayze_edges_for_bb, fini_analayze_edges_for_bb): New.
20474169689Skan	(perform_edge_inserts): Call init_analayze_edges_for_bb and
20475169689Skan	fini_analayze_edges_for_bb.
20476169689Skan
20477169689Skan2005-05-04  James E Wilson  <wilson@specifixinc.com>
20478169689Skan
20479169689Skan	PR driver/21112
20480169689Skan	* gcc.c (process_command): In the second argv scan loop, ignore
20481169689Skan	Xassembler and Xpreprocessor, along with their argument.
20482169689Skan
20483169689Skan2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
20484169689Skan
20485169689Skan	* tree-flow-inline.h, tree-ssa-operands.c,
20486169689Skan	tree-ssa-operands.h, tree-ssa-opfinalize.h:
20487169689Skan	Likewise. tree-vn.c: Fix comment typos.
20488169689Skan	* doc/passes.texi, doc/tree-ssa.texi: Fix typos.
20489169689Skan
20490169689Skan2005-05-04  Paolo Bonzini  <bonzini@gnu.org>
20491169689Skan
20492169689Skan	* doc/tm.texi (Target Hooks): Document
20493169689Skan	TARGET_RESOLVE_OVERLOADED_BUILTIN.
20494169689Skan
20495169689Skan2005-05-04  Paul Brook  <paul@codesourcery.com>
20496169689Skan
20497169689Skan	* Makefile.in: Change dependencies on target.h to $(TARGET_H).
20498169689Skan
20499169689Skan2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
20500169689Skan
20501169689Skan	* dwarf2out.c (incomplete_types, retry_incomplete_types,
20502169689Skan	gen_struct_or_union_type_die, dwarf2out_init): Use VEC instead
20503169689Skan	of VARRAY.
20504169689Skan
20505169689Skan	* loop-unroll.c (var_to_expand, analyze_insn_to_expand_var,
20506169689Skan	get_expansion, expand_var_during_unrolling,
20507169689Skan	insert_var_expansion_initialization,
20508169689Skan	combine_var_copies_in_loop_exit, release_var_copies): Use VEC
20509169689Skan	instead of VARRAY.
20510169689Skan
20511169689Skan	* tree-ssa-loop-ivopts.c (rewrite_address_base): Don't call
20512169689Skan	update_stmt.
20513169689Skan
20514169689Skan2004-05-03  Andrew Pinski  <pinskia@physics.uc.edu>
20515169689Skan
20516169689Skan	PR middle-end/15618
20517169689Skan	* fold-const.c (fold_widened_comparison): Treat BOOLEAN_TYPE
20518169689Skan	the same as INTEGER_TYPE.
20519169689Skan	(fold_binary): Fold "bool_var != 0" to bool_var.
20520169689Skan	Fold "bool_var == 1" to bool_var.
20521169689Skan
20522169689Skan2004-05-03  Richard Henderson  <rth@redhat.com>
20523169689Skan
20524169689Skan	PR middle-end/21318
20525169689Skan	* function.c (instantiate_virtual_regs_in_insn): Use the mode
20526169689Skan	from recog_data instead of insn_data.
20527169689Skan
20528169689Skan2005-05-03  DJ Delorie  <dj@redhat.com>
20529169689Skan
20530169689Skan	* common.opt (fdiagnostics-show-option): No variable is needed.
20531169689Skan	* diagnostic.h (diagnostic_context): Add show_option_requested flag.
20532169689Skan	* diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
20533169689Skan	(diagnostic_report_diagnostic): Test for enabled diagnostics here.
20534169689Skan	Save and restore original message format.  Use flag in context
20535169689Skan	instead of global.
20536169689Skan	(warning): Don't test for enabled warnings here.
20537169689Skan	* opts.c (common_handle_option): Handle -fdiagnostics-show-option
20538169689Skan	here.
20539169689Skan
20540169689Skan2005-05-04  Kelley Cook  <kcook@gcc.gnu.org>
20541169689Skan
20542169689Skan	* config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN.
20543169689Skan	* config/m32r/xm-linux.h: Don't undefine HOST_WORDS_BIG_ENDIAN.
20544169689Skan	* mips-tfile.c: Use WORDS_BIG_ENDIAN instead of HOST_WORDS_BIG_ENDIAN.
20545169689Skan	* aclocal.m4: Don't include accross.m4.
20546169689Skan	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
20547169689Skan	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
20548169689Skan	* configure, config.in: Regenerate.
20549169689Skan
20550169689Skan2005-05-04  Jakub Jelinek  <jakub@redhat.com>
20551169689Skan
20552169689Skan	PR middle-end/21265
20553169689Skan	* expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL.
20554169689Skan	(clear_storage): Add argument.
20555169689Skan	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall):
20556169689Skan	Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to
20557169689Skan	tailcall.
20558169689Skan	(emit_block_move): Handle BLOCK_OP_TAILCALL method.
20559169689Skan	(clear_storage): Add method argument, handle BLOCK_OP_TAILCALL.
20560169689Skan	(store_expr, store_constructor): Adjust callers.
20561169689Skan	* builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL
20562169689Skan	to emit_block_move if CALL_EXPR_TAILCALL (exp).
20563169689Skan	(expand_builtin_memmove): Add ORIG_EXP argument, copy
20564169689Skan	CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR.
20565169689Skan	(expand_builtin_bcopy): Replace ARGLIST and TYPE arguments
20566169689Skan	with EXP.  Pass EXP to expand_builtin_memmove.
20567169689Skan	(expand_builtin_memset): Add ORIG_EXP argument, pass
20568169689Skan	BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp).
20569169689Skan	(expand_builtin_bzero): Replace ARGLIST argument with EXP.
20570169689Skan	Pass EXP to expand_builtin_memset.
20571169689Skan	(expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to
20572169689Skan	the new CALL_EXPR.
20573169689Skan	(expand_builtin_strncmp): Likewise.
20574169689Skan	(expand_builtin_printf): Replace ARGLIST argument with EXP.
20575169689Skan	Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR.
20576169689Skan	(expand_builtin_fprintf): Likewise.
20577169689Skan	(expand_builtin): Adjust calls to
20578169689Skan	expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}.
20579169689Skan
20580169689Skan	* config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th
20581169689Skan	item in V4SF mode.
20582169689Skan
20583169689Skan	PR rtl-optimization/21239
20584169689Skan	* combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo.
20585169689Skan
20586169689Skan2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
20587169689Skan
20588169689Skan	* tree-flow.h (tree_ann_common_d): Move aux to ...
20589169689Skan	(stmt_ann_d): ... here.
20590169689Skan	* tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
20591169689Skan	move_computations_stmt, schedule_sm): Update references to
20592169689Skan	aux.
20593169689Skan	* tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
20594169689Skan
20595169689Skan	* tree-cfg.c (remove_bb): Remove a redundant call to
20596169689Skan	set_bb_for_stmt.
20597169689Skan	* tree-if-conv.c (replace_phi_with_cond_modify_expr):
20598169689Skan	Likewise.
20599169689Skan
20600169689Skan2005-05-03  Richard Henderson  <rth@redhat.com>
20601169689Skan
20602169689Skan	* config/rs6000/rs6000.c: Remove conflict markers.
20603169689Skan
20604169689Skan	* cfg.c (dump_flow_info): Use max_reg_num, not max_regno.
20605169689Skan
20606169689Skan2005-05-03  James E Wilson  <wilson@specifixinc.com>
20607169689Skan
20608169689Skan	* dwarf2out.c (lookup_filename): Call maybe_emit_file.
20609169689Skan
20610169689Skan2005-05-03  DJ Delorie  <dj@redhat.com>
20611169689Skan
20612169689Skan	* c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery
20613169689Skan	decide if the warning will be printed.
20614169689Skan	* calls.c (expand_call): Likewise.
20615169689Skan	* function.c (init-function_start): Likewise.
20616169689Skan
20617169689Skan	* common.opt (-fdiagnostics-show-option): New.
20618169689Skan	* opts.c (option_enabled): Accept the option index instead of a
20619169689Skan	pointer to the option descriptor.
20620169689Skan	* opts.h (option_enabled): Likewise.
20621169689Skan	* toplev.c (print_switch_values): Pass option index, not option
20622169689Skan	descriptor.
20623169689Skan	* diagnostic.h (diagnostic_info): Add option_index.
20624169689Skan	* diagnostic.c: Include opts.h.
20625169689Skan	(diagnostic_set_info): Initialize option_index.
20626169689Skan	(diagnostic_report_diagnostic): Amend option name if appropriate.
20627169689Skan	(warning): Check to see if the specified warning is enabled.
20628169689Skan	Store option index.
20629169689Skan	* doc/invoke.texi (-fdiagnostics-show-options): Document.
20630169689Skan
20631169689Skan2005-05-03  Richard Henderson  <rth@redhat.com>
20632169689Skan
20633169689Skan	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix ALL_REGS and
20634169689Skan	SPEC_OR_GEN_REGS definitions.
20635169689Skan
20636169689Skan2005-05-03  Alexandre Oliva  <aoliva@redhat.com>
20637169689Skan
20638169689Skan	PR target/16888
20639169689Skan	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
20640169689Skan	for unavailable registers.
20641169689Skan
20642169689Skan2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
20643169689Skan
20644169689Skan	* tree-cfg.c (tree_forwarder_block_p): Fix a typo.
20645169689Skan
20646169689Skan	* cfglayout.c (block_locators_blocks,
20647169689Skan	insn_locators_initialize, insn_scope): Use VEC instead of
20648169689Skan	VARRAY.
20649169689Skan
20650169689Skan	* tree-mudflap.c (deferred_static_decls, mudflap_enqueue_decl,
20651169689Skan	mudflap_finish_file, mudflap_finish_file): Use VEC instead of
20652169689Skan	VARRAY.
20653169689Skan
20654169689Skan2005-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
20655169689Skan
20656169689Skan	* config/sparc/predicates.md (const_compl_high_operand): New.
20657169689Skan	* config/sparc/sparc.c (sparc_emit_set_safe_HIGH64): Rename into
20658169689Skan	gen_safe_HIGH64.
20659169689Skan	(sparc_emit_set_const64_quick1): Adjust for above change.
20660169689Skan	(sparc_emit_set_const64_quick2): Likewise.
20661169689Skan	(sparc_emit_set_const64_longway): Likewise.
20662169689Skan	(sparc_emit_set_const64): Likewise.
20663169689Skan	* config/sparc/sparc.md (movhi_const64_special, movsi_const64_special,
20664169689Skan	movdi_const64_special): Delete.
20665169689Skan	(logical constant splitters): Use const_compl_high_operand.
20666169689Skan
20667169689Skan2005-05-03  Richard Guenther  <rguenth@gcc.gnu.org>
20668169689Skan
20669169689Skan	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Use STRIP_TYPE_NOPS
20670169689Skan	rather than STRIP_NOPS.
20671169689Skan
20672169689Skan2005-05-03  Jakub Jelinek  <jakub@redhat.com>
20673169689Skan
20674169689Skan	PR rtl-optimization/21330
20675169689Skan	* loop-unswitch.c (may_unswitch_on): Set *cinsn only when
20676169689Skan	returning non-NULL.
20677169689Skan	(unswitch_single_loop): Clear cinsn when retrying.
20678169689Skan
20679169689Skan	PR target/21297
20680169689Skan	* config/i386/i386.c (legitimize_address): When canonicalizing
20681169689Skan	ASHIFT into MULT, multiply by 1 << shift_count instead of
20682169689Skan	1 << log2 (shift_count).
20683169689Skan
20684169689Skan2005-05-03  Andrew MacLeod  <amacleod@redhat.com>
20685169689Skan
20686169689Skan	* lambda-code.c (gcc_loop_to_lambda_loop,
20687169689Skan	lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
20688169689Skan	stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
20689169689Skan	generic operand interface.
20690169689Skan	* tree-data-ref.c (find_data_references_in_loop): Use generic interface.
20691169689Skan	* tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
20692169689Skan	generic operand interface.
20693169689Skan	* tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
20694169689Skan	link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
20695169689Skan	next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
20696169689Skan	num_imm_uses): Use ssa_use_operand_t.
20697169689Skan	(get_def_ops, get_use_ops, get_v_may_def_ops, get_vuse_ops,
20698169689Skan	get_v_must_def_ops): Delete.
20699169689Skan	(get_def_from_ptr, get_phi_result_ptr): Get def directly now.
20700169689Skan	(get_use_op_ptr, get_def_op_ptr, get_v_may_def_result_ptr,
20701169689Skan	get_v_may_def_op_ptr, get_vuse_op_ptr, get_v_must_def_result_ptr,
20702169689Skan	get_v_must_def_kill_ptr): Delete.
20703169689Skan	(delink_stmt_imm_use): Move and use new operand interface.
20704169689Skan	(op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
20705169689Skan	op_iter_next_tree): Use new operand implementation.
20706169689Skan	(clear_and_done_ssa_iter): New.  Initialize a blank operand iterator.
20707169689Skan	(op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
20708169689Skan	type check.
20709169689Skan	(op_iter_next_mustdef, op_iter_next_maydef,
20710169689Skan	op_iter_next_must_and_may_def): Delete. Replace with...
20711169689Skan	(op_iter_next_maymustdef): New.  Combine must and may next operations.
20712169689Skan	(op_iter_init_maydef, op_iter_init_mustdef,
20713169689Skan	op_iter_init_must_and_may_def): Use new interface.
20714169689Skan	(single_ssa_tree_operand ): New.  Process single operands only as trees.
20715169689Skan	(single_ssa_use_operand): New.  Process single operands only as uses.
20716169689Skan	(single_ssa_def_operand): New.  Process single operands only as defs.
20717169689Skan	(zero_ssa_operands): New.  Return TRUE if there are zero operands of the
20718169689Skan	specified types.
20719169689Skan	(num_ssa_operands): New.  Count the number of specified operands.
20720169689Skan	(compare_ssa_operands_equal): New.  Compare two statements' operands.
20721169689Skan	(single_phi_def): New.  Return true if PHI has one def of the specified
20722169689Skan	operand type.
20723169689Skan	(op_iter_init_phiuse): New.  Initialize the iterator for PHI arguments.
20724169689Skan	(op_iter_init_phidef): New.  Initialize the iterator for the PHI def.
20725169689Skan	* tree-flow.h (struct immediate_use_iterator_d): Use ssa_use_operand_t.
20726169689Skan	(struct stmt_ann_d): Operands field no longer require GTY().
20727169689Skan	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
20728169689Skan	* tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
20729169689Skan	* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
20730169689Skan	dump_replaceable_exprs, rewrite_trees): Use generic interface.
20731169689Skan	* tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
20732169689Skan	Use use_operand_p instead of ssa_imm_use_t *.
20733169689Skan	* tree-pretty-print.c (dump_vops): check if operands are active before
20734169689Skan	dumping virtual operands.
20735169689Skan	* tree-sra.c (sra_walk_function): Use ZERO_SSA_OPERANDS.
20736169689Skan	* tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
20737169689Skan	(ccp_fold): Use new interface.
20738169689Skan	(ccp_visit_stmt): Remove unused variables and code.
20739169689Skan	(convert_to_gimple_builtin): Insert statements before calling
20740169689Skan	mark_new_vars_to_rename.
20741169689Skan	* tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
20742169689Skan	(copy_prop_visit_cond_stmt): Use generic interface.
20743169689Skan	* tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
20744169689Skan	annotation in table.
20745169689Skan	(thread_across_edge): Use generic interface.
20746169689Skan	(initialize_hash_element): Initialzie with stmt, not annotation.
20747169689Skan	(eliminate_redundant_computations): Use generic interface.
20748169689Skan	(record_equivalences_from_stmt): Pass stmt, not annotation.
20749169689Skan	(avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
20750169689Skan	interface.
20751169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
20752169689Skan	* tree-ssa-loop-ivopts.c (find_invariants_stmt,
20753169689Skan	find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
20754169689Skan	generic operand interface.
20755169689Skan	* tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
20756169689Skan	interface.
20757169689Skan	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
20758169689Skan	Interface.
20759169689Skan	* tree-ssa-operands.c (struct opbuild_list_d): New.  Operand build type.
20760169689Skan	(build_defs, build_uses, build_v_may_defs, build_vuses,
20761169689Skan	build_v_must_defs): Change type to struct opbuild_list_d.
20762169689Skan	(ops_active): New.  Operands active boolean.
20763169689Skan	(operand_memory, operand_memory_index): New.  Operand memory managers.
20764169689Skan	(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
20765169689Skan	allocate_vuse_optype, allocate_v_must_def_optype): Delete.
20766169689Skan	(free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
20767169689Skan	Change from functions to static variable list heads.
20768169689Skan	(opbuild_initialize_virtual): New.  Initialize a virtual build list.
20769169689Skan	(opbuild_initialize_real): New.  Initialize a virtual build list.
20770169689Skan	(opbuild_free): New.  Free a build list.
20771169689Skan	(opbuild_num_elems): New.  Number of items in a list.
20772169689Skan	(opbuild_append_real): New.  Add a real (tree *) operand.
20773169689Skan	(opbuild_append_virtual): New.  Add and sort a virtual (tree) operand.
20774169689Skan	(opbuild_first): New.  Return first element index in a list.
20775169689Skan	(opbuild_next): New.  Return next element in a list.
20776169689Skan	(opbuild_elem_real): New.  Return real element.
20777169689Skan	(opbuild_elem_virtual): New.  Return virtual element.
20778169689Skan	(opbuild_elem_uid): New.  Return UID of virtual element.
20779169689Skan	(opbuild_clear): New.  Reset an operand list.
20780169689Skan	(opbuild_remove_elem): New.  Remove an element form a list.
20781169689Skan	(ssa_operands_active): New.  Return true if operand cache is active.
20782169689Skan	(init_ssa_operands, fini_ssa_operands): Initialize new implementation.
20783169689Skan	(ssa_operand_alloc): New.  Allocate memory from an operand chunk.
20784169689Skan	(correct_use_link): Use use_operand_p.
20785169689Skan	(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
20786169689Skan	finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
20787169689Skan	(cleanup_v_may_defs): Use new implmentation.
20788169689Skan	(finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
20789169689Skan	implementation.
20790169689Skan	(append_def, append_use, append_v_may_def, append_vuse,
20791169689Skan	append_v_must_def): Call opbuild_append routine instead of using varray.
20792169689Skan	(build_ssa_operands): Simplify to simply use stmt, don't maintain a
20793169689Skan	global parse_old_ops variable.
20794169689Skan	(free_ssa_operands): New implementation.
20795169689Skan	(update_stmt_operands): Move.  Change argument to build_ssa_operands.
20796169689Skan	(copy_virtual_operands): Move. New generic implementation.
20797169689Skan	(create_ssa_artficial_load_stmt): Move. New implementation.
20798169689Skan	(swap_tree_operands): Update for new implementation.
20799169689Skan	(get_expr_operands): Add stmt parameter to calls to swap_tree_operands.
20800169689Skan	(add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
20801169689Skan	rather than a varray.
20802169689Skan	(verify_imm_links): Use use_operand_p.
20803169689Skan	(dump_immediate_uses_for): If the immediate use variable is a virtual
20804169689Skan	variable, show the virtual ops in the stmt.
20805169689Skan	* tree-ssa-operands.h (def_operand_p): No longer a structure.
20806169689Skan	(NULL_DEF_OPERAND_P): Now a #define.
20807169689Skan	(def_optype_d, use_optype_d, v_def_use_operand_type, v_may_def_optype_d,
20808169689Skan	vuse_operand_type, vuse_optype_d, v_must_def_optype_d): Delete.
20809169689Skan	(def_optype_d, use_optype_d, maydef_optype_d, vuse_optype_d,
20810169689Skan	mustdef_optype_d): New.  Use Linked list representation.
20811169689Skan	(SSA_OPERAND_MEMORY_SIZE): New.  Size of operand memory chunk.
20812169689Skan	(struct ssa_operand_memory_d): New.  Allocated Chunk node.
20813169689Skan	(struct stmt_operands_d): Change to new pointers that are not GTY.
20814169689Skan	(STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
20815169689Skan	STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
20816169689Skan	SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
20817169689Skan	STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
20818169689Skan	SET_V_MUST_DEF_KILL): Delete.
20819169689Skan	(V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
20820169689Skan	V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
20821169689Skan	(V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
20822169689Skan	V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
20823169689Skan	(enum ssa_op_iter_type): Operand iterator typechecking values.
20824169689Skan	(struct ssa_operand_iterator_d): Use linked lists of operands.
20825169689Skan	(SSA_OP_VMUSTDEFKILL): Rename to SSA_OP_VMUSTKILL.
20826169689Skan	(FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_MUSTDEF_OPERAND,
20827169689Skan	FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): Use op_iter_next_maymustdef.
20828169689Skan	(FOR_EACH_PHI_ARG): New.  Iterate over PHI arguments.
20829169689Skan	(FOR_EACH_PHI_OR_STMT_USE): New.  Iterate over PHI or stmt uses.
20830169689Skan	(FOR_EACH_PHI_OR_STMT_DEF): New.  Iterate over PHI or stmt defs.
20831169689Skan	(SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
20832169689Skan	SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
20833169689Skan	* tree-ssa-opfinalize.h: New.  Function templates for expansion.
20834169689Skan	(FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
20835169689Skan	alloc_vuse, and alloc_mustdef.
20836169689Skan	(FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
20837169689Skan	finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
20838169689Skan	and finalize_ssa_v_must_def_ops.
20839169689Skan	* tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
20840169689Skan	(create_value_expr_from): Use stmt not vuse_optype as a parameter. Pass
20841169689Skan	stmt around.
20842169689Skan	(compute_avail): Use generic iterator interface.
20843169689Skan	* tree-ssa-propagate.c (first_vdef): Use generic operand interface.
20844169689Skan	(stmt_makes_single_load, stmt_makes_single_store): Use
20845169689Skan	ZERO_SSA_OPERANDS.
20846169689Skan	* tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
20847169689Skan	(statement_sink_location): Use generic interface.
20848169689Skan	* tree-ssa.c (verify_ssa): Use %p in fprintf.  Use generic interface.
20849169689Skan	(delete_tree_ssa): Don't call release_defs.  Call release_ssa_name and
20850169689Skan	reset the immediate use link nodes.
20851169689Skan	(stmt_references_memory_p): Use ZERO_SSA_OPERANDS.
20852169689Skan	* tree-ssanames.c (make_ssa_name): Use use_operand_p.
20853169689Skan	* tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
20854169689Skan	(eliminate_tail_call): Use generic operand interface.
20855169689Skan	* tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
20856169689Skan	(vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
20857169689Skan	interface.
20858169689Skan	* tree-vect-transform.c (update_vuses_to_preheader): Use generic
20859169689Skan	interface.
20860169689Skan	* tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
20861169689Skan	* tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
20862169689Skan	vuse_optype.
20863169689Skan	(vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
20864169689Skan	Use statement pointer instead of vuse_optype.  Use generic interface.
20865169689Skan	* tree-vrp.c (maybe_add_assert_expr): Use generic interface.
20866169689Skan	(stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
20867169689Skan	* tree.h (struct ssa_imm_use_d): Renamed to ssa_use_operand_d.
20868169689Skan	(tree_ssa_name, phi_arg_d): Use ssa_use_operand_d.
20869169689Skan	* doc/tree-ssa.texi: Update documentation for operand interface.
20870169689Skan
20871169689Skan2005-05-03  Nathan Sidwell  <nathan@codesourcery.com>
20872169689Skan
20873169689Skan	* config/darwin.c (machopic_define_symbol): Use gcc_assert or
20874169689Skan	gcc_unreachable as appropriate.
20875169689Skan	(machopic_function_base_name, machopic_indirect_data_reference,
20876169689Skan	machopic_legitimize_pic_address, darwin_non_lazy_pcrel): Likewise.
20877169689Skan	* config/host-darwin.c (darwin_gt_pch_use_address): Likewise
20878169689Skan	* config/rs6000/altivec.md (*mov<mode>_internal,
20879169689Skan	build_vector_mask_for_load): Likewise.
20880169689Skan	* config/rs6000/darwin.md (movdf_low_si, movdf_low_di,
20881169689Skan	*call_nonlocal_darwin64, *call_value_nonlocal_darwin64,
20882169689Skan	*sibcall_symbolic_64, *sibcall_value_symbolic_64): Likewise.
20883169689Skan	* config/rs6000/predicates.md (easy_fp_constant,
20884169689Skan	logical_operand): Likewise.
20885169689Skan	* config/rs6000/rs6000.c (spe_expand_predicate_builtin,
20886169689Skan	compute_save_world_info, rs6000_emit_prologue,
20887169689Skan	rs6000_output_mi_thunk): Reword comments to avoid 'abort'.
20888169689Skan	* config/rs6000/host-darwin.c (segv_handler): Use fancy_abort
20889169689Skan	directly.
20890169689Skan
20891169689Skan2005-05-03  Uros Bizjak  <uros@kss-loka.si>
20892169689Skan
20893169689Skan	PR middle-end/21282
20894169689Skan	* convert.c (convert_to_integer): Convert ceil and floor in
20895169689Skan	c99 mode only.
20896169689Skan
20897169689Skan2005-04-29  Geoffrey Keating  <geoffk@apple.com>
20898169689Skan
20899169689Skan	PR target/20813
20900169689Skan	* config/rs6000/rs6000.md (floatsidf2_internal): Merge to create
20901169689Skan	define_insn_and_split.  Split only when memory operand is
20902169689Skan	offsettable.  Use adjust_address rather than plus_constant.
20903169689Skan	(floatunssidf2_internal): Likewise.
20904169689Skan	(fix_truncdfsi2_internal): Split only when memory operand is
20905169689Skan	offsettable.  Use adjust_address rather than plus_constant.
20906169689Skan	(fix_trunctfsi2_internal): Likewise.
20907169689Skan	(floatsidf2_internal): Likewise.
20908169689Skan
20909169689Skan2005-05-02  Diego Novillo  <dnovillo@redhat.com>
20910169689Skan
20911169689Skan	* tree-vrp.c (set_value_range_to_nonnull): Declare inline.
20912169689Skan	(set_value_range_to_null): Likewise.
20913169689Skan	(set_value_range_to_varying): New function.  Use it in all
20914169689Skan	call sites that used to call set_value_range (vr, VR_VARYING, ...).
20915169689Skan	(extract_range_from_assert): If the integral type has a
20916169689Skan	super-type, and LIMIT is not within MIN and MAX values of that
20917169689Skan	type, set the resulting range to VR_VARYING.
20918169689Skan
20919169689Skan2005-05-02  Hans-Peter Nilsson  <hp@bitrange.com>
20920169689Skan
20921169689Skan	* config/mmix/mmix.opt: New file.
20922169689Skan	* config/mmix/mmix.h: Move options-related comments to mmix.opt.
20923169689Skan	(mmix_cc1_ignored_option): Don't declare.
20924169689Skan	(TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
20925169689Skan	(TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
20926169689Skan	(TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
20927169689Skan	(TARGET_MASK_BRANCH_PREDICT, TARGET_MASK_USE_RETURN_INSN)
20928169689Skan	(TARGET_MASK_BASE_ADDRESSES, TARGET_LIBFUNC, TARGET_ABI_GNU,
20929169689Skan	(TARGET_FCMP_EPSILON, TARGET_ZERO_EXTEND, TARGET_KNUTH_DIVISION)
20930169689Skan	(TARGET_TOPLEVEL_SYMBOLS, TARGET_BRANCH_PREDICT)
20931169689Skan	(TARGET_BASE_ADDRESSES, TARGET_USE_RETURN_INSN, TARGET_SWITCHES):
20932169689Skan	Don't define.
20933169689Skan	(TARGET_DEFAULT): Change TARGET_MASK_... to MASK_...
20934169689Skan	* config/mmix/mmix.c (mmix_cc1_ignored_option): Remove.
20935169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): Override default.
20936169689Skan
20937169689Skan2005-05-02  Joseph S. Myers  <joseph@codesourcery.com>
20938169689Skan
20939169689Skan	PR c/15698
20940169689Skan	* c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New.
20941169689Skan	* c-decl.c (current_function_prototype_built_in,
20942169689Skan	current_function_prototype_arg_types): New.
20943169689Skan	(merge_decls): Keep source location of prototype followed by
20944169689Skan	nonprototype declaration.  Update C_DECL_BUILTIN_PROTOTYPE.
20945169689Skan	(builtin_function): Set C_DECL_BUILTIN_PROTOTYPE.
20946169689Skan	(start_function): Always set current_function_prototype_locus,
20947169689Skan	current_function_prototype_built_in and
20948169689Skan	current_function_prototype_arg_types.  Check for external
20949169689Skan	prototype whether or not visible for external function and set
20950169689Skan	current_function_prototype_arg_types accordingly.
20951169689Skan	(store_parm_decls_oldstyle): Use
20952169689Skan	current_function_prototype_arg_types for checking old-style
20953169689Skan	definition against prototype.  Give warnings only if
20954169689Skan	current_function_prototype_built_in).
20955169689Skan
20956169689Skan2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
20957169689Skan
20958169689Skan	* ggc.h (ggc_alloc_zone_pass_stat): New macro.
20959169689Skan	(ggc_alloc_zone_stat): Don't define.
20960169689Skan	* ggc-zone.c (ggc_alloc_typed_stat, ggc_alloc_stat): Use
20961169689Skan	ggc_alloc_zone_pass_stat.
20962169689Skan	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Likewise.
20963169689Skan	* tree.c (make_node_stat, copy_node_stat, make_tree_binfo_stat)
20964169689Skan	(make_tree_vec_stat, tree_cons_stat, build1_stat): Likewise.
20965169689Skan
20966169689Skan2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
20967169689Skan
20968169689Skan	* calls.c (expand_call): Handle current_function_pretend_args_size
20969169689Skan	when checking for sibcalls.
20970169689Skan
20971169689Skan2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
20972169689Skan
20973169689Skan	PR tree-optimization/21294
20974169689Skan	* tree-vrp.c (vrp_expr_computes_nonzero): New.
20975169689Skan	(extract_range_from_expr): Call vrp_expr_computes_nonzero.
20976169689Skan
20977169689Skan2005-05-02  Janis Johnson  <janis187@us.ibm.com>
20978169689Skan
20979169689Skan	PR 19985
20980169689Skan	* gcov-io.h: Declare gcov external functions hidden.
20981169689Skan
20982169689Skan2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
20983169689Skan
20984169689Skan	* tree-ssa-uncprop.c (equiv_hash_elt, remove_equivalence,
20985169689Skan	record_equiv, tree_ssa_uncprop, uncprop_into_successor_phis):
20986169689Skan	Use VEC instead of VARRAY.
20987169689Skan	(equiv_free): New.
20988169689Skan
20989169689Skan	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor
20990169689Skan	out common code.
20991169689Skan
20992169689Skan2005-05-02  Paolo Bonzini  <bonzini@gnu.org>
20993169689Skan
20994169689Skan	* c-common.c (resolve_overloaded_builtin): Forward to target
20995169689Skan	hook for BUILT_IN_MD built-ins.
20996169689Skan	* c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
20997169689Skan	for all types of built-in.
20998169689Skan	* target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New.  Use it
20999169689Skan	in the definition of the target hooks struct.
21000169689Skan	* target.h (struct gcc_target): Add resolve_overloaded_builtin.
21001169689Skan	* config/rs6000/altivec.h: Rewritten.
21002169689Skan	* config/rs6000/rs6000-c.c (struct altivec_builtin_types,
21003169689Skan	altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
21004169689Skan	rs6000_builtin_type, rs6000_builtin_type_compatible,
21005169689Skan	altivec_overloaded_builtins, rs6000_builtin_type,
21006169689Skan	rs6000_builtin_type_compatible): New.
21007169689Skan	* config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
21008169689Skan	New.
21009169689Skan	(def_builtin): Turn into a function.  Check for duplicates and store
21010169689Skan	the builtin into rs6000_builtin_decls.
21011169689Skan	(bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
21012169689Skan	bdesc_1arg): Add overloaded builtins.
21013169689Skan	(altivec_expand_builtin): Check for unresolved overloaded builtins,
21014169689Skan	do not support ALTIVEC_COMPILETIME_ERROR.
21015169689Skan	(rs6000_init_builtins): Add opaque 128-bit vector, and internal
21016169689Skan	nodes to represent front-end types.
21017169689Skan	(altivec_init_builtins, rs6000_common_init_builtins): Create builtins
21018169689Skan	with opaque arguments and/or return values.
21019169689Skan	* config/rs6000/rs6000.h (enum rs6000_builtins): Remove
21020169689Skan	ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
21021169689Skan	(rs6000_builtin_type_index): New.
21022169689Skan	(is_ev64_opaque_type): Rename to...
21023169689Skan	(rs6000_is_opaque_type): ... this.
21024169689Skan	(rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
21025169689Skan	target hook.
21026169689Skan
21027169689Skan2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
21028169689Skan
21029169689Skan	* function.c (reorder_blocks, reorder_blocks_1): Use VEC
21030169689Skan	instead of VARRAY.
21031169689Skan
21032169689Skan2005-05-02  Nathan Sidwell  <nathan@codesourcery.com>
21033169689Skan	    Bernd Schmidt  <bernd.schmidt@analog.com>
21034169689Skan
21035169689Skan	* config/bfin/bfin.c (emit_link_insn, effective_address_32bit_p,
21036169689Skan	print_address_operand, print_operand, legitimize_pic_address,
21037169689Skan	asm_conditional_branch, bfin_gen_compare, output_push_multiple,
21038169689Skan	output_pop_multiple): Use gcc_assert or gcc_unreachable as
21039169689Skan	appropriate.
21040169689Skan	* config/bfin/bfin.md (movsf splitter, beq, bne): Likewise.
21041169689Skan
21042169689Skan2005-05-02  Dorit Naishlos  <dorit@il.ibm.com>
21043169689Skan
21044169689Skan	* doc/passes.texi: Document vectorization pass.
21045169689Skan
21046169689Skan2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
21047169689Skan
21048169689Skan	* tree-scalar-evolution.c (get_exit_conditions_rec,
21049169689Skan	select_loops_exit_conditions,
21050169689Skan	number_of_iterations_for_all_loops,
21051169689Skan	analyze_scalar_evolution_for_all_loop_phi_nodes,
21052169689Skan	scev_analysis): Use VEC instead of VARRAY.
21053169689Skan
21054169689Skan2005-05-02  Michael Matz  <matz@suse.de>
21055169689Skan
21056169689Skan	PR c++/19542
21057169689Skan	* c-common.c (c_common_nodes_and_builtins): Create global null_node.
21058169689Skan	(warn_strict_null_sentinel): Define.
21059169689Skan	(check_function_sentinel): Check for null_node as valid sentinel too.
21060169689Skan	* c-common.h (c_tree_index): Added CTI_NULL.
21061169689Skan	(null_node) Define global_tree[CTI_NULL].
21062169689Skan	(warn_strict_null_sentinel): Declare.
21063169689Skan	* c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
21064169689Skan	* c.opt: (Wstrict-null-sentinel): New C++ option.
21065169689Skan	* doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
21066169689Skan
21067169689Skan2005-05-01  Kazu Hirata  <kazu@cs.umass.edu>
21068169689Skan
21069169689Skan	* gimplify.c (gimplify_compound_lval): Use VEC instead of
21070169689Skan	VARRAY.
21071169689Skan
21072169689Skan	* global.c (calculate_reg_pav): Use VEC instead of VARRAY.
21073169689Skan
21074169689Skan	* dwarf2out.c (decl_scope_table, push_decl_scope,
21075169689Skan	pop_decl_scope, scope_die_for, dwarf2out_init): Use VEC
21076169689Skan	instead of VARRAY.
21077169689Skan
21078169689Skan2005-05-01  Mark Mitchell  <mark@codesourcery.com>
21079169689Skan
21080169689Skan	PR C++/14391
21081169689Skan	* c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_WEAK__ to 1
21082169689Skan	if !flag_weak.
21083169689Skan	* doc/cpp.texi (__DEPRECATED): Document.
21084169689Skan	(__EXCEPTIONS): Likewise.
21085169689Skan	(__GXX_WEAK__): Likewise.
21086169689Skan
21087169689Skan	* function.c (INVOKE__main): Do not define.
21088169689Skan	(expand_main_function): Check HAS_INIT_SECTION when determining
21089169689Skan	whether or not to call __main.
21090169689Skan
21091169689Skan2005-05-01  Kazu Hirata  <kazu@cs.umass.edu>
21092169689Skan
21093169689Skan	* tree-ssa-loop-ivopts.c: Fix a comment typo.
21094169689Skan
21095169689Skan2005-01-05  Paul Brook  <paul@codesourcery.com>
21096169689Skan
21097169689Skan	* config/arm/arm.h (ARM_EMIT_TRAMPOLINE_CACHE_CLEAR): Define.
21098169689Skan	(INITIALIZE_TRAMPOLINE): Use it.
21099169689Skan	* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Remove.
21100169689Skan	* config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Remove.
21101169689Skan	* config/arm/netbsd-elf.h (INITIALIZE_TRAMPOLINE): Remove.
21102169689Skan
21103169689Skan2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
21104169689Skan
21105169689Skan	* doc/install.texi (Specific): Omit dots in the @anchors names
21106169689Skan	for i?86-*-sco3.2v5*, i?86-*-solaris2.10, and sparc-sun-solaris2.7.
21107169689Skan	Omit underscores for x86_64-*-* and the "all ELF targets" entry.
21108169689Skan
21109169689Skan2005-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
21110169689Skan
21111169689Skan	PR tree-optimization/18316
21112169689Skan	PR tree-optimization/19126
21113169689Skan	* tree.c (build_int_cst_type): Avoid shift by size of type.
21114169689Skan	* tree-scalar-evolution.c (simple_iv): Add allow_nonconstant_step
21115169689Skan	argument.
21116169689Skan	* tree-scalar-evolution.h (simple_iv): Declaration changed.
21117169689Skan	* tree-ssa-loop-ivopts.c (struct iv_cand): Add depends_on
21118169689Skan	field.
21119169689Skan	(dump_cand): Dump depends_on information.
21120169689Skan	(determine_biv_step): Add argument to simple_iv call.
21121169689Skan	(contains_abnormal_ssa_name_p): Handle case expr == NULL.
21122169689Skan	(find_bivs, find_givs_in_stmt_scev): Do not require step to be a
21123169689Skan	constant.
21124169689Skan	(add_candidate_1): Record depends_on for candidates.
21125169689Skan	(tree_int_cst_sign_bit, constant_multiple_of): New functions.
21126169689Skan	(get_computation_at, get_computation_cost_at, may_eliminate_iv):
21127169689Skan	Handle ivs with nonconstant step.
21128169689Skan	(iv_ca_set_remove_invariants, iv_ca_set_add_invariants): New functions.
21129169689Skan	(iv_ca_set_no_cp, iv_ca_set_cp): Handle cand->depends_on.
21130169689Skan	(create_new_iv): Unshare the step before passing it to create_iv.
21131169689Skan	(free_loop_data): Free cand->depends_on.
21132169689Skan	(build_addr_strip_iref): New function.
21133169689Skan	(find_interesting_uses_address): Use build_addr_strip_iref.
21134169689Skan	(strip_offset_1): Split the recursive part from strip_offset.
21135169689Skan	Strip constant offset component_refs and array_refs.
21136169689Skan	(strip_offset): Split the recursive part to strip_offset_1.
21137169689Skan	(add_address_candidates): Removed.
21138169689Skan	(add_derived_ivs_candidates): Do not use add_address_candidates.
21139169689Skan	(add_iv_value_candidates): Add candidates with stripped constant
21140169689Skan	offset.  Consider all candidates with initial value 0 important.
21141169689Skan	(struct affine_tree_combination): New.
21142169689Skan	(aff_combination_const, aff_combination_elt, aff_combination_scale,
21143169689Skan	aff_combination_add_elt, aff_combination_add,
21144169689Skan	tree_to_aff_combination, add_elt_to_tree, aff_combination_to_tree,
21145169689Skan	fold_affine_sum): New functions.
21146169689Skan	(get_computation_at): Use fold_affine_sum.
21147169689Skan	* tree-ssa-loop-manip.c (create_iv): Handle ivs with nonconstant step.
21148169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_exit): Add argument
21149169689Skan	to simple_iv call.
21150169689Skan
21151169689Skan2005-04-30  Michael Matz  <matz@suse.de>
21152169689Skan
21153169689Skan	* config/i386/i386.md (movmemsi): Also active when
21154169689Skan	TARGET_INLINE_ALL_STRINGOPS.
21155169689Skan
21156169689Skan2005-04-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
21157169689Skan
21158169689Skan	PR bootstrap/20633
21159169689Skan	* config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
21160169689Skan
21161169689Skan2005-04-30  Paul Brook  <paul@codesourcery.com>
21162169689Skan
21163169689Skan	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
21164169689Skan	thumb mode.
21165169689Skan	* config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
21166169689Skan	* config/arm/ieee754-sf.S: Ditto.
21167169689Skan	* config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
21168169689Skan	(FUNC_ALIAS): Use .thumb_set for thumb routines.
21169169689Skan
21170169689Skan2005-04-30  Kazu Hirata  <kazu@cs.umass.edu>
21171169689Skan
21172169689Skan	* tree-ssanames.c: Fix a comment typo.
21173169689Skan	* doc/options.texi: Fix a typo.
21174169689Skan
21175169689Skan2005-04-30  Nathan Sidwell  <nathan@codesourcery.com>
21176169689Skan
21177169689Skan	* config/h8300/h8300.c (byte_reg): Use gcc_assert and
21178169689Skan	gcc_unreachable as appropriate.
21179169689Skan	(split_adds_subs, cond_string, print_operand,
21180169689Skan	h8300_initial_elimination_offset, h8300_classify_operand,
21181169689Skan	h8300_unary_length, h8300_short_immediate_length,
21182169689Skan	h8300_bitfield_length, h8300_binary_length,
21183169689Skan	h8300_insn_length_from_table, compute_mov_length, output_plussi,
21184169689Skan	compute_plussi_length, compute_plussi_cc, output_logical_op,
21185169689Skan	compute_logical_op_length, compute_logical_op_cc,
21186169689Skan	output_h8sx_shift, get_shift_alg, h8300_shift_needs_scratch_p,
21187169689Skan	output_a_shift, compute_a_shift_length, compute_a_shift_cc,
21188169689Skan	output_a_rotate, compute_a_rotate_length, fix_bit_operand,
21189169689Skan	h8300_regs_ok_for_stm): Likewise.
21190169689Skan	* config/h8300/h8300.md (*movsi_h8300, *movsf_h8300,
21191169689Skan	monitor_prologue): Likewise.
21192169689Skan
21193169689Skan2005-04-30  Kazu Hirata  <kazu@cs.umass.edu>
21194169689Skan
21195169689Skan	* loop-invariant.c (invariants, create_new_invariant,
21196169689Skan	get_inv_cost, best_gain_for_invariant,
21197169689Skan	find_invariants_to_move, move_invariants,
21198169689Skan	init_inv_motion_data, free_inv_motion_data): Use VEC instead
21199169689Skan	of VARRAY.
21200169689Skan
21201169689Skan2005-04-29  Richard Henderson  <rth@redhat.com>
21202169689Skan
21203169689Skan	* function.c (instantiate_decls): Remove valid_only argument.
21204169689Skan	(instantiate_decls_1, instantiate_decl): Likewise.
21205169689Skan	(instantiate_virtual_regs_1): Delete.
21206169689Skan	(instantiate_virtual_regs_lossage): Delete.
21207169689Skan	(instantiate_virtual_regs_in_rtx): New.
21208169689Skan	(safe_insn_predicate): New.
21209169689Skan	(instantiate_virtual_regs_in_insn): New.
21210169689Skan	(instantiate_virtual_regs): Update to match all that.  Only run
21211169689Skan	instantiate_decls once.
21212169689Skan
21213169689Skan2005-04-29  Richard Henderson  <rth@redhat.com>
21214169689Skan	    Daniel Jacobowitz  <dan@codesourcery.com>
21215169689Skan
21216169689Skan	* gengtype.c (write_func_for_structure): Split out ...
21217169689Skan	(output_type_enum): ... new function.  Fix thinko accessing
21218169689Skan	TYPE_PARAM_STRUCT data.
21219169689Skan
21220169689Skan2005-04-29  Tom Tromey  <tromey@redhat.com>
21221169689Skan
21222169689Skan	* tree.c (build_block): Removed unused 'tags' argument.
21223169689Skan	* tree.h (build_block): Removed argument.
21224169689Skan
21225169689Skan2005-04-29  Michael Matz  <matz@suse.de>
21226169689Skan
21227169689Skan	PR rtl-optimization/21144
21228169689Skan	* postreload.c (reload_cse_move2add): Check for VOIDmode.
21229169689Skan
21230169689Skan2005-04-29  Bob Wilson  <bob.wilson@acm.org>
21231169689Skan
21232169689Skan	* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Define to disable
21233169689Skan	flag_reorder_blocks.
21234169689Skan
21235169689Skan2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
21236169689Skan
21237169689Skan	PR tree-optimization/21030
21238169689Skan	* tree-vrp.c (adjust_range_with_scev): Do not create invalid
21239169689Skan	ranges where VR->MAX is smaller than VR->MIN.
21240169689Skan
21241169689Skan2005-04-29  Devang Patel  <dpatel@apple.com>
21242169689Skan
21243169689Skan	PR tree-optimization/21272
21244169689Skan	PR tree-optimization/21266
21245169689Skan	* tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
21246169689Skan
21247169689Skan2005-04-29  Kazu Hirata  <kazu@cs.umass.edu>
21248169689Skan
21249169689Skan	* tree-flow-inline.h: Fix a comment typo.
21250169689Skan	* doc/tree-ssa.texi: Fix a typo.
21251169689Skan
21252169689Skan	* tree-flow-inline.h, tree-ssa-operands.c: Fix comment typos.
21253169689Skan
21254169689Skan2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
21255169689Skan
21256169689Skan	* config/fr30/fr30.c (fr30_expand_prologue): Use gcc_assert and
21257169689Skan	gcc_unreachable as appropriate.
21258169689Skan	(fr30_expand_epilogue, fr30_setup_incoming_varargs,
21259169689Skan	fr30_print_operand, fr30_move_double): Likewise.
21260169689Skan	* config/fr30/fr30.md (*movsi_internal, *movsf_internal): Likewise.
21261169689Skan
21262169689Skan2005-04-29  Mark Mitchell  <mark@codesourcery.com>
21263169689Skan
21264169689Skan	* config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
21265169689Skan	definition has already been provided.
21266169689Skan	(ARM_EABI_DTORS_SECTION_OP): Likewise.
21267169689Skan	* config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
21268169689Skan	(ARM_EABI_DTORS_SECTION_OP): Likewise.
21269169689Skan
21270169689Skan2005-04-29  Jim Tison  <jtison@us.ibm.com>
21271169689Skan
21272169689Skan	* config/s390/s390.md ("prologue_tpf", "epilogue_tpf"): Alter
21273169689Skan	trace hooks calls to improve performance.
21274169689Skan
21275169689Skan2005-04-29  Julian Brown  <julian@codesourcery.com>
21276169689Skan	    Mark Mitchell  <mark@codesourcery.com>
21277169689Skan	    Paul Brook  <paul@codesourcery.com>
21278169689Skan
21279169689Skan	* crtstuff.c: Handle targets that use .init_array.
21280169689Skan	* function.c (HAS_INIT_SECTION): Do not define. Instead, make sure
21281169689Skan	that INVOKE__main is set correctly.
21282169689Skan	(expand_main_function): Test INVOKE__main.
21283169689Skan	* libgcc2.c: Do not define __main when using .init_array.
21284169689Skan	* config/arm/arm.c (arm_elf_asm_constructor): New function.
21285169689Skan	* config/arm/arm.h (CTORS_SECTION_ASM_OP): Define, with specialized
21286169689Skan	libgcc version.
21287169689Skan	(DTORS_SECTION_ASM_OP): Likewise.
21288169689Skan	(CTOR_LIST_BEGIN): Define specially when in libgcc.
21289169689Skan	(CTOR_LIST_END): Likewise.
21290169689Skan	(DTOR_LIST_BEGIN): Likewise.
21291169689Skan	(DTOR_LIST_END): Likewise.
21292169689Skan	* config/arm/bpapi.h (INIT_SECTION_ASM_OP): Do not define it.
21293169689Skan	(FINI_SECTION_ASM_OP): Likewise.
21294169689Skan	(INIT_ARRAY_SECTION_ASM_OP): Define.
21295169689Skan	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
21296169689Skan	* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
21297169689Skan	(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
21298169689Skan	* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
21299169689Skan	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
21300169689Skan
21301169689Skan2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
21302169689Skan
21303169689Skan	* config/m68k/m68k.c (m68k_initial_elimination_offset): Use
21304169689Skan	gcc_assert and gcc_unreachable as appropriate.
21305169689Skan	(output_dbcc_and_branch, output_scc_di, legitimize_pic_address,
21306169689Skan	const_int_cost, output_move_const_into_data_reg,
21307169689Skan	output_move_qimode, output_move_double, find_addr_reg,
21308169689Skan	print_operand, print_operand_address): Likewise.
21309169689Skan	* config/m68k/m68k.md (adddi3, subdi3, negsf2, negdf2, abssf2,
21310169689Skan	absdf2, sordered, sunordered, suneq, sunge, sungt, sunle, sunlt,
21311169689Skan	sltgt, bordered, bunordered, buneq, bunge, bungt, bunle, bunlt,
21312169689Skan	bltgt, *bordered_rev, *bunordered_rev, *buneq_rev, *bunge_rev,
21313169689Skan	*bunle_rev, *bunlt_rev, *bltgt_rev, negxf2, absxf2,
21314169689Skan	conditional_trap): Likewise.
21315169689Skan	* config/m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Remove unreachable code.
21316169689Skan
21317169689Skan2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
21318169689Skan
21319169689Skan	* config/xtensa/xtensa.c (gen_int_relational): Use gcc_assert and
21320169689Skan	gcc_unreachable as appropriate.
21321169689Skan	(gen_conditional_move, xtensa_split_operand_pair,
21322169689Skan	xtensa_split_operand_pair, xtensa_copy_incoming_a7,
21323169689Skan	xtensa_copy_incoming_a7, xtensa_copy_incoming_a7,
21324169689Skan	xtensa_copy_incoming_a7, xtensa_output_literal,
21325169689Skan	xtensa_output_literal, xtensa_output_literal): Likewise.
21326169689Skan	* config/xtensa/xtensa.h (INITIAL_ELIMINATION_OFFSET): Likewise.
21327169689Skan	* config/xtensa/xtensa.md (*btrue, *bfalse, *ubtrue, *ubfalse,
21328169689Skan	*bittrue, *bitfalse, *masktrue, *maskfalse, movsicc_internal0,
21329169689Skan	movsicc_internal1, movsfcc_internal0,
21330169689Skan	movsfcc_internal1): Likewise.
21331169689Skan
21332169689Skan2005-04-28  James E Wilson  <wilson@specifixinc.com>
21333169689Skan
21334169689Skan	* config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
21335169689Skan	(ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
21336169689Skan
21337169689Skan2005-04-28  DJ Delorie  <dj@redhat.com>
21338169689Skan
21339169689Skan	* opt-functions.awk (var_set): Emit proper initializer for
21340169689Skan	non-target bitfields.
21341169689Skan
21342169689Skan2005-04-28  Devang Patel  <dpatel@apple.com>
21343169689Skan
21344169689Skan	* dbxout.c (have_used_extensions): Remove.
21345169689Skan	(dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
21346169689Skan	have_used_extensions.
21347169689Skan
21348169689Skan2005-04-28  James E Wilson  <wilson@specifixinc.com>
21349169689Skan
21350169689Skan	* doc/install.texi: Update -enable-languages info.  Correct path to
21351169689Skan	html docs.
21352169689Skan
21353169689Skan2005-04-28  DJ Delorie  <dj@redhat.com>
21354169689Skan
21355169689Skan	* optc-gen.awk (END): Make sure no variable is defined more
21356169689Skan	than once.
21357169689Skan	* opth-gen.awk (END): Allocate bits on a per-variable basis.
21358169689Skan	Allow for bitfield variables other than target_flags.
21359169689Skan	* doc/options.text (Mask): Document that you may specify a
21360169689Skan	variable other than target_flags.
21361169689Skan
21362169689Skan2005-04-28  Martin Koegler <mkoegler@auto.tuwien.ac.at>
21363169689Skan
21364169689Skan	PR rtl-optimization/18877
21365169689Skan	* reload.c (decompose) <case REG, case SUBREG>: Handle pseudo reg
21366169689Skan	number in val.start.
21367169689Skan
21368169689Skan2005-04-28  David Edelsohn  <edelsohn@gnu.org>
21369169689Skan
21370169689Skan	PR target/20813
21371169689Skan	* config/rs6000/aix43.h (SUBSUBTARGET_SWITCHES, aix64): Add
21372169689Skan	MASK_PPC_GFXOPT.
21373169689Skan	* config/rs6000/aix51.h (SUBSUBTARGET_SWITCHES, aix64): Same.
21374169689Skan	* config/rs6000/aix52.h (SUBSUBTARGET_SWITCHES, aix64): Same.
21375169689Skan	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES, 64): Same.
21376169689Skan
21377169689Skan2005-04-28  Richard Earnshaw  <richard.earnshaw@arm.com>
21378169689Skan
21379169689Skan	* arm.c (legitimize_pic_address): Fix sense of assertion test for
21380169689Skan	creating pseudos when the base offset is too large.
21381169689Skan
21382169689Skan2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
21383169689Skan
21384169689Skan	* global.c (earlyclobber_regclass): Change the type to
21385169689Skan	VEC(int,heap).
21386169689Skan	(check_earlyclobber): Update uses of earlyclobber_regclass.
21387169689Skan	(mark_reg_use_for_earlyclobber): Likewise.
21388169689Skan	(calculate_local_reg_bb_info): Allocate and free
21389169689Skan	earlyclobber_regclass using the VEC API.
21390169689Skan
21391169689Skan2005-04-28  Nathan Sidwell  <nathan@codesourcery.com>
21392169689Skan
21393169689Skan	* tree-ssa-alias.c (push_fields_onto_fieldstack): Remove bogus
21394169689Skan	assert.
21395169689Skan
21396169689Skan2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
21397169689Skan
21398169689Skan	* modulo-sched.c, tree-stdarg.c: Use targetm.foo instead of
21399169689Skan	(*targetm.foo).
21400169689Skan
21401169689Skan	* config.gcc: Obsolete c4x-* and tic4x-*.
21402169689Skan
21403169689Skan	* tree.h (edge_def): Remove.
21404169689Skan
21405169689Skan	* bt-load.c, cfgexpand.c, dwarf2out.c, emit-rtl.c, expr.c,
21406169689Skan	function.c, global.c, lcm.c, loop-invariant.c, optabs.c,
21407169689Skan	reorg.c, resource.c, tree-ssa-loop-ivopts.c, value-prof.c: Use
21408169689Skan	JUMP_P, LABEL_P, REG_P, MEM_P, NONJUMP_INSN_P, and INSN_P
21409169689Skan	where appropriate.
21410169689Skan
21411169689Skan	* attribs.c, c-pragma.c, caller-save.c, cfghooks.h,
21412169689Skan	coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c,
21413169689Skan	errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c,
21414169689Skan	genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def,
21415169689Skan	integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c,
21416169689Skan	machmode.def, mips-tfile.c, params.c, pretty-print.c,
21417169689Skan	print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h,
21418169689Skan	tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c,
21419169689Skan	config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md,
21420169689Skan	config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h,
21421169689Skan	config/i386/cygming.h, config/i386/djgpp.h,
21422169689Skan	config/i386/lynx.h, config/i386/netware.c,
21423169689Skan	config/i386/winnt.c, config/ia64/ia64-c.c,
21424169689Skan	config/iq2000/iq2000.c, config/m32r/little.h,
21425169689Skan	config/m68k/m68k-protos.h, config/m68k/m68k.h,
21426169689Skan	config/m68k/m68k.md, config/mcore/mcore.c,
21427169689Skan	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md,
21428169689Skan	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
21429169689Skan	config/mn10300/mn10300.h, config/ns32k/netbsd.h,
21430169689Skan	config/ns32k/ns32k.c, config/ns32k/ns32k.h,
21431169689Skan	config/pa/pa-hpux11.h, config/pdp11/pdp11.c,
21432169689Skan	config/pdp11/pdp11.h, config/rs6000/darwin.h,
21433169689Skan	config/rs6000/default64.h, config/rs6000/rs6000-c.c,
21434169689Skan	config/s390/2064.md, config/s390/2084.md,
21435169689Skan	config/s390/s390-modes.def, config/s390/s390-protos.h,
21436169689Skan	config/s390/tpf.h, config/sh/sh.h, config/sh/symbian.c,
21437169689Skan	config/stormy16/stormy16.c, config/vax/vax-protos.h,
21438169689Skan	config/vax/vax.c, config/vax/vax.h,
21439169689Skan	config/xtensa/lib1funcs.asm, config/xtensa/xtensa.md: Update
21440169689Skan	copyright.
21441169689Skan
21442169689Skan2005-04-28  Joseph S. Myers  <joseph@codesourcery.com>
21443169689Skan
21444169689Skan	* c-typeck.c (build_compound_expr): Correct logic in last change.
21445169689Skan
21446169689Skan2005-04-27  James E. Wilson  <wilson@specifixinc.com>
21447169689Skan
21448169689Skan	* config/ia64/ia64.c (update_set_flags): Delete ppred and pcond
21449169689Skan	parameters.  Replace conditional move code with assert checking for
21450169689Skan	ar.lc.  Delete obsolete comments.
21451169689Skan	(set_src_needs_barrier): Delete cond parameter, and code using it.
21452169689Skan	(rtx_needs_barrier): Delete initialization of cond.  Fix typo in
21453169689Skan	assert checking for PR_REGS.  Fix calls to update_set_flags and
21454169689Skan	set_src_needs_barrier.
21455169689Skan	(group_barrier_needed): Renamed from group_barrier_needed_p.  Fix all
21456169689Skan	callers.  Rewrite explanatory comment before the function.
21457169689Skan	(safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p.
21458169689Skan	Fix all callers.
21459169689Skan
21460169689Skan2005-04-27  Mike Stump  <mrs@apple.com>
21461169689Skan
21462169689Skan	* doc/cpp.texi: gcc now implements universal character names.
21463169689Skan
21464169689Skan2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
21465169689Skan
21466169689Skan	PR c/21159
21467169689Skan	* c-typeck.c (build_compound_expr): Don't warn for left-hand side
21468169689Skan	being a compound expression whose right-hand side is cast to void.
21469169689Skan
21470169689Skan2005-04-27  Caroline Tice  <ctice@apple.com>
21471169689Skan
21472169689Skan	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
21473169689Skan	Remove targetm.have_named_sections test.
21474169689Skan	(fix_edges_for_rarely_executed_code): Likewise.
21475169689Skan	(insert_section_boundary_note): Likewise.
21476169689Skan	(reorder_basic_blocks): Check partitioning flag before calling
21477169689Skan	verify_hot_cold_block_grouping.
21478169689Skan	* dbxout.c (dbxout_function_end): Get hot/cold section labels from
21479169689Skan	the function struct rather than global variables.
21480169689Skan	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
21481169689Skan	(COLD_END_LABEL): Likewise
21482169689Skan	(cold_text_section_label): New static global variable.
21483169689Skan	(cold_end_label): Likewise.
21484169689Skan	(dwarf2out_switch_text_section): Get hot/cold section labels from
21485169689Skan	the function struct rather than global variables; test to make sure
21486169689Skan	cfun is defined.
21487169689Skan	(output_aranges): Use cold_text_section_label and cold_end_label;
21488169689Skan	check partitioning flag before putting out delta.
21489169689Skan	(output_ranges): Remove incorrect code attempting to use
21490169689Skan	hot/cold labels.
21491169689Skan	(output_line_info): Get cold section label from function struct; test
21492169689Skan	to make sure cfun is defined.
21493169689Skan	(add_location_or_const_value_attribute): Likewise.
21494169689Skan	(dwarf2out_var_location): Likewise.
21495169689Skan	(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
21496169689Skan	write out cold_text_section_label if partition flag is set.
21497169689Skan	(dwarf2out_finish): Write out cold_end_label if partition flag is set;
21498169689Skan	* function.h (struct function): Add new fields to point to hot/cold
21499169689Skan	section labels: hot_section_label, cold_section_label,
21500169689Skan	hot_section_end_label and cold_section_end_label; also add new field
21501169689Skan	for cold text section name, unlikely_text_section_name.
21502169689Skan	* opts.c (decode_options): Turn off partitioning flag if
21503169689Skan	!targetm.have_named_sections.
21504169689Skan	* output.h (hot_section_label): Remove.
21505169689Skan	(hot_section_end_label): Remove.
21506169689Skan	(cold_section_end_label): Remove.
21507169689Skan	(unlikely_section_label): Remove.
21508169689Skan	(unlikely_text_section_name): Remove.
21509169689Skan	* passes.c (rest_of_handle_final): Remove extra blank line.
21510169689Skan	* varasm.c (unlikely_section_label): Remove.
21511169689Skan	(hot_section_label): Remove.
21512169689Skan	(hot_section_end_label): Remove.
21513169689Skan	(cold_section_end_label): Remove.
21514169689Skan	(unlikely_text_section_name): Remove.
21515169689Skan	(initialize_cold_section_name): Modify to call
21516169689Skan	targetm.strip_name_encoding; to store cold section name in current
21517169689Skan	function struct, if it exists; and to only use the decl_section_name
21518169689Skan	if flag_named_sections is true.
21519169689Skan	(unlikely_text_section): Modify to get section name out of current
21520169689Skan	function struct, if there is one; otherwise build it from
21521169689Skan	UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
21522169689Skan	(in_unlikely_text_section): Likewise.
21523169689Skan	(named_section): Modify to get/put cold section name in current function
21524169689Skan	struct, if there is one.
21525169689Skan	(function_section): Change 'bool unlikely' to 'int reloc'; check
21526169689Skan	targetm.have_named_sections before calling named_section.
21527169689Skan	(current_function_section): Likewise.
21528169689Skan	(assemble_start_function): Modify to get/put unlikely_text_section_name
21529169689Skan	in current function struct; modify to get hot/cold section labels
21530169689Skan	from function struct; initialize labels using
21531169689Skan	ASM_GENERATE_INTERNAL_LABEL;
21532169689Skan	test partitioning flag before writing out hot section label.
21533169689Skan	(assemble_end_function): Test partitioning flag before writing out
21534169689Skan	hot/cold section labels.
21535169689Skan	(default_section_type_flags_1): Get cold text section name from
21536169689Skan	function struct if there is one; Set flags correctly for
21537169689Skan	cold text section if there is not a current function struct.
21538169689Skan
21539169689Skan2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
21540169689Skan
21541169689Skan	* tree-ssa-propagate.c (set_rhs): Revert last change.
21542169689Skan
21543169689Skan2005-04-27  Steve Ellcey  <sje@cup.hp.com>
21544169689Skan
21545169689Skan	* explow.c (convert_memory_address): Add gcc_assert.
21546169689Skan
21547169689Skan2005-04-27  Mark Mitchell  <mark@codesourcery.com>
21548169689Skan
21549169689Skan	* configure.ac: Check for ld --sysroot support.
21550169689Skan	* gcc.c: Document %R specifier for specs.
21551169689Skan	(SYSROOT_SPEC): New macro.
21552169689Skan	(sysroot_spec): New variable.
21553169689Skan	(static_specs): Add sysroot_spec.
21554169689Skan	(main): Pass the sysroot spec to the linker if appropriate.
21555169689Skan	* configure: Regenerated.
21556169689Skan	* config.in: Likewise.
21557169689Skan
21558169689Skan2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
21559169689Skan
21560169689Skan	* fold-const.c (fold_binary): Use build_fold_addr_expr
21561169689Skan	for address calculation and INDIRECT_REF handling.
21562169689Skan
21563169689Skan2005-04-27  Andrew Haley  <aph@redhat.com>
21564169689Skan
21565169689Skan	* postreload-gcse.c (hash_scan_set): Remove bogus assertion.
21566169689Skan
21567169689Skan2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
21568169689Skan
21569169689Skan	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
21570169689Skan	pointer when thumb backtracing is on.
21571169689Skan
21572169689Skan	* config/fp-bit.c (abort): Revert change.
21573169689Skan
21574169689Skan2005-04-27  Ian Lance Taylor  <ian@airs.com>
21575169689Skan
21576169689Skan	* c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P.
21577169689Skan
21578169689Skan2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
21579169689Skan
21580169689Skan	* tree-ssa-dce.c: Fix a comment typo.
21581169689Skan
21582169689Skan2005-04-27  David S. Miller  <davem@davemloft.net>
21583169689Skan
21584169689Skan	* explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA):
21585169689Skan	Kill setjmpless_size.  current_function_calls_setjmp is completely
21586169689Skan	computed when we are called, so just use the optimized size value
21587169689Skan	instead of using REG_SAVE_AREA notes.
21588169689Skan	(optimize_save_area_alloca): Delete....
21589169689Skan	* rtl.h (optimize_save_area_alloca): Likewise...
21590169689Skan	* passes.c (rest_of_compilation): and don't call it any more.
21591169689Skan	* reg-notes.def (SAVE_AREA): Delete.
21592169689Skan
21593169689Skan2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
21594169689Skan
21595169689Skan	* config/fp-bit.c (abort): Add noreturn attribute.
21596169689Skan
21597169689Skan	* config/avr/avr.c (avr_naked_function_p): Use gcc_assert and
21598169689Skan	gcc_unreachable as appropriate.
21599169689Skan	(ptrreg_to_str, cond_string, avr_normalize_condition): Likewise.
21600169689Skan	* config/avr/avr.h (ASM_OUTPUT_REG_PUSH,
21601169689Skan	ASM_OUTPUT_REG_POP): Likewise.
21602169689Skan
21603169689Skan2005-04-27  Paolo Bonzini  <bonzini@gnu.org>
21604169689Skan
21605169689Skan	* tree-complex.c (expand_vector_operations_1): Do not build
21606169689Skan	VIEW_CONVERT_EXPR's for the lhs.
21607169689Skan
21608169689Skan2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
21609169689Skan
21610169689Skan	* config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove
21611169689Skan	unnecessary noncanonical RTL handling.
21612169689Skan	* config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use
21613169689Skan	gcc_assert and gcc_unreachable.
21614169689Skan
21615169689Skan	* config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
21616169689Skan	gcc_unreachable as appropriate.
21617169689Skan	(THUMB_PRINT_OPERAND_ADDRESS): Likewise.
21618169689Skan	* config/arm/arm.c (arm_override_options, arm_compute_func_type,
21619169689Skan	use_return_insn, const_ok_for_op, arm_gen_constant,
21620169689Skan	arm_canonicalize_comparison, legitimize_pic_address,
21621169689Skan	thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
21622169689Skan	arm_cirrus_insn_p, cirrus_reorg, minmax_code,
21623169689Skan	load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
21624169689Skan	emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
21625169689Skan	arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
21626169689Skan	move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
21627169689Skan	dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
21628169689Skan	fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
21629169689Skan	output_call, output_mov_long_double_fpa_from_arm,
21630169689Skan	output_mov_long_double_arm_from_fpa,
21631169689Skan	output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
21632169689Skan	output_move_double, arithmetic_instr, shift_op, int_log2,
21633169689Skan	output_return_instruction, arm_output_function_prologue,
21634169689Skan	arm_output_epilogue, arm_output_function_epilogue,
21635169689Skan	emit_multi_reg_push, arm_get_frame_offsets,
21636169689Skan	arm_compute_initial_elimination_offset, arm_expand_prologue,
21637169689Skan	arm_print_operand, arm_assemble_integer, get_arm_condition_code,
21638169689Skan	arm_final_prescan_insn, arm_init_iwmmxt_builtins,
21639169689Skan	arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
21640169689Skan	thumb_compute_initial_elimination_offset,
21641169689Skan	thumb_output_function_prologue, thumb_load_double_from_address,
21642169689Skan	thumb_output_move_mem_multiple, thumb_reload_out_hi,
21643169689Skan	arm_emit_vector_const, arm_dbx_register_number): Likewise.
21644169689Skan	* config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
21645169689Skan	* config/arm/arm.md (thumb_extendhisi2,
21646169689Skan	*thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
21647169689Skan	*thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
21648169689Skan	thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
21649169689Skan	*arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
21650169689Skan	* config/arm/cirrus.md (*cirrus_arm_movdi,
21651169689Skan	*cirrus_movdf_hard_insn): Likewise.
21652169689Skan	* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
21653169689Skan
21654169689Skan2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
21655169689Skan
21656169689Skan	* tree-flow.h (ssa_names): Change the type to VEC(tree,gc).
21657169689Skan	(num_ssa_names): Use VEC_length.
21658169689Skan	(ssa_names): Use VEC_index.
21659169689Skan	* tree-ssanames.c (ssa_names): Change the type to
21660169689Skan	VEC(tree,gc).
21661169689Skan	(init_ssanames, fini_ssa_names, make_ssanames,
21662169689Skan	release_ssa_name): Update uses of ssa_names.
21663169689Skan
21664169689Skan	* dojump.c, emit-rtl.c, expmed.c, expr.c, stmt.c, stor-layout.c:
21665169689Skan	Use fold_buildN instead of fold (buildN (...)).
21666169689Skan
21667169689Skan2005-04-27  Devang Patel <dpatel@apple.com>
21668169689Skan
21669169689Skan	* dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
21670169689Skan
21671169689Skan2005-04-27  Matt Thomas <matt@3am-software.com>
21672169689Skan	    Jan-Benedict Glaw <jbglaw@microdata-pos.de>
21673169689Skan
21674169689Skan	* config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
21675169689Skan	(vax_output_mi_thunk): Ditto.
21676169689Skan	(vax_notice_cc_update): Ditto.
21677169689Skan	(INDEX_REGISTER_P): Add trailing \.
21678169689Skan	(BASE_REGISTER_P): Add trailing \.
21679169689Skan	(legitimate_address_p): Whitespace cleanup.  Remove trailing \.
21680169689Skan
21681169689Skan2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
21682169689Skan
21683169689Skan	* tree-ssa-propagate.c (set_rhs): Check operand of
21684169689Skan	ADDR_EXPR for gimpliness, too.
21685169689Skan
21686169689Skan2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
21687169689Skan
21688169689Skan	* tree-ssa-pre.c: Fix a comment typo.
21689169689Skan
21690169689Skan2005-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
21691169689Skan
21692169689Skan	PR tree-optimization/21171
21693169689Skan	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
21694169689Skan	record address uses if the reference is volatile.
21695169689Skan
21696169689Skan2004-04-27  Paolo Bonzini  <bonzini@gnu.org>
21697169689Skan
21698169689Skan	* tree-complex.c (expand_vector_operation): New, extracted from
21699169689Skan	expand_vector_operations_1.
21700169689Skan	(tree_vec_extract): Build a NOP_EXPR.
21701169689Skan	(expand_vec_parallel): Do not care about returning the correct type.
21702169689Skan	(expand_vector_operations_1): Call expand_vector_operation.
21703169689Skan	Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
21704169689Skan
21705169689Skan	* tree-complex.c (gate_expand_vector_operations): New.
21706169689Skan	(pass_lower_vector_ssa): Use it.
21707169689Skan	* tree-optimize.c (init_tree_optimization_passes): Include
21708169689Skan	pass_lower_vector_ssa.
21709169689Skan	* tree-vect-transform.c (vect_min_worthwhile_factor): New.
21710169689Skan	(vectorizable_operation): Use it.
21711169689Skan	* tree-vectorizer.c (get_vectype_for_scalar_type): Accept
21712169689Skan	integer modes for the vector type.
21713169689Skan
21714169689Skan	* defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
21715169689Skan	* tree-vect-analyze.c (vect_enhance_data_refs_alignment):
21716169689Skan	Do not cope with UNITS_PER_SIMD_WORD == 0.
21717169689Skan	* tree-vectorizer.c (get_vectype_for_scalar_type): Check
21718169689Skan	if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
21719169689Skan	(vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
21720169689Skan	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
21721169689Skan	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
21722169689Skan	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
21723169689Skan	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
21724169689Skan
21725169689Skan	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
21726169689Skan	* config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
21727169689Skan	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
21728169689Skan
21729169689Skan	* doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
21730169689Skan	(UNITS_PER_SIMD_WORD): New.
21731169689Skan
21732169689Skan2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
21733169689Skan
21734169689Skan	* config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and
21735169689Skan	gcc_unreachable as appropriate.
21736169689Skan	(ia64_expand_load_address, ia64_expand_tls_address,
21737169689Skan	ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
21738169689Skan	ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
21739169689Skan	next_scratch_gr_reg, ia64_initial_elimination_offset,
21740169689Skan	ia64_expand_prologue, ia64_expand_epilogue,
21741169689Skan	ia64_output_dwarf_dtprel, ia64_print_operand,
21742169689Skan	ia64_register_move_cost, first_instruction, rws_access_regno,
21743169689Skan	update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
21744169689Skan	ia64_sched_init, ia64_variable_issue,
21745169689Skan	ia64_first_cycle_multipass_dfs_lookahead_guard,
21746169689Skan	ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
21747169689Skan	ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
21748169689Skan	process_for_unwind_directive, ia64_hpux_file_end): Likewise.
21749169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
21750169689Skan	* config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
21751169689Skan	* config/ia64/predicates.md (got_symbolic_operand,
21752169689Skan	sdata_symbolic_operand): Likewise.
21753169689Skan	* config/ia64/vect.md (vcondv2sf): Likewise.
21754169689Skan
21755169689Skan2005-04-27  Matt Thomas <matt@3am-software.com>
21756169689Skan
21757169689Skan	* config/vax/vax.c (legitimate_constant_address_p): New.  Formerly
21758169689Skan	CONSTANT_ADDRESS_P in config/vax/vax.h
21759169689Skan	(legitimate_constant_p): Added.  Formerly CONSTANT_P in vax.h.
21760169689Skan	(INDEX_REGISTER_P): New.
21761169689Skan	(BASE_REGISTER_P): New.
21762169689Skan	(indirectable_constant_address_p): New.  Adapted from
21763169689Skan	INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h. Use SYMBOL_REF_LOCAL_P.
21764169689Skan	(indirectable_address_p): New.  Adapted from
21765169689Skan	INDIRECTABLE_ADDRESS_P in vax.h.
21766169689Skan	(nonindexed_address_p): New.  Adapted from
21767169689Skan	GO_IF_NONINDEXED_ADDRESS in vax.h.
21768169689Skan	(index_temp_p): New.  Adapted from INDEX_TERM_P in vax.h.
21769169689Skan	(reg_plus_index_p): New.  Adapted from GO_IF_REG_PLUS_INDEX in vax.h.
21770169689Skan	(legitimate_address_p): New.  Adapted from
21771169689Skan	GO_IF_LEGITIMATE_ADDRESS in vax.h.
21772169689Skan	(vax_mode_dependent_address_p): New.  Adapted from
21773169689Skan	GO_IF_MODE_DEPENDENT_ADDRESS in vax.h.
21774169689Skan	* config/vax/vax.h (CONSTANT_ADDRESS_P): Use
21775169689Skan	legitimate_constant_address_p.
21776169689Skan	(CONSTANT_P): Use legitimate_constant_p.
21777169689Skan	(INDIRECTABLE_CONSTANT_ADDRESS_P): Removed.
21778169689Skan	(INDIRECTABLE_ADDRESS_P): Removed.
21779169689Skan	(GO_IF_NONINDEXED_ADDRESS): Removed.
21780169689Skan	(INDEX_TEMP_P): Removed.
21781169689Skan	(GO_IF_REG_PLUS_INDEX): Removed.
21782169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p. Two
21783169689Skan	definitions, depending on whether REG_OK_STRICT is defined.
21784169689Skan	(GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p.
21785169689Skan	Two definitions, depending on whether REG_OK_STRICT is defined.
21786169689Skan	* config/vax/vax-protos.h (legitimate_constant_address_p): Prototype
21787169689Skan	added.
21788169689Skan	(legitimate_constant_p): Prototype added.
21789169689Skan	(legitimate_address_p): Prototype added.
21790169689Skan	(vax_mode_dependent_address_p): Prototype added.
21791169689Skan
21792169689Skan2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
21793169689Skan
21794169689Skan	* tree.h (phi_arg_d): Expand a comment in phi_arg_d.
21795169689Skan
21796169689Skan2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
21797169689Skan
21798169689Skan	PR c/21213
21799169689Skan	* c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
21800169689Skan	transparent union.
21801169689Skan
21802169689Skan2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
21803169689Skan
21804169689Skan	PR c/20740
21805169689Skan	* c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
21806169689Skan	assertion failures, if __gcc_host_wide_int__ is not properly
21807169689Skan	defined.
21808169689Skan	(init_dynamic_diag_info): Give errors, not assertion failures, if
21809169689Skan	location_t, tree or __gcc_host_wide_int__ are not properly
21810169689Skan	defined.
21811169689Skan
21812169689Skan2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
21813169689Skan
21814169689Skan	* tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
21815169689Skan	n_iv_uses, iv_use, n_iv_cands, iv_cand,
21816169689Skan	tree_ssa_iv_optimize_init, record_use, add_candidate_1,
21817169689Skan	prepare_decl_rtl, free_loop_data,
21818169689Skan	tree_ssa_iv_optimize_finalize): Use the VEC API instead of
21819169689Skan	VARRAY.
21820169689Skan
21821169689Skan	* tree.h (tree_phi_node): Add a comment about the order of PHI
21822169689Skan	arguments.
21823169689Skan
21824169689Skan2005-04-26  Paul Brook  <paul@codesourcery.com>
21825169689Skan
21826169689Skan	* config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
21827169689Skan
21828169689Skan2005-04-26  Nathan Sidwell  <nathan@codesourcery.com>
21829169689Skan
21830169689Skan	* config/mips.mips.c (mips_legitimize_tls_address): Use
21831169689Skan	gcc_unreachable.
21832169689Skan
21833169689Skan	* config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
21834169689Skan	* config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
21835169689Skan	* config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
21836169689Skan
21837169689Skan	* config/sparc/sparc.h (enum reg_class): Reword comment to avoid
21838169689Skan	'abort'.
21839169689Skan
21840169689Skan2005-04-26  Jeff Law  <law@redhat.com>
21841169689Skan
21842169689Skan	* tree-flow-inline.h (op_iter_next_must_and_may_def): New.
21843169689Skan	(op_iter_init_must_and_may_def): Likewise.
21844169689Skan	(unmodifiable_var_p): Move to a later point in the file.
21845169689Skan	* tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
21846169689Skan	* tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
21847169689Skan	(dse_record_phis): Directly check for virtual operands rather than
21848169689Skan	using need_imm_uses_for.
21849169689Skan	(dse_optimize_stmt): Handle V_MUST_DEF operands.  Handle case where
21850169689Skan	store has multiple V_{MAY,MUST}_DEF operands.
21851169689Skan
21852169689Skan2005-04-26  Andrew MacLeod  <amacleod@redhat.com>
21853169689Skan
21854169689Skan	* tree-cfg.c (bsi_replace): Delink immediate uses for the original
21855169689Skan	stmt.
21856169689Skan
21857169689Skan2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
21858169689Skan
21859169689Skan	* tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
21860169689Skan	call to find_edge outside a loop to go through a PHI chain.
21861169689Skan
21862169689Skan2004-04-26  Richard Guenther  <rguenth@gcc.gnu.org>
21863169689Skan
21864169689Skan	PR tree-optimization/17598
21865169689Skan	* fold-const.c (fold_binary): Fold comparisons of addresses
21866169689Skan	of COMPONENT_REFs which reference the same field to
21867169689Skan	comparisons of the addresses of the base objects.
21868169689Skan
21869169689Skan2005-04-26  Julian Brown  <julian@codesourcery.com>
21870169689Skan
21871169689Skan	* config/arm/arm.c (arm_return_in_msb): New function.
21872169689Skan	(arm_must_pass_in_stack): New function.
21873169689Skan	(TARGET_RETURN_IN_MSB): Define target hook.
21874169689Skan	(TARGET_MUST_PASS_IN_STACK): Define target hook.
21875169689Skan	(arm_function_value): Pad small aggregate return.
21876169689Skan	(arm_pad_arg_upward): New function.
21877169689Skan	(arm_pad_reg_upward): New function.
21878169689Skan	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
21879169689Skan	(FUNCTION_ARG_PADDING): Define macro.
21880169689Skan	(BLOCK_REG_PADDING): Define macro.
21881169689Skan	(PAD_VARARGS_DOWN): Correct padding for AAPCS.
21882169689Skan	* config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
21883169689Skan	(arm_pad_reg_upward): Declare function.
21884169689Skan
21885169689Skan2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
21886169689Skan
21887169689Skan	* basic-block.h (ei_cond): New.
21888169689Skan	(FOR_EACH_EDGE): Call ei_cond.
21889169689Skan
21890169689Skan	PR tree-optimization/21047
21891169689Skan	* fold-const.c (fold_binary): Abort on ASSERT_EXPR.
21892169689Skan	(fold): Don't handle ASSERT_EXPR.
21893169689Skan
21894169689Skan2005-04-25  Roger Sayle  <roger@eyesopen.com>
21895169689Skan
21896169689Skan	* sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat
21897169689Skan	all writes to any stack register as a read/write dependency on
21898169689Skan	FIRST_STACK_REG.
21899169689Skan	(sched_analyze_2): Likewise, for reads from any stack register.
21900169689Skan
21901169689Skan2005-04-25  Richard Henderson  <rth@redhat.com>
21902169689Skan
21903169689Skan	* final.c (output_addr_const): Revert 2005-04-09 change.
21904169689Skan
21905169689Skan2005-04-25  Mike Stump  <mrs@apple.com>
21906169689Skan
21907169689Skan	* config/darwin.c (darwin_encode_section_info): Always set
21908169689Skan	MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols.
21909169689Skan
21910169689Skan2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21911169689Skan
21912169689Skan	* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
21913169689Skan	gensupport.c, protoize.c, toplev.c: Replace calls to
21914169689Skan	`unlock_stream' with `unlock_std_streams'.
21915169689Skan
21916169689Skan2005-04-25  Devang Patel <dpatel@apple.com>
21917169689Skan
21918169689Skan	* dbxout.c (dbxout_type): Emit attribute vector.
21919169689Skan
21920169689Skan2005-04-05  Paul Brook  <paul@codesourcery.com>
21921169689Skan
21922169689Skan	* target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
21923169689Skan	* target.h (struct gcc_target): Add cxx.use_aeabi_atexit.
21924169689Skan	* config/arm/arm.c (arm_cxx_atexit_name): New function.
21925169689Skan	(TARGET_CXX_USE_AEABI_ATEXIT): New macro.
21926169689Skan	* cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit.
21927169689Skan	(register_dtor_fn): Likewise.
21928169689Skan	* doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT.
21929169689Skan
21930169689Skan2005-04-25  Ian Lance Taylor  <ian@airs.com>
21931169689Skan
21932169689Skan	* c-common.def (EXPR_STMT): Remove, moved to C++ frontend.
21933169689Skan	* c-common.h (EXPR_STMT_EXPR): Don't define.
21934169689Skan	(c_common_stmt_codes): Don't define.
21935169689Skan	* c-dump.c (c_dump_tree): Remove EXPR_STMT case.
21936169689Skan	* c-gimplify.c (gimplify_expr_stmt): Remove.
21937169689Skan	(c_gimplify_expr): Remove EXPR_STMT case.
21938169689Skan	* c-objc-common.c (c_objc_common_init): Remove stmt_codes and call
21939169689Skan	to INIT_STATEMENT_CODES.
21940169689Skan	* c-pretty-print.c (pp_c_statement): Just call dump_generic_node.
21941169689Skan
21942169689Skan2005-04-25  Jan Hubicka  <jh@suse.cz>
21943169689Skan
21944169689Skan	* tree-cfg.c (tree_duplicate_bb): Duplicate EH region too.
21945169689Skan
21946169689Skan	* except.c: Include diagnostic.h
21947169689Skan	(dump_eh_tree, verify_eh_tree): New functions.
21948169689Skan	* except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare.
21949169689Skan	* tree-cfg.c (tree_verify_flow_info): verify eh edges.
21950169689Skan	(dump_function_to_file): dump eh tree.
21951169689Skan	* tree-eh.c (mark_eh_edge): New function.
21952169689Skan	(mark_eh_edge_found_error): New static variable.
21953169689Skan	(verify_eh_edges): New function.
21954169689Skan
21955169689Skan2005-04-25  Nathan Sidwell  <nathan@codesourcery.com>
21956169689Skan
21957169689Skan	* tree-ssa-alias.c (fieldoff_t): Remove.
21958169689Skan	(fieldoff_s): typedef the structure itself.  Create a vector of
21959169689Skan	objects.
21960169689Skan	(push_fields_onto_fieldstack): Return count of fields pushed.
21961169689Skan	Remove peeling of first field.  Adjust.
21962169689Skan	(fieldoff_compare): Adjust.
21963169689Skan	(create_overlap_variables_for): Adjust.
21964169689Skan
21965169689Skan2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
21966169689Skan
21967169689Skan	* doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
21968169689Skan
21969169689Skan2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
21970169689Skan
21971169689Skan	PR bootstrap/21215
21972169689Skan	* doc/install.texi: Document correct assembler and linker to use
21973169689Skan	on i?86-*-solaris2.10.
21974169689Skan
21975169689Skan2005-04-25  Steven Bosscher  <stevenb@suse.de>
21976169689Skan
21977169689Skan	Fix PR tree-optimization/21173
21978169689Skan
21979169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): Simplify code.
21980169689Skan	Unshare expression we pass to force_gimple_operand.
21981169689Skan
21982169689Skan2005-04-25  J"orn Rennecke <joern.rennecke@st.com>
21983169689Skan	    Stephen Clarke <stevec@superh.com>
21984169689Skan	    Roger Sayle <roger@eyesopen.com>
21985169689Skan
21986169689Skan	PR rtl-optimization/20413
21987169689Skan	* cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
21988169689Skan	VOIDmode for LABEL_REF.
21989169689Skan	* final.c (shorten_branches): Likewise.
21990169689Skan	* jump.c (mark_all_labels, redirect_exp_1): Likewise.
21991169689Skan	* loop.c (reg_dead_after_loop): Likewise.
21992169689Skan	* varasm.c (decode_addr_const): Likewise.
21993169689Skan	* doc/rtl.texi: Document mode requirement for LABEL_REF.
21994169689Skan
21995169689Skan2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
21996169689Skan
21997169689Skan	* config.gcc (avr-*-*): Remove redundant "case".
21998169689Skan
21999169689Skan2005-04-25  Kazu Hirata  <kazu@cs.umass.edu>
22000169689Skan
22001169689Skan	* tree-vect-analyze.c (vect_mark_relevant): Take
22002169689Skan	VEC(tree,heap) instead of varray_type as an argument.
22003169689Skan	(vect_mark_stmts_to_be_vectorized): Change the type of
22004169689Skan	worklist to VEC(tree,heap).  Adjust uses of worklist.
22005169689Skan
22006169689Skan2005-04-24  Devang Patel  <dpatel@apple.com>
22007169689Skan
22008169689Skan	*  config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
22009169689Skan
22010169689Skan2005-04-24  Ian Lance Taylor  <ian@airs.com>
22011169689Skan
22012169689Skan	* c-semantics.c (build_stmt): Remove test of specific tree codes
22013169689Skan	for TREE_SIDE_EFFECTS handling.
22014169689Skan
22015169689Skan2005-04-24  Per Bothner  <per@bothner.com>
22016169689Skan
22017169689Skan	* c-opts.c (finish_options): Make the line-number of the <built-in>
22018169689Skan	location 0, as assumed elsewhere, rather than 1.
22019169689Skan
22020169689Skan2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
22021169689Skan
22022169689Skan	* tree-ssa-uncprop.c (equiv_stack): Change the type o
22023169689Skan	VEC(tree,heap).
22024169689Skan	(tree_ssa_uncprop, uncprop_finalize_block,
22025169689Skan	uncprop_initialize_block): Update uses of equiv_stack.
22026169689Skan
22027169689Skan2005-04-24  Richard Henderson  <rth@redhat.com>
22028169689Skan
22029169689Skan	PR rtl-opt/21163
22030169689Skan	* simplify-rtx.c (simplify_binary_operation) <IOR>: Check
22031169689Skan	for SCALAR_INT_MODE_P instead of not MODE_CC before returning
22032169689Skan	constm1_rtx.
22033169689Skan	<AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
22034169689Skan	<UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
22035169689Skan	<DIV, MOD>: Likewise.
22036169689Skan
22037169689Skan2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22038169689Skan
22039169689Skan	* collect2.c (main): Unlock the stdio streams.
22040169689Skan	* gcc.c (main): Likewise.
22041169689Skan	* gcov-dump.c (main): Likewise.
22042169689Skan	* gcov.c (main): Likewise.
22043169689Skan	* gen-protos.c (main): Likewise.
22044169689Skan	* gensupport.c (init_md_reader_args_cb): Likewise.
22045169689Skan	* protoize.c (main): Likewise.
22046169689Skan	* toplev.c (general_init): Likewise.
22047169689Skan
22048169689Skan2005-04-24  Jakub Jelinek  <jakub@redhat.com>
22049169689Skan
22050169689Skan	PR middle-end/20991
22051169689Skan	* cgraph.h (cgraph_local_info): Add vtable_method field.
22052169689Skan	* varasm.c (mark_decl_referenced): If cgraph_global_info_ready
22053169689Skan	and node is vtable_method, finalized and not reachable, don't do
22054169689Skan	anything.
22055169689Skan
22056169689Skan2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
22057169689Skan
22058169689Skan	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use
22059169689Skan	COMPARISON_CLASS_P.
22060169689Skan	* tree-ssa-pre.c (create_value_expr_from): Use
22061169689Skan	CONSTANT_CLASS_P and REFERENCE_CLASS_P.
22062169689Skan	* tree-ssa-propagate.c (stmt_makes_single_load,
22063169689Skan	stmt_makes_single_store): Use REFERENCE_CLASS_P.
22064169689Skan	* tree-vect-transform.c (vect_is_simple_cond): Use
22065169689Skan	COMPARISON_CLASS_P.
22066169689Skan	* tree-vrp.c (extract_range_from_assert,
22067169689Skan	build_assert_expr_for, fp_predicate, has_assert_expr): Use
22068169689Skan	COMPARISON_CLASS_P.
22069169689Skan
22070169689Skan	* tree-ssa-live.c (build_tree_conflict_graph): Change the type
22071169689Skan	of tpa_to_clear to VEC(int,heap).  Update uses of
22072169689Skan	tpa_to_clear.  Free tpa_to_clear at the end.
22073169689Skan
22074169689Skan2005-04-24  Andrew Pinski  <pinskia@physics.uc.edu>
22075169689Skan
22076169689Skan	* tree.h (TREE_THIS_VOLATILE): Document the effect on a
22077169689Skan	function decl.
22078169689Skan
22079169689Skan2005-04-24  Nathan Sidwell  <nathan@codesourcery.com>
22080169689Skan
22081169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert
22082169689Skan	and gcc_unreachable as appropriate.
22083169689Skan	(num_insns_constant, output_vec_const_move,
22084169689Skan	build_mask64_2_operands, rs6000_output_dwarf_dtprel,
22085169689Skan	rs6000_emit_set_const, rs6000_emit_move,
22086169689Skan	spe_build_register_parallel, function_arg,
22087169689Skan	rs6000_move_block_from_reg, altivec_expand_predicate_builtin,
22088169689Skan	spe_expand_predicate_builtin, spe_expand_evsel_builtin,
22089169689Skan	rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins,
22090169689Skan	rs6000_common_init_builtins, expand_block_clear,
22091169689Skan	expand_block_move, validate_condition_mode, ccr_bit, extract_MB,
22092169689Skan	extract_ME, rs6000_get_some_local_dynamic_name,
22093169689Skan	rs6000_output_function_entry, print_operand,
22094169689Skan	print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND,
22095169689Skan	output_cbranch, output_e500_flip_gt_bit,
22096169689Skan	rs6000_emit_vector_compare, rs6000_emit_vector_compare,
22097169689Skan	rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move,
22098169689Skan	compute_save_world_info, rs6000_stack_info,
22099169689Skan	rs6000_emit_load_toc_table, rs6000_frame_related,
22100169689Skan	spe_synthesize_frame_save, rs6000_emit_epilogue,
22101169689Skan	rs6000_output_function_epilogue, rs6000_hash_constant, output_toc,
22102169689Skan	output_function_profiler, rs6000_trampoline_size,
22103169689Skan	rs6000_initialize_trampoline, find_addr_reg,
22104169689Skan	rs6000_machopic_legitimize_pic_address,
22105169689Skan	rs6000_initial_elimination_offset,
22106169689Skan	rs6000_dbx_register_number): Likewise.
22107169689Skan	* config/rs6000/rs6000.md (*fix_truncdfsi2_internal,
22108169689Skan	*movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal,
22109169689Skan	*movti_power, *movti_string, call, call_value, sibcall,
22110169689Skan	sibcall_value): Likewise.
22111169689Skan	* config/rs6000/spe.md (*movdf_e500_double,
22112169689Skan	*movv2si_internal): Likewise.
22113169689Skan	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort'
22114169689Skan	from comment.
22115169689Skan
22116169689Skan2005-04-24  Richard Henderson  <rth@redhat.com>
22117169689Skan
22118169689Skan	PR target/21101
22119169689Skan	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
22120169689Skan	* config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
22121169689Skan	Deny modes smaller than 4 bytes.
22122169689Skan	* config/i386/i386-protos.h: Update.
22123169689Skan
22124169689Skan2005-04-24  Ralf Corsepius  <ralf.corsepius@rtems.org>
22125169689Skan
22126169689Skan	* config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
22127169689Skan	Switch h8300-*-rtems* to ELF.
22128169689Skan
22129169689Skan2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
22130169689Skan
22131169689Skan	* vec.h (VEC_safe_grow): Replace grow with safe_grow.
22132169689Skan
22133169689Skan2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
22134169689Skan
22135169689Skan	* ipa-inline.c, tree-ssa-operands.h: Fix comment typos.
22136169689Skan
22137169689Skan2005-04-23  Richard Guenther  <rguenth@gcc.gnu.org>
22138169689Skan
22139169689Skan	PR middle-end/21082
22140169689Skan	* fold-const.c: Fold &a[i]-&a[j] to i-j.
22141169689Skan
22142169689Skan2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
22143169689Skan
22144169689Skan	* tree-ssa-loop-niter.c (tree_simplify_using_condition): Expand simple
22145169689Skan	definitions of ssa names in condition.  Split recusive part to ...
22146169689Skan	(tree_simplify_using_condition_1): New function.
22147169689Skan	(expand_simple_operations): New function.
22148169689Skan
22149169689Skan2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
22150169689Skan
22151169689Skan	* tree-ssa-loop-ivopts.c (struct cost_pair): Add value field.
22152169689Skan	(find_interesting_uses_cond): Do not use integer_zerop and
22153169689Skan	integer_nonzerop to check for integer constants.
22154169689Skan	(set_use_iv_cost): Record the value field.
22155169689Skan	(determine_use_iv_cost_generic, determine_use_iv_cost_address,
22156169689Skan	determine_use_iv_cost_outer): Set the value field of the cost pair.
22157169689Skan	(may_eliminate_iv): Do not return the comparison code.
22158169689Skan	(iv_elimination_compare): New function.
22159169689Skan	(determine_use_iv_cost_condition): Set the value field.  Record
22160169689Skan	noneliminable invariants correctly.
22161169689Skan	(rewrite_use_compare, rewrite_use_outer): Use the value field.
22162169689Skan
22163169689Skan2005-04-23  DJ Delorie  <dj@redhat.com>
22164169689Skan
22165169689Skan	* diagnostic.c (warning): Accept parameter to classify warning option.
22166169689Skan	(warning0): New, for when a pointer to an error() like function is needed.
22167169689Skan	* errors.c (warning): Likewise.
22168169689Skan	* errors.h (warning, warning0): Adjust prototypes.
22169169689Skan	* toplev.h (warning, warning0): Likewise.
22170169689Skan
22171169689Skan	* attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
22172169689Skan	c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
22173169689Skan	c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
22174169689Skan	fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
22175169689Skan	genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
22176169689Skan	reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
22177169689Skan	tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
22178169689Skan	tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
22179169689Skan
22180169689Skan	* config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
22181169689Skan	config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
22182169689Skan	config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
22183169689Skan	config/darwin.c, config/darwin.h, config/h8300/h8300.c,
22184169689Skan	config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
22185169689Skan	config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
22186169689Skan	config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
22187169689Skan	config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
22188169689Skan	config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
22189169689Skan	config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
22190169689Skan	config/rs6000/aix52.h, config/rs6000/darwin.h,
22191169689Skan	config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
22192169689Skan	config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
22193169689Skan	config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
22194169689Skan	config/stormy16/stormy16.c, config/v850/v850-c.c,
22195169689Skan	config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
22196169689Skan	callers.
22197169689Skan
22198169689Skan2005-04-23  Richard Henderson  <rth@redhat.com>
22199169689Skan
22200169689Skan	PR rtl-opt/21102
22201169689Skan	* simplify-rtx.c (simplify_binary_operation): Fix mode check before
22202169689Skan	performing some integral scalar simplifications.
22203169689Skan
22204169689Skan2005-04-23  Richard Henderson  <rth@redhat.com>
22205169689Skan
22206169689Skan	PR target/21099
22207169689Skan	* config/i386/i386.c (ix86_split_to_parts): Use proper mode when
22208169689Skan	simplifying CONST_VECTOR.
22209169689Skan
22210169689Skan2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
22211169689Skan
22212169689Skan	* tree-ssa-live.c (live_worklist): Take a stack allocated on
22213169689Skan	heap as an argument.  Update uses of stack.
22214169689Skan	(calculate_live_on_entry): Allocate stack on heap.
22215169689Skan
22216169689Skan	* tree-ssa-live.c (build_tree_conflict_graph): Allocate
22217169689Skan	partition_link and tpa_nodes on heap.
22218169689Skan
22219169689Skan	* tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
22220169689Skan	(mark_stmt_necessary, propagate_necessity,
22221169689Skan	mark_really_necessary_kill_operand_phis): Update uses of
22222169689Skan	worklist.
22223169689Skan	(tree_dce_init): Allocate worklist using VEC_alloc.
22224169689Skan	(tree_dce_done): Free worklist using VEC_free.
22225169689Skan
22226169689Skan2005-04-23  Mike Stump  <mrs@apple.com>
22227169689Skan
22228169689Skan	* config/darwin.c (machopic_indirection_name): Don't use
22229169689Skan	quotes needlessly.
22230169689Skan	(darwin_emit_unwind_label): Use user_label_prefix instead of
22231169689Skan	"_".
22232169689Skan
22233169689Skan2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
22234169689Skan
22235169689Skan	* final.c, ipa-inline.c, varasm.c: Fix comment typos.
22236169689Skan
22237169689Skan2005-04-23  Hans-Peter Nilsson  <hp@axis.com>
22238169689Skan
22239169689Skan	* config.gcc <cris-*>: Specify .opt files.
22240169689Skan	* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
22241169689Skan	config/cris/linux.opt: New files.
22242169689Skan	* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
22243169689Skan	(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
22244169689Skan	(TARGET_ELF): Override to 0.
22245169689Skan	(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
22246169689Skan	-melinux-stacksize=N.
22247169689Skan	* config/cris/cris.c: (cris_handle_option): New function.
22248169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): Override.
22249169689Skan	(TARGET_HANDLE_OPTION): Override to cris_handle_option.
22250169689Skan	(cris_override_options): Use MASK_*, not TARGET_MASK_*.
22251169689Skan	* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
22252169689Skan	(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
22253169689Skan	(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
22254169689Skan	(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
22255169689Skan	(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
22256169689Skan	(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
22257169689Skan	(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
22258169689Skan	(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
22259169689Skan	(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
22260169689Skan	(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
22261169689Skan	(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
22262169689Skan	(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
22263169689Skan	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
22264169689Skan	(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
22265169689Skan	(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
22266169689Skan	(TARGET_LINUX): Define 0.
22267169689Skan	(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
22268169689Skan	(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
22269169689Skan	(CRIS_SUBTARGET_DEFAULT): New empty default macro.
22270169689Skan	* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
22271169689Skan	(TARGET_LINUX): Override to 1.
22272169689Skan	(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
22273169689Skan
22274169689Skan2005-04-23  Nathan Sidwell  <nathan@codesourcery.com>
22275169689Skan
22276169689Skan	* haifa-sched.c (schedule_block): Fix thinko in previous
22277169689Skan	assertification patch.
22278169689Skan
22279169689Skan2005-04-23  Richard Sandiford  <rsandifo@redhat.com>
22280169689Skan
22281169689Skan	* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
22282169689Skan	$extra_options.  Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
22283169689Skan	(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file.  Add
22284169689Skan	pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
22285169689Skan	$extra_options.  Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
22286169689Skan	(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file.  Add
22287169689Skan	pa/pa-hpux.opt to $extra_options.  Also add pa/pa-hpux1111.opt
22288169689Skan	for hpux11.[1-9]*.
22289169689Skan	* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
22290169689Skan	(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
22291169689Skan	(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
22292169689Skan	(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
22293169689Skan	(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
22294169689Skan	(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
22295169689Skan	(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
22296169689Skan	(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
22297169689Skan	(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
22298169689Skan	(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
22299169689Skan	(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
22300169689Skan	(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
22301169689Skan	(SUBTARGET_OPTIONS): Delete.
22302169689Skan	(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
22303169689Skan	(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
22304169689Skan	instead of a string.
22305169689Skan	* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
22306169689Skan	(pa_cpu_string, pa_unix_string): Delete.
22307169689Skan	(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
22308169689Skan	(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
22309169689Skan	TARGET_HPUX_10_10.
22310169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
22311169689Skan	(pa_handle_option): New function.
22312169689Skan	(override_options): Remove handling of -march=, -mfixed-range=,
22313169689Skan	-mschedule= and -munix=.
22314169689Skan	* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
22315169689Skan	* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
22316169689Skan	* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
22317169689Skan	* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
22318169689Skan	* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
22319169689Skan	* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
22320169689Skan	* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
22321169689Skan	redefining.
22322169689Skan	* config/pa/pa.opt: New file.
22323169689Skan	* config/pa/pa-hpux.opt: New file.
22324169689Skan	* config/pa/pa-hpux1010.opt: New file.
22325169689Skan	* config/pa/pa-hpux1111.opt: New file.
22326169689Skan	* config/pa/pa64-hpux.opt: New file.
22327169689Skan
22328169689Skan2005-04-22  David S. Miller  <davem@davemloft.net>
22329169689Skan
22330169689Skan	* rtl.h (CONST_DOUBLE): Fix comment, a CONST_DOUBLE holds an
22331169689Skan	integer when it's mode is VOIDmode not DImode.
22332169689Skan
22333169689Skan2005-04-22  Geoffrey Keating  <geoffk@apple.com>
22334169689Skan
22335169689Skan	* config/rs6000/rs6000.md (sync_add<mode>_internal,
22336169689Skan	sync_addshort_internal, sync_sub<mode>_internal, sync_andsi_internal,
22337169689Skan	sync_anddi_internal, sync_boolsi_internal, sync_booldi_internal,
22338169689Skan	sync_boolc<mode>_internal, sync_boolc<mode>_internal2,
22339169689Skan	sync_boolcc<mode>_internal, sync_lock_test_and_set<mode>): Use
22340169689Skan	"bne- $-xxx" rather than local labels.
22341169689Skan	(sync_lock_release<mode>): Add second operand.
22342169689Skan	(lwsync): Use .long rather than a more meaningful opcode.
22343169689Skan	* doc/md.texi (Standard Names): Add description of second
22344169689Skan	parameter to sync_lock_test_and_set.
22345169689Skan
22346169689Skan2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
22347169689Skan
22348169689Skan	PR tree-optimization/21088
22349169689Skan	* fold-const.c (fold_unary, fold_binary, fold_ternary):
22350169689Skan	Export.
22351169689Skan	* tree-vrp.c (compare_values): Use fold_binary to compare
22352169689Skan	pointers.  Use boolean_type_node as the type of a comparison
22353169689Skan	expression being folded.
22354169689Skan	* tree.h: Add prototypes for fold_unary, fold_binary,
22355169689Skan	fold_ternary.
22356169689Skan
22357169689Skan	* tree-ssa-dom.c: Fix formatting.
22358169689Skan
22359169689Skan2005-04-22  Diego Novillo  <dnovillo@redhat.com>
22360169689Skan
22361169689Skan	* Makefile.in (tree-into-ssa.o): Add dependency on PARAMS_H.
22362169689Skan	* lambda-code.c (perfect_nestify): Mark virtual operands in
22363169689Skan	the moved statement for renaming.
22364169689Skan	* params.def (PARAM_MIN_VIRTUAL_MAPPINGS): Define.
22365169689Skan	(PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
22366169689Skan	* params.h (MIN_VIRTUAL_MAPPINGS): Define.
22367169689Skan	(VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
22368169689Skan	* tree-flow.h (struct var_ann_d): Update comments.
22369169689Skan	(rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names,
22370169689Skan	allocate_ssa_names, find_phi_node_for, dump_tree_ssa,
22371169689Skan	debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats,
22372169689Skan	debug_tree_ssa_stats, rewrite_ssa_into_ssa,
22373169689Skan	dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
22374169689Skan	debug_names_replaced_by): Remove declarations.
22375169689Skan	(delete_update_ssa, get_current_def, set_current_def): Declare.
22376169689Skan	(rewrite_into_loop_closed_ssa): Add new argument.  Update
22377169689Skan	all callers.
22378169689Skan	* tree-into-ssa.c: Include params.h.
22379169689Skan	(old_virtual_ssa_names): Remove.  Update all users.
22380169689Skan	(need_to_replace_names_p): Remove.  Update all users.
22381169689Skan	(struct update_ssa_stats_d): Declare.
22382169689Skan	(update_ssa_stats): New local.
22383169689Skan	(dump_tree_ssa, debug_tree_ssa, debug_def_blocks,
22384169689Skan	dump_tree_ssa_stats, debug_tree_ssa_stats,
22385169689Skan	dump_update_ssa, debug_update_ssa,
22386169689Skan	dump_names_replaced_by, debug_names_replaced_by): Declare.
22387169689Skan	(get_current_def, set current_def): Make extern.
22388169689Skan	(is_old_name, is_new_name): Protect against references
22389169689Skan	past the end of the sets.
22390169689Skan	(add_new_name_mapping): Assert that OLD and NEW are
22391169689Skan	different SSA names for the same symbol.
22392169689Skan	When adding a virtual mapping, update stats for virtual
22393169689Skan	mapping heuristic.
22394169689Skan	(insert_phi_nodes_for): If UPDATE_P is true, create the
22395169689Skan	LHS of the new PHI by duplicating SSA name VAR.
22396169689Skan	(insert_phi_nodes_1): Remove.  Update all users.
22397169689Skan	(insert_phi_nodes): Remove second argument.  Update all
22398169689Skan	users.
22399169689Skan	(maybe_replace_use, maybe_replace_def): New.
22400169689Skan	(rewrite_update_stmt): Call them.
22401169689Skan	(mark_def_interesting): Remove calls to is_gimple_reg.
22402169689Skan	(prepare_phi_args_for_update): Remove.  Update all users.
22403169689Skan	(prepare_block_for_update): Only process virtual operands
22404169689Skan	and GIMPLE registers in normal form.
22405169689Skan	(prepare_use_sites_for): New.
22406169689Skan	(prepare_names_to_update): Rename from prepare_def_sites.
22407169689Skan	Call prepare_use_sites_for.
22408169689Skan	(dump_update_ssa): Rename from dump_repl_tbl.
22409169689Skan	Update all users.
22410169689Skan	Show statistics for virtual mapping heuristic.
22411169689Skan	(debug_update_ssa): Rename from debug_debug_repl_tbl.
22412169689Skan	(init_update_ssa): Initialize UPDATE_SSA_STATS.
22413169689Skan	(delete_update_ssa): Make extern.
22414169689Skan	(mark_set_for_renaming): If the set is empty, do nothing.
22415169689Skan	(release_ssa_name_after_update_ssa): Update comment.
22416169689Skan	(insert_updated_phi_nodes_for): Do not remove existing
22417169689Skan	PHI nodes for symbols.
22418169689Skan	(switch_virtuals_to_full_rewrite_p): New.
22419169689Skan	(switch_virtuals_to_full_rewrite): New.
22420169689Skan	(update_ssa): Call them.
22421169689Skan	Clear REWRITE_THIS_STMT and REGISTER_DEFS_IN_THIS_STMT
22422169689Skan	for every statement before updating.
22423169689Skan	If all the names in NEW_SSA_NAMES have been marked for
22424169689Skan	removal, do nothing.
22425169689Skan	Only start at the top of the CFG if there are symbols in
22426169689Skan	SYMS_TO_RENAME.
22427169689Skan	(ssa_rewrite_finalize_block): Remove.
22428169689Skan	(ssa_register_new_def): Remove.
22429169689Skan	(ssa_rewrite_stmt): Remove.
22430169689Skan	(ssa_rewrite_phi_arguments): Remove.
22431169689Skan	(ssa_rewrite_initialize_block): Remove.
22432169689Skan	(ssa_mark_def_sites): Remove.
22433169689Skan	(ssa_mark_def_sites_initialize_block): Remove.
22434169689Skan	(ssa_mark_phi_uses): Remove.
22435169689Skan	(rewrite_ssa_into_ssa): Remove.
22436169689Skan	* tree-phinodes.c (find_phi_node_for): Remove.
22437169689Skan	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
22438169689Skan	Call update_ssa.
22439169689Skan	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops):
22440169689Skan	Remove calls to verify_dominators and
22441169689Skan	verify_loop_structure.
22442169689Skan	(tree_unswitch_single_loop): Call update_ssa.
22443169689Skan	* tree-ssa.c (verify_ssa): Assert that need_ssa_update_p
22444169689Skan	returns false.
22445169689Skan	Call verify_stmts.
22446169689Skan	(delete_tree_ssa): Assert that need_ssa_update_p returns
22447169689Skan	false.
22448169689Skan	* tree-vect-transform.c (vect_transform_loop): Call update_ssa.
22449169689Skan	* tree-vectorizer.c (allocate_new_names, rename_def_op,
22450169689Skan	free_new_names): Remove.  Update all users.
22451169689Skan	(rename_use_op): Call get_current_def.
22452169689Skan	(rename_variables_in_bb): Do not handle any real or
22453169689Skan	virtual definition.
22454169689Skan	(slpeel_update_phis_for_duplicate_loop): Call
22455169689Skan	get_current_def and set_current_def instead of using
22456169689Skan	SSA_NAME_AUX.
22457169689Skan	(slpeel_update_phi_nodes_for_guard2): Reformat comments.
22458169689Skan	(slpeel_can_duplicate_loop_p): Call need_ssa_update_p,
22459169689Skan	ssa_names_to_replace and delete_update_ssa.
22460169689Skan	* doc/invoke.texi: Document --param min-virtual-mappings
22461169689Skan	and --param virtual-mappings-ratio.
22462169689Skan
22463169689Skan2005-04-22  Diego Novillo  <dnovillo@redhat.com>
22464169689Skan
22465169689Skan	* tree-cfg.c (tree_duplicate_bb): Call create_new_def_for
22466169689Skan	for newly created PHI nodes.
22467169689Skan	Call create_new_def_for for every new V_MAY_DEF and
22468169689Skan	V_MUST_DEF on the copied statement.
22469169689Skan	(struct ssa_name_map_entry): Remove.
22470169689Skan	(ssa_name_map_entry_hash): Remove.
22471169689Skan	(ssa_name_map_entry_eq): Remove.
22472169689Skan	(allocate_ssa_names): Remove.
22473169689Skan	(rewrite_to_new_ssa_names_def): Remove.
22474169689Skan	(rewrite_to_new_ssa_names_use): Remove.
22475169689Skan	(rewrite_to_new_ssa_names_bb): Remove.
22476169689Skan	(rewrite_to_new_ssa_names): Remove.
22477169689Skan	(tree_duplicate_sese_region): Remove variables ver,
22478169689Skan	definitions, phi, ssa_name_map and bi.
22479169689Skan	Call need_ssa_update_p instead of any_marked_for_rewrite_p.
22480169689Skan	Call update_ssa.
22481169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
22482169689Skan	update_ssa instead of rewrite_ssa_into_ssa.
22483169689Skan	* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
22484169689Skan	create_new_def_for.
22485169689Skan	(find_uses_to_rename_use): Add argument 'need_phis'.
22486169689Skan	(find_uses_to_rename_stmt): Do not scan virtual operands.
22487169689Skan	(find_uses_to_rename): Only scan PHI nodes for
22488169689Skan	non-virtual names.
22489169689Skan	(rewrite_into_loop_closed_ssa): Call update_ssa.
22490169689Skan	(check_loop_closed_ssa_use): Ignore virtual operands.
22491169689Skan	(check_loop_closed_ssa_stmt): Likewise.
22492169689Skan	(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
22493169689Skan	NULL.
22494169689Skan	(rename_variables, set_phi_def_stmts): Remove.
22495169689Skan	(tree_duplicate_loop_to_header_edge): Reformat comment.
22496169689Skan	Remove variables BB, I and DEFINITIONS.
22497169689Skan	Call need_ssa_update_p.
22498169689Skan	Call update_ssa.
22499169689Skan	(lv_adjust_loop_header_phi): Reformat comment.
22500169689Skan	* tree-ssanames.c (ssa_names_to_rewrite): Remove.
22501169689Skan	(marked_for_rewrite_p, any_marked_for_rewrite_p,
22502169689Skan	mark_for_rewrite, unmark_all_for_rewrite,
22503169689Skan	marked_ssa_names): Remove.  Update all users.
22504169689Skan	(release_ssa_name): If VAR has been registered for SSA
22505169689Skan	updating, do nothing.
22506169689Skan	* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
22507169689Skan	(build_assert_expr_for): Call register_new_name_mapping.
22508169689Skan	(insert_range_assertions): Update call to update_ssa.
22509169689Skan	* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
22510169689Skan	marked_for_rewrite_p, any_marked_for_rewrite_p,
22511169689Skan	marked_ssa_names): Remove.
22512169689Skan
22513169689Skan2005-04-22  Jeff Law  <law@redhat.com>
22514169689Skan
22515169689Skan	* tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
22516169689Skan	(restore_currdefs_to_original_value): Likewise.
22517169689Skan	(register_definitions_for_stmt): Likewise.
22518169689Skan	(tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF
22519169689Skan	for each variable.  Do not allocate/free block_defs_stack either.
22520169689Skan	Do not iterate if we just thread jumps.  Only iterate if the
22521169689Skan	tree_cleanup_cfg does useful work (temporary).
22522169689Skan	(dom_opt_initialize_block): No longer push a marker on
22523169689Skan	BLOCK_DEFS_STACK.
22524169689Skan	(dom_opt_finalize_block): Removal call to restore currdefs.
22525169689Skan	Relax restrictions for recording edge equivalences.
22526169689Skan	(record_equivalences_from_phis): No longer need to track
22527169689Skan	CURRENT_DEF.
22528169689Skan	(optimize_stmt): Similarly.
22529169689Skan	(thread_across_edge): Simplify by removing the requirement that
22530169689Skan	statements in the block we are threading through must be nops.
22531169689Skan	(initialize_hash_element): Handle GOTO_EXPR.
22532169689Skan
22533169689Skan2005-04-22  David S. Miller  <davem@davemloft.net>
22534169689Skan
22535169689Skan	* sched-vis.c (print_value): Use CONST_DOUBLE_LOW and
22536169689Skan	CONST_DOUBLE_HIGH.
22537169689Skan	* config/sparc/sparc.c (sparc_rtx_costs): Likewise, and
22538169689Skan	fix check on CONST_DOUBLE mode.  It should be VOIDmode
22539169689Skan	when it is representing an integer.
22540169689Skan
22541169689Skan2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
22542169689Skan
22543169689Skan	* builtins.c (gimplify_va_arg_expr): Reword comments to avoid
22544169689Skan	'abort'. Use gcc_assert and gcc_unreachable as appropriate.
22545169689Skan	* c-format.c (get_constant, decode_format_attr, get_flag_spec,
22546169689Skan	find_char_info_specifier_index,
22547169689Skan	find_length_info_modifier_index): Likewise.
22548169689Skan	* c-typeck.c (composite_type, pop_init_level): Likewise.
22549169689Skan	* combine.c (cant_combine_insn_p, try_combine): Likewise.
22550169689Skan	* cse.c (cse_insn): Likewise
22551169689Skan	* dominance.c (calc_dfs_tree): Likewise
22552169689Skan	dwarf2out.c (loc_descriptor_from_tree_1,
22553169689Skan	add_abstract_origin_attribute, force_decl_die,
22554169689Skan	force_type_die): Likewise
22555169689Skan	emit-rtl.c (operand_subword_force): Likewise
22556169689Skan	explow.c (hard_function_value): Likewise
22557169689Skan	expmed.c (store_bit_field, expand_divmod,
22558169689Skan	emit_store_flag_force): Likewise
22559169689Skan	expr.c (emit_move_multi_word, store_expr,
22560169689Skan	expand_expr_real_1): Likewise
22561169689Skan	final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
22562169689Skan	output_operand): Likewise
22563169689Skan	flow.c (recompute_reg_usage): Likewise
22564169689Skan	* function.c (assign_stack_temp_for_type, assign_temp,
22565169689Skan	handle_epilogue_set): Likewise
22566169689Skan	* genextract.c (main): Likewise
22567169689Skan	* gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
22568169689Skan	gimplify_modify_expr_rhs, gimplify_expr): Likewise
22569169689Skan	* haifa-sched.c (ready_lastpos, ready_remove_first, ready_element,
22570169689Skan	ready_remove, rm_line_notes, rm_other_notes,
22571169689Skan	schedule_block): Likewise
22572169689Skan	mips-tfile.c (copy_object, out_of_bounds): Likewise
22573169689Skan
22574169689Skan2005-04-22 David Edelsohn  <edelsohn@gnu.org>
22575169689Skan
22576169689Skan	PR target/20813
22577169689Skan	* config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT.
22578169689Skan	* config/rs6000/rs6000.c (processor_target_table): Rename rs64a to
22579169689Skan	rs64.  Add MASK_PPC_GFXOPT to powerpc64 and rs64.
22580169689Skan	(rs6000_init_libfuncs): Set TFmode optabs to xlq names if
22581169689Skan	TARGET_XL_COMPAT.
22582169689Skan	* doc/invoke.texi (PowerPC options): Change rs64a to rs64.
22583169689Skan
22584169689Skan2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
22585169689Skan
22586169689Skan	* lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap).
22587169689Skan	(gcc_tree_to_linear_expression): Convert to heap allocated
22588169689Skan	vectors.
22589169689Skan	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
22590169689Skan	lbv_to_gcc_expression, lle_to_gcc_expression,
22591169689Skan	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
22592169689Skan	perfect_nestify): Likewise.
22593169689Skan	lambda.h (gcc_loopnest_to_lambda_loopnest,
22594169689Skan	lambda_loopnest_to_gcc_loopnest): Likewise.
22595169689Skan	tree-loop-linear.c (linear_transform_loops): Likewise.
22596169689Skan
22597169689Skan2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
22598169689Skan
22599169689Skan	* config/sparc/predicates.md (arith_double_operand): Use
22600169689Skan	trunc_int_for_mode if HOST_BITS_PER_WIDE_INT >=64.
22601169689Skan	* config/sparc/sparc.md (movqi, movhi, movsi, movqi): Use gen_int_mode.
22602169689Skan	(DImode, DFmode constant splitters): Likewise.  Remove code for
22603169689Skan	TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT < 64.
22604169689Skan	(logical constant splitters): Use const_int_operand predicate.
22605169689Skan	(lshrsi3_extend): Remove code for TARGET_ARCH64 &&
22606169689Skan	HOST_BITS_PER_WIDE_INT < 64.
22607169689Skan
22608169689Skan2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
22609169689Skan
22610169689Skan	* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
22611169689Skan	gcc_unreachable as appropriate.
22612169689Skan	(force_mode, emit_move_sequence, singlemove_string,
22613169689Skan	output_move_double, output_fp_move_double, find_addr_reg,
22614169689Skan	output_block_move, output_block_clear, output_and,
22615169689Skan	output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
22616169689Skan	pa_adjust_cost, pa_issue_rate, print_operand,
22617169689Skan	output_global_address, output_arg_descriptor, output_cbranch,
22618169689Skan	output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
22619169689Skan	output_call): Likewise.
22620169689Skan	* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
22621169689Skan	prefetch, prefetch_cc, prefetch_nocc): Likewise.
22622169689Skan
22623169689Skan2005-04-22  Zdenek Dvorak  <dvorakz@suse.cz>
22624169689Skan
22625169689Skan	* Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
22626169689Skan	_gcov_pow2_profiler and _gcov_one_value_profiler.
22627169689Skan	(tree-profile.o): Add GGC_H and gt-tree-profile.h dependency.
22628169689Skan	(GTFILES): Add $(srcdir)/tree-profile.c.
22629169689Skan	* gcov-io.h (__gcov_interval_profiler, __gcov_pow2_profiler,
22630169689Skan	__gcov_one_value_profiler): Declare.
22631169689Skan	* gimplify.c (force_gimple_operand): Check whether the statements
22632169689Skan	should be produced in ssa form.
22633169689Skan	(force_gimple_operand_bsi): New function.
22634169689Skan	* libgcov.c (__gcov_interval_profiler, __gcov_pow2_profiler,
22635169689Skan	__gcov_one_value_profiler): New functions.
22636169689Skan	* rtl-profile.c (rtl_gen_pow2_profiler): Only measure whether
22637169689Skan	the profiled value is a power of two or not.
22638169689Skan	* tree-cfg.c (tree_block_ends_with_condjump_p): Handle empty blocks.
22639169689Skan	* tree-flow.h (in_ssa_p): Declare.
22640169689Skan	(force_gimple_operand_bsi): Declare.
22641169689Skan	* tree-into-ssa.c (in_ssa_p): New variable.
22642169689Skan	(rewrite_into_ssa): Set in_ssa_p.
22643169689Skan	* tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p.
22644169689Skan	* tree-profile.c: Include ggc.h and gt-tree-profile.h.
22645169689Skan	(gcov_type_node, tree_interval_profiler_fn, tree_pow2_profiler_fn,
22646169689Skan	tree_one_value_profiler_fn): New variables.
22647169689Skan	(tree_init_edge_profiler): Initialize the profiler function decls.
22648169689Skan	(tree_gen_edge_profiler): Use global gcov_type_node.
22649169689Skan	(prepare_instrumented_value): New function.
22650169689Skan	(tree_gen_interval_profiler, tree_gen_interval_profiler,
22651169689Skan	tree_gen_one_value_profiler): Call the library functions instead of
22652169689Skan	creating instrumentation code.
22653169689Skan	* tree.c (build_fn_decl): New function.
22654169689Skan	* tree.h (build_fn_decl): Declare.
22655169689Skan	* value-prof.c (rtl_divmod_values_to_profile,
22656169689Skan	rtl_find_values_to_profile, rtl_mod_pow2_value_transform,
22657169689Skan	tree_mod_pow2_value_transform, tree_find_values_to_profile):
22658169689Skan	Do not handle may_be_other and precise values of exponents at pow2
22659169689Skan	profiler.
22660169689Skan	(tree_mod_subtract_transform): Reflect that value field of
22661169689Skan	histogram has changed meaning.
22662169689Skan	(tree_divmod_values_to_profile): Record the values correctly.
22663169689Skan	(tree_values_to_profile): Update comment.
22664169689Skan	* value-prof.h (struct histogram_value_t): Remove pow2 data.
22665169689Skan
22666169689Skan2005-04-22  Joseph S. Myers  <joseph@codesourcery.com>
22667169689Skan
22668169689Skan	* varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN
22669169689Skan	(decl).
22670169689Skan
22671169689Skan2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
22672169689Skan
22673169689Skan	* config/i386/i386.md (length_immediate): Use gcc_assert or
22674169689Skan	gcc_unreachable, as appropriate.
22675169689Skan	(*movsi_1, *movqi_1, reload_outqi, *movdi_1_rex64, *pushsf,
22676169689Skan	*pushsf_rex64, *truncxfsf2_mixed, *truncxfsf2_i387,
22677169689Skan	*truncxfdf2_mixed, *truncxfdf2_i387, *adddi_1_rex64,
22678169689Skan	*adddi_2_rex64, *adddi_3_rex64, *adddi_4_rex64, *adddi_5_rex64,
22679169689Skan	*addsi_1, addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
22680169689Skan	*addsi_3_zext, *addsi_4, *addsi_5, *addhi_1_lea, *addhi_1,
22681169689Skan	*addhi_2, *addhi_3, *addhi_4, *addhi_5, *addqi_1_lea, *addqi_1,
22682169689Skan	*addqi_1_slp, *addqi_2, *addqi_3, *addqi_4, *addqi_5, addqi_ext_1,
22683169689Skan	*addqi_ext_1_rex64, *anddi_1_rex64, *andsi_1, *andhi_1,
22684169689Skan	*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashlsi3_1, *ashlsi3_1_zext,
22685169689Skan	*ashlsi3_cmp, *ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1,
22686169689Skan	*ashlhi3_cmp, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
22687169689Skan	pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64,
22688169689Skan	pro_epilogue_adjust_stack_rex64_2, prefetch, *prefetch_sse,
22689169689Skan	*prefetch_sse_rex): Likewise.
22690169689Skan	* config/i386/predicates.md (x86_64_immediate_operand,
22691169689Skan	x86_64_zext_immediate_operand, symbolic_operand,
22692169689Skan	no_seg_address_operand, aligned_operand,
22693169689Skan	memory_displacement_operand): Likewise.
22694169689Skan	* config/i386/sse.md (*mov<mode>_internal,
22695169689Skan	*movv2df_internal): Likewise.
22696169689Skan
22697169689Skan2005-04-22  Jan Hubicka  <jh@suse.cz>
22698169689Skan
22699169689Skan	* Makefile.in (ipa.o, ipa-inline.o): New files.
22700169689Skan	* cgraph.h (cgraph_remove_unreachable_nodes, cgraph_postorder,
22701169689Skan	cgraph_decide_inlining_incrementally, cgraph_clone_inlined_nodes,
22702169689Skan	cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
22703169689Skan	* cgraphunit.c (cgraph_default_inline_p,
22704169689Skan	cgraph_decide_inlining_incrementally,  ncalls_inlined,
22705169689Skan	nfunctions_inlined, initial_insns, overall_insns,
22706169689Skan	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
22707169689Skan	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
22708169689Skan	cgraph_mark_inline, cgraph_check_inline_limits,
22709169689Skan	cgraph_default_inline_p, cgraph_recursive_inlining_p,
22710169689Skan	update_callee_keys, lookup_recursive_calls,
22711169689Skan	cgraph_decide_recursive_inlining, cgraph_set_inline_failed,
22712169689Skan	cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining,
22713169689Skan	cgraph_decide_inlining_incrementally, cgraph_gate_inlining,
22714169689Skan	pass_ipa_inline): Move to ipa-inline.c
22715169689Skan	(cgraph_postorder, cgraph_remove_unreachable_nodes): Move to ipa.c
22716169689Skan	* ipa.c: New file.
22717169689Skan	* ipa-inline.c: New file.
22718169689Skan
22719169689Skan2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
22720169689Skan
22721169689Skan	* doc/invoke.texi (SPARC options): Document that -mapp-regs
22722169689Skan	is turned off by default on Solaris.
22723169689Skan
22724169689Skan2005-04-21  Roger Sayle  <roger@eyesopen.com>
22725169689Skan
22726169689Skan	* c-common.h (objc_build_method_signature): Update prototype.
22727169689Skan	* stub-objc.c (objc_build_method_signature): Update the stub
22728169689Skan	implementation to accept and ignore additional parameter.
22729169689Skan	* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
22730169689Skan	the value of ellipsis to objc_build_method_signature instead
22731169689Skan	of setting TREE_OVERFLOW on the parms TREE_LIST node.
22732169689Skan
22733169689Skan2005-04-21  Geoffrey Keating  <geoffk@apple.com>
22734169689Skan
22735169689Skan	* config/rs6000/rs6000-protos.h (rs6000_emit_sync): New.
22736169689Skan	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Use
22737169689Skan	gen_rtx_* not gen_rtx_fmt_*.
22738169689Skan	(rs6000_emit_vector_select): Likewise.
22739169689Skan	(rs6000_emit_sync): New.
22740169689Skan	* config/rs6000/rs6000.md (GPR, INT, INT1): New mode macros.
22741169689Skan	(larx, stcx, cmp): New mode substitutions.
22742169689Skan	(UNSPEC_SYNC, UNSPEC_SYNC_OP, UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC,
22743169689Skan	UNSPEC_ISYNC): New constants.
22744169689Skan	(rlwinm): Give name.
22745169689Skan	(memory_barrier, isync, lwsync): New insns.
22746169689Skan	(sync_compare_and_swap<mode>, sync_lock_test_and_set<mode>): New insn.
22747169689Skan	(sync_lock_release<mode>): New expander.
22748169689Skan	(sync_add<mode>, sync_sub<mode>, sync_ior<mode>, sync_and<mode>,
22749169689Skan	sync_xor<mode>, sync_nand<mode>, sync_old_add<mode>,
22750169689Skan	sync_old_sub<mode>, sync_old_ior<mode>, sync_old_and<mode>,
22751169689Skan	sync_old_xor<mode>, sync_old_nand<mode>, sync_new_add<mode>,
22752169689Skan	sync_new_sub<mode>, sync_new_ior<mode>, sync_new_and<mode>,
22753169689Skan	sync_new_xor<mode>, sync_new_nand<mode>): New expanders.
22754169689Skan	(sync_add<mode>_internal, sync_addshort_internal,
22755169689Skan	sync_sub<mode>_internal, sync_andsi_internal, sync_anddi_internal,
22756169689Skan	sync_boolsi_internal, sync_booldi_internal, sync_boolc<mode>_internal,
22757169689Skan	sync_boolc<mode>_internal2, sync_boolcc<mode>_internal): New insns.
22758169689Skan
22759169689Skan	* doc/md.texi (Standard Names): sync_compare_and_swap's operand 0
22760169689Skan	is the memory before, not after, the operation.  Clarify
22761169689Skan	barrier requirements.
22762169689Skan
22763169689Skan2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
22764169689Skan
22765169689Skan	* cfghooks.h (struct cfg_hooks): Reword comments to avoid 'abort'.
22766169689Skan	* lambda.h (lambda_vector_min_nz): Likewise.
22767169689Skan	* langhooks.h (struct lang_hooks_for_types,
22768169689Skan	struct lang_hooks): Likewise.
22769169689Skan	* output.h (assemble_integer, this_is_asm_operands): Likewise.
22770169689Skan	* tree.h: Likewise.
22771169689Skan	* vec.h: Likewise.
22772169689Skan	* tree-flow-inline.h (relink_imm_use): Use gcc_assert.
22773169689Skan
22774169689Skan	* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
22775169689Skan	comments to avoid 'abort'.  Use gcc_assert as necessary.
22776169689Skan	* opts.c (common_handle_option): Likewise.
22777169689Skan	* pretty-print.c (pp_base_format_text): Likewise.
22778169689Skan	* print-rtl.c (print_rtx): Likewise.
22779169689Skan	* read-rtl.c (read_rtx_filename, read_rtx_1): Likewise.
22780169689Skan	* regmove.c (try_auto_increment): Likewise.
22781169689Skan	* reload.c (find_valid_class, find_reloads_toplev,
22782169689Skan	find_equiv_reg): Likewise.
22783169689Skan	* reload1.c (reload, forget_old_reloads_1, function_invariant_p,
22784169689Skan	merge_assigned_reloads): Likewise.
22785169689Skan	* tree-inline.c (inline_forbidden_p_1,
22786169689Skan	estimate_num_insns_1): Likewise.
22787169689Skan	* tree-optimize.c (execute_todo): Likewise.
22788169689Skan	* tree-outof-ssa.c (eliminate_phi): Likewise.
22789169689Skan	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
22790169689Skan	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.
22791169689Skan	* tree-ssa-operands.c (parse_ssa_operands,
22792169689Skan	get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
22793169689Skan	* tree-ssa-pre.c (find_or_generate_expression): Likewise.
22794169689Skan	* tree-ssanames.c (release_ssa_name): Likewise.
22795169689Skan	* tree.c (int_bit_position, int_byte_position, tree_low_cst,
22796169689Skan	walk_tree): Likewise.
22797169689Skan
22798169689Skan	* tree-ssa-operands.c (verify_abort): Fold into ..
22799169689Skan	(verify_imm_links): ... here.
22800169689Skan
22801169689Skan2005-04-21  Richard Henderson  <rth@redhat.com>
22802169689Skan
22803169689Skan	* config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints
22804169689Skan	on non-memory operand for previous inversion.
22805169689Skan
22806169689Skan2005-04-21  Devang Patel  <dpatel@apple.com>
22807169689Skan
22808169689Skan	PR optimization/20994
22809169689Skan	* tree-if-conv.c (find_phi_replacement_condition): Avoid generating
22810169689Skan	x = !(a == b) : p , q;.
22811169689Skan	(pass_if_conversion): Verify stmts and flow.
22812169689Skan
22813169689Skan2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
22814169689Skan
22815169689Skan	* optabs.c (gen_conditional_trap): Restore #define.
22816169689Skan
22817169689Skan	* alias.c (true_dependence): Remove 'abort' from comments. Use
22818169689Skan	gcc_assert and gcc_unreachable as appropriate.
22819169689Skan	(canon_true_dependence): Likewise.
22820169689Skan	* bb-reorder.c (connect_traces): Likewise.
22821169689Skan	* c-common.c (c_add_case_label): Likewise.
22822169689Skan	* c-decl.c (finish_function): Likewise.
22823169689Skan	* caller-save.c (insert_restore, insert_save): Likewise.
22824169689Skan	* cfg.c (update_bb_profile_for_threading): Likewise.
22825169689Skan	* cfganal.c (flow_active_insn_p): Likewise.
22826169689Skan	* cfgexpand.c (add_reg_br_prob_note): Likewise.
22827169689Skan	* cfgrtl.c (rtl_redirect_edge_and_branch_force, rtl_split_edge,
22828169689Skan	cfg_layout_merge_blocks): Likewise.
22829169689Skan	* ifcvt.c (cond_exec_process_insns, merge_if_block,
22830169689Skan	find_if_block): Likewise.
22831169689Skan	* integrate.c (allocate_initial_values): Likewise.
22832169689Skan	* jump.c (reverse_condition, reverse_condition_maybe_unordered,
22833169689Skan	swap_condition, unsigned_condition, signed_condition,
22834169689Skan	mark_jump_label, invert_jump_1, rtx_renumbered_equal_p,
22835169689Skan	reg_or_subregno): Likewise.
22836169689Skan	* lambda-code.c (lambda_compute_auxillary_space,
22837169689Skan	lambda_transform_legal_p): Likewise.
22838169689Skan	* lambda-mat.c (lambda_matrix_inverse_hard): Likewise.
22839169689Skan	* langhooks.c (lhd_set_decl_assembler_name, lhd_type_promotes_to,
22840169689Skan	lhd_incomplete_type_error, lhd_expand_expr,
22841169689Skan	lhd_types_compatible_p, lhd_tree_size): Likewise.
22842169689Skan	* lcm.c (create_pre_exit, optimize_mode_switching): Likewise.
22843169689Skan	* local-alloc.c (update_equiv_regs): Likewise.
22844169689Skan	* loop-unroll.c (peel_loop_completely
22845169689Skan	unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
22846169689Skan	peel_loop_simple, unroll_loop_stupid,
22847169689Skan	analyze_iv_to_split_insn): Likewise.
22848169689Skan	* loop.c (gen_prefetch, find_and_verify_loops,
22849169689Skan	basic_induction_var): Likewise.
22850169689Skan	* modulo-sched.c (normalize_sched_times, check_nodes_order): Likewise.
22851169689Skan	* value-prof.c (tree_find_values_to_profile): Likewise.
22852169689Skan	* varasm.c (named_section, default_assemble_integer,
22853169689Skan	decode_addr_const): Likewise.
22854169689Skan
22855169689Skan2005-04-21 Alan Modra  <amodra@bigpond.net.au>
22856169689Skan	   Fariborz Jahanian <fjahanian@apple.com>
22857169689Skan
22858169689Skan	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Fix size of
22859169689Skan	portion of argument passed in fpr.
22860169689Skan	* expr.c (emit_push_insn): Fix computation of 'offset' used to
22861169689Skan	decide on partial argument save on stack.
22862169689Skan
22863169689Skan2005-04-21  Kazu Hirata  <kazu@cs.umass.edu>
22864169689Skan
22865169689Skan	* config/sparc/predicates.md, config/sparc/sparc.md: Fix
22866169689Skan	comment typos.
22867169689Skan
22868169689Skan2005-04-21  Jan Hubicka  <jh@suse.cz>
22869169689Skan
22870169689Skan	* cgraphunit.c: Include tree-pass.h
22871169689Skan	(cgraph_decide_recursive_inlining,
22872169689Skan	cgraph_decide_inlining_of_small_function, cgraph_set_inline_failed,
22873169689Skan	cgraph_decide_inlining): Dump goes to dump_file.
22874169689Skan	(cgraph_optimize): Call ipa passes instead of inliner.
22875169689Skan	(cgraph_gate_inlining, pass_ipa_inline): New.
22876169689Skan	* tree-optimize.c (all_ipa_passes): New static variable.
22877169689Skan	(register_one_dump_file): Dead with IPA passes.
22878169689Skan	(register_dump_files): Likewise.
22879169689Skan	(init_tree_optimization_passes): Initialize IPA passes.
22880169689Skan	(execute_todo): Do cgraph dump when asked to, do not dump function body
22881169689Skan	for IPA pass.
22882169689Skan	* tree-pass.h (TODO_dump_cgraph): New macro.
22883169689Skan	(ipa_passes): Declare.
22884169689Skan	* Makefile.in (cgraphunit.o): Add dependency on cgraphunit.h
22885169689Skan
22886169689Skan2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
22887169689Skan
22888169689Skan	* config/i386/i386.c (type_natural_mode): Use gcc_unreachable and
22889169689Skan	gcc_assert instead of abort.
22890169689Skan	(classify_argument, examine_argument, construct_container,
22891169689Skan	contains_128bit_aligned_vector_p, ix86_check_movabs,
22892169689Skan	standard_80387_constant_opcode, standard_80387_constant_rtx,
22893169689Skan	ix86_initial_elimination_offset, ix86_compute_frame_layout,
22894169689Skan	pro_epilogue_adjust_stack, ix86_expand_epilogue,
22895169689Skan	ix86_address_cost, legitimate_address_p, legitimize_pic_address,
22896169689Skan	legitimize_tls_address, output_pic_addr_const,
22897169689Skan	i386_output_dwarf_dtprel, put_condition_code, print_reg,
22898169689Skan	get_some_local_dynamic_name, print_operand, print_operand_address,
22899169689Skan	output_387_binary_op, emit_i387_cw_initialization,
22900169689Skan	output_fix_trunc, output_fp_compare, ix86_output_addr_vec_elt,
22901169689Skan	ix86_expand_clear, ix86_expand_binary_operator,
22902169689Skan	ix86_expand_unary_operator, ix86_match_ccmode, ix86_cc_mode,
22903169689Skan	ix86_cc_modes_compatible, ix86_fp_comparison_codes,
22904169689Skan	ix86_fp_comparison_arithmetics_cost, ix86_expand_fp_compare,
22905169689Skan	ix86_expand_branch, ix86_expand_setcc,
22906169689Skan	ix86_expand_carry_flag_compare, ix86_expand_fp_movcc,
22907169689Skan	ix86_expand_int_addcc, ix86_split_to_parts, ix86_split_long_move,
22908169689Skan	ix86_expand_movmem, ix86_expand_call, assign_386_stack_local,
22909169689Skan	memory_address_length, ix86_attr_length_immediate_default,
22910169689Skan	ix86_attr_length_address_default, ix86_agi_dependant,
22911169689Skan	x86_initialize_trampoline, ix86_init_mmx_sse_builtins,
22912169689Skan	ix86_expand_binop_builtin, ix86_force_to_memory,
22913169689Skan	ix86_secondary_memory_needed, ix86_avoid_jump_misspredicts,
22914169689Skan	x86_emit_floatuns): Likewise.
22915169689Skan	* config/i386/netware.c (gen_regparm_prefix,
22916169689Skan	i386_nlm_strip_name_encoding): Likewise.
22917169689Skan	* config/i386/winnt.c (i386_pe_mark_dllexport): Likewise.
22918169689Skan
22919169689Skan2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
22920169689Skan
22921169689Skan	* optabs.c (gen_condiational_trap): Remove #define.
22922169689Skan	(add_equal_note): Assertify. Remove explicit indirection from
22923169689Skan	call via function pointer.
22924169689Skan	(expand_ternary_op, expand_simple_binop, expand_binop,
22925169689Skan	expand_twoval_unop, expand_twoval_binop,
22926169689Skan	expand_twoval_binop_libfunc, expand_simple_unop expand_unop,
22927169689Skan	emit_unop_insn,  emit_no_conflict_block,  prepare_cmp_insn,
22928169689Skan	prepare_operand emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
22929169689Skan	prepare_float_lib_cmp, emit_conditional_move,
22930169689Skan	emit_conditional_add, gen_add2_insn, gen_add3_insn,
22931169689Skan	have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn,
22932169689Skan	expand_float, expand_fix, debug_optab_libfuncs, gen_cond_trap,
22933169689Skan	vector_compare_rtx, expand_vec_cond_expr): Likewise.
22934169689Skan
22935169689Skan2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
22936169689Skan
22937169689Skan	* vec.h: Update API to separate allocation mechanism from type.
22938169689Skan	(VEC_safe_grow): New.
22939169689Skan	* vec.c (calculate_allocation): New.
22940169689Skan	(vec_gc_o_reserve, vec_heap_o_reserve): Adjust.
22941169689Skan	(vec_gc_free, vec_heap_free): Remove.
22942169689Skan	* gengtype-lex.l (DEF_VEC_): Process mult-argument macros.  Adjust.
22943169689Skan	(VEC): Likewise.
22944169689Skan	(mangle_macro_name): New.
22945169689Skan	(struct macro_def): New.
22946169689Skan	(struct macro): Add multiple argument values.
22947169689Skan	(macro_expans_end): New.
22948169689Skan	(push_macro_expansion): Chain on new macro. Process multiple
22949169689Skan	args, create follow on expansion. Return follow on argument.
22950169689Skan	(macro_input): Deal with multiple arguments.
22951169689Skan
22952169689Skan	* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
22953169689Skan	(struct tree_binfo): Adjust.
22954169689Skan	* basic-block.h: Define VEC(edge,gc).
22955169689Skan	(struct edge_def): Adjust.
22956169689Skan	(struct basic_block_def, struct edge_iterator): Likewise.
22957169689Skan	(ei_container, ei_start_1, ei_last_1): Likewise.
22958169689Skan	* cfg.c (connect_src, connect_dest): Likewise.
22959169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect)
22960169689Skan	* dbxout.c (dbxout_type)
22961169689Skan	* dwarf2out.c (gen_member_die)
22962169689Skan	* lambda-code.c: Define VEC(int,gc), VEC(lambda_loop,gc).
22963169689Skan	(gcc_tree_to_linear_expression): Adjust.
22964169689Skan	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
22965169689Skan	lbv_to_gcc_expression, lle_to_gcc_expression,
22966169689Skan	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
22967169689Skan	perfect_nestify): Likewise.
22968169689Skan	* lambda.h (gcc_loopnest_to_lambda_loopnest,
22969169689Skan	lambda_loopnest_to_gcc_loopnest): Adjust prototypes.
22970169689Skan	* profile.c (instrument_values): Adjust.
22971169689Skan	* tree-cfg.c (modified_noreturn_calls): Adjust.
22972169689Skan	(remove_fallthru_edge): Likewise.
22973169689Skan	* tree-dump.c (dequeue_and_dump): Adjust.
22974169689Skan	* tree-flow-inline.h (mark_stmt_modified): Adjust.
22975169689Skan	* tree-flow.h (modified_noreturn_calls): Adjust.
22976169689Skan	(tree_on_heap): Remove. (yay!)
22977169689Skan	(register_new_def): Adjust.
22978169689Skan	* tree-into-ssa.c: Define VEC(int,heap).
22979169689Skan	(block_defs_stack): Adjust.
22980169689Skan	(find_idf, insert_phi_nodes, register_new_def,
22981169689Skan	rewrite_initialize_block, rewrite_finalize_block,
22982169689Skan	register_new_update_single, rewrite_update_init_block,
22983169689Skan	rewrite_update_fini_block, rewrite_blocks,
22984169689Skan	ssa_rewrite_finalize_block, ssa_register_new_def,
22985169689Skan	ssa_rewrite_initialize_block, rewrite_ssa_into_ssa): Likewise.
22986169689Skan	* tree-loop-linear.c (linear_transform_loops): Adjust.
22987169689Skan	* tree-ssa-alias.c: Define VEC(fieldoff_t,heap).
22988169689Skan	(push_fields_onto_fieldstack, create_overlap_variables_for): Adjust.
22989169689Skan	* tree-ssa-dom.c (avail_exprs_stack, block_defs_stack,
22990169689Skan	stmts_to_rescan, const_and_copies_stack, nonzero_vars_stack,
22991169689Skan	vrp_variables_stack): Adjust declarations.
22992169689Skan	(tree_ssa_dominator_optimize): Adjust.
22993169689Skan	(dom_opt_initialize_block, remove_local_expressions_from_table,
22994169689Skan	restore_nonzero_vars_to_original_value,
22995169689Skan	restore_vars_to_original_value,
22996169689Skan	restore_currdefs_to_original_value, dom_opt_finalize_block,
22997169689Skan	record_var_is_nonzero, record_cond, record_const_or_copy_1,
22998169689Skan	optimize_stmt, update_rhs_and_lookup_avail_expr,
22999169689Skan	lookup_avail_expr, record_range): Likewise.
23000169689Skan	* tree-ssa-pre.c: Define VEC(basic_block,heap).
23001169689Skan	(compute_antic_aux): Adjust.
23002169689Skan	(inserted_exprs, create_expression_by_pieces,
23003169689Skan	insert_into_preds_of_block, eliminate, mark_operand_necessary,
23004169689Skan	remove_dead_inserted_code, fini_pre): Likewise.
23005169689Skan	* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
23006169689Skan	(varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
23007169689Skan	ssa_prop_init): Likewise.
23008169689Skan	* tree-ssa.c: Define VEC(bitmap,heap).
23009169689Skan	(verify_name_tags): Adjust.
23010169689Skan	* value-prof.c (rtl_divmod_values_to_profile): Adjust.
23011169689Skan	(insn_prefetch_values_to_profile, rtl_find_values_to_profile,
23012169689Skan	tree_divmod_values_to_profile, tree_find_values_to_profile,
23013169689Skan	value_profile_transformations): Likewise.
23014169689Skan	* value-prof.h: Define VEC(histogram_value,heap).
23015169689Skan	* varasm.c: Remove alias_pair pointer typedef, define
23016169689Skan	VEC(alias_pair,gc).
23017169689Skan	(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
23018169689Skan
23019169689Skan	* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
23020169689Skan	not a pointer to it.  Create an object vector.
23021169689Skan	(extern_symbols): Turn into an object vector.
23022169689Skan	(pa_hpux_asm_output_external, pa_hpux_file_end): Adjust.
23023169689Skan
23024169689Skan2005-04-21  Sebastian Pop  <pop@cri.ensmp.fr>
23025169689Skan
23026169689Skan	PR/20742
23027169689Skan	* Makefile.in (tree-chrec.o): Depend on params.h.
23028169689Skan	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
23029169689Skan	default value 20.
23030169689Skan	* tree-chrec.c: Depend on params.h.  Replace build with buildN,
23031169689Skan	and fold build with fold_buildN.
23032169689Skan	(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
23033169689Skan	the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
23034169689Skan	(tree_contains_chrecs): Compute an estimation of the size of the
23035169689Skan	given expression.
23036169689Skan	* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
23037169689Skan	(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
23038169689Skan	* tree-scalar-evolution.c (simple_iv): Ditto.
23039169689Skan	* doc/invoke.texi (scev-max-expr-size): Documented.
23040169689Skan
23041169689Skan2005-04-21  Richard Sandiford  <rsandifo@redhat.com>
23042169689Skan
23043169689Skan	* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
23044169689Skan	(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
23045169689Skan	(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
23046169689Skan	(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
23047169689Skan	(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
23048169689Skan	(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
23049169689Skan	* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
23050169689Skan	(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
23051169689Skan	* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
23052169689Skan	(darwin_fix_and_continue_switch): Delete.
23053169689Skan	* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
23054169689Skan	(SUBTARGET_SWITCHES): Delete.
23055169689Skan	* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
23056169689Skan	(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
23057169689Skan	(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
23058169689Skan	(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
23059169689Skan	(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
23060169689Skan	(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
23061169689Skan	(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
23062169689Skan	(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
23063169689Skan	(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
23064169689Skan	(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
23065169689Skan	(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
23066169689Skan	(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
23067169689Skan	(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
23068169689Skan	(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
23069169689Skan	(TARGET_64BIT): Undef before redefining.
23070169689Skan	(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
23071169689Skan	(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
23072169689Skan	(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
23073169689Skan	(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
23074169689Skan	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
23075169689Skan	(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
23076169689Skan	(ix86_asm_string, ix86_regparm, ix86_regparm_string)
23077169689Skan	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
23078169689Skan	(ix86_debug_arg_string, ix86_debug_addr_string)
23079169689Skan	(ix86_align_loops_string, ix86_align_jumps_string)
23080169689Skan	(ix86_align_funcs_string): Delete.
23081169689Skan	* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
23082169689Skan	(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
23083169689Skan	* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
23084169689Skan	(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
23085169689Skan	* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
23086169689Skan	* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
23087169689Skan	(SUBTARGET_SWITCHES): Delete.
23088169689Skan	* config/i386/i386.c (ix86_debug_arg_string): Delete.
23089169689Skan	(ix86_debug_addr_string): Delete.
23090169689Skan	(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
23091169689Skan	(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
23092169689Skan	(ix86_align_loops_string, ix86_align_jumps_string)
23093169689Skan	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
23094169689Skan	(ix86_align_funcs_string): Make static.
23095169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
23096169689Skan	(ix86_handle_option): New function.
23097169689Skan	(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
23098169689Skan	(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
23099169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
23100169689Skan	of darwin_fix_and_continue_switch.
23101169689Skan	(darwin_one_byte_bool): Delete.
23102169689Skan	* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
23103169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
23104169689Skan	to darwin_one_byte_bool.
23105169689Skan	* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
23106169689Skan	* config/i386/djgpp.opt, config/i386/i386.opt,
23107169689Skan	* config/i386/sco5.opt: New files.
23108169689Skan
23109169689Skan2005-04-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
23110169689Skan
23111169689Skan	* config/sparc/sparc.c (reg_or_0_operand, const1_operand,
23112169689Skan	fp_zero_operand, fp_register_operand, intreg_operand,
23113169689Skan	fcc_reg_operand, fcc0_reg_operand, icc_or_fcc_reg_operand,
23114169689Skan	call_operand, call_operand_address, tgd_symbolic_operand,
23115169689Skan	tld_symbolic_operand, tie_symbolic_operand, tle_symbolic_operand,
23116169689Skan	symbolic_operand, symbolic_memory_operand, label_ref_operand,
23117169689Skan	sp64_medium_pic_operand, data_segment_operand,
23118169689Skan	text_segment_operand, splittable_symbolic_memory_operand,
23119169689Skan	reg_or_nonsymb_mem_operand, splittable_immediate_memory_operand,
23120169689Skan	eq_or_neq, normal_comp_operator, noov_compare_op,
23121169689Skan	noov_compare64_op, v9_regcmp_op, extend_op, cc_arithop,
23122169689Skan	cc_arithopn, arith_operand, arith_4096_operand, arith_add_operand,
23123169689Skan	const64_operand, const64_high_operand, arith11_operand,
23124169689Skan	arith10_operand, arith_double_operand, arith_double_4096_operand,
23125169689Skan	arith_double_add_operand, arith11_double_operand,
23126169689Skan	arith10_double_operand, small_int, small_int_or_double,
23127169689Skan	uns_small_int, uns_arith_operand, clobbered_register,
23128169689Skan	input_operand, compare_operand): Delete.
23129169689Skan	(sparc_emit_set_const32): Use predicates in assertion.  Remove special
23130169689Skan	code for TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT != 64.
23131169689Skan	(sparc_emit_set_const64): Call gcc_unreachable if H_B_P_W_I == 32.
23132169689Skan	(GEN_HIGHINT64, GEN_INT64): Delete.
23133169689Skan	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
23134169689Skan	gen_safe_XOR64): Adjust for above deletion.
23135169689Skan	(sparc_emit_set_const64): Support only H_B_P_W_I == 64 and CONST_INTs.
23136169689Skan	Use 'unsigned HOST_WIDE_INT' instead of 'long' for bitmask.
23137169689Skan	(legitimate_constant_p): Use const_zero_operand instead.
23138169689Skan	(sparc_extra_constraint_check): Likewise.
23139169689Skan	* config/sparc/sparc.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'O'.
23140169689Skan	(PREFERRED_RELOAD_CLASS): Use const_zero_operand.
23141169689Skan	(PREDICATE_CODES): Delete.
23142169689Skan	* config/sparc/sparc.md: Include predicates.md.
23143169689Skan	(All patterns): Adjust for new predicate names.
23144169689Skan	(cmpdi, cmpdi_sp64): Use arith_operand predicate.
23145169689Skan	(movhi_const64_special, movsi_const64_special): Add 'K' constraint.
23146169689Skan	(movdi): Use general_operand predicate.
23147169689Skan	(movdi_sp64_dbl): Delete.
23148169689Skan	(movdi_const64_special): Add 'N' constraint.
23149169689Skan	(movdicc): Use arith10_operand predicate.
23150169689Skan	(movdi_cc_sp64, movdi_cc_sp64_trunc): Use arith11_operand predicate.
23151169689Skan	(movdi_cc_reg_sp64): Use arith10_operand predicate.
23152169689Skan	(movdi_cc_reg_sp64_trunc): Delete.
23153169689Skan	(cmp_zero_extract, cmp_zero_extract_sp64): Use small_int_operand.
23154169689Skan	(adddi3_sp64, cmp_ccx_plus, cmp_ccx_plus_set): Use arith_operand.
23155169689Skan	(subdi3_sp32): Delete.
23156169689Skan	(subdi3_insn_sp32): Change to define_insn_and_split.
23157169689Skan	(subdi3_sp64, cmp_minus_ccx, cmp_minus_ccx_set): Use arith_operand.
23158169689Skan	(muldi3, muldi3_sp64, muldi3_v8plus): Likewise.
23159169689Skan	(smulsi3_highpart_v8plus, const_smulsi3_highpart_v8plus,
23160169689Skan	umulsi3_highpart_v8plus, const_umulsi3_highpart_v8plus): Use
23161169689Skan	small_int_operand predicate.
23162169689Skan	(divdi3, udivdi3): Use arith_operand predicate.
23163169689Skan	(udivsi3, udivsi3_sp32, udivsi3_sp64): Use nonimmediate_operand.
23164169689Skan	(and<V64I>3_sp64, ior<V64I>3_sp64, xor<V64I:mode>3_sp64,
23165169689Skan	xor_not_<V64I:mode>_sp64) : Use arith_operand predicate.
23166169689Skan	(xordi3_sp64_dbl): Delete.
23167169689Skan	(cmp_ccx_arith_op, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
23168169689Skan	cmp_ccx_xor_not_set, cmp_ccx_arith_op_not, cmp_ccx_arith_op_not_set,
23169169689Skan	cmp_ccx_neg, cmp_ccx_set_neg, one_cmpl<V64I>2_sp64, cmp_ccx_not,
23170169689Skan	cmp_ccx_set_not): Use arith_operand predicate.
23171169689Skan	(ashrsi3_extend2, lshrsi3_extend2 et al.): Use small_int_operand.
23172169689Skan	* config/sparc/predicates.md: New file.
23173169689Skan
23174169689Skan2005-04-21  Kazu Hirata  <kazu@cs.umass.edu>
23175169689Skan
23176169689Skan	PR tree-optimization/14846
23177169689Skan	* fold-const.c (fold_single_bit_test_into_sign_test): New,
23178169689Skan	split out from ...
23179169689Skan	(fold_single_bit_test): ... here.
23180169689Skan	(fold_binary): Call fold_single_bit_test_into_sign_test
23181169689Skan	instead of fold_single_bit_test.
23182169689Skan
23183169689Skan2005-04-20  James E Wilson  <wilson@specifixinc.com>
23184169689Skan
23185169689Skan	PR c++/20805
23186169689Skan	* dwarf2out.c (gen_variable_die): Don't emit a specification if this
23187169689Skan	is another declaration.
23188169689Skan
23189169689Skan2005-04-21  Hans-Peter Nilsson  <hp@axis.com>
23190169689Skan
23191169689Skan	* config/cris/predicates.md: New file.
23192169689Skan	* config/cris/cris-protos.h (cris_store_multiple_op_p)
23193169689Skan	(cris_movem_load_rest_p): Declare.
23194169689Skan	* config/cris/cris.c (cris_store_multiple_op): Return bool, not int.
23195169689Skan	(cris_movem_load_rest_p): Ditto.  Globalize.
23196169689Skan	(cris_bdap_operand, cris_bdap_biap_operand,
23197169689Skan	cris_orthogonal_operator, cris_commutative_orth_op,
23198169689Skan	cris_operand_extend_operator,
23199169689Skan	cris_additive_operand_extend_operator, cris_extend_operator,
23200169689Skan	cris_plus_or_bound_operator, cris_mem_op,
23201169689Skan	cris_general_operand_or_symbol,
23202169689Skan	cris_general_operand_or_gotless_symbol,
23203169689Skan	cris_general_operand_or_plt_symbol, cris_mem_call_operand,
23204169689Skan	cris_load_multiple_op): Remove predicate functions.
23205169689Skan	(cris_symbol, cris_gotless_symbol) <case UNSPEC>: Return 0, don't
23206169689Skan	abort, for UNSPECs other than CRIS_UNSPEC_PLT.
23207169689Skan	* config/cris/cris.h (PREDICATE_CODES): Don't define.
23208169689Skan	* config/cris/cris.md: Include predicates.md.
23209169689Skan	("call", "call_value"): Generate CONSTs of Pmode, not VOIDmode.
23210169689Skan
23211169689Skan2005-04-20  Ian Lance Taylor  <ian@airs.com>
23212169689Skan
23213169689Skan	* c-common.def: Remove STMT_EXPR (moved to cp/cp-tree.def).
23214169689Skan	* c-common.h (STMT_EXPR_STMT): Don't define.
23215169689Skan	(STMT_EXPR_NO_SCOPE): Don't define.
23216169689Skan	* c-dump.c (c_dump_tree): Don't handle STMT_EXPR.
23217169689Skan	* c-pretty-print.c (pp_c_primary_expression): Likewise.
23218169689Skan	(pp_c_expression): Likewise.
23219169689Skan
23220169689Skan2005-04-20  Richard Henderson  <rth@redhat.com>
23221169689Skan
23222169689Skan	PR target/21100
23223169689Skan	* config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko.
23224169689Skan
23225169689Skan2005-04-20  Jeff Law  <law@redhat.com>
23226169689Skan
23227169689Skan	* reload1.c (reload): Ignore equivalences between pseudos and
23228169689Skan	read only memory.
23229169689Skan
23230169689Skan2005-04-20  Joseph S. Myers  <joseph@codesourcery.com>
23231169689Skan
23232169689Skan	PR c/12913
23233169689Skan	* c-tree.h (struct c_label_list): Update comment.
23234169689Skan	(struct c_label_context): Rename to struct c_label_context_se.
23235169689Skan	(label_context_stack): Rename to label_context_stack_se.
23236169689Skan	(C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct
23237169689Skan	c_label_context_vm, label_context_stack_vm, c_begin_vm_scope,
23238169689Skan	c_end_vm_scope): New.
23239169689Skan	(C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK.
23240169689Skan	* c-decl.c (pop_scope): Call c_end_vm_scope.
23241169689Skan	(pushdecl): Call c_begin_vm_scope for variably modified
23242169689Skan	declarations.
23243169689Skan	(define_label): Check for jumping into scope of identifier with
23244169689Skan	variably modified type.  Push label on stack for those defined at
23245169689Skan	current context of identifiers with variably modified type.
23246169689Skan	(start_function): Create stack level for context of identifiers
23247169689Skan	with variably modified type.
23248169689Skan	(finish_function): Pop stack level for context of identifiers with
23249169689Skan	variably modified type.
23250169689Skan	* c-typeck.c (label_context_stack): Rename to
23251169689Skan	label_context_stack_se.
23252169689Skan	(label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New.
23253169689Skan	(c_finish_goto_label): Check for jumping into scope of identifier
23254169689Skan	with variably modified type.  Push label on stack for those jumped
23255169689Skan	to from current context of identifiers with variably modified
23256169689Skan	type.
23257169689Skan	(struct c_switch): Add blocked_vm.
23258169689Skan	(c_start_case): Initialize blocked_vm.
23259169689Skan	(do_case): Check blocked_vm.
23260169689Skan	(c_finish_case): Add comment.
23261169689Skan	(c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed
23262169689Skan	variable label_context_stack.
23263169689Skan
23264169689Skan2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
23265169689Skan
23266169689Skan	* tree-ssa-phiopt.c (tree_ssa_phi_opt): Update calls to
23267169689Skan	conditional_replacement, value_replacement, abs_replacement,
23268169689Skan	minmax_replacement.
23269169689Skan	(replace_phi_edge_with_variable): Remove argument BB.
23270169689Skan	(conditional_replacement, value_replacement,
23271169689Skan	minmax_replacement, abs_replacement): Remove argument PHI_BB.
23272169689Skan	Update a call to replace_phi_edge_with_variable.
23273169689Skan
23274169689Skan	* tree-ssa-phiopt.c: Fix comments.
23275169689Skan
23276169689Skan2005-04-20  Michael Matz  <matz@suse.de>
23277169689Skan
23278169689Skan	PR20973
23279169689Skan	* reload.c (push_reload, find_dummy_reload): Check for uninitialized
23280169689Skan	pseudos.
23281169689Skan
23282169689Skan2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
23283169689Skan
23284169689Skan	* tree-ssa-phiopt.c: Fix comment typos.
23285169689Skan
23286169689Skan	PR tree-optimization/21116
23287169689Skan	* tree-ssa-phiopt.c: Fix a typo.
23288169689Skan
23289169689Skan2005-04-19  Richard Henderson  <rth@redhat.com>
23290169689Skan
23291169689Skan	* builtins.c (expand_builtin_sync_operation): Revert last change.
23292169689Skan	* optabs.c (expand_bool_compare_and_swap): Compare vs old value,
23293169689Skan	not vs new value.
23294169689Skan	(expand_compare_and_swap_loop): Likewise.
23295169689Skan	(expand_sync_operation): Remove fallback from NAND to AND; invert
23296169689Skan	memory operand when expanding from cmpxchg.
23297169689Skan	(expand_sync_fetch_operation): Likewise.
23298169689Skan	* doc/extend.texi (Atomic Builtins): Fix docs for nand and
23299169689Skan	compare-and-swap.
23300169689Skan
23301169689Skan	* config/alpha/alpha.c (alpha_split_atomic_op): Invert memory operand
23302169689Skan	when implementing NAND.  Fix double-add for AFTER.
23303169689Skan	* config/alpha/sync.md (sync_nand<I48MODE>): Invert memory operand.
23304169689Skan	(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
23305169689Skan	(sync_compare_and_swap<I48MODE>): Fix compare vs zero.  Return old
23306169689Skan	memory value.
23307169689Skan	(sync_lock_test_and_set<I48MODE>): Remove extra label and last
23308169689Skan	memory barrier.
23309169689Skan
23310169689Skan	* config/i386/sync.md (sync_compare_and_swap<IMODE>): Fix pattern
23311169689Skan	to return old memory value.
23312169689Skan	(sync_compare_and_swap_cc<IMODE>): Likewise.
23313169689Skan
23314169689Skan	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Early
23315169689Skan	return pre-reload.  Don't consider output or anti dependencies.
23316169689Skan	* config/ia64/sync.md (IMODE): New.
23317169689Skan	(modesuffix): Add QI and HI.
23318169689Skan	(memory_barrier): Simplify expansion.
23319169689Skan	(sync_compare_and_swap<IMODE>): Use IMODE, not I48MODE.
23320169689Skan	(cmpxchg_acq_<IMODE>): Likewise.
23321169689Skan	(sync_lock_test_and_set<IMODE>): Likewise.
23322169689Skan	(sync_lock_release<IMODE>): Likewise.
23323169689Skan
23324169689Skan2005-04-19  James A. Morrison  <phython@gcc.gnu.org>
23325169689Skan
23326169689Skan	* fold-const.c (fold_binary): Fold ~(X ^ Y) to ~X ^ Y or X ^ ~Y if
23327169689Skan	~X or ~Y simplify.
23328169689Skan
23329169689Skan2005-04-19  James A. Morrison  <phython@gcc.gnu.org>
23330169689Skan
23331169689Skan	* fold-const (fold_binary): Fold ~X ^ ~ Y to X ^ Y.
23332169689Skan
23333169689Skan2005-04-20  Michael Pogue  <michael.pogue@sun.com>
23334169689Skan	    Joseph S. Myers  <joseph@codesourcery.com>
23335169689Skan
23336169689Skan	* c.opt (Wint-to-pointer-cast, Wpointer-to-int-cast): New options.
23337169689Skan	* c-typeck.c (build_c_cast): Check these options.
23338169689Skan	* doc/invoke.texi: Document these options.
23339169689Skan
23340169689Skan2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
23341169689Skan
23342169689Skan	* tree-ssa-phiopt.c: Update a comment about the pass.
23343169689Skan
23344169689Skan2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
23345169689Skan
23346169689Skan	* tree-ssa-phiopt.c, config/arm/arm.c, config/fr30/fr30.md,
23347169689Skan	config/mcore/mcore.c: Fix comment typos.
23348169689Skan
23349169689Skan2005-04-19  Daniel Jacobowitz  <dan@codesourcery.com>
23350169689Skan
23351169689Skan	* Makefile.in (libgcc.mk): Pass GCC_FOR_TARGET.
23352169689Skan	* mklibgcc.in: Use $GCC_FOR_TARGET instead of ./xgcc.
23353169689Skan
23354169689Skan2005-04-19  Paul Brook  <paul@codesourcery.com>
23355169689Skan
23356169689Skan	* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
23357169689Skan
23358169689Skan2005-04-19  Andrew Haley  <aph@redhat.com>
23359169689Skan
23360169689Skan	PR java/21022
23361169689Skan	* dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before
23362169689Skan	looking at a field's bitpos.
23363169689Skan
23364169689Skan2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
23365169689Skan
23366169689Skan	* system.h (fopen, fdopen, freopen): Define these to the unlocked
23367169689Skan	libiberty functions.
23368169689Skan
23369169689Skan2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
23370169689Skan
23371169689Skan	PR tree-optimization/21096
23372169689Skan	* tree-ssa-copy.c (fini_copy_prop): Free cached_last_copy_of.
23373169689Skan
23374169689Skan2005-04-19  Alan Modra  <amodra@bigpond.net.au>
23375169689Skan
23376169689Skan	PR target/21098
23377169689Skan	* config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
23378169689Skan	* config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
23379169689Skan
23380169689Skan2005-04-19  Alexandre Oliva  <aoliva@redhat.com>
23381169689Skan
23382169689Skan	* tree-cfg.c (dump_function_to_file): Use cfun info only if it
23383169689Skan	refers to the function being dumped.
23384169689Skan
23385169689Skan2005-04-18  Daniel Jacobowitz  <dan@codesourcery.com>
23386169689Skan
23387169689Skan	* varasm.c (assemble_start_function): Remove reset of in_section.
23388169689Skan
23389169689Skan2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
23390169689Skan
23391169689Skan	PR tree-optimization/21085
23392169689Skan	* fold-const (fold_binary): Don't change X % -C to X % C if C has
23393169689Skan	overflowed.
23394169689Skan
23395169689Skan2005-04-19  Ben Elliston  <bje@au.ibm.com>
23396169689Skan
23397169689Skan	* doc/invoke.texi (Optimize Options): Refer to the correct
23398169689Skan	optimisation flag -ftree-dominator-opts, not -ftree-dom.
23399169689Skan
23400169689Skan2005-04-18  Christopher Jaillet <christophe.jaillet@wanadoo.fr>
23401169689Skan
23402169689Skan	* config/rs6000/rs6000.c (machopic_output_stub): Increase
23403169689Skan	alloca argument to be big enough.
23404169689Skan
23405169689Skan2005-04-18  Alexandre Oliva  <aoliva@redhat.com>
23406169689Skan
23407169689Skan	PR middle-end/21049
23408169689Skan	* tree-cfg.c (dump_function_to_file): Do not crash if cfun or
23409169689Skan	cfun->cfg are NULL.
23410169689Skan
23411169689Skan2005-04-18  Tom Tromey  <tromey@redhat.com>
23412169689Skan
23413169689Skan	* cgraphunit.c (cgraph_finalize_compilation_unit): Fix a comment
23414169689Skan	typo.
23415169689Skan
23416169689Skan2005-04-18  Richard Henderson  <rth@redhat.com>
23417169689Skan
23418169689Skan	* config/alpha/alpha.c (alpha_split_atomic_op): New.
23419169689Skan	(alphaev5_insn_pipe): Add LD_L, ST_C, MB types.
23420169689Skan	(alphaev4_insn_pipe): Likewise.  Correct IST and LDSYM pipes.
23421169689Skan	* config/alpha/alpha-protos.h: Update.
23422169689Skan	* config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New.
23423169689Skan	(UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New.
23424169689Skan	(attr type): Add ld_l, st_c, mb.
23425169689Skan	(andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal,
23426169689Skan	iornotsi3, xorsi_internal, xornotsi3): New.
23427169689Skan	* config/alpha/ev4.md (ev4_ld): Add ld_l.
23428169689Skan	(ev4_ist_c, ev4_mb): New.
23429169689Skan	* config/alpha/ev5.md (ev5_st): Add st_c, mb.
23430169689Skan	(ev5_ld_l): New.
23431169689Skan	* config/alpha/ev6.md (ev6_ild): Add ld_l.
23432169689Skan	(ev6_ist): Add st_c.
23433169689Skan	(ev6_mb): New.
23434169689Skan	* config/alpha/sync.md: New file.
23435169689Skan
23436169689Skan2005-04-18  Richard Henderson  <rth@redhat.com>
23437169689Skan
23438169689Skan	* builtins.c (expand_builtin_sync_operation): Fold nand to and
23439169689Skan	for constants.
23440169689Skan
23441169689Skan	* optabs.c (expand_sync_operation): Fix typo expanding nand to and.
23442169689Skan
23443169689Skan2005-04-18  Devang Patel  <dpatel@apple.com>
23444169689Skan
23445169689Skan	* config/rs6000/atlivec.md (mulv4si3): New pattern.
23446169689Skan
23447169689Skan2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
23448169689Skan
23449169689Skan	PR tree-optimization/20922
23450169689Skan	* fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
23451169689Skan	Fold X + c >= X and fold X - c <= X to true.
23452169689Skan
23453169689Skan2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
23454169689Skan
23455169689Skan	* config/ia64/unwind-ia64.c (emergency_reg_state_free): Make an
23456169689Skan	unsigned int.
23457169689Skan	(emergency_labeled_state_free): Likewise.
23458169689Skan
23459169689Skan2005-04-18  Nick Clifton  <nickc@redhat.com>
23460169689Skan
23461169689Skan	* config/h8300/h8300.md (jump): Remove prescan parameter from
23462169689Skan	calls to final_scan_insn.
23463169689Skan
23464169689Skan	* config/arc/arc.c (arc_output_function_epilogue): Remove prescan
23465169689Skan	parameter from calls to final_scan_insn.
23466169689Skan
23467169689Skan	* config.gcc (m68hc12): Use the m68hc11.opt file for target
23468169689Skan	specific options.
23469169689Skan	(v850e, v850e1): Use the v850.opt file for target specific
23470169689Skan	options.
23471169689Skan
23472169689Skan2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>
23473169689Skan
23474169689Skan	PR tree-optimization/21001
23475169689Skan	* tree-optimize.c (init_tree_optimization_passes): Move the
23476169689Skan	first pass_forwprop immediately before pass_vrp.
23477169689Skan
23478169689Skan2005-04-17  Ian Lance Taylor  <ian@airs.com>
23479169689Skan
23480169689Skan	* c-common.def (SIZEOF_EXPR, ARROW_EXPR, ALIGNOF_EXPR): Remove.
23481169689Skan	* c-common.c (c_sizeof_or_alignof_type): Change second parameter
23482169689Skan	from enum tree_code op to bool is_sizeof.
23483169689Skan	* c-common.h (c_sizeof_or_alignof_type): Update declaration.
23484169689Skan	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
23485169689Skan	* c-pretty-print.c (pp_c_postfix_expression): Remove ARROW_EXPR
23486169689Skan	case.
23487169689Skan	(pp_c_unary_expression): Remove SIZEOF_EXPR and ALIGNOF_EXPR
23488169689Skan	cases.
23489169689Skan	(pp_c_expression): Remove ARROW_EXPR, SIZEOF_EXPR, and
23490169689Skan	ALIGNOF_EXPR cases.
23491169689Skan
23492169689Skan2005-04-17  Ian Lance Taylor  <ian@airs.com>
23493169689Skan
23494169689Skan	* system.h: Poison DONT_ACCESS_GBLS_AFTER_EPILOGUE.
23495169689Skan
23496169689Skan2005-04-17  Richard Henderson  <rth@redhat.com>
23497169689Skan
23498169689Skan	* config/alpha/alpha.c (va_list_skip_additions): Only define if
23499169689Skan	TARGET_ABI_OSF.
23500169689Skan	(TARGET_STDARG_OPTIMIZE_HOOK): Likewise.
23501169689Skan	(alpha_stdarg_optimize_hook): Likewise.  Allow for one more round
23502169689Skan	of indirection through ssa names while looking for the gpr counter
23503169689Skan	field.
23504169689Skan	(alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the
23505169689Skan	saved va_list_gpr_size and va_list_fpr_size.
23506169689Skan
23507169689Skan2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
23508169689Skan
23509169689Skan	* tree-vrp.c (compare_values): Check that VAL1 and VAL2 are
23510169689Skan	both pointers or both integers.
23511169689Skan
23512169689Skan	* tree-vrp.c (maybe_add_assert_expr): Don't assert
23513169689Skan	ASSERT_EXPRs for single-use variable.
23514169689Skan
23515169689Skan	* tree-into-ssa.c: Fix a comment typo.
23516169689Skan
23517169689Skan2005-04-17  Richard Sandiford  <rsandifo@redhat.com>
23518169689Skan
23519169689Skan	* config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
23520169689Skan	-mipsN before forcing a default of -mips2.
23521169689Skan
23522169689Skan2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
23523169689Skan
23524169689Skan	* predict.h (IS_TAKEN): Remove.
23525169689Skan	* rtl.h (NOTE_PREDICTION): Likewise.
23526169689Skan
23527169689Skan	* modulo-sched.c (CFG_HOOKS): Remove.
23528169689Skan
23529169689Skan	* c-parser.c (N_C_TTYPES): Remove.
23530169689Skan
23531169689Skan	* tree-flow-inline.h (get_stmt_operands): Remove.
23532169689Skan	* lambda-code.c, tree-ssa-loop-unswitch.c,
23533169689Skan	tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-propagate.c,
23534169689Skan	tree-ssa-sink.c, tree-ssa.c, tree-tailcall.c,
23535169689Skan	tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c): Remove
23536169689Skan	calls to get_stmt_operands.
23537169689Skan	* doc/tree-ssa.texi: Don't mention get_stmt_operands.
23538169689Skan
23539169689Skan2005-04-17  Richard Henderson  <rth@redhat.com>
23540169689Skan
23541169689Skan	PR target/20375
23542169689Skan	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
23543169689Skan	of CUMULATIVE_ARGS past the last named argument.
23544169689Skan	(alpha_va_start): Expect pretend_args_size only if strictly less than
23545169689Skan	6 named arguments.
23546169689Skan
23547169689Skan2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
23548169689Skan
23549169689Skan	PR middle-end/21024
23550169689Skan	* builtins.c (expand_builtin_strcat): Convert the result of
23551169689Skan	strlen to the right type.
23552169689Skan	* fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
23553169689Skan	avoid creating type mismatches.
23554169689Skan	<GE_EXPR>: Pass op0 and op1 to fold_build2 to avoid creating
23555169689Skan	type mismatches.
23556169689Skan
23557169689Skan	* c-lex.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Remove.
23558169689Skan
23559169689Skan2005-04-16  Richard Henderson  <rth@redhat.com>
23560169689Skan
23561169689Skan	PR target/21051
23562169689Skan	* builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
23563169689Skan	Use the mode of boolean_type_node when the user doesn't provide one.
23564169689Skan	* config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.
23565169689Skan
23566169689Skan2005-04-16  Alexandre Oliva  <aoliva@redhat.com>
23567169689Skan
23568169689Skan	PR target/20126
23569169689Skan	* loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
23570169689Skan	(const)).
23571169689Skan
23572169689Skan	* tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
23573169689Skan	comment.
23574169689Skan
23575169689Skan2005-04-16  Roger Sayle  <roger@eyesopen.com>
23576169689Skan	    Steven Bosscher  <stevenb@suse.de>
23577169689Skan
23578169689Skan	* fold-const.c (fold_binary_to_constant): Delete obsolete comment.
23579169689Skan	(fold_unary_to_constant): Likewise.
23580169689Skan
23581169689Skan2005-04-16  Kazu Hirata  <kazu@cs.umass.edu>
23582169689Skan
23583169689Skan	* basic-block.h: Adjust the value of PROP_SCAN_DEAD_STORES,
23584169689Skan	PROP_ASM_SCAN.
23585169689Skan
23586169689Skan2005-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
23587169689Skan
23588169689Skan	* doc/install.texi (Specific): Avoid using asterisks in @anchor
23589169689Skan	names related to target triplets.
23590169689Skan	Remove i?86-*-esix from platform directory.
23591169689Skan	Remove powerpc-*-eabiaix from platform directory.
23592169689Skan
23593169689Skan2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>
23594169689Skan
23595169689Skan	PR middle-end/20491
23596169689Skan	* config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
23597169689Skan	falling through from SUBREG case to REG.
23598169689Skan
23599169689Skan2005-04-15  Roger Sayle  <roger@eyesopen.com>
23600169689Skan
23601169689Skan	* fold-const.c (fold_relational_hi_lo): Delete function and prototype.
23602169689Skan	(fold_binary): Update comment mentioning fold_relational_hi_lo.
23603169689Skan	(fold_binary_to_constant): Simplify using fold_binary.
23604169689Skan	(fold_unary_to_constant): Likewise, simplify using fold_unary.
23605169689Skan
23606169689Skan2005-04-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
23607169689Skan
23608169689Skan	* gthr-posix.c (pthread_cancel): Define.
23609169689Skan	(pthread_mutexattr_init): Likewise.
23610169689Skan	(pthread_mutexattr_settype): Likewise.
23611169689Skan	(pthread_mutexattr_destroy): Likewise.
23612169689Skan
23613169689Skan2005-04-15  David S. Miller  <davem@davemloft.net>
23614169689Skan
23615169689Skan	PR target/20673
23616169689Skan	* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
23617169689Skan
23618169689Skan2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
23619169689Skan
23620169689Skan	PR tree-optimization/21031
23621169689Skan	* tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): New.
23622169689Skan	(forward_propagate_into_cond_1): Call it.  Forward propagate
23623169689Skan	integer-integer casts into COND_EXPRs.
23624169689Skan
23625169689Skan2005-04-15  Dave Korn  <dave.korn@artimi.com>
23626169689Skan
23627169689Skan	* gcc.c (default_compilers): Clarify obscure error message when
23628169689Skan	reading from standard input.
23629169689Skan
23630169689Skan2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
23631169689Skan
23632169689Skan	* basic-block.h (PROP_EQUAL_NOTES): Remove.
23633169689Skan	* flow.c (propagate_one_insn): Don't use PROP_EQUAL_NOTES.
23634169689Skan
23635169689Skan	* tree-ssa-alias.c (init_alias_info): Remove a call to
23636169689Skan	get_stmt_operands.
23637169689Skan
23638169689Skan2005-04-15  Andrew MacLeod  <amacleod@redhat.com>
23639169689Skan
23640169689Skan	* tree-vect-analyze.c (vect_stmt_relevant_p): Process immediate uses
23641169689Skan	of non-virtual PHI nodes like we use to.
23642169689Skan
23643169689Skan2005-05-15  Paolo Bonzini  <bonzini@gnu.org>
23644169689Skan
23645169689Skan	* genattrtab.c (ATTR_EQ_ATTR_P): Remove.
23646169689Skan	(attr_copy_rtx): Do not use it.
23647169689Skan
23648169689Skan2005-04-15  Andrew Macleod  <amacleod@redhat.com>
23649169689Skan
23650169689Skan	* doc/tree-ssa.texi: Grammer/abbreviation updates.
23651169689Skan
23652169689Skan2005-04-15  Diego Novillo  <dnovillo@redhat.com>
23653169689Skan
23654169689Skan	* tree-vect-transform.c (vectorizable_store): Mark necessary
23655169689Skan	objects in the vectorized store needing renaming.  Update the
23656169689Skan	SSA graph for V_MAY_DEF operands in the original store.
23657169689Skan
23658169689Skan2005-04-14  Daniel Berlin <dberlin@dberlin.org>
23659169689Skan
23660169689Skan	* tree-ssa-pre.c (compute_avail): It's okay to have
23661169689Skan	TREE_INVARIANT's here, and value number the resulting expressions.
23662169689Skan	(create_expression_by_pieces): Make sure operands that were
23663169689Skan	min_invariant when we started, stay that way.
23664169689Skan
23665169689Skan2005-04-15  David Edelsohn  <edelsohn@gnu.org>
23666169689Skan
23667169689Skan	* doc/install.texi (*-ibm-aix*): Add comment about system limits.
23668169689Skan
23669169689Skan2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
23670169689Skan
23671169689Skan	PR tree-optimization/20936.
23672169689Skan	* tree-ssa-ccp.c (visit_assignment): Fix a typo.
23673169689Skan
23674169689Skan2005-04-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
23675169689Skan
23676169689Skan	* doc/invoke.texi: Fix typos.
23677169689Skan	* doc/md.texi: Likewise.
23678169689Skan	* doc/rtl.texi: Likewise.
23679169689Skan	* doc/sourcebuild.texi: Likewise.
23680169689Skan	* doc/tm.texi: Likewise.
23681169689Skan
23682169689Skan2005-04-15  Uros Bizjak  <uros@kss-loka.si>
23683169689Skan
23684169689Skan	PR tree-optimization/21004
23685169689Skan	* convert.c (convert_to_integer): Convert ceilf, ceill, floorf
23686169689Skan	and floorl in c99 mode only.
23687169689Skan	* builtins.c (expand_builtin_int_roundingfn): Assert that
23688169689Skan	fallback_fndecl is not NULL_TREE.
23689169689Skan
23690169689Skan2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
23691169689Skan
23692169689Skan	* cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
23693169689Skan	* basic-block.h: Update the prototype for
23694169689Skan	purge_all_dead_edges.
23695169689Skan	* cfgexpand.c (tree_expand_cfg): Update a call to
23696169689Skan	purge_all_dead_edges.
23697169689Skan	* combine.c (combine_instructions): Likewise.
23698169689Skan	* passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
23699169689Skan	rest_of_handle_cse2, rest_of_handle_gcse,
23700169689Skan	rest_of_handle_postreload): likewise.
23701169689Skan
23702169689Skan2005-04-15  Alexandre Oliva  <aoliva@redhat.com>
23703169689Skan
23704169689Skan	PR middle-end/20739
23705169689Skan	* gimplify.c (gimplify_addr_expr): Compensate for removal of
23706169689Skan	e.g. cv-qualification conversions.
23707169689Skan
23708169689Skan2005-04-14  Mike Stump  <mrs@apple.com>
23709169689Skan
23710169689Skan	* config/darwin-c.c (framework_construct_pathname): We must
23711169689Skan	find all headers of a framework in the first instance of it
23712169689Skan	found in the seach path.
23713169689Skan
23714169689Skan2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>
23715169689Skan
23716169689Skan	PR tree-optimization/21021
23717169689Skan	* tree-vrp.c (compare_values): Work around a bug in the front
23718169689Skan	end that produces a comparison of mismatched types.
23719169689Skan
23720169689Skan2004-04-14  Richard Henderson  <rth@redhat.com>
23721169689Skan
23722169689Skan	* config/ia64/ia64.h (enum fetchop_code): Remove.
23723169689Skan	(enum ia64_builtins): Move ...
23724169689Skan	* config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
23725169689Skan	members except BSP and FLUSHRS.
23726169689Skan	(ia64_init_builtins): Remove __sync builtins.
23727169689Skan	(ia64_expand_builtin): Likewise.
23728169689Skan	(ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
23729169689Skan	(ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
23730169689Skan	(ia64_expand_lock_release): Remove.
23731169689Skan	* config/ia64/ia64.md (mf): Move to sync.md.
23732169689Skan	(mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
23733169689Skan	cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
23734169689Skan	* config/ia64/sync.md: New file.
23735169689Skan	(memory_barrier): Rename from mf.
23736169689Skan	(fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
23737169689Skan	(cmpxchg_acq_<I48MODE>): Likewise.
23738169689Skan	(sync_lock_test_and_set<I48MODE>): Likewise.
23739169689Skan
23740169689Skan	* config/ia64/ia64intrin.h: Define nothing for C; limit #defines
23741169689Skan	to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.
23742169689Skan
23743169689Skan2004-04-14  Richard Henderson  <rth@redhat.com>
23744169689Skan
23745169689Skan	* config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
23746169689Skan	(ix86_compare_emitted): New.
23747169689Skan	(ix86_expand_compare): Use ix86_compare_emitted if set.
23748169689Skan	(ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
23749169689Skan	and ix86_compare_op0 are set.
23750169689Skan	* config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
23751169689Skan	(TARGET_CMPXCHG, TARGET_XADD): New.
23752169689Skan	(ix86_compare_emitted): Declare.
23753169689Skan	* config/i386/i386.md: Include sync.md
23754169689Skan	(UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
23755169689Skan	(UNSPECV_XCHG, UNSPECV_LOCK): New.
23756169689Skan	* config/i386/sync.md: New file.
23757169689Skan
23758169689Skan2004-04-14  Richard Henderson  <rth@redhat.com>
23759169689Skan
23760169689Skan	PR middle-end/14311
23761169689Skan	* builtin-types.def (BT_BOOL, BT_VOLATILE_PTR, BT_I1, BT_I2,
23762169689Skan	BT_I4, BT_I8, BT_FN_VOID_VPTR, BT_FN_I1_VPTR_I1, BT_FN_I2_VPTR_I2,
23763169689Skan	BT_FN_I4_VPTR_I4, BT_FN_I8_VPTR_I8, BT_FN_BOOL_VPTR_I1_I1,
23764169689Skan	BT_FN_BOOL_VPTR_I2_I2, BT_FN_BOOL_VPTR_I4_I4, BT_FN_BOOL_VPTR_I8_I8,
23765169689Skan	BT_FN_I1_VPTR_I1_I1, BT_FN_I2_VPTR_I2_I2, BT_FN_I4_VPTR_I4_I4,
23766169689Skan	BT_FN_I8_VPTR_I8_I8): New.
23767169689Skan	* builtins.def (DEF_SYNC_BUILTIN): New.
23768169689Skan	(BUILT_IN_FETCH_AND_ADD_N, BUILT_IN_FETCH_AND_ADD_1,
23769169689Skan	BUILT_IN_FETCH_AND_ADD_2, BUILT_IN_FETCH_AND_ADD_4,
23770169689Skan	BUILT_IN_FETCH_AND_ADD_8, BUILT_IN_FETCH_AND_SUB_N,
23771169689Skan	BUILT_IN_FETCH_AND_SUB_1, BUILT_IN_FETCH_AND_SUB_2,
23772169689Skan	BUILT_IN_FETCH_AND_SUB_4, BUILT_IN_FETCH_AND_SUB_8,
23773169689Skan	BUILT_IN_FETCH_AND_OR_N, BUILT_IN_FETCH_AND_OR_1,
23774169689Skan	BUILT_IN_FETCH_AND_OR_2, BUILT_IN_FETCH_AND_OR_4,
23775169689Skan	BUILT_IN_FETCH_AND_OR_8, BUILT_IN_FETCH_AND_AND_N,
23776169689Skan	BUILT_IN_FETCH_AND_AND_1, BUILT_IN_FETCH_AND_AND_2,
23777169689Skan	BUILT_IN_FETCH_AND_AND_4, BUILT_IN_FETCH_AND_AND_8,
23778169689Skan	BUILT_IN_FETCH_AND_XOR_N, BUILT_IN_FETCH_AND_XOR_1,
23779169689Skan	BUILT_IN_FETCH_AND_XOR_2, BUILT_IN_FETCH_AND_XOR_4,
23780169689Skan	BUILT_IN_FETCH_AND_XOR_8, BUILT_IN_FETCH_AND_NAND_N,
23781169689Skan	BUILT_IN_FETCH_AND_NAND_1, BUILT_IN_FETCH_AND_NAND_2,
23782169689Skan	BUILT_IN_FETCH_AND_NAND_4, BUILT_IN_FETCH_AND_NAND_8,
23783169689Skan	BUILT_IN_ADD_AND_FETCH_N, BUILT_IN_ADD_AND_FETCH_1,
23784169689Skan	BUILT_IN_ADD_AND_FETCH_2, BUILT_IN_ADD_AND_FETCH_4,
23785169689Skan	BUILT_IN_ADD_AND_FETCH_8, BUILT_IN_SUB_AND_FETCH_N,
23786169689Skan	BUILT_IN_SUB_AND_FETCH_1, BUILT_IN_SUB_AND_FETCH_2,
23787169689Skan	BUILT_IN_SUB_AND_FETCH_4, BUILT_IN_SUB_AND_FETCH_8,
23788169689Skan	BUILT_IN_OR_AND_FETCH_N, BUILT_IN_OR_AND_FETCH_1,
23789169689Skan	BUILT_IN_OR_AND_FETCH_2, BUILT_IN_OR_AND_FETCH_4,
23790169689Skan	BUILT_IN_OR_AND_FETCH_8, BUILT_IN_AND_AND_FETCH_N,
23791169689Skan	BUILT_IN_AND_AND_FETCH_1, BUILT_IN_AND_AND_FETCH_2,
23792169689Skan	BUILT_IN_AND_AND_FETCH_4, BUILT_IN_AND_AND_FETCH_8,
23793169689Skan	BUILT_IN_XOR_AND_FETCH_N, BUILT_IN_XOR_AND_FETCH_1,
23794169689Skan	BUILT_IN_XOR_AND_FETCH_2, BUILT_IN_XOR_AND_FETCH_4,
23795169689Skan	BUILT_IN_XOR_AND_FETCH_8, BUILT_IN_NAND_AND_FETCH_N,
23796169689Skan	BUILT_IN_NAND_AND_FETCH_1, BUILT_IN_NAND_AND_FETCH_2,
23797169689Skan	BUILT_IN_NAND_AND_FETCH_4, BUILT_IN_NAND_AND_FETCH_8,
23798169689Skan	BUILT_IN_BOOL_COMPARE_AND_SWAP_N, BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
23799169689Skan	BUILT_IN_BOOL_COMPARE_AND_SWAP_2, BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
23800169689Skan	BUILT_IN_BOOL_COMPARE_AND_SWAP_8, BUILT_IN_VAL_COMPARE_AND_SWAP_N,
23801169689Skan	BUILT_IN_VAL_COMPARE_AND_SWAP_1, BUILT_IN_VAL_COMPARE_AND_SWAP_2,
23802169689Skan	BUILT_IN_VAL_COMPARE_AND_SWAP_4, BUILT_IN_VAL_COMPARE_AND_SWAP_8,
23803169689Skan	BUILT_IN_LOCK_TEST_AND_SET_N, BUILT_IN_LOCK_TEST_AND_SET_1,
23804169689Skan	BUILT_IN_LOCK_TEST_AND_SET_2, BUILT_IN_LOCK_TEST_AND_SET_4,
23805169689Skan	BUILT_IN_LOCK_TEST_AND_SET_8, BUILT_IN_LOCK_RELEASE_N,
23806169689Skan	BUILT_IN_LOCK_RELEASE_1, BUILT_IN_LOCK_RELEASE_2,
23807169689Skan	BUILT_IN_LOCK_RELEASE_4, BUILT_IN_LOCK_RELEASE_8,
23808169689Skan	BUILT_IN_SYNCHRONIZE: New.
23809169689Skan	* builtins.c (called_as_built_in): Rewrite from CALLED_AS_BUILT_IN
23810169689Skan	as a function.  Accept __sync_ as a prefix as well.
23811169689Skan	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
23812169689Skan	expand_builtin_lock_test_and_set, expand_builtin_synchronize,
23813169689Skan	expand_builtin_lock_release): New.
23814169689Skan	(expand_builtin): Call them.
23815169689Skan	* c-common.c (DEF_BUILTIN): Don't require __builtin_ prefix if
23816169689Skan	neither BOTH_P nor FALLBACK_P are defined.
23817169689Skan	(builtin_type_for_size): New.
23818169689Skan	(sync_resolve_size, sync_resolve_params, sync_resolve_return): New.
23819169689Skan	(resolve_overloaded_builtin): New.
23820169689Skan	* c-common.h (resolve_overloaded_builtin): Declare.
23821169689Skan	(builtin_type_for_size): Declare.
23822169689Skan	* c-typeck.c (build_function_call): Invoke resolve_overloaded_builtin.
23823169689Skan	* expr.c (sync_add_optab, sync_sub_optab, sync_ior_optab,
23824169689Skan	sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab,
23825169689Skan	sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab,
23826169689Skan	sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab,
23827169689Skan	sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab,
23828169689Skan	sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap,
23829169689Skan	sync_compare_and_swap_cc, sync_lock_test_and_set,
23830169689Skan	sync_lock_release): New.
23831169689Skan	* optabs.h: Declare them.
23832169689Skan	* expr.h (expand_val_compare_and_swap, expand_bool_compare_and_swap,
23833169689Skan	expand_sync_operation, expand_sync_fetch_operation,
23834169689Skan	expand_sync_lock_test_and_set): Declare.
23835169689Skan	* genopinit.c (optabs): Add sync optabs.
23836169689Skan	* optabs.c (init_optabs): Initialize sync optabs.
23837169689Skan	(expand_val_compare_and_swap_1, expand_val_compare_and_swap,
23838169689Skan	expand_bool_compare_and_swap, expand_compare_and_swap_loop,
23839169689Skan	expand_sync_operation, expand_sync_fetch_operation,
23840169689Skan	expand_sync_lock_test_and_set): New.
23841169689Skan	* doc/extend.texi (Atomic Builtins): New section
23842169689Skan	* doc/md.texi (Standard Names): Add sync patterns.
23843169689Skan
23844169689Skan2005-04-14  Alexandre Oliva  <aoliva@redhat.com>
23845169689Skan
23846169689Skan	* tree-eh.c (lower_try_finally_copy): Generate new code in
23847169689Skan	response to goto_queue entries as if the queue was sorted by
23848169689Skan	index, not pointers.
23849169689Skan	(lower_try_finally_switch): Likewise.
23850169689Skan
23851169689Skan2005-04-14  Richard Henderson  <rth@redhat.com>
23852169689Skan
23853169689Skan	* config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
23854169689Skan	(ix86_expand_sse_movcc): ... here.  Take cmp as a pre-computed
23855169689Skan	register.
23856169689Skan	(ix86_expand_fp_movcc): Update to match.
23857169689Skan	(ix86_expand_fp_vcond, ix86_expand_int_vcond): New.
23858169689Skan	* config/i386/i386-protos.h: Update.
23859169689Skan	* config/i386/sse.md (vcondv4sf, vcondv2df): New.
23860169689Skan	(vcond<SSEMODE124>, vcondu<SSEMODE12>): New.
23861169689Skan
23862169689Skan2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>
23863169689Skan
23864169689Skan	* doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to
23865169689Skan	refer to 4.0.
23866169689Skan
23867169689Skan2005-04-14  Julian Brown  <julian@codesourcery.com>
23868169689Skan
23869169689Skan	* Revert elfos.h part of my patch from 2005-04-13 for causing libstdc++
23870169689Skan	link failures on ppc64 Linux.
23871169689Skan
23872169689Skan2005-04-14  Andreas Krebbel  <krebbel1@de.ibm.com>
23873169689Skan
23874169689Skan	* config.gcc: Set cpu_type for s390.
23875169689Skan
23876169689Skan2005-04-14  Daniel Berlin  <dberlin@dberlin.org>
23877169689Skan
23878169689Skan	Fix PR tree-optimization/20963
23879169689Skan	* tree-ssa-pre.c (compute_avail): Remove special case for
23880169689Skan	TREE_INVARIANT.
23881169689Skan	(create_expression_by_pieces): Add value numbers for forced out
23882169689Skan	statements.
23883169689Skan
23884169689Skan2005-04-14  Hans-Peter Nilsson  <hp@axis.com>
23885169689Skan
23886169689Skan	* config/cris/cris.md: Replace references to (reg:SI 16) with
23887169689Skan	(reg:SI CRIS_SRP_REGNUM).
23888169689Skan
23889169689Skan2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>
23890169689Skan
23891169689Skan	PR tree-optimization/20657
23892169689Skan	* tree-vrp.c (extract_range_from_expr): Notice INTEGER_CST to
23893169689Skan	create an appropriate range from it.
23894169689Skan
23895169689Skan2005-04-14  Uros Bizjak  <uros@kss-loka.si>
23896169689Skan
23897169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
23898169689Skan	<UNSPEC_FIST_CEIL> case.
23899169689Skan
23900169689Skan	* config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
23901169689Skan	(*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
23902169689Skan	(fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
23903169689Skan	to implement lfloor and llfloor built-ins as x87 intrinsic function.
23904169689Skan	(fistdi2_floor, fist<mode>2_floor splitters): New splitters.
23905169689Skan	(lfloor<mode>2): New expanders.
23906169689Skan	(*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
23907169689Skan	(fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
23908169689Skan	to implement lceil and llceil built-ins as x87 intrinsic function.
23909169689Skan	(fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
23910169689Skan	(lceil<mode>2): New expanders.
23911169689Skan
23912169689Skan2005-04-14  Uros Bizjak  <uros@kss-loka.si>
23913169689Skan
23914169689Skan	* convert.c (convert_to_integer): Convert (long int)trunc{,f,l},
23915169689Skan	and (long long int)ceil{,f,l} into FIX_TRUNC_EXPR.
23916169689Skan
23917169689Skan2005-04-14  Ulrich Weigand  <uweigand@de.ibm.com>
23918169689Skan
23919169689Skan	PR target/20927
23920169689Skan	* config/s390/s390-modes.def: Define TFmode.
23921169689Skan
23922169689Skan2005-04-13  Richard Sandiford  <rsandifo@redhat.com>
23923169689Skan
23924169689Skan	* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
23925169689Skan	(JUMP_TABLES_IN_TEXT_SECTION): Define.
23926169689Skan	* config/mips/mips.c (mips16_insn_length): Remove reference to
23927169689Skan	JUMP_TABLES_IN_TEXT_SECTION.
23928169689Skan
23929169689Skan2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
23930169689Skan
23931169689Skan	* simplify-rtx.c (simplify_binary_operation_1): Return
23932169689Skan	scalar or vector of constant 0, depending on the xor's
23933169689Skan	mode.
23934169689Skan
23935169689Skan2005-04-13  Dale Johannesen  <dalej@apple.com>
23936169689Skan
23937169689Skan	* objc/Make-lang.in (objc-lang.o): Depend on tree-gimple.h.
23938169689Skan	(objc-act.o): Ditto.
23939169689Skan	* objc/objc-act.c (objc_gimplify_expr): New.
23940169689Skan	(objc_get_callee_fndecl): New.
23941169689Skan	* objc/objc-act.h: Include tree-gimple.h.  Declare new functions.
23942169689Skan	* objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR): Define.
23943169689Skan	(LANG_HOOKS_GET_CALLEE_FNDECL): Define.
23944169689Skan
23945169689Skan2005-04-13  Devang Patel  <dpatel@apple.com>
23946169689Skan
23947169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
23948169689Skan	temp variables.
23949169689Skan
23950169689Skan2005-04-13  Hans-Peter Nilsson  <hp@axis.com>
23951169689Skan
23952169689Skan	CRIS prologue as RTL.
23953169689Skan	* config/cris/cris-protos.h (cris_emit_movem_store)
23954169689Skan	(cris_expand_prologue): Prototype.
23955169689Skan	* config/cris/cris.c (struct machine_function): New member
23956169689Skan	stdarg_regs.
23957169689Skan	(cfa_label_num, cris_target_asm_function_prologue): Remove.
23958169689Skan	(TARGET_ASM_FUNCTION_PROLOGUE): Don't override.
23959169689Skan	(cris_general_operand_or_gotless_symbol): Accept CRIS_UNSPEC_GOT.
23960169689Skan	(cris_load_multiple_op, cris_return_address_on_stack)
23961169689Skan	(cris_return_address_on_stack_for_return): ISO-Cify.
23962169689Skan	(cris_store_multiple_op): New predicate function.
23963169689Skan	(cris_expand_prologue, cris_emit_movem_store): New functions.
23964169689Skan	(cris_print_operand) <case 'O'>: Handle modifications other than
23965169689Skan	post-increment.
23966169689Skan	(cris_symbol, cris_got_symbol): Return 0 for CRIS_UNSPEC_GOT.
23967169689Skan	(cris_gotless_symbol): Return 1 for CRIS_UNSPEC_GOT.
23968169689Skan	(cris_gen_movem_load): Rearrange slightly to make local variable
23969169689Skan	src a parameter, removing osrc.
23970169689Skan	(cris_setup_incoming_varargs): Set machine_function member
23971169689Skan	stdarg_regs to correspond to the number of registers that need to
23972169689Skan	be saved.
23973169689Skan	* config/cris/cris.h (EXTRA_CONSTRAINT_S): Accept
23974169689Skan	CRIS_UNSPEC_GOT.
23975169689Skan	(PREDICATE_CODES): Add cris_store_multiple_op.  Make
23976169689Skan	cris_general_operand_or_gotless_symbol accept UNSPEC.
23977169689Skan	* config/cris/cris.md (CRIS_UNSPEC_GOT): New constant.
23978169689Skan	("*movsi_internal") <alternative 8>: Handle CRIS_UNSPEC_GOT.
23979169689Skan	("*cris_store_multiple"): New pattern.  Tweak common comment above
23980169689Skan	this and "*cris_load_multiple".
23981169689Skan	("prologue"): New define_expand.
23982169689Skan
23983169689Skan	* config/cris/cris.md ("epilogue"): Conditionalize on
23984169689Skan	TARGET_PROLOGUE_EPILOGUE.
23985169689Skan
23986169689Skan2005-04-13  Steve Ellcey  <sje@cup.hp.com>
23987169689Skan
23988169689Skan	PR target/20924
23989169689Skan	* config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with
23990169689Skan	fpsr 0 instead of fpsr 1.
23991169689Skan	(divsf3_internal_thr): Ditto.
23992169689Skan	(divdf3_internal_lat): Ditto.
23993169689Skan	(divdf3_internal_thr): Ditto.
23994169689Skan	(divxf3_internal_lat): Ditto.
23995169689Skan	(divxf3_internal_thr): Ditto.
23996169689Skan
23997169689Skan2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
23998169689Skan
23999169689Skan	PR tree-optimization/20913
24000169689Skan	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Fold COND_EXPR.
24001169689Skan
24002169689Skan	PR tree-optimization/20702
24003169689Skan	* tree-vrp.c (maybe_add_assert_expr): Recurse into
24004169689Skan	dominator children that haven't been walked into.
24005169689Skan
24006169689Skan2005-04-13  Julian Brown  <julian@codesourcery.com>
24007169689Skan
24008169689Skan	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
24009169689Skan	being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
24010169689Skan	is true.
24011169689Skan
24012169689Skan2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
24013169689Skan
24014169689Skan	* basic-block.h, tree-ssa-uncprop.c, varasm.c,
24015169689Skan	config/i386/sse.md: Fix comment typos.
24016169689Skan
24017169689Skan	* genattrtab.c (NULL_ATTR): Remove.
24018169689Skan	* ifcvt.c (NULL_EDGE): Likewise.
24019169689Skan
24020169689Skan	* rtl.h (RTX_EXPR_FIRST, RTX_EXPR_LAST): Remove.
24021169689Skan
24022169689Skan	* rtl.h (NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS,
24023169689Skan	NOTE_PREDICT): Remove.
24024169689Skan
24025169689Skan2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
24026169689Skan
24027169689Skan	* configure.ac (gcc_AC_CHECK_DECLS): Add vsnprintf.
24028169689Skan	* configure: Regenerate.
24029169689Skan	* config.in: Likewise.
24030169689Skan	* system.h: Declare vsnprintf if not already declared.
24031169689Skan
24032169689Skan2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
24033169689Skan
24034169689Skan	* optc-gen.awk: Handle stand-alone Mask records.
24035169689Skan	* opth-gen.awk: Likewise.
24036169689Skan	* doc/options.texi (Option file format): Document them.
24037169689Skan	* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
24038169689Skan	sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
24039169689Skan	(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
24040169689Skan	* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
24041169689Skan	MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
24042169689Skan	MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
24043169689Skan	MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
24044169689Skan	MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
24045169689Skan	MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
24046169689Skan	(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
24047169689Skan	TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
24048169689Skan	TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
24049169689Skan	TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
24050169689Skan	TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
24051169689Skan	TARGET_LONG_DOUBLE_128): Likewise.
24052169689Skan	(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
24053169689Skan	(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
24054169689Skan	* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
24055169689Skan	* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
24056169689Skan	* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
24057169689Skan	* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
24058169689Skan	* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
24059169689Skan	* config/sparc/sparc.c (fpu_option_set): New global.
24060169689Skan	(sparc_handle_option): New function.
24061169689Skan	(sparc_override_options): Test fpu_option_set.
24062169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
24063169689Skan	(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
24064169689Skan	* config/sparc/sparc.opt: New file.
24065169689Skan	* config/sparc/little-endian.opt: Likewise.
24066169689Skan	* config/sparc/long-double-switch.opt: Likewise.
24067169689Skan
24068169689Skan2005-04-13  Bernd Schmidt  <bernd.schmidt@analog.com>
24069169689Skan
24070169689Skan	* config/bfin/bfin.c (bfin_lib_id_given): New static variable.
24071169689Skan	(bfin_handle_options): Set it if -mshared-library-id= is seen.
24072169689Skan	* config/bfin/bfin.opt (mshared-library-id=): Lose
24073169689Skan	Var(bfin_lib_id_given).
24074169689Skan
24075169689Skan2005-04-13  Matt Thomas  <matt@3am-software.com>
24076169689Skan
24077169689Skan	* config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
24078169689Skan	defining.
24079169689Skan
24080169689Skan2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
24081169689Skan
24082169689Skan	* rtl.h (CLEAR_RTX_FLAGS): Remove.
24083169689Skan
24084169689Skan	* cgraphunit.c (INSNS_PER_CALL): Remove.
24085169689Skan
24086169689Skan	* tree-ssa-forwprop.c (vars,
24087169689Skan	record_single_argument_cond_exprs,
24088169689Skan	substitute_single_use_vars): Remove.
24089169689Skan	(forward_propagate_into_cond_1, forward_propagate_into_cond):
24090169689Skan	New.
24091169689Skan	(tree_ssa_forward_propagate_single_use_vars): Call
24092169689Skan	forward_propagate_into_cond for each COND_EXPR.
24093169689Skan
24094169689Skan	* tree-inline.c (INSNS_PER_STMT): Remove.
24095169689Skan
24096169689Skan2005-04-12  Richard Henderson  <rth@redhat.com>
24097169689Skan
24098169689Skan	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
24099169689Skan	(ix86_expand_sse_fp_minmax): ... from ...
24100169689Skan	(ix86_expand_fp_movcc): ... here.
24101169689Skan	(ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
24102169689Skan	* config/i386/i386-protos.h: Update.
24103169689Skan	* config/i386/i386.md (UNSPEC_IEEE_MIN, UNSPEC_IEEE_MAX): New.
24104169689Skan	(sse_setccsf, sse_setccdf): Allow before reload.
24105169689Skan	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): Remove.
24106169689Skan	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): Remove.
24107169689Skan	(ieee_sminsf3, ieee_smaxsf3, ieee_smindf3, ieee_smaxdf3): New.
24108169689Skan	* config/i386/sse.md (andsf3, nandsf3, iorsf3, xorsf3): New.
24109169689Skan	(anddf3, nanddf3, iordf3, xordf3): New.
24110169689Skan
24111169689Skan2005-04-12  Jeff Law  <law@redhat.com>
24112169689Skan
24113169689Skan	* Makefile.in (OBJS-common): Add tree-ssa-uncprop.o.
24114169689Skan	(tree-ssa-uncprop.o): Add dependencies.
24115169689Skan	* tree-cfg.c (remove_useless_stmts_bb, remove_useless_stmts): Remove.
24116169689Skan	* tree-flow.h (remove_useless_stmts): Remove prototype.
24117169689Skan	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
24118169689Skan	remove_useless_stmts.
24119169689Skan	* timevar.def (TV_TREE_SSA_UNCPROP): New timevar.
24120169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add uncprop pass.
24121169689Skan	* tree-pass.h (pass_uncprop): Declare.
24122169689Skan	* tree-ssa-uncprop.c: New file.
24123169689Skan
24124169689Skan2005-04-12  James E. Wilson  <wilson@specifixinc.com>
24125169689Skan
24126169689Skan	PR target/20670
24127169689Skan	* unwind-ia64.c (uw_intall_context): Add missing load of r27.
24128169689Skan
24129169689Skan2005-04-12  Caroline Tice  <ctice@apple.com>
24130169689Skan
24131169689Skan	Temporary fix for partitioning problems.
24132169689Skan	* passes.c (rest_of_handle_final): Remove code that
24133169689Skan	frees unlikely_text_section_name,
24134169689Skan	* varasm.c (assemble_start_function): Test for partitioning
24135169689Skan	flag before writing out section labels.
24136169689Skan	(assemble_end_function): Test for partitioning flag before
24137169689Skan	writing out section labels.
24138169689Skan
24139169689Skan2005-04-12  Steven Bosscher  <stevenb@suse.de>
24140169689Skan	    Stuart Hastings <stuart@apple.com>
24141169689Skan	    Jan Hubicka  <jh@suse.cz>
24142169689Skan
24143169689Skan	* Makefile.in: Add function.h to BASIC_BLOCK_H.  Remove all
24144169689Skan	references to gt-tree-cfg.h.
24145169689Skan	* basic-block.h (struct basic_block_def): Don't skip rbi
24146169689Skan	for garbage collection.
24147169689Skan	(struct reorder_block_def): Make GTY-able.
24148169689Skan	(struct control_flow_graph): New structure.
24149169689Skan	(n_edges, n_basic_blocks, last_basic_block, basic_block_info,
24150169689Skan	BASIC_BLOCK, EXIT_BLOCK_PTR, ENTRY_BLOCK_PTR): No longer vars,
24151169689Skan	but instead defines to the control_flow_graph for cfun.
24152169689Skan	(label_to_block_map): New define, points to the label map of
24153169689Skan	the control_flow_graph for cfun.
24154169689Skan	(n_edges_for_function, n_basic_blocks_for_function,
24155169689Skan	last_basic_block_for_function, basic_block_info_for_function,
24156169689Skan	EXIT_BLOCK_PTR_FOR_FUNCTION, ENTRY_BLOCK_PTR_FOR_FUNCTION,
24157169689Skan	basic_block_info_for_function, label_to_block_map_for_function):
24158169689Skan	Counterparts for the above, taking a struct function as an extra
24159169689Skan	argument.
24160169689Skan	(alloc_rbi_pool, free_rbi_pool): Remove prototypes.
24161169689Skan	* cfg.c: (n_edges, n_basic_blocks, last_basic_block,
24162169689Skan	basic_block_info, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Remove.
24163169689Skan	(alloc_rbi_pool, free_rbi_pool): Remove.
24164169689Skan	(initialize_bb_rbi): Use ggc_alloc_cleared instead of pool_alloc.
24165169689Skan	* cfglayout.c: (cfg_layout_initialize): Don't allocate the rbi pool
24166169689Skan	here...
24167169689Skan	(cfg_layout_finalize) ... and don't free it here.
24168169689Skan	* cfgrtl.c (cfg_layout_delete_block): Zero out rbi so it gets
24169169689Skan	garbage collected.
24170169689Skan	* flow.c (free_basic_block_vars): Set label_to_block_map and
24171169689Skan	n_edges to zero too.
24172169689Skan	* function.h (struct function): Add cfg field.
24173169689Skan	* function.c (allocate_struct_function): Allocate the cfg.
24174169689Skan	* tree-cfg.c (label_to_block_map): Remove.
24175169689Skan	(build_tree_cfg): Don't allocate the rbi pool here...
24176169689Skan	(delete_tree_cfg_annotations): ...and don't free it here.
24177169689Skan	Also don't nullify label_to_block_map for cfun.
24178169689Skan
24179169689Skan2005-04-12  Caroline Tice  <ctice@apple.com>
24180169689Skan
24181169689Skan	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
24182169689Skan	Revert my patch from April 9.
24183169689Skan	(fix_edges_for_rarely_executed_code): Revert my patch from April 9.
24184169689Skan	(reorder_basic_blocks): Revert my patch from April 9.
24185169689Skan	(insert_section_boundary_note): Revert my patch from April 9.
24186169689Skan	* dbxout.c (dbxout_function_end): Revert my patch from April 9.
24187169689Skan	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): Revert my patch from April 9.
24188169689Skan	(COLD_END_LABEL): Revert my patch from April 9.
24189169689Skan	(cold_text_section_label): Revert my patch from April 9.
24190169689Skan	(cold_end_label): Revert my patch from April 9.
24191169689Skan	(dwarf2out_switch_text_section): Revert my patch from April 9.
24192169689Skan	(output_aranges): Revert my patch from April 9.
24193169689Skan	(output_ranges): Revert my patch from April 9.
24194169689Skan	(output_line_info): Revert my patch from April 9.
24195169689Skan	(add_location_or_const_value_attribute): Revert my patch from April 9.
24196169689Skan	(dwarf2out_var_location): Revert my patch from April 9.
24197169689Skan	(dwarf2out_init): Revert my patch from April 9.
24198169689Skan	(dwarf2out_finish): Revert my patch from April 9.
24199169689Skan	* function.h (struct function): Revert my patch from April 9.
24200169689Skan	* opts.c (decode_options): Revert my patch from April 9.
24201169689Skan	* output.h (unlikely_section_label, hot_section_label,
24202169689Skan	hot_section_end_label, cold_section_end_label,
24203169689Skan	unlikely_text_section_name): Revert my patch from April 9.
24204169689Skan	* passes.c (rest_of_handle_final): Revert my patch from April 9.
24205169689Skan	* varasm.c (unlikely_section_label, hot_section_label,
24206169689Skan	hot_section_end_label, cold_section_end_label,
24207169689Skan	unlikely_text_section_name): Revert my patch from April 9.
24208169689Skan	(initialize_cold_section_name): Revert my patch from April 9.
24209169689Skan	(unlikely_text_section): Revert my patch from April 9.
24210169689Skan	(in_unlikely_text_section): Revert my patch from April 9.
24211169689Skan	(named_section): Revert my patch from April 9.
24212169689Skan	(function_section): Revert my patch from April 9.
24213169689Skan	(current_function_section): Revert my patch from April 9.
24214169689Skan	(assemble_start_function): Revert my patch from April 9.
24215169689Skan	(assemble_end_function): Revert my patch from April 9.
24216169689Skan	(default_section_type_flags_1): Revert my patch from April 9.
24217169689Skan
24218169689Skan2005-04-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
24219169689Skan
24220169689Skan	* config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
24221169689Skan	* config/sparc/sparc.md (untyped_call): Save the registers manually.
24222169689Skan
24223169689Skan	* config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
24224169689Skan
24225169689Skan2005-04-12  Ulrich Weigand  <uweigand@de.ibm.com>
24226169689Skan
24227169689Skan	PR middle-end/20917
24228169689Skan	* config/s390/s390.md ("*set_tp"): Use SET in pattern.
24229169689Skan	("set_tp_64", "set_tp_31"): Adapt expanded pattern.
24230169689Skan
24231169689Skan2004-04-12  Richard Henderson  <rth@redhat.com>
24232169689Skan
24233169689Skan	* config/i386/i386.md (UNSPEC_FIX, UNSPEC_MOVA, UNSPEC_SHUFFLE,
24234169689Skan	UNSPEC_PSHUFLW, UNSPEC_PSHUFHW, UNSPEC_ADDSUB, UNSPEC_HADD,
24235169689Skan	UNSPEC_HSUB, UNSPEC_MOVSHDUP, UNSPEC_MOVSLDUP, UNSPEC_MOVDDUP): Remove.
24236169689Skan	(UNSPEC_*, UNSPECV_*): Renumber.
24237169689Skan
24238169689Skan2005-04-12  Frank Ch. Eigler  <fche@redhat.com>
24239169689Skan
24240169689Skan	PR mudflap/19266
24241169689Skan	From Richard Henderson <rth@redhat.com>:
24242169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Correct block
24243169689Skan	splitting logic.
24244169689Skan
24245169689Skan2005-04-12  Dorit Naishlos  <dorit@il.ibm.com>
24246169689Skan
24247169689Skan	* tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.
24248169689Skan
24249169689Skan2005-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>
24250169689Skan
24251169689Skan	* config/bfin/bfin.c (bfin_library_id_string): Remove.
24252169689Skan	(bfin_library_id): New variable.
24253169689Skan	(bfin_expand_prologue): Use bfin_library_id and bfin_lib_id_given
24254169689Skan	instead of bfin_library_id_string.
24255169689Skan	(bfin_handle_option): New function.
24256169689Skan	(override_options): Remove most code to deal with shared library IDs,
24257169689Skan	just check they aren't used without -mid-shared-library.
24258169689Skan	(TARGET_HANDLE_OPTION): Define.
24259169689Skan	* config/bfin/bfin.h (TARGET_OPTIONS): Delete macro.
24260169689Skan	* config/bfin/bfin.opt (mshared-library-id=): New.
24261169689Skan
24262169689Skan2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>
24263169689Skan
24264169689Skan	* tree-vect-transform.c: Fix comment typos.
24265169689Skan
24266169689Skan2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>
24267169689Skan
24268169689Skan	* postreload-gcse.c (eliminate_partially_redundant_load): Don't
24269169689Skan	split critical edges when not possible/profitable.
24270169689Skan
24271169689Skan2005-04-12  Richard Sandiford  <rsandifo@redhat.com>
24272169689Skan
24273169689Skan	* config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
24274169689Skan	(MASK_REGPARM, MASK_32532, MASK_32332, MASK_NO_SB, MASK_NO_BITFIELD)
24275169689Skan	(MASK_HIMEM, MASK_32381, MASK_MULT_ADD, MASK_SRC, MASK_IEEE_COMPARE)
24276169689Skan	(TARGET_32081, TARGET_32381, TARGET_MULT_ADD, TARGET_RTD)
24277169689Skan	(TARGET_REGPARM, TARGET_32532, TARGET_32332, TARGET_SB, TARGET_HIMEM)
24278169689Skan	(TARGET_BITFIELD, TARGET_IEEE_COMPARE, TARGET_SWITCHES): Delete.
24279169689Skan	(OVERRIDE_OPTIONS): Clear MASK_SB instead of setting MASK_NO_SB.
24280169689Skan	* config/ns32k/netbsd.h (TARGET_DEFAULT): Remove MASK_NO_SB and
24281169689Skan	MASK_NO_BITFIELD.
24282169689Skan	* config/ns32k/ns32k.c (ns32k_handle_option): New function.
24283169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
24284169689Skan	* config/ns32k/ns32k.opt: New file.
24285169689Skan
24286169689Skan2005-04-12  Richard Sandiford  <rsandifo@redhat.com>
24287169689Skan
24288169689Skan	* config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
24289169689Skan	* config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
24290169689Skan	(MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
24291169689Skan	(TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
24292169689Skan	(MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
24293169689Skan	(TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
24294169689Skan	(MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
24295169689Skan	(MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
24296169689Skan	(MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
24297169689Skan	(TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
24298169689Skan	(TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
24299169689Skan	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
24300169689Skan	(MASK_COLDFIRE): Formatting fixes.
24301169689Skan	(TARGET_COLDFIRE): Turn into a boolean value for consistency.
24302169689Skan	* config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
24303169689Skan	* config/m68k/m68k.c (m68k_library_id_string): Initialize to
24304169689Skan	"_current_shared_library_a5_offset_".
24305169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
24306169689Skan	(MASK_ALL_CPU_BITS): New macro.
24307169689Skan	(m68k_handle_option): New function.
24308169689Skan	(override_options): Remove handling of m68k_library_id_string.
24309169689Skan	* config/m68k/m68k.opt: New file.
24310169689Skan	* config/m68k/ieee.opt: New file.
24311169689Skan
24312169689Skan2005-04-11  Mark Mitchell  <mark@codesourcery.com>
24313169689Skan
24314169689Skan	* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
24315169689Skan	(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
24316169689Skan	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
24317169689Skan	(TARGET_CXX): Adjust accordingly.
24318169689Skan	* target.h (struct gcc_target): Remove epxort_class_data.  Add
24319169689Skan	determine_class_data_visibility and class_data_always_comdat.
24320169689Skan	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
24321169689Skan	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
24322169689Skan	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
24323169689Skan	* config/arm/arm.c (arm_cxx_export_class_data): Remove.
24324169689Skan	(arm_cxx_determine_class_data_visibility): New.
24325169689Skan	(arm_cxx_class_data_always_comdat): Likewise.
24326169689Skan	(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
24327169689Skan	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
24328169689Skan	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
24329169689Skan	* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
24330169689Skan	* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
24331169689Skan	Define.
24332169689Skan
24333169689Skan2005-04-11  Devang Patel  <dpatel@apple.com>
24334169689Skan
24335169689Skan	* tree-data-ref.c (build_classic_dist_vector,
24336169689Skan	compute_subscript_distance): Make externally visible.
24337169689Skan	* tree-data-ref.h (build_classic_dist_vector,
24338169689Skan	compute_subscript_distance): Same.
24339169689Skan	* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
24340169689Skan	Check distance vector against vectorization factor.
24341169689Skan	(vect_analyze_loop): Determine vectorizaion factor before
24342169689Skan	analyzing data dependences.
24343169689Skan	* tree-vectorizer.c (loops_num): Make it externally visible and
24344169689Skan	rename ...
24345169689Skan	* tree-vectorizer.c (vect_loops_num): ... new name.
24346169689Skan	* tree-vectorizer.h  (vect_loops_num): New.
24347169689Skan
24348169689Skan2005-04-11  Devang Patel  <dpatel@apple.com>
24349169689Skan
24350169689Skan	* tree-vect-analyze.c (vect_analyze_operations): Check
24351169689Skan	vectorizable codition.
24352169689Skan	* tree-vect-transform.c (vect_is_simple_cond): New function.
24353169689Skan	(vectorizable_condition): New function.
24354169689Skan	(vect_transform_stmt): Handle condition_vec_info_type.
24355169689Skan	* tree-vectorizer.h (enum stmt_vec_info_type): Add
24356169689Skan	condition_vec_info_type.
24357169689Skan	(vectorizable_condition): New.
24358169689Skan
24359169689Skan2005-04-11  Geoffrey Keating  <geoffk@apple.com>
24360169689Skan
24361169689Skan	* config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
24362169689Skan	* config/i386/darwin.h (TARGET_FPMATH_DEFAULT): New.
24363169689Skan	* config/i386/i386.c (override_options): Use TARGET_FPMATH_DEFAULT.
24364169689Skan
24365169689Skan	* config/i386/darwin.h (ASM_SPEC): Use -arch i386 not -arch i686.
24366169689Skan	(SUBTARGET_EXTRA_SPECS): Always 'i386'.
24367169689Skan
24368169689Skan	* dwarf2out.c (output_line_info): Don't try to dereference
24369169689Skan	a NULL current_function_decl.
24370169689Skan
24371169689Skan	* config/t-slibgcc-darwin: Don't put shared libraries in
24372169689Skan	directories other than $(slibdir).
24373169689Skan	* config/rs6000/darwin.h: Find -m64 libgcc under the name the
24374169689Skan	OS uses for it.
24375169689Skan
24376169689Skan2005-04-11  Diego Novillo  <dnovillo@redhat.com>
24377169689Skan
24378169689Skan	PR tree-optimization/20933
24379169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Move
24380169689Skan	logic to reject aliases between read-only and writable
24381169689Skan	variables ...
24382169689Skan	(may_alias_p): ... here.
24383169689Skan	(get_tmt_for): Do not associate read-only tags to pointers
24384169689Skan	whose pointed-to type is not read-only.
24385169689Skan	* tree-ssa.c (verify_ssa): Check that memory stores have at
24386169689Skan	least one V_MAY_DEF or V_MUST_DEF.
24387169689Skan
24388169689Skan2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24389169689Skan
24390169689Skan	PR/17092
24391169689Skan	* configure.ac (gcc_UNLOCKED_FUNCS): New.
24392169689Skan	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
24393169689Skan	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
24394169689Skan	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
24395169689Skan	_unlocked function.
24396169689Skan	(fwrite_unlocked): Fix prototype.
24397169689Skan
24398169689Skan	* configure, config.in: Regenerate.
24399169689Skan
24400169689Skan2005-04-11  David Edelsohn  <edelsohn@gnu.org>
24401169689Skan
24402169689Skan	* tree-ssa-loop-im.c: Include real.h.
24403169689Skan	(determine_invariantness_stmt): If real division divisor is
24404169689Skan	invariant and flag_unsafe_math_optimizations enabled, generate
24405169689Skan	invariant reciprocal for hoisting.
24406169689Skan	* Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.
24407169689Skan
24408169689Skan2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
24409169689Skan
24410169689Skan	Fix PR tree-optimization/20926
24411169689Skan
24412169689Skan	* tree-ssa-alias.c (add_type_alias): Handle subvars.
24413169689Skan
24414169689Skan2005-04-11  Devang Patel  <dpatel@apple.com>
24415169689Skan
24416169689Skan	* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
24417169689Skan	operand ordering.
24418169689Skan
24419169689Skan2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
24420169689Skan
24421169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg):
24422169689Skan	use fold_buildN instead of "fold (buildN" in some
24423169689Skan	non obvious places.
24424169689Skan	(fold_unary): Likewise.
24425169689Skan	(fold_binary): Likewise.
24426169689Skan
24427169689Skan2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
24428169689Skan
24429169689Skan	Fix PR tree-optimization/20612
24430169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
24431169689Skan	handling
24432169689Skan	(perfect_nestify): preheaderbb is *not* part of loop of the
24433169689Skan	old destination.
24434169689Skan
24435169689Skan2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
24436169689Skan
24437169689Skan	* tree-ssa-alias.c (may_alias_p): If the variable
24438169689Skan	is a global variable and the pointer is parameter
24439169689Skan	and -fargument-noalias-global is used, then
24440169689Skan	the pointer cannot alias the variable.
24441169689Skan
24442169689Skan2005-04-11  James A. Morrison  <phython@gcc.gnu.org>
24443169689Skan
24444169689Skan	* config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.
24445169689Skan	* config/sparc/sparc.h: Likewise.
24446169689Skan	* config/sparc/sparc.md: Likewise.
24447169689Skan
24448169689Skan2005-04-11  Kazu Hirata  <kazu@cs.umass.edu>
24449169689Skan
24450169689Skan	* tree-vrp.c (maybe_add_assert_expr): Move a comment.
24451169689Skan
24452169689Skan	* tree-vrp.c: Fix a comment typo.
24453169689Skan
24454169689Skan2005-04-11  Diego Novillo  <dnovillo@redhat.com>
24455169689Skan
24456169689Skan	PR tree-optimization/20920
24457169689Skan	* tree-pretty-print.c (dump_generic_node): Show '(ab)' if an
24458169689Skan	SSA_NAME flows through an abnormal edge.
24459169689Skan	* tree-vrp.c (infer_value_range): Ignore SSA names that flow
24460169689Skan	through abnormal edges.
24461169689Skan	(maybe_add_assert_expr): Likewise.
24462169689Skan
24463169689Skan2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
24464169689Skan
24465169689Skan	* config/s390/s390.h (s390_tune_string, s390_arch_string)
24466169689Skan	(s390_warn_framesize_string, s390_warn_dynamicstack_string)
24467169689Skan	(s390_stack_size_string, s390_stack_guard_string, target_flags)
24468169689Skan	(MASK_HARD_FLOAT, MASK_SMALL_EXEC, MASK_DEBUG_ARG, MASK_64BIT)
24469169689Skan	(MASK_ZARCH, MASK_MVCLE, MASK_TPF_PROFILING, MASK_NO_FUSED_MADD)
24470169689Skan	(MASK_BACKCHAIN, MASK_PACKED_STACK, TARGET_HARD_FLOAT)
24471169689Skan	(TARGET_SOFT_FLOAT, TARGET_SMALL_EXEC, TARGET_DEBUG_ARG)
24472169689Skan	(TARGET_64BIT, TARGET_ZARCH, TARGET_MVCLE, TARGET_TPF_PROFILING)
24473169689Skan	(TARGET_NO_FUSED_MADD, TARGET_FUSED_MADD, TARGET_BACKCHAIN)
24474169689Skan	(TARGET_PACKED_STACK, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
24475169689Skan	* config/s390/s390.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
24476169689Skan	(TARGET_HANDLE_OPTION): Likewise.
24477169689Skan	(s390_tune): Initialize to PROCESSOR_max.
24478169689Skan	(s390_arch_string): Make static.
24479169689Skan	(s390_tune_string, s390_warn_framesize_string): Delete.
24480169689Skan	(s390_warn_dynamicstack_string, s390_stack_size_string): Delete.
24481169689Skan	(s390_stack_guard_string, s390_warn_dynamicstack_p): Delete.
24482169689Skan	(s390_handle_arch_option, s390_handle_option): New functions.
24483169689Skan	(override_options): Remove parsing of option strings.
24484169689Skan	* config/s390/s390.opt: New file.
24485169689Skan
24486169689Skan2005-04-11  Paolo Bonzini  <bonzini@gnu.org>
24487169689Skan
24488169689Skan	* tree-complex.c (expand_vector_operations): Call
24489169689Skan	update_stmt_if_modified.
24490169689Skan
24491169689Skan2005-04-11  Paolo Bonzini  <bonzini@gnu.org>
24492169689Skan
24493169689Skan	* tree-vect-analyze (vect_determine_vectorization_factor):
24494169689Skan	Do not use GET_MODE_NUNITS.
24495169689Skan	* tree-vect-transform.c (vect_get_vec_def_for_operand,
24496169689Skan	(vectorizable_load, vect_transform_loop): Likewise.
24497169689Skan
24498169689Skan2005-04-11  Uros Bizjak  <uros@kss-loka.si>
24499169689Skan
24500169689Skan	* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
24501169689Skan	(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
24502169689Skan	* optabs.h (enum optab_index): Add new OTI_lceil.
24503169689Skan	(lceil_optab): Define corresponding macro.
24504169689Skan	* optabs.c (init_optabs): Initialize lceil_optab.
24505169689Skan	* genopinit.c (optabs): Implement lceil_optab using lceilsi2
24506169689Skan	and lceildi2 patterns.
24507169689Skan	* builtins.c (expand_builtin_int_roundingfn): Handle
24508169689Skan	BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
24509169689Skan	(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
24510169689Skan	BUILT_IN_LLCEIL{,F,L}.
24511169689Skan	(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
24512169689Skan	BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
24513169689Skan	(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
24514169689Skan	(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
24515169689Skan	BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.
24516169689Skan	* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
24517169689Skan	into lceil built-in function and (long long int)ceil{,f,l} into
24518169689Skan	llceil built-in function.
24519169689Skan	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
24520169689Skan	BUILT_IN_LLCEIL.
24521169689Skan
24522169689Skan2005-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
24523169689Skan
24524169689Skan	* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
24525169689Skan	zero.
24526169689Skan
24527169689Skan2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
24528169689Skan
24529169689Skan	* config/arm/arm.c: Fix a comment typo.
24530169689Skan	* doc/tree-ssa.texi: Fix a typo.
24531169689Skan
24532169689Skan2005-04-10  Steven Bosscher  <stevenb@suse.de>
24533169689Skan
24534169689Skan	* cselib.c (clear_table): Rename to cselib_clear_table.
24535169689Skan	* cselib.h (cselib_clear_table): Add prototype.
24536169689Skan	* gcse.c (gcse_main): Make 'f' argument unused.
24537169689Skan	(alloc_gcse_mem): Do not walk the insn chain, walk the contents
24538169689Skan	of each basic block instead.
24539169689Skan	(compute_sets, compute_hash_table_work): Likewise.
24540169689Skan	(constprop_register): Change int 'alter_jumps' argument to bool.
24541169689Skan	(do_local_cprop): Likewise.
24542169689Skan	(local_cprop_pass): Likewise.  Also walk basic blocks instead of
24543169689Skan	the insn chain.  Explicitly clear the cselib tables after finishing
24544169689Skan	one basic block.  Make sure there are no unterminated libcall blocks.
24545169689Skan	Update compute_sets call.
24546169689Skan	(cprop): Walk basic blocks instead of the insn chain.
24547169689Skan	(one_cprop_pass, compute_ld_motion_mems, compute_store_table):
24548169689Skan	Likewise.
24549169689Skan	(bypass_jumps): Update alloc_gcse_mem, compute_sets, and
24550169689Skan	one_cprop_pass calls.
24551169689Skan
24552169689Skan2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
24553169689Skan
24554169689Skan	* combine.c (combine_simplify_rtx): Remove a transformation that
24555169689Skan	relies on an invalid assumption about rtl sign-extension semantics.
24556169689Skan
24557169689Skan2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
24558169689Skan
24559169689Skan	* value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
24560169689Skan	to build_int_cst_wide.
24561169689Skan
24562169689Skan2005-04-09  Alexandre Oliva  <aoliva@redhat.com>
24563169689Skan
24564169689Skan	PR target/20126
24565169689Skan	* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
24566169689Skan	set the original address pseudo to the correct value before the
24567169689Skan	original insn, if possible, and leave the insn alone, otherwise
24568169689Skan	create a new pseudo, set it and replace it in the insn.
24569169689Skan	* recog.c (validate_change_maybe_volatile): New.
24570169689Skan	* recog.h (validate_change_maybe_volatile): Declare.
24571169689Skan
24572169689Skan2005-04-09  Caroline Tice  <ctice@apple.com>
24573169689Skan
24574169689Skan	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
24575169689Skan	Remove targetm.have_named_sections test.
24576169689Skan	(fix_edges_for_rarely_executed_code): Likewise.
24577169689Skan	(insert_section_boundary_note): Likewise.
24578169689Skan	(reorder_basic_blocks): Check partitioning flag before calling
24579169689Skan	verify_hot_cold_block_grouping.
24580169689Skan	* dbxout.c (dbxout_function_end): Get hot/cold section labels from
24581169689Skan	the function struct rather than global variables.
24582169689Skan	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
24583169689Skan	(COLD_END_LABEL): Likewise
24584169689Skan	(cold_text_section_label): New static global variable.
24585169689Skan	(cold_end_label): Likewise.
24586169689Skan	(dwarf2out_switch_text_section): Get hot/cold section labels from
24587169689Skan	the function struct rather than global variables.
24588169689Skan	(output_aranges): Use cold_text_section_label and cold_end_label;
24589169689Skan	check partitioning flag before putting out delta.
24590169689Skan	(output_ranges): Remove incorrect code attempting to use
24591169689Skan	hot/cold labels.
24592169689Skan	(output_line_info): Get cold section label from function struct.
24593169689Skan	(add_location_or_const_value_attribute): Likewise.
24594169689Skan	(get_subprogram_die): Get hot/cold section labels from function struct.
24595169689Skan	(dwarf2out_var_location): Likewise.
24596169689Skan	(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
24597169689Skan	write out cold_text_section_label if partition flag is set.
24598169689Skan	(dwarf2out_finish): Write out cold_end_label if partition flag is set;
24599169689Skan	* function.h (struct function): Add new fields to point to hot/cold
24600169689Skan	section labels: hot_section_label, cold_section_label,
24601169689Skan	hot_section_end_label and cold_section_end_label; also add new field
24602169689Skan	for cold text section name, unlikely_text_section_name.
24603169689Skan	* opts.c (decode_options): Turn off partitioning flag if
24604169689Skan	!targetm.have_named_sections.
24605169689Skan	* output.h (hot_section_label): Remove.
24606169689Skan	(hot_section_end_label): Remove.
24607169689Skan	(cold_section_end_label): Remove.
24608169689Skan	(unlikely_section_label): Remove.
24609169689Skan	(unlikely_text_section_name): Remove.
24610169689Skan	* passes.c (rest_of_handle_final): Remove code that frees
24611169689Skan	unlikely_text_section_name.
24612169689Skan	* varasm.c (unlikely_section_label): Remove.
24613169689Skan	(hot_section_label): Remove.
24614169689Skan	(hot_section_end_label): Remove.
24615169689Skan	(cold_section_end_label): Remove.
24616169689Skan	(unlikely_text_section_name): Remove.
24617169689Skan	(initialize_cold_section_name): Modify to call
24618169689Skan	targetm.strip_name_encoding; to store cold section name in current
24619169689Skan	function struct, if it exists; and to only use the decl_section_name
24620169689Skan	if flag_named_sections is true.
24621169689Skan	(unlikely_text_section): Modify to get section name out of current
24622169689Skan	function struct, if there is one; otherwise build it from
24623169689Skan	UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
24624169689Skan	(in_unlikely_text_section): Likewise.
24625169689Skan	(named_section): Modify to get/put cold section name in current function
24626169689Skan	struct, if there is one.
24627169689Skan	(function_section): Change 'bool unlikely' to 'int reloc'; check
24628169689Skan	targetm.have_named_sections before calling named_section.
24629169689Skan	(current_function_section): Likewise.
24630169689Skan	(assemble_start_function): Modify to get/put unlikely_text_section_name
24631169689Skan	in current function struct; modify to get hot/cold section labels
24632169689Skan	from function struct; initialize labels using
24633169689Skan	ASM_GENERATE_INTERNAL_LABEL;
24634169689Skan	test partitioning flag before writing out hot section label.
24635169689Skan	(assemble_end_function): Test partitioning flag before writing out
24636169689Skan	hot/cold section labels.
24637169689Skan	(default_section_type_flags_1): Modify to use array instead of
24638169689Skan	 char* for unlikely_text_section_name; set flags correctly for
24639169689Skan	 cold text section if there is not a current function decl.
24640169689Skan
24641169689Skan2005-04-09  Jakub Jelinek  <jakub@redhat.com>
24642169689Skan
24643169689Skan	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
24644169689Skan	and TI_VA_LIST_FPR_COUNTER_FIELD.
24645169689Skan	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
24646169689Skan	* tree-pass.h (pass_stdarg): Add.
24647169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
24648169689Skan	* tree-stdarg.c: New file.
24649169689Skan	* tree-stdarg.h: New file.
24650169689Skan	* Makefile.in (OBJS-common): Add tree-stdarg.o.
24651169689Skan	(tree-stdarg.o): Add dependencies.
24652169689Skan	* function.h (struct function): Add va_list_gpr_size and
24653169689Skan	va_list_fpr_size fields.
24654169689Skan	* function.c (allocate_struct_function): Initialize them.
24655169689Skan	* target.h (struct gcc_target): Add stdarg_optimize_hook.
24656169689Skan	* target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define.
24657169689Skan	(TARGET_INITIALIZER): Add it.
24658169689Skan
24659169689Skan	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
24660169689Skan	va_list_{g,f}pr_counter_field.
24661169689Skan	(ix86_setup_incoming_varargs): Don't do anything if reg_save
24662169689Skan	area will not be used.  Only save registers that tree-stdarg.c
24663169689Skan	detected they need saving.
24664169689Skan	(ix86_va_start): Don't set up fields that won't be used.
24665169689Skan
24666169689Skan	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
24667169689Skan	va_list_{g,f}pr_counter_field.
24668169689Skan	(setup_incoming_varargs): Don't do anything if reg_save
24669169689Skan	area will not be used.  Only save registers that tree-stdarg.c
24670169689Skan	detected they need saving.
24671169689Skan	(rs6000_va_start): Don't set up fields that won't be used.
24672169689Skan
24673169689Skan	* config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h.
24674169689Skan	(alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field.
24675169689Skan	(va_list_skip_additions, alpha_stdarg_optimize_hook): New functions.
24676169689Skan	(TARGET_STDARG_OPTIMIZE_HOOK): Define.
24677169689Skan
24678169689Skan2005-04-09  Jakub Jelinek  <jakub@redhat.com>
24679169689Skan
24680169689Skan	PR target/20795
24681169689Skan	* config/i386/i386.c (construct_container): Pass empty aligned
24682169689Skan	struct, union or class in memory.
24683169689Skan
24684169689Skan2005-04-09  Kazu Hirata  <kazu@cs.umass.edu>
24685169689Skan
24686169689Skan	* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
24687169689Skan	tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c,
24688169689Skan	config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h,
24689169689Skan	config/rs6000/predicates.md: Fix comment typos.
24690169689Skan
24691169689Skan	* sched-int.h (haifa_insn_data): Remove blockage and units.
24692169689Skan	(INSN_UNIT, INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK,
24693169689Skan	ENCODE_BLOCKAGE, UNIT_BLOCKED, BLOCKAGE_RANGE,
24694169689Skan	MIN_BLOCKAGE_COST, MAX_BLOCKAGE_COST): Remove.
24695169689Skan
24696169689Skan2005-04-09  Jan Hubicka  <jh@suse.cz>
24697169689Skan	    Steven Bosscher  <stevenb@suse.de>
24698169689Skan
24699169689Skan	* cfglayout.c (copy_bbs): Rename n_edges to num_edges.
24700169689Skan	* cfgloop.c (get_loop_exit_edges): Likewise.
24701169689Skan	* cfgloopmanip.c (fix_irreducible_loops): Likewise.
24702169689Skan	(unloop): Likewise.
24703169689Skan	* loop-unroll.c (analyze_insns_in_loop): Likewise.
24704169689Skan	* tree-cfg.c (dump_cfg_status): Likewise.
24705169689Skan
24706169689Skan2005-04-09  David Edelsohn  <edelsohn@gnu.org>
24707169689Skan
24708169689Skan	* config/rs6000/predicates.md (altivec_register_operand): Remove
24709169689Skan	redundant match_code test.
24710169689Skan	(gpc_reg_operand): Same.
24711169689Skan	(cc_reg_operand): Same.
24712169689Skan	(cc_reg_not_cr0_operand): Same.
24713169689Skan
24714169689Skan2005-04-09  Jan Hubicka  <jh@suse.cz>
24715169689Skan
24716169689Skan	Forgotten hunk from my last merge patch:
24717169689Skan	* final.c (output_addr_const): Do not call mark_referenced.
24718169689Skan
24719169689Skan2005-04-09  Andrew MacLeod  <amacleod@redhat.com>
24720169689Skan
24721169689Skan	* doc/tree-ssa.texi: Add immediate use documentation.
24722169689Skan
24723169689Skan2005-04-09  Richard Earnshaw <richard.earnshaw@arm.com>
24724169689Skan
24725169689Skan	* arm.c (FL_WBUF): Define.
24726169689Skan	(arm_tune_strongarm): Renamed from arm_is_strong.  All uses changed.
24727169689Skan	(arm_is_6_or_7): Delete.
24728169689Skan	(arm_tune_wbuf): New.
24729169689Skan	(arm_override_options): Set arm_tune_wbuf.
24730169689Skan	* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
24731169689Skan	(arm_is_6_or_7): Delete declaration.
24732169689Skan	(arm_tune_wbuf): New declartion.
24733169689Skan	* arm.md (is_strongarm): Derive from arm_tune_strongarm.
24734169689Skan	(model_wbuf): Derive from arm_tune_wbuf.
24735169689Skan	* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
24736169689Skan	(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
24737169689Skan	(arm740t): Mark CPUs as having a write buffer.
24738169689Skan
24739169689Skan2005-04-09  Uros Bizjak  <uros@kss-loka.si>
24740169689Skan
24741169689Skan	* config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
24742169689Skan	of 'const_double_operand' in operand 2 constraints.  Update enable
24743169689Skan	condition.
24744169689Skan
24745169689Skan2005-04-09  Uros Bizjak  <uros@kss-loka.si>
24746169689Skan
24747169689Skan	* builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
24748169689Skan	(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
24749169689Skan	* optabs.h (enum optab_index): Add new OTI_lfloor.
24750169689Skan	(lfloor_optab): Define corresponding macro.
24751169689Skan	* optabs.c (init_optabs): Initialize lfloor_optab.
24752169689Skan	* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
24753169689Skan	and lfloordi2 patterns.
24754169689Skan	* builtins.c (expand_builtin_int_roundingfn): New prototype.
24755169689Skan	(expand_builtin_int_roundingfn): New function.
24756169689Skan	(fold_builtin_int_roundingfn): New prototype.
24757169689Skan	(fold_builtin_int_roundingfn): New function, renamed from
24758169689Skan	fold_builtin_lround.
24759169689Skan	Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
24760169689Skan	BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
24761169689Skan	(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
24762169689Skan	BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
24763169689Skan	(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
24764169689Skan	(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
24765169689Skan	BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.
24766169689Skan	* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
24767169689Skan	into lfloor built-in function and (long long int)floor{,f,l} into
24768169689Skan	llfloor built-in function.
24769169689Skan	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
24770169689Skan	BUILT_IN_LLFLOOR.
24771169689Skan
24772169689Skan2005-04-08  Ian Lance Taylor  <ian@airs.com>
24773169689Skan
24774169689Skan	* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
24775169689Skan	CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def.
24776169689Skan	* c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h.
24777169689Skan	(DO_COND, DO_BODY): Likewise.
24778169689Skan	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise.
24779169689Skan	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise.
24780169689Skan	(c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT,
24781169689Skan	BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT.
24782169689Skan	(build_continue_stmt, build_break_stmt): Don't declare.
24783169689Skan	(c_do_switch_warnings): Update declaration.
24784169689Skan	* c-gimplify.c (enum bc_t): Remove.
24785169689Skan	(struct c_gimplify_ctx, ctxp): Remove.
24786169689Skan	(push_context, pop_context): Remove static functions.
24787169689Skan	(c_genericize): Don't call push_context or pop_context.
24788169689Skan	(begin_bc_block, finish_bc_block): Remove static functions.
24789169689Skan	(build_bc_goto): Likewise.
24790169689Skan	(gimplify_c_loop): Likewise.
24791169689Skan	(gimplify_for_stmt, gimplify_while_stmt): Likewise.
24792169689Skan	(gimplify_do_stmt, gimplify_switch_stmt): Likewise.
24793169689Skan	(c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT,
24794169689Skan	DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
24795169689Skan	* c-common.c (c_do_switch_warnings): Rename from
24796169689Skan	c_do_switch_warnings_1.
24797169689Skan	(c_do_switch_warnings) [old version]: Remove.
24798169689Skan	(c_do_switch_expr_warnings): Remove.
24799169689Skan	* c-typeck.c (c_finish_case): Call new c_do_switch_warnings
24800169689Skan	function instead of c_do_switch_expr_warnings.
24801169689Skan	* c-dump.c (c_dump_tree): Remove handling of BREAK_STMT,
24802169689Skan	CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT.
24803169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
24804169689Skan	* c-semantics.c (build_break_stmt, build_continue_stmt): Remove.
24805169689Skan
24806169689Skan2005-04-08  Devang Patel  <dpatel@apple.com>
24807169689Skan
24808169689Skan	* tree-if-conv.c (find_phi_replacement_condition): New parameter, loop.
24809169689Skan	While selecting replacement condition pay attention to loop header.
24810169689Skan
24811169689Skan2005-04-08  Diego Novillo  <dnovillo@redhat.com>
24812169689Skan
24813169689Skan	Merge from tree-cleanup-branch: VRP, store CCP, store
24814169689Skan	    copy-prop, incremental SSA updating of FUD chains and
24815169689Skan	    newly exposed symbols.
24816169689Skan
24817169689Skan	* Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h.
24818169689Skan	(OBJS-common): Add tree-vrp.o.
24819169689Skan	(tree-vrp.o): New rule.
24820169689Skan	* basic-block.h (nearest_common_dominator_for_set): Declare.
24821169689Skan	* common.opt (ftree-store-ccp): New flag.
24822169689Skan	(ftree-copy-prop): New flag.
24823169689Skan	(ftree-vrp): New flag.
24824169689Skan	(ftree-store-copy-prop): New flag.
24825169689Skan	* dominance.c (nearest_common_dominator_for_set): New.
24826169689Skan	* domwalk.c (walk_dominator_tree): Only traverse
24827169689Skan	statements in blocks marked in walk_data->interesting_blocks.
24828169689Skan	* domwalk.h (struct dom_walk_data): Add field interesting_blocks.
24829169689Skan	* fold-const.c (fold): Handle ASSERT_EXPR.
24830169689Skan	* opts.c (decode_options): Set flag_tree_copy_prop at -O1.
24831169689Skan	Set flag_tree_store_ccp, flag_tree_store_copy_prop and
24832169689Skan	flag_tree_vrp at -O2.
24833169689Skan	* timevar.def (TV_TREE_VRP): Define.
24834169689Skan	(TV_TREE_COPY_PROP): Define.
24835169689Skan	(TV_TREE_STORE_COPY_PROP): Define.
24836169689Skan	(TV_TREE_SSA_INCREMENTAL): Define.
24837169689Skan	(TV_TREE_STORE_CCP): Define.
24838169689Skan	* tree-cfg.c (tree_can_merge_blocks_p): Remove reference
24839169689Skan	to kill_redundant_phi_nodes from comment.
24840169689Skan	(verify_expr): Handle ASSERT_EXPR.
24841169689Skan	* tree-dfa.c (mark_new_vars_to_rename): Remove second
24842169689Skan	argument.  Update all users.
24843169689Skan	(mark_call_clobbered_vars_to_rename): Remove.  Update all
24844169689Skan	users.
24845169689Skan	* tree-flow-inline.h (unmodifiable_var_p): New.
24846169689Skan	* tree-flow.h (enum value_range_type): Declare.
24847169689Skan	(struct value_range_def): Declare.
24848169689Skan	(value_range): Declare.
24849169689Skan	(remove_all_phi_nodes_for): Remove.  Update all users.
24850169689Skan	(find_phi_node_for): Declare.
24851169689Skan	(add_type_alias): Declare.
24852169689Skan	(count_uses_and_derefs): Declare.
24853169689Skan	(kill_redundant_phi_nodes): Remove.
24854169689Skan	(rewrite_into_ssa): Remove.
24855169689Skan	(rewrite_def_def_chains): Remove.
24856169689Skan	(update_ssa, register_new_name_mapping, create_new_def_for,
24857169689Skan	need_ssa_update_p, name_registered_for_update_p,
24858169689Skan	release_ssa_name_after_update_ssa, dump_repl_tbl,
24859169689Skan	debug_repl_tbl, dump_names_replaced_by,
24860169689Skan	debug_names_replaced_by, mark_sym_for_renaming,
24861169689Skan	mark_set_for_renaming, get_current_def, set_current_def,
24862169689Skan	get_value_range, dump_value_range, debug_value_range,
24863169689Skan	dump_all_value_ranges, debug_all_value_ranges,
24864169689Skan	expr_computes_nonzero, loop_depth_of_name,
24865169689Skan	unmodifiable_var_p): Declare.
24866169689Skan	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle
24867169689Skan	ASSERT_EXPR.
24868169689Skan	* tree-into-ssa.c (block_defs_stack): Update comment.
24869169689Skan	(old_ssa_names, new_ssa_names, old_virtual_ssa_names,
24870169689Skan	syms_to_rename, names_to_release, repl_tbl,
24871169689Skan	need_to_initialize_update_ssa_p, need_to_update_vops_p,
24872169689Skan	need_to_replace_names_p): New locals.
24873169689Skan	(NAME_SETS_GROWTH_FACTOR): Define.
24874169689Skan	(struct repl_map_d): Declare.
24875169689Skan	(struct mark_def_sites_global_data): Add field
24876169689Skan	interesting_blocks.
24877169689Skan	(enum rewrite_mode): Declare.
24878169689Skan	(REGISTER_DEFS_IN_THIS_STMT): Define.
24879169689Skan	(compute_global_livein): Use last_basic_block instead of
24880169689Skan	n_basic_blocks.
24881169689Skan	(set_def_block): Remove last argument.  Update all callers.
24882169689Skan	(prepare_use_operand_for_rename): Remove.  Update all callers.
24883169689Skan	(prepare_def_operand_for_rename): Remove.  Update all callers.
24884169689Skan	(symbol_marked_for_renaming): New.
24885169689Skan	(is_old_name): New.
24886169689Skan	(is_new_name): New.
24887169689Skan	(repl_map_hash): New.
24888169689Skan	(repl_map_eq): New.
24889169689Skan	(repl_map_free): New.
24890169689Skan	(names_replaced_by): New.
24891169689Skan	(add_to_repl_tbl): New.
24892169689Skan	(add_new_name_mapping): New.
24893169689Skan	(mark_def_sites): Assume that all the operands in the
24894169689Skan	statement are in normal form.
24895169689Skan	(find_idf): Assert that the block in the stack is valid.
24896169689Skan	(get_default_def_for): New.
24897169689Skan	(insert_phi_nodes_for): Add new argument 'update_p'.
24898169689Skan	Add documentation.
24899169689Skan	If update_p is true, add a new mapping between the LHS of
24900169689Skan	each new PHI and the name that it replaces.
24901169689Skan	(insert_phi_nodes_1): Only call find_idf if needed.
24902169689Skan	(get_reaching_def): Call get_default_def_for.
24903169689Skan	(rewrite_operand): Remove.
24904169689Skan	(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT
24905169689Skan	and REWRITE_THIS_STMT are false.
24906169689Skan	Assume that all the operands in the statement are in
24907169689Skan	normal form.
24908169689Skan	(rewrite_add_phi_arguments): Don't use PHI_REWRITTEN.
24909169689Skan	(rewrite_virtual_phi_arguments): Remove.
24910169689Skan	(invalidate_name_tags): Remove.
24911169689Skan	(register_new_update_single, register_new_update_set,
24912169689Skan	rewrite_update_init_block, replace_use,
24913169689Skan	rewrite_update_fini_block, rewrite_update_stmt,
24914169689Skan	rewrite_update_phi_arguments): New.
24915169689Skan	rewrite_blocks): Remove argument 'fix_virtual_phis'.
24916169689Skan	Add arguments 'entry', 'what' and 'blocks'.
24917169689Skan	Initialize the dominator walker according to 'what' and
24918169689Skan	'blocks'.
24919169689Skan	Start the dominator walk at 'entry'.
24920169689Skan	(mark_def_site_blocks): Add argument 'interesting_blocks'.
24921169689Skan	Use it to configure the dominator walker.
24922169689Skan	(rewrite_into_ssa): Remove argument 'all'.
24923169689Skan	Make internal.
24924169689Skan	(rewrite_all_into_ssa): Remove.
24925169689Skan	(rewrite_def_def_chains): Remove.
24926169689Skan	(mark_def_interesting, mark_use_interesting,
24927169689Skan	prepare_phi_args_for_update, prepare_block_for_update,
24928169689Skan	prepare_def_site_for, prepare_def_sites,
24929169689Skan	dump_names_replaced_by, debug_names_replaced_by,
24930169689Skan	dump_repl_tbl, debug_repl_tbl, init_update_ssa,
24931169689Skan	delete_update_ssa, create_new_def_for,
24932169689Skan	register_new_name_mapping, mark_sym_for_renaming,
24933169689Skan	mark_set_for_renaming, need_ssa_update_p,
24934169689Skan	name_registered_for_update_p, ssa_names_to_replace,
24935169689Skan	release_ssa_name_after_update_ssa,
24936169689Skan	insert_updated_phi_nodes_for, update_ssa): New.
24937169689Skan	* tree-loop-linear.c (linear_transform_loops): Call
24938169689Skan	update_ssa instead of rewrite_into_ssa.
24939169689Skan	* tree-optimize.c (vars_to_rename): Remove.
24940169689Skan	Update all users.
24941169689Skan	(init_tree_optimization_passes): Replace
24942169689Skan	pass_redundant_phi with pass_copy_prop.
24943169689Skan	Add pass_vrp.
24944169689Skan	Replace pass_ccp with pass_store_ccp.
24945169689Skan	Add pass_store_copy_prop after pass_store_ccp.
24946169689Skan	(execute_todo): If the TODO_ flags don't include updating
24947169689Skan	the SSA form, assert that it does not need to be updated.
24948169689Skan	Call update_ssa instead of rewrite_into_ssa and
24949169689Skan	rewrite_def_def_chains.
24950169689Skan	If TODO_verify_loops is set, call verify_loop_closed_ssa.
24951169689Skan	(tree_rest_of_compilation):
24952169689Skan	* tree-pass.h (TODO_dump_func, TODO_ggc_collect,
24953169689Skan	TODO_verify_ssa, TODO_verify_flow, TODO_verify_stmts,
24954169689Skan	TODO_cleanup_cfg): Renumber.
24955169689Skan	(TODO_verify_loops, TODO_update_ssa,
24956169689Skan	TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
24957169689Skan	TODO_update_ssa_only_virtuals): Define.
24958169689Skan	(pass_copy_prop, pass_store_ccp, pass_store_copy_prop, pass_vrp):
24959169689Skan	Declare.
24960169689Skan	* tree-phinodes.c (make_phi_node): Update documentation.
24961169689Skan	(remove_all_phi_nodes_for): Remove.
24962169689Skan	(find_phi_node_for): New.
24963169689Skan	* tree-pretty-print.c (dump_generic_node): Handle ASSERT_EXPR.
24964169689Skan	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
24965169689Skan	(interpret_rhs_modify_expr): Likewise.
24966169689Skan	* tree-sra.c (decide_instantiations): Mark all symbols in
24967169689Skan	SRA_CANDIDATES for renaming.
24968169689Skan	(mark_all_v_defs_1): Rename from mark_all_v_defs.
24969169689Skan	(mark_all_v_defs): New function.  Update all users to call it
24970169689Skan	with the whole list of scalarized statements, not just the
24971169689Skan	first one.
24972169689Skan	* tree-ssa-alias.c (count_ptr_derefs): Make extern.
24973169689Skan	(compute_flow_insensitive_aliasing): If the tag is
24974169689Skan	unmodifiable and the variable isn't or vice-versa, don't
24975169689Skan	make them alias of each other.
24976169689Skan	(setup_pointers_and_addressables): If the type tag for
24977169689Skan	VAR is about to change, mark the old one for renaming.
24978169689Skan	(add_type_alias): New.
24979169689Skan	* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
24980169689Skan	(ccp_lattice_t): Rename from latticevalue.
24981169689Skan	(value): Remove.  Update all users.
24982169689Skan	(const_val): New local variable.
24983169689Skan	(do_store_ccp): New local variable.
24984169689Skan	(dump_lattice_value): Handle UNINITIALIZED.
24985169689Skan	(debug_lattice_value): New.
24986169689Skan	(get_default_value): Re-write.
24987169689Skan	(set_lattice_value): Re-write.
24988169689Skan	(def_to_varying): Remove.  Update all users.
24989169689Skan	(likely_value): Return VARYING for statements that make
24990169689Skan	stores when STORE_CCP is false.
24991169689Skan	Return VARYING for any statement other than MODIFY_EXPR,
24992169689Skan	COND_EXPR and SWITCH_EXPR.
24993169689Skan	(ccp_initialize): Re-write.
24994169689Skan	(replace_uses_in, replace_vuse_in, substitute_and_fold):
24995169689Skan	Move to tree-ssa-propagate.c.
24996169689Skan	(ccp_lattice_meet): Handle memory stores when
24997169689Skan	DO_STORE_CCP is true.
24998169689Skan	(ccp_visit_phi_node): Likewise.
24999169689Skan	(ccp_fold): Likewise.
25000169689Skan	(evaluate_stmt): Likewise.
25001169689Skan	(visit_assignment): Likewise.
25002169689Skan	(ccp_visit_stmt): Likewise.
25003169689Skan	(execute_ssa_ccp): Add argument 'store_ccp'.  Copy it
25004169689Skan	into DO_STORE_CCP.
25005169689Skan	(do_ssa_ccp): New.
25006169689Skan	(pass_ccp): Use it.
25007169689Skan	(do_ssa_store_ccp): New.
25008169689Skan	(gate_store_ccp): New.
25009169689Skan	(pass_store_ccp): Declare.
25010169689Skan	* tree-ssa-copy.c: Include tree-ssa-propagate.h.
25011169689Skan	(may_propagate_copy): Reformat.
25012169689Skan	Don't abort if ORIG is a virtual and DEST isn't.
25013169689Skan	If NEW does not have alias information but DEST does,
25014169689Skan	copy it.
25015169689Skan	(copy_of, cached_last_copy_of, do_store_copy_prop, enum
25016169689Skan	copy_prop_kind, which_copy_prop): Declare.
25017169689Skan	(stmt_may_generate_copy, get_copy_of_val,
25018169689Skan	get_last_copy_of, set_copy_of_val, dump_copy_of,
25019169689Skan	copy_prop_visit_assignment, copy_prop_visit_cond_stmt,
25020169689Skan	copy_prop_visit_stmt, copy_prop_visit_phi_node,
25021169689Skan	init_copy_prop, fini_copy_prop, execute_copy_prop,
25022169689Skan	gate_copy_prop, do_copy_prop, gate_store_copy_prop,
25023169689Skan	store_copy_prop): New.
25024169689Skan	(pass_copy_prop, pass_store_copy_prop): Declare.
25025169689Skan	* tree-ssa-dom.c (struct opt_stats_d): Add fields
25026169689Skan	'num_const_prop' and 'num_copy_prop'.
25027169689Skan	(cprop_operand): Update them.
25028169689Skan	(dump_dominator_optimization_stats): Dump them.
25029169689Skan	(tree_ssa_dominator_optimize): Call update_ssa instead of
25030169689Skan	rewrite_into_ssa.
25031169689Skan	(loop_depth_of_name): Declare extern.
25032169689Skan	(simplify_cond_and_lookup_avail_expr): Guard against NULL
25033169689Skan	values for LOW or HIGH.
25034169689Skan	(cprop_into_successor_phis): Only propagate if NEW != ORIG.
25035169689Skan	(record_equivalences_from_stmt): Call expr_computes_nonzero.
25036169689Skan	(cprop_operand): Only propagate if VAL != OP.
25037169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Mark symbols in removed
25038169689Skan	statement for renaming.
25039169689Skan	* tree-ssa-loop-im.c (move_computations): Call update_ssa.
25040169689Skan	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call
25041169689Skan	add_type_alias if necessary.
25042169689Skan	Call mark_new_vars_to_rename.
25043169689Skan	(tree_ssa_iv_optimize): If new symbols need to be renamed,
25044169689Skan	mark every statement updated, call update_ssa and
25045169689Skan	rewrite_into_loop_closed_ssa.
25046169689Skan	* tree-ssa-loop-manip.c (add_exit_phis): Do not remove DEF_BB
25047169689Skan	from LIVEIN if VAR is a virtual.
25048169689Skan	* tree-ssa-loop.c (tree_loop_optimizer_init): Call update_ssa.
25049169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle ASSERT_EXPR.
25050169689Skan	(get_call_expr_operands): Reformat statement.
25051169689Skan	(add_stmt_operand): Don't create V_MAY_DEFs for read-only
25052169689Skan	symbols.
25053169689Skan	* tree-ssa-propagate.c (ssa_prop_init): Initialize
25054169689Skan	SSA_NAME_VALUE for every name.
25055169689Skan	(first_vdef, stmt_makes_single_load, stmt_makes_single_store,
25056169689Skan	get_value_loaded_by): New.
25057169689Skan	(replace_uses_in, replace_vuses_in, replace_phi_args_in,
25058169689Skan	substitute_and_fold): Move from tree-ssa-ccp.c.
25059169689Skan	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t,
25060169689Skan	first_vdef, stmt_makes_single_load, stmt_makes_single_store,
25061169689Skan	get_value_loaded_by, replace_uses_in, substitute_and_fold):
25062169689Skan	Declare.
25063169689Skan	* tree-ssa.c (verify_use): Fix error message.
25064169689Skan	(propagate_into_addr, replace_immediate_uses, get_eq_name,
25065169689Skan	check_phi_redundancy, kill_redundant_phi_nodes,
25066169689Skan	pass_redundant_phi): Remove.  Update all users.
25067169689Skan	* tree-vect-transform.c (vect_create_data_ref_ptr): Call
25068169689Skan	add_type_alias, if necessary.
25069169689Skan	* tree-vectorizer.h (struct _stmt_vect_info): Update
25070169689Skan	documentation for field 'memtag'.
25071169689Skan	* tree-vrp.c: New file.
25072169689Skan	* tree.def (ASSERT_EXPR): Define.
25073169689Skan	* tree.h (ASSERT_EXPR_VAR): Define.
25074169689Skan	(ASSERT_EXPR_COND): Define.
25075169689Skan	(SSA_NAME_VALUE_RANGE): Define.
25076169689Skan	(struct tree_ssa_name): Add field 'value_range'.
25077169689Skan	(PHI_REWRITTEN): Remove.
25078169689Skan	(struct tree_phi_node): Remove field 'rewritten'.
25079169689Skan	* doc/invoke.texi (-fdump-tree-storeccp, -ftree-copy-prop,
25080169689Skan	-ftree-store-copy-prop): Document.
25081169689Skan	* doc/tree-ssa.texi: Remove broken link to McCAT's compiler.
25082169689Skan	Document usage of update_ssa.
25083169689Skan
25084169689Skan2005-04-08  David Edelsohn  <edelsohn@gnu.org>
25085169689Skan
25086169689Skan	PR target/20814
25087169689Skan	* config/rs6000/predicates.md (altivec_register_operand): Accept
25088169689Skan	SUBREG.
25089169689Skan	(and64_operand): Do not limit CONST_INT to mask64_operand.
25090169689Skan	(and64_2_operand): Do not limit CONST_INT to mask64_1or2_operand.
25091169689Skan	(and_operand): Do not limit CONST_INT to mask_operand.
25092169689Skan
25093169689Skan2005-04-09  Hans-Peter Nilsson  <hp@axis.com>
25094169689Skan
25095169689Skan	PR rtl-optimization/20466
25096169689Skan	* flow.c (invalidate_mems_from_set): Handle a MEM by checking it
25097169689Skan	for overlap of the address of each list member.
25098169689Skan	(mark_set_1): Call invalidate_mems_from_set for MEMs too.
25099169689Skan
25100169689Skan2005-04-08  Mike Stump  <mrs@apple.com>
25101169689Skan
25102169689Skan	* config/darwin.c (indirect_data): Fix typo in strncmp logic.
25103169689Skan
25104169689Skan	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
25105169689Skan	instead of 4.
25106169689Skan
25107169689Skan2005-04-08  Kazu Hirata  <kazu@cs.umass.edu>
25108169689Skan
25109169689Skan	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Remove.
25110169689Skan
25111169689Skan	* function.c (push_function_context_to): Don't set
25112169689Skan	contains_functions.
25113169689Skan	* function.h (function): Remove contains_functions.
25114169689Skan	(current_function_contains_functions): Remove.
25115169689Skan
25116169689Skan	* function.h (function): Remove instrument_entry_exit.
25117169689Skan	(current_function_instrument_entry_exit): Remove.
25118169689Skan
25119169689Skan	* function.h (nonlocal_labels): Remove.
25120169689Skan
25121169689Skan	* tree.h (STRIP_MAIN_TYPE_NOPS): Remove.
25122169689Skan
25123169689Skan	* genattrtab.c (attr_desc): Remove negative_ok and unsigned_p.
25124169689Skan	(check_attr_value, write_attr_get, write_expr_attr_cache,
25125169689Skan	find_attr, make_internal_attr): Don't reference negative_ok or
25126169689Skan	unsigned_p.
25127169689Skan	* genattrtab.h (ATTR_NEGATIVE_OK, ATTR_UNSIGNED,
25128169689Skan	ATTR_FUNC_UNITS, ATTR_BLOCKAGE): Remove.
25129169689Skan	(ATTR_STATIC): Adjust the value.
25130169689Skan
25131169689Skan	* c-common.h (C_ARTIFICIAL_STRING_P): Remove.
25132169689Skan
25133169689Skan2005-04-08  Ulrich Weigand  <uweigand@de.ibm.com>
25134169689Skan
25135169689Skan	* config/s390/tpf.h (ASM_SPEC): Define.
25136169689Skan
25137169689Skan2005-04-08  Kazu Hirata  <kazu@cs.umass.edu>
25138169689Skan
25139169689Skan	* tree-flow.h: Remove the prototype for
25140169689Skan	redirect_immediate_uses.
25141169689Skan	(TDFA_USE_OPS, TDFA_USE_VOPS): Remove.
25142169689Skan
25143169689Skan2005-04-08  Richard Earnshaw  <richard.earnshaw@arm.com>
25144169689Skan
25145169689Skan	* arm.c (arm_const_double_by_parts): New function.
25146169689Skan	* arm-protos.h (arm_const_double_by_parts): Add prototype.
25147169689Skan	* arm.md (define_split for 64-bit constants): Add another one.
25148169689Skan
25149169689Skan2005-04-08  Andrew MacLeod  <amacleod@redhat.com>
25150169689Skan
25151169689Skan	* tree-ssa-operands.c (correct_use_link): Remove linear scan.
25152169689Skan
25153169689Skan2005-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
25154169689Skan
25155169689Skan	* system.h: Revert last change.
25156169689Skan
25157169689Skan2005-04-08  Richard Sandiford  <rsandifo@redhat.com>
25158169689Skan
25159169689Skan	* config/xtensa/xtensa.h (target_flags, MASK_NO_FUSED_MADD)
25160169689Skan	(MASK_CONST16, TARGET_NO_FUSED_MADD, TARGET_CONST16)
25161169689Skan	(TARGET_SWITCHES): Delete.
25162169689Skan	* config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
25163169689Skan	* config/xtensa/xtensa.md (muladdsf3, mulsubsf3): Check
25164169689Skan	TARGET_FUSED_MADD instead of !TARGET_NO_FUSED_MADD.
25165169689Skan	* config/xtensa/xtensa.opt: New file.
25166169689Skan
25167169689Skan2005-04-08  Ben Elliston  <bje@au.ibm.com>
25168169689Skan
25169169689Skan	* config/fp-bit.c: Include L_mul_tf in #endif comment.
25170169689Skan	* config/fp-bit.h: Tidy comments.
25171169689Skan
25172169689Skan2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
25173169689Skan
25174169689Skan	* system.h: Poison PARAMS.
25175169689Skan
25176169689Skan2005-04-07  Richard Sandiford  <rsandifo@redhat.com>
25177169689Skan
25178169689Skan	* config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
25179169689Skan	(MASK_G_FLOAT, TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT)
25180169689Skan	(TARGET_SWITCHES): Delete.
25181169689Skan	* config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
25182169689Skan	* config/vax/vax.opt: New file.
25183169689Skan
25184169689Skan2005-04-07  Daniel Berlin  <dberlin@dberlin.org>
25185169689Skan
25186169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Fix incorrect comment.
25187169689Skan
25188169689Skan2005-04-07  Ian Lance Taylor  <ian@airs.com>
25189169689Skan
25190169689Skan	* config/iq2000/iq2000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Don't
25191169689Skan	define.
25192169689Skan	* config/mips/mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
25193169689Skan	* config/sparc/sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE):
25194169689Skan	Likewise.
25195169689Skan
25196169689Skan2005-04-07  Kazu Hirata  <kazu@cs.umass.edu>
25197169689Skan
25198169689Skan	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider
25199169689Skan	all immediate uses in PHI nodes.
25200169689Skan
25201169689Skan2005-04-07  Richard Earnshaw  <richard.earnshaw@arm.com>
25202169689Skan
25203169689Skan	* arm.c (arm_const_double_inline_cost): Handle any constant by
25204169689Skan	using gen_lowpart and gen_highpart_mode.
25205169689Skan	(note_invalid_constants): All constants in an RTX with a constraint
25206169689Skan	that permits memory are now pushed to the constant pool.
25207169689Skan	(output_move_double): Delete code to handle reg to reg and
25208169689Skan	constant to reg moves.
25209169689Skan	(const_double_needs_minipool, output_mov_immediate): Delete.
25210169689Skan	* arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
25211169689Skan	CONST_INT and CONST_VECTOR.
25212169689Skan	* arm.md (ANY64): New mode macro.
25213169689Skan	(arm_movdi): Split reg-reg and const-reg moves.  Simplify constraints.
25214169689Skan	(movdf_soft_insn): Split reg-reg and const-reg moves.
25215169689Skan	(split patterns for 64-bit constant and register moves): New.
25216169689Skan	* cirrus.md (cirrus_arm_movdi): Split reg-reg and const-reg moves.
25217169689Skan	(cirrus_movdf_hard_insn): Likewise.
25218169689Skan	* fpa.md (movdf_fpa): Likewise.
25219169689Skan	* iwmmxt.md (iwmmxt_arm_movdi): Likewise.
25220169689Skan	(movv8qi_internal, movv4hi_internal, movv2si_internal): Fix
25221169689Skan	constraints.
25222169689Skan	(movv2si_internal_2): Likewise.
25223169689Skan	* vfp.md (arm_movdi_vfp): Split reg-reg and const-reg moves.
25224169689Skan	(movdf_vfp): Likewise.
25225169689Skan	* arm-protos.h (output_mov_immediate): Delete prototype.
25226169689Skan
25227169689Skan2005-04-07  Joseph S. Myers  <joseph@codesourcery.com>
25228169689Skan
25229169689Skan	PR target/20093
25230169689Skan	* simplify-rtx.c (simplify_unary_operation_1): Check
25231169689Skan	SUBREG_PROMOTED_UNSIGNED_P (op) > 0 for zero-extension.
25232169689Skan
25233169689Skan2005-04-06  James E Wilson  <wilson@specifixinc.com>
25234169689Skan
25235169689Skan	PR target/20717
25236169689Skan	* cgraphunit.c (record_call_1, case FDESC_EXPR): Handle same as
25237169689Skan	ADDR_EXPR.
25238169689Skan
25239169689Skan2004-04-06  Richard Sandiford  <rsandifo@redhat.com>
25240169689Skan
25241169689Skan	* coverage.h (GCOV_TYPE_NODE): Delete.
25242169689Skan	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref)
25243169689Skan	(build_ctr_info_type): Use get_gcov_type () instead of GCOV_TYPE_NODE.
25244169689Skan	* tree-profile.c (tree_gen_edge_profiler, tree_gen_interval_profiler)
25245169689Skan	(tree_gen_pow2_profiler, tree_gen_one_value_profiler): Likewise.
25246169689Skan	* value-prof.c (tree_divmod_fixed_value_transform): Delete.
25247169689Skan
25248169689Skan2004-04-06  Richard Sandiford  <rsandifo@redhat.com>
25249169689Skan
25250169689Skan	PR other/20792
25251169689Skan	* Makefile.in (gcc.pot): Remove options.c dependency.
25252169689Skan	* optc-gen.awk: Don't quote help strings with N_().
25253169689Skan
25254169689Skan2005-04-06  James A. Morrison  <phython@gcc.gnu.org>
25255169689Skan
25256169689Skan	* c-common.c (handle_malloc_atttribute): Only set DECL_IS_MALLOC if
25257169689Skan	the function returns a pointer type.
25258169689Skan
25259169689Skan2005-04-06  Daniel Berlin  <dberlin@dberlin.org>
25260169689Skan
25261169689Skan	* params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): New
25262169689Skan	* params.h (SALIAS_MAX_IMPLICIT_FIELDS): New
25263169689Skan	* doc/invoke.texi: Documnet salias-max-implicit-fields.
25264169689Skan	* tree-ssa-alias.c (struct used_part): Add implicit_uses and
25265169689Skan	explicit_uses members.
25266169689Skan	(get_or_create_used_part_for): Initialize new fields.
25267169689Skan	(fieldoff_compare): New function.
25268169689Skan	(create_overlap_variables_for): Count number of fields, use
25269169689Skan	heuristic to determine whether to create subvars for vars with
25270169689Skan	only implicit uses.
25271169689Skan	Sort the field list by offset and avoid creating duplicate SFT's.
25272169689Skan
25273169689Skan2005-04-06  Richard Sandiford  <rsandifo@redhat.com>
25274169689Skan
25275169689Skan	* c.opt (-F): Remove trailing whitespace from help string.
25276169689Skan	(-finput-charset): Use a tab to separate the switch name and help
25277169689Skan	string.
25278169689Skan	* common.opt (-fsched-stalled-insns, -fsched-stalled-insns-dep)
25279169689Skan	(-ftree-vectorizer-verbose): Likewise.
25280169689Skan
25281169689Skan2005-04-06  Kazu Hirata  <kazu@cs.umass.edu>
25282169689Skan
25283169689Skan	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Look at
25284169689Skan	a PHI argument where a use occurs instead of all PHI arguments.
25285169689Skan
25286169689Skan2005-04-06  Joseph S. Myers  <joseph@codesourcery.com>
25287169689Skan
25288169689Skan	* c-decl.c (finish_decl): Apply pending #pragma weak regardless of
25289169689Skan	scope.
25290169689Skan
25291169689Skan2005-04-06  Kazu Hirata  <kazu@cs.umass.edu>
25292169689Skan
25293169689Skan	* cse.c, tree-flow-inline.h, tree-flow.h, tree-ssa-operands.c,
25294169689Skan	tree-ssa-sink.c, tree.h, config/bfin/bfin.c,
25295169689Skan	config/bfin/bfin.h: Fix comment typos.
25296169689Skan
25297169689Skan2005-04-06  Ranjit Mathew  <rmathew@hotmail.com>
25298169689Skan
25299169689Skan	* doc/install.texi: Update the URL for Jacks.
25300169689Skan	* doc/sourcebuild.texi: Likewise.
25301169689Skan
25302169689Skan2005-04-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
25303169689Skan
25304169689Skan	PR target/17245
25305169689Skan	* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
25306169689Skan	Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.
25307169689Skan
25308169689Skan2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
25309169689Skan
25310169689Skan	* Makefile.in (LIBGCC2_CFLAGS): Revert -pipe change.
25311169689Skan
25312169689Skan2005-04-06  Richard Sandiford  <rsandifo@redhat.com>
25313169689Skan
25314169689Skan	* config/v850/v850-protos.h (override_options): Delete.
25315169689Skan	* config/v850/v850.h (target_flags, MASK_GHS, MASK_LONG_CALLS, MASK_EP)
25316169689Skan	(MASK_PROLOG_FUNCTION, MASK_DEBUG, MASK_V850, MASK_V850E)
25317169689Skan	(MASK_SMALL_SLD, MASK_BIG_SWITCH, MASK_NO_APP_REGS, MASK_DISABLE_CALLT)
25318169689Skan	(MASK_STRICT_ALIGN, MASK_US_BIT_SET, MASK_US_MASK_SET, TARGET_GHS)
25319169689Skan	(TARGET_LONG_CALLS, TARGET_EP, TARGET_PROLOG_FUNCTION, TARGET_V850)
25320169689Skan	(TARGET_BIG_SWITCH, TARGET_DEBUG, TARGET_V850E, TARGET_US_BIT_SET)
25321169689Skan	(TARGET_SMALL_SLD, TARGET_DISABLE_CALLT, TARGET_NO_APP_REGS)
25322169689Skan	(TARGET_STRICT_ALIGN, TARGET_SWITCHES, TARGET_OPTIONS)
25323169689Skan	(OVERRIDE_OPTIONS): Delete.
25324169689Skan	(MASK_CPU): Redefine as MASK_V850 | MASK_V850E.
25325169689Skan	(small_memory_info): Remove the value field.
25326169689Skan	(CONDITIONAL_REGISTER_USAGE): Check !TARGET_APP_REGS rather than
25327169689Skan	TARGET_NO_APP_REGS.
25328169689Skan	* config/v850/v850.c (small_memory): Remove the value field.
25329169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
25330169689Skan	(override_options): Delete.
25331169689Skan	(v850_handle_memory_option, v850_handle_option): New functions.
25332169689Skan	* config/v850/v850.opt: New file.
25333169689Skan
25334169689Skan2005-04-06  Geoffrey Keating  <geoffk@apple.com>
25335169689Skan
25336169689Skan	* config.host: Add a section for generic hosts, and a subsection
25337169689Skan	for Darwin.  Add a case for x86-darwin.  Update ppc-darwin case.
25338169689Skan	* config/host-darwin.c: New, split out of config/rs6000/host-darwin.c.
25339169689Skan	* config/host-darwin.h: New.
25340169689Skan	* config/x-darwin: New.
25341169689Skan	* config/i386/host-i386-darwin.c: New.
25342169689Skan	* config/i386/x-darwin: New.
25343169689Skan	* config/rs6000/host-darwin.c: Include host-darwin.h.
25344169689Skan	(darwin_rs6000_gt_pch_get_address): Move to config/host-darwin.c.
25345169689Skan	(darwin_rs6000_gt_pch_use_address): Likewise.
25346169689Skan	* config/rs6000/x-darwin: Change name of .o built, update
25347169689Skan	dependencies for changes to rs6000/host-darwin.c.
25348169689Skan
25349169689Skan2005-04-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
25350169689Skan
25351169689Skan	PR target/17824
25352169689Skan	* config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
25353169689Skan
25354169689Skan2005-04-06  Dorit Naishlos  <dorit@il.ibm.com>
25355169689Skan
25356169689Skan	* tree-vect-analyze.c (vect_analyze_loop_form): Call
25357169689Skan	split_loop_exit_edge instead of loop_split_edge_with.
25358169689Skan
25359169689Skan2005-04-06  Paolo Bonzini  <bonzini@gnu.org>
25360169689Skan
25361169689Skan	* config/rs6000/altivec.md (UNSPEC_VSLW, UNSPEC_SUBS,
25362169689Skan	UNSPEC_SET_VSCR): New constants, used throughout.
25363169689Skan	(*andc3_v4sf): New.
25364169689Skan	(altivec_vspltisb, altivec_vsplitish, altivec_vsplitisw):
25365169689Skan	Replace with...
25366169689Skan	(altivec_vspltis<VI_char>): ... this pattern, using
25367169689Skan	a QImode const_int_operand for the immediate.
25368169689Skan	(abs<mode>2, absv4sf2, altivec_abss_<mode>): Rewrite as
25369169689Skan	define_expands.
25370169689Skan
25371169689Skan2005-04-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
25372169689Skan
25373169689Skan	PR target/17822
25374169689Skan	* config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
25375169689Skan
25376169689Skan2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
25377169689Skan
25378169689Skan	* Makefile.in (LIBGCC2_CFLAGS): Compile with -pipe.
25379169689Skan
25380169689Skan2005-04-06  Ben Elliston  <bje@au.ibm.com>
25381169689Skan
25382169689Skan	* gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and
25383169689Skan	DEFAULT_WORD_SWITCH_TAKES_ARG which incorrectly reported these
25384169689Skan	macros as living in "this file" and not gcc.h.
25385169689Skan
25386169689Skan2005-04-06  Ben Elliston  <bje@au.ibm.com>
25387169689Skan
25388169689Skan	* doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not
25389169689Skan	-ftree-live_range_split.  Perhaps renamed at some point?
25390169689Skan
25391169689Skan2005-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
25392169689Skan
25393169689Skan	PR target/20625
25394169689Skan	* tree-ssa-loop-ivopts.c (generic_type_for): New function.
25395169689Skan	(add_candidate_1): Use generic_type_for instead of unsigned_type_for.
25396169689Skan
25397169689Skan2005-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
25398169689Skan
25399169689Skan	* tree-flow.h (number_of_iterations_cond): Declaration removed.
25400169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond): Made static.
25401169689Skan	(number_of_iterations_special): New function.
25402169689Skan	(number_of_iterations_exit): Use number_of_iterations_special.
25403169689Skan	Use simplify_using_outer_evolutions only at -O3.
25404169689Skan	(number_of_iterations_cond, tree_simplify_using_condition,
25405169689Skan	simplify_using_initial_conditions, loop_niter_by_eval,
25406169689Skan	compare_trees, can_count_iv_in_wider_type_bound,
25407169689Skan	simplify_using_outer_evolutions): Use fold_build.
25408169689Skan
25409169689Skan2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>
25410169689Skan
25411169689Skan	* doc/install.texi (Configuration): Document --with-java-home.
25412169689Skan
25413169689Skan2005-04-05  Richard Henderson  <rth@redhat.com>
25414169689Skan
25415169689Skan	PR target/20342
25416169689Skan	PR target/20447
25417169689Skan	* config/i386/i386.c (print_operand): Handle vector zeros.
25418169689Skan	(ix86_split_to_parts): Handle CONST_VECTOR.
25419169689Skan	(ix86_hard_regno_mode_ok): Allow MMX modes in general regs.
25420169689Skan	(ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide
25421169689Skan	what modes to tie for MMX and SSE registers.
25422169689Skan	* config/i386/i386.h (MMX_REG_MODE_P): Remove.
25423169689Skan	* config/i386/i386.md: Extend move 0 -> xor peephole to apply
25424169689Skan	to vector modes as well.
25425169689Skan	* config/i386/predicates.md (const0_operand): Handle VOIDmode
25426169689Skan	properly as an input mode.
25427169689Skan
25428169689Skan2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
25429169689Skan
25430169689Skan	* tree-ssa-operands.c (verify_abort): Use %p for pointers.
25431169689Skan
25432169689Skan2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
25433169689Skan
25434169689Skan	* tree-pretty-print.c (dump_generic_node): Use %p for pointer.
25435169689Skan
25436169689Skan2005-04-05  Jakub Jelinek  <jakub@redhat.com>
25437169689Skan
25438169689Skan	* config/i386/i386.c (init_cumulative_args): For -m32 -mfpmath=sse
25439169689Skan	and local functions, set sse_nregs to 8 and float_in_sse.
25440169689Skan	(function_arg_advance, function_arg): If float_in_sse, pass
25441169689Skan	SFmode and DFmode arguments in SSE registers.
25442169689Skan	* config/i386/i386.h (CUMULATIVE_ARGS): Add float_in_sse field.
25443169689Skan
25444169689Skan	* config/i386/i386.c (ix86_value_regno): Only optimize local functions
25445169689Skan	of -funit-at-a-time.
25446169689Skan
25447169689Skan2005-04-05  Paolo Bonzini  <bonzini@gnu.org>
25448169689Skan
25449169689Skan	* config/i386/i386-protos.h (ix86_function_value): Accept two
25450169689Skan	arguments, like the target macro.
25451169689Skan	* config/i386/i386.h (FUNCTION_VALUE): Pass both arguments.
25452169689Skan	* config/i386/i386.c (ix86_function_value): Accept the second
25453169689Skan	argument of the target macro.
25454169689Skan	(ix86_function_ok_for_sibcall): Pass a function pointer to
25455169689Skan	ix86_function_value.
25456169689Skan	(ix86_function_value, ix86_libcall_value) [!TARGET_64BIT]: Adjust
25457169689Skan	call to ix86_value_regno).
25458169689Skan	(ix86_value_regno): Add support for returning floating point values
25459169689Skan	in SSE registers.
25460169689Skan
25461169689Skan2005-04-05  Jakub Jelinek  <jakub@redhat.com>
25462169689Skan
25463169689Skan	PR tree-optimization/20076
25464169689Skan	* tree-inline.c (inline_forbidden_p_1): Prevent inlining functions
25465169689Skan	that call __builtin_return or __builtin_apply_args.
25466169689Skan
25467169689Skan2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
25468169689Skan
25469169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt.
25470169689Skan	Use immediate use iterator.
25471169689Skan	(stmt_is_bumper_for_loop): Use immediate use iterator.
25472169689Skan	* predict.c (strip_builtin_expect): Use update_stmt.
25473169689Skan	* tree-cfg.c (update_modified_stmts): New. Call update_stmt_if_modified
25474169689Skan	on all elements of a STATEMENT_LIST.
25475169689Skan	(bsi_insert_before, bsi_insert_after): Call update_modified_stmts.
25476169689Skan	(bsi_remove): Remove imm_use links and mark the stmt as modified.
25477169689Skan	(bsi_replace): Mark stmt as modified and the update it.
25478169689Skan	* tree-complex.c (update_complex_assignment): Call mark_stmt_modified.
25479169689Skan	(expand_complex_libcal): Call update_stmt.
25480169689Skan	(expand_complex_comparison): Call mark_stmt_modified.
25481169689Skan	(expand_complex_operations_1): Call update_stmt_if_modified.
25482169689Skan	(expand_vector_operations_1): Call mark_stmt_modified.
25483169689Skan	* tree-dfa.c (compute_immediate_uses, free_df_for_stmt, free_df,
25484169689Skan	compute_immediate_uses_for_phi, compute_immediate_uses_for_stmt,
25485169689Skan	add_immediate_use, redirect_immediate_use,
25486169689Skan	redirect_immediate_uses, dump_immediate_uses, debug_immediate_uses,
25487169689Skan	dump_immediate_uses_for, debug_immediate_uses_for): Delete.
25488169689Skan	(mark_new_vars_to_rename): Call update_stmt.
25489169689Skan	* tree-dump.c (dump_option_value_in): Add "stmtaddr".
25490169689Skan	* tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
25491169689Skan	Ignore PHI nodes.
25492169689Skan	(unmodify_stmt): Delete.
25493169689Skan	(update_stmt): New.  Force an update of a stmt.
25494169689Skan	(update_stmt_if_modified): update a stmt if it is out of date.
25495169689Skan	(get_stmt_operands): Verify stmt is NOT modified.
25496169689Skan	(stmt_modified_p): Update comment.
25497169689Skan	(delink_imm_use): Remove a use node from its immuse list.
25498169689Skan	(link_imm_use_to_list): Link a use node to a specific list.
25499169689Skan	(link_imm_use): Link a node to the correct list.
25500169689Skan	(set_ssa_use_from_ptr): Set a use node to a specific value, and insert
25501169689Skan	it in the correct list, if appropriate.
25502169689Skan	(link_imm_use_stmt): Link a use node, and set the stmt pointer.
25503169689Skan	(relink_imm_use): Link a use node in place of another node in a list.
25504169689Skan	(relink_imm_use_stmt): LInk a node in place of another node, and set
25505169689Skan	the stmt pointer.
25506169689Skan	(end_safe_imm_use_traverse): New.  Terminate a safe immuse iterator.
25507169689Skan	(end_safe_imm_use_p): New.  Check for the end of a safe immuse iterator.
25508169689Skan	(first_safe_imm_use): New.  Initialize a safe immuse iterator.
25509169689Skan	(next_safe_imm_use): New.  Proceed to next safe immuse iterator value.
25510169689Skan	(end_readonly_imm_use_p): New.  Check for end of a fast immuse iterator.
25511169689Skan	(first_readonly_imm_use): New.  Initialize a fast immuse iterator.
25512169689Skan	(next_readonly_imm_use): New.  Get the next fast immuse iterator value.
25513169689Skan	(has_zero_uses): New.  Return true if there are no uses of a var.
25514169689Skan	(has_single_use): New.  Return true if there is only a single use of a
25515169689Skan	variable.
25516169689Skan	(single_imm_use): New.  Return the simgle immediate use.
25517169689Skan	(num_imm_uses): New.  Return the number of immediate uses.
25518169689Skan	(get_v_must_def_ops): Use is now a pointer.
25519169689Skan	(use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr,
25520169689Skan	get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
25521169689Skan	the use node.
25522169689Skan	(get_immediate_uses, num_immediate_uses, immediate_use): Delete.
25523169689Skan	(delink_stmt_imm_use): Delink all immuses from a stmt.
25524169689Skan	(phi_arg_index_from_use): New.  Return a phi arg index for a use.
25525169689Skan	* tree-flow.h (struct dataflow_d): Delete.
25526169689Skan	(immediate_use_iterator_d): New.  Immediate use iterator struct.
25527169689Skan	(FOR_EACH_IMM_USE_FAST): New.  Macro for read only immuse iteration.
25528169689Skan	(FOR_EACH_IMM_USE_SAFE): New.  Macro for write-safe immuse iteration.
25529169689Skan	(BREAK_FROM_SAFE_IMM_USE): New.  Macro for earlyu exit from write-safe
25530169689Skan	iteration.
25531169689Skan	(struct stmt_ann_d): Remove dataflow_t from struct.
25532169689Skan	* tree-if-conv.c (tree_if_conversion).  Don't call free_df.
25533169689Skan	(if_convertible_phi_p): Use FAST immuse iterator.
25534169689Skan	(if_convertible_loop_p): Don't call compute_immediate_uses.
25535169689Skan	(replace_phi_with_cond_modify_expr): Call update_stmt.
25536169689Skan	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
25537169689Skan	update_stmt_if_modified.
25538169689Skan	(rewrite_all_into_ssa): Initialize ssa operands.
25539169689Skan	* tree-loop-linear.c (linear_transform_loops): Don't call free_df or
25540169689Skan	compute_immediate_uses.
25541169689Skan	* tree-optimize.c (execute_todo): Call verify_ssa whenever the
25542169689Skan	ssa_property is available.
25543169689Skan	(execute_one_pass): Change parameters passed to execute_todo.
25544169689Skan	* tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt.
25545169689Skan	(remove_ssa_form): Call fini_ssa_operands.
25546169689Skan	(insert_backedge_copies): Delete call to modify_stmt.
25547169689Skan	* tree-phinodes.c (make_phi_node): Initialize use nodes.
25548169689Skan	(release_phi_node): Delink any use nodes before releasing.
25549169689Skan	(resize_phi_node): Relink any use nodes.
25550169689Skan	(remove_phi_arg_num): Delink the use node.
25551169689Skan	(remove_phi_node): Release the ssa_name AFTER releasing the phi node.
25552169689Skan	(remove_all_phi_nodes_for): Release phi node first.
25553169689Skan	* tree-pretty-print.c (dump_generic_node): Print stmt address.
25554169689Skan	* tree-sra.c (mark_all_v_defs): Call update_stmt_if_modified.
25555169689Skan	(scalarize_use, scalarize_copy): Call update_stmt.
25556169689Skan	* tree-ssa-alias.c (compute_may_aliases): Update all modified stmts.
25557169689Skan	(compute_points_to_and_addr_escape): Call mark_stmt_modified.
25558169689Skan	* tree-ssa-cpp.c (need_imm_uses_for): Delete.
25559169689Skan	(ccp_initialize): Remove call to compute_immediate_uses.
25560169689Skan	(substitute_and_fold, execute_fold_all_builtins): Call update_stmt.
25561169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
25562169689Skan	stmts.
25563169689Skan	(simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified.
25564169689Skan	(simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified.
25565169689Skan	(eliminate_redundant_computations): Call mark_stmt_modified.
25566169689Skan	(cprop_operand): Call mark_stmt_modified.
25567169689Skan	(optimize_stmt): Call update_stmt_if_modified and mark_stmt_modified.
25568169689Skan	* tree-ssa-dse.c (fix_phi_uses, fix_stmt_v_may_defs): Delete.
25569169689Skan	(dse_optimize_stmt): Use new immuse interface.
25570169689Skan	(tree_ssa_dse): Remove calls to compute_immediate_uses and free_df.
25571169689Skan	* tree-ssa-forwprop.c (need_imm_uses_for): Delete.
25572169689Skan	(substitute_single_use_vars): Use new immuse interface.
25573169689Skan	(tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df
25574169689Skan	and compute_immediate_uses.
25575169689Skan	* tree-ssa-loop-im.c (single_reachable_address): Use new immuse
25576169689Skan	interface.
25577169689Skan	(rewrite_mem_refs): Call update_stmt.
25578169689Skan	(determine_lsm): Remove call to compute_imm_uses and free_df.
25579169689Skan	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Call update_stmt.
25580169689Skan	(try_unroll_loop_completely): Call update_stmt.
25581169689Skan	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call update_stmt.
25582169689Skan	(rewrite_use_compare): Call update_stmt.
25583169689Skan	(compute_phi_arg_on_exit): Insert each stmt before trying to process.
25584169689Skan	(rewrite_use) : Call update_stmt.
25585169689Skan	* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call.
25586169689Skan	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
25587169689Skan	update_stmt.
25588169689Skan	* tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration.
25589169689Skan	(allocate_use_optype, allocate_vuse_optype): Adjust allocation size.
25590169689Skan	(free_uses, free_vuses, free_v_may_defs, free_v_must_defs): Delink
25591169689Skan	use nodes.
25592169689Skan	(initialize_vuse_operand): New.  Initialize a vuse operand.
25593169689Skan	(initialize_v_may_def_operand): New.  Initialize a maydef operand.
25594169689Skan	(initialize_v_must_def_operand): New.  Initialize a mustdef operand.
25595169689Skan	(finalize_ssa_defs): Use stmt parameter.
25596169689Skan	(correct_use_link): Ensure a use node is in the correct list, and has
25597169689Skan	the correct stmt pointer.
25598169689Skan	(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_vuses,
25599169689Skan	finalize_ssa_v_must_defs): Also initialize use nodes.
25600169689Skan	(finalize_ssa_stmt_operands): Pass extra stmt operands.
25601169689Skan	(build_ssa_operands): Seperate parsing from final operand construction.
25602169689Skan	(parse_ssa_operands): New.  Parse entry point for operand building.
25603169689Skan	(swap_tree_operands): New.  Swap 2 tree operands.
25604169689Skan	(update_stmt_operands): Ranamed from get_stmt_operands.  Always builds
25605169689Skan	operands.
25606169689Skan	(get_expr_operands): Call swap_tree_operands when needed.
25607169689Skan	(copy_virtual_operands): Use initialize routines for virtual use ops.
25608169689Skan	(create_ssa_artficial_load_stmt): Add extra stmt parameter.
25609169689Skan	(verify_abort): New.  Issue imm_use error.
25610169689Skan	(verify_imm_links): New Verify imm_use links for a var.
25611169689Skan	(dump_immediate_uses_for): New.  Dump imm_uses for a var to file.
25612169689Skan	(dump_immediate_uses): New.  Dump imm_uses for all vars to file.
25613169689Skan	(debug_immediate_uses): New.  Dump imm_uses for all vars to stderr.
25614169689Skan	(debug_immediate_uses_for): New.  Dump imm_uses for a var to stderr.
25615169689Skan	* tree-ssa-operands.h (struct use_operand_ptr): Delete.
25616169689Skan	(NULL_USE_OPERAND_P) Define.
25617169689Skan	(use_optype_d, v_def_use_operand_type, vuse_optype_d): Add immediate
25618169689Skan	use node.
25619169689Skan	(struct vuse_operand_type): New struct.
25620169689Skan	(SET_USE): Call set_ssa_use_from_ptr.
25621169689Skan	(USE_STMT): Define.
25622169689Skan	(PHI_ARG_INDEX_FROM_USE): Define.
25623169689Skan	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
25624169689Skan	argument via SET_USE, not PHI_ARG_DEF_TREE.
25625169689Skan	* tree-ssa-pre.c (eliminate): Call update_stmt.
25626169689Skan	* tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators.  Don't
25627169689Skan	call free_df.
25628169689Skan	* tree-ssa-sink.c (all_immediate_uses_same_place): Use imm_use iterator.
25629169689Skan	(nearest_common_dominator_of_uses): Use imm_use iterator.
25630169689Skan	(statement_sink_location): Use imm_use iterator and interface.
25631169689Skan	(execute_sink_code): Don't call compute_immediate_uses or free-df.
25632169689Skan	* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Use
25633169689Skan	PHI_ARG_DEF, not PHI_ARG_DEF_TREE.
25634169689Skan	* tree-ssa.c (verify_use, verify_phi_args): Verify some imm_use info.
25635169689Skan	(verify_ssa): Ensure no stmt is marked modify after optimization pass
25636169689Skan	if new parameter is true.
25637169689Skan	(init_tree_ssa): Don't initialize operand cache here.
25638169689Skan	(delete_tree_ssa): Don't destroy operand cache here.
25639169689Skan	(propagate_into_addr): Pass in a use pointer, return true if anything
25640169689Skan	was changed.
25641169689Skan	(replace_immediate_uses): Use imm_use iterator, call update_stmt.
25642169689Skan	(check_phi_redundancy): Use imm_use iterator.
25643169689Skan	(kill_redundant_phi_nodes): Don't call compute_immediate_uses or
25644169689Skan	free_df.
25645169689Skan	* tree-ssanames.c (make_ssa_name): Initialize imm_use node.
25646169689Skan	(release_ssa_name): Delink node and all elements in its imm_use list.
25647169689Skan	* tree-tailcall.c (adjust_return_value): Call update_stmt.
25648169689Skan	* tree-vect-analyze.c (vect_stmt_relevant_p): Use imm_use iterator.
25649169689Skan	* tree-vectorizer.c (need_imm_uses_for): Delete.
25650169689Skan	(vectorize_loops): Dont call compute_immediate_uses or free_df.
25651169689Skan	* tree.h (struct ssa_imm_use_d): Define.
25652169689Skan	(SSA_NAME_IMM_USE_NODE): Define.
25653169689Skan	(struct tree_ssa_name): Add imm_use node.
25654169689Skan	(PHI_DF): Delete.
25655169689Skan	(PHI_ARG_IMM_USE_NODE): Define.
25656169689Skan	(struct phi_arg_d): Add imm_use node.
25657169689Skan	(struct tree_phi_node): Remove struct dataflow_d element.
25658169689Skan	(TDF_STMTADDR): Define.
25659169689Skan
25660169689Skan2005-04-05  Dale Johannesen  <dalej@apple.com>
25661169689Skan
25662169689Skan	* doc/invoke.texi (Optimization Options): Remove
25663169689Skan	duplicate -fcse-follow-jumps.  Add -fweb.
25664169689Skan	(-ftree-lim): Fix spelling (-ftree-loop-im, invariants).
25665169689Skan	(-fivcanon): Fix spelling (-ftree-loop-ivcanon).
25666169689Skan
25667169689Skan2005-04-05  Per Bothner  <per@bothner.com>
25668169689Skan
25669169689Skan	* tree-ssa.c (execute_early_warn_uninitialized): Pass context node
25670169689Skan	to talk_tree as 'data' parameter, rather than EXPR_LOCUS.
25671169689Skan	(warn_uninit): Get EXPR_LOCUS from context now instead.
25672169689Skan	This fixes a USE_MAPPED_LOCATION testsuite failure.
25673169689Skan
25674169689Skan	* tree-ssa.c (warn_uninitialized_var): Remove useless local.
25675169689Skan
25676169689Skan2005-04-05  Per Bothner  <per@bothner.com>
25677169689Skan
25678169689Skan	* c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location
25679169689Skan	of the artification 'return 0' in main() to BUILTINS_LOCATION.
25680169689Skan	* tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION
25681169689Skan	before warning.
25682169689Skan
25683169689Skan2004-04-05  Devang Patel  <dpatel@apple.com>
25684169689Skan
25685169689Skan	* config/rs600/altivec.md (altivec_vsr<VI_char>): Rename to ..
25686169689Skan	(lhsr<mode>3): ... new name.
25687169689Skan	(altivec_vsra<VI_char>): Rename to ..
25688169689Skan	(ashr<mode>3): ... new name.
25689169689Skan	* config/rs6000/rs6000.c (builtin_description): Rename shift
25690169689Skan	operations.
25691169689Skan
25692169689Skan2004-04-05  Paolo Bonzini  <bonzini@gnu.org>
25693169689Skan
25694169689Skan	* combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use
25695169689Skan	gen_lowpart_for_combine.
25696169689Skan	* cse.c (gen_lowpart_if_possible): Move...
25697169689Skan	* rtlhooks.c (gen_lowpart_if_possible): ... here.  Also try
25698169689Skan	gen_lowpart_SUBREG.
25699169689Skan	(gen_lowpart_no_emit_general): Use it.
25700169689Skan
25701169689Skan2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
25702169689Skan
25703169689Skan	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before
25704169689Skan	overriding.
25705169689Skan
25706169689Skan2005-04-05  Paolo Bonzini  <bonzini@gnu.org>
25707169689Skan
25708169689Skan	* system.h: Fix typo.
25709169689Skan
25710169689Skan2005-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
25711169689Skan
25712169689Skan	* config/bfin/bfin-modes.def: New file.
25713169689Skan	* config/bfin/bfin-protos.h: New file.
25714169689Skan	* config/bfin/bfin.c: New file.
25715169689Skan	* config/bfin/bfin.h: New file.
25716169689Skan	* config/bfin/bfin.md: New file.
25717169689Skan	* config/bfin/bfin.opt: New file.
25718169689Skan	* config/bfin/crti.s: New file.
25719169689Skan	* config/bfin/crtn.s: New file.
25720169689Skan	* config/bfin/elf.h: New file.
25721169689Skan	* config/bfin/lib1funcs.asm: New file.
25722169689Skan	* config/bfin/predicates.md: New file.
25723169689Skan	* config/bfin/t-bfin: New file.
25724169689Skan	* config/bfin/t-bfin-elf: New file.
25725169689Skan	* doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler):
25726169689Skan	Document new attributes.
25727169689Skan	(interrupt, interrupt_handler, saveall): Update documentation for
25728169689Skan	these attributes.
25729169689Skan	* doc/install.texi (Specific): Add entry for the Blackfin.
25730169689Skan	* doc/invoke.texi (Blackfin Options): New section.
25731169689Skan	* doc/md.texi (Blackfin family): New section to document constraints.
25732169689Skan	* config.gcc: Add bfin*-* and bfin*-elf configurations.
25733169689Skan
25734169689Skan2005-04-05  Olivier Hainque  <hainque@adacore.com>
25735169689Skan
25736169689Skan	* config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
25737169689Skan	match what the system unwinder expects.
25738169689Skan	* config/mips/mips.c (mips_frame_set): If we're saving the return
25739169689Skan	address register and the dwarf return address column number differs
25740169689Skan	from the hard register number, adjust the note reg to refer to the
25741169689Skan	former.
25742169689Skan
25743169689Skan2004-04-05  Richard Sandiford  <rsandifo@redhat.com>
25744169689Skan
25745169689Skan	* config/mn10300/mn10300-protos.h (mn10300_override_options): Declare.
25746169689Skan	* config/mn10300/mn10300.h (target_flags, TARGET_MULT_BUG)
25747169689Skan	(TARGET_SWITCHES, TARGET_DEFAULT): Delete.
25748169689Skan	(processor_type): New enum.
25749169689Skan	(mn10300_processor): New variable.
25750169689Skan	(TARGET_AM33, TARGET_AM33_2): Redefine in terms of mn10300_processor.
25751169689Skan	(PROCESSOR_DEFAULT, OVERRIDE_OPTIONS): New macros.
25752169689Skan	* config/mn10300/linux.h (TARGET_SWITCHES, TARGET_DEFAULT): Delete.
25753169689Skan	(PROCESSOR_DEFAULT): New macro.
25754169689Skan	* config/mn10300/mn10300.c (mn10300_processor): New variable.
25755169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
25756169689Skan	(mn10300_handle_option, mn10300_override_options): New functions.
25757169689Skan	* config/mn10300/mn10300.opt: New file.
25758169689Skan
25759169689Skan2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
25760169689Skan	    Sebastian Pop <sebastian.pop@cri.ensmp.fr>
25761169689Skan
25762169689Skan	PR tree-optimization/19903
25763169689Skan	* tree-chrec.c (chrec_convert): Return chrec_dont_know for constants
25764169689Skan	that don't fit in their type after conversion.
25765169689Skan
25766169689Skan2005-04-05  Uros Bizjak <uros@kss-loka.si>
25767169689Skan
25768169689Skan	PR target/20421
25769169689Skan	* config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
25770169689Skan	(frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
25771169689Skan	Allocate local stack slots here.  Set ix86_optimize_mode_switching.
25772169689Skan	flag here. Implement using define_insn_and_split.
25773169689Skan	(frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
25774169689Skan	(frndintxf2_mask_pm_i387): New insn patterns.
25775169689Skan	(floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
25776169689Skan	Do not set ix86_optimize_mode_switching flag.
25777169689Skan	(ceilsf2, ceildf2, ceilxf2): Same.
25778169689Skan	(btruncsf2, btruncdf2, btruncxf2): Same.
25779169689Skan	(nearbyintsf2, nearbyintdf2, nearbyintxf2): Same.
25780169689Skan
25781169689Skan2005-04-05  Ian Lance Taylor  <ian@airs.com>
25782169689Skan
25783169689Skan	PR debug/9963
25784169689Skan	* config/i386/cygming.h (ASM_OUTPUT_EXTERNAL): Pass DECL to
25785169689Skan	i386_pe_record_external_function.
25786169689Skan	(i386_pe_record_external_function): Update declaration.
25787169689Skan	* config/i386/winnt.c (struct extern_list): Add decl field.
25788169689Skan	(i386_pe_record_external_function): Add decl parameter.
25789169689Skan	(i386_pe_file_end): Check TREE_ASM_WRITTEN on decl, not
25790169689Skan	identifier.
25791169689Skan	* config/i386/i386-protos.h (i386_pe_record_external_function):
25792169689Skan	Update declaration.
25793169689Skan
25794169689Skan2005-04-05  Kazu Hirata  <kazu@cs.umass.edu>
25795169689Skan
25796169689Skan	* config/m68k/m68k-protos.h: Add a prototype for
25797169689Skan	valid_dbcc_comparison_p_2.
25798169689Skan	* config/m68k/m68k.c (not_sp_operand, symbolic_operand,
25799169689Skan	extend_operator, const_uint32_operand, const_sint32_operand,
25800169689Skan	general_src_operand, nonimmediate_src_operand,
25801169689Skan	memory_src_operand, post_inc_operand, pre_dec_operand,
25802169689Skan	pcrel_address): Move to predicates to predicates.md.
25803169689Skan	* config/m68k/m68k.h (PREDICATE_CODES): Remove.
25804169689Skan	* config/m68k/m68k.md: Include predicates.md.
25805169689Skan	* config/m68k/predicates.md: New.
25806169689Skan
25807169689Skan2005-04-04  Roger Sayle  <roger@eyesopen.com>
25808169689Skan
25809169689Skan	* config/i386/i386.md (*truncdfsf2_i387_1): New pattern.
25810169689Skan
25811169689Skan	* fold-const.c (maybe_lvalue_p): Delete orphaned comment.
25812169689Skan
25813169689Skan2005-04-04  Ian Lance Taylor  <ian@airs.com>
25814169689Skan
25815169689Skan	* c-typeck.c (struct c_switch): Rename switch_stmt field to
25816169689Skan	switch_expr.
25817169689Skan	(c_start_case): Build SWITCH_EXPR, not SWITCH_STMT.
25818169689Skan	(do_case): Use SWITCH_COND rather than SWITCH_STMT_COND.
25819169689Skan	(c_finish_case): Use SWITCH_BODY rather than SWITCH_STMT_BODY.
25820169689Skan	Call c_do_switch_expr_warnings rather than c_do_switch_warnings.
25821169689Skan	* c-common.c (c_do_switch_warnings_1): New static function broken
25822169689Skan	out of c_do_switch_warnings.
25823169689Skan	(c_do_switch_warnings): Call c_do_switch_warnings_1.
25824169689Skan	(c_do_switch_expr_warnings): New function.
25825169689Skan	* c-common.h (c_do_switch_expr_warnings): Declare.
25826169689Skan
25827169689Skan2005-04-04  David Edelsohn  <edelsohn@gnu.org>
25828169689Skan	    Daniel Jacobowitz  <dan@codesourcery.com>
25829169689Skan
25830169689Skan	* tree-eh.c (tree_could_trap_p): Allow non-constant floating point
25831169689Skan	trapping divide.
25832169689Skan	* rtlanal.c (may_trap_p): Same.
25833169689Skan
25834169689Skan2005-04-04  Dale Johannesen  <dalej@apple.com>
25835169689Skan
25836169689Skan	* ChangeLog: remove reference to ChangeLog.12.
25837169689Skan
25838169689Skan2005-04-05  Hans-Peter Nilsson  <hp@axis.com>
25839169689Skan
25840169689Skan	CRIS epilogue as RTL.
25841169689Skan	* config/cris/cris.md: Change all 0 in unspec 0 to
25842169689Skan	CRIS_UNSPEC_PLT.
25843169689Skan	(CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants.
25844169689Skan	("*cris_load_multiple", "cris_frame_deallocated_barrier"): New
25845169689Skan	patterns.
25846169689Skan	("return"): Change to define_expand.  Call cris_expand_return for
25847169689Skan	actual expansion.
25848169689Skan	("*return_expanded"): New pattern.
25849169689Skan	("epilogue"): New define_expand.
25850169689Skan	* config/cris/cris.h (PREDICATE_CODES): Add
25851169689Skan	cris_load_multiple_op.
25852169689Skan	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Correct test for unspec
25853169689Skan	type.
25854169689Skan	(enum cris_retinsn_type): New.
25855169689Skan	(struct machine_function): New member return_type.
25856169689Skan	(TARGET_ASM_FUNCTION_EPILOGUE): Don't override.
25857169689Skan	(cris_target_asm_function_epilogue): Remove, moving RTLified
25858169689Skan	contents to...
25859169689Skan	(cris_expand_epilogue): New function.
25860169689Skan	(cris_reg_saved_in_regsave_area, cris_movem_load_rest_p,
25861169689Skan	(cris_gen_movem_load, cris_load_multiple_op)
25862169689Skan	(cris_return_address_on_stack_for_return, cris_expand_return): New
25863169689Skan	functions.
25864169689Skan	(cris_target_asm_function_prologue)
25865169689Skan	(cris_initial_frame_pointer_offset): Call
25866169689Skan	cris_reg_saved_in_regsave_area instead of complicated expression.
25867169689Skan	Call cris_return_address_on_stack instead of an expression.
25868169689Skan	(cris_print_operand) <case 'o', case 'O'>: New cases.
25869169689Skan	(cris_return_address_on_stack): Change return-type to bool.
25870169689Skan	(cris_simple_epilogue): Ditto.  Return false if registers are
25871169689Skan	saved.
25872169689Skan	* config/cris/cris-protos.h (cris_simple_epilogue)
25873169689Skan	(cris_return_address_on_stack): Adjust prototype return type.
25874169689Skan	(cris_gen_movem_load, cris_expand_epilogue, cris_expand_return)
25875169689Skan	(cris_return_address_on_stack_for_return): New prototypes.
25876169689Skan
25877169689Skan2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
25878169689Skan
25879169689Skan	* config/frv/frv.h (PREDICATE_CODES): Add CONST to
25880169689Skan	gpr_or_int12_operand.
25881169689Skan
25882169689Skan	* config/frv/frv-protos.h: Add a prototype to
25883169689Skan	frv_legitimate_memory_operand and frv_const_unspec_p.
25884169689Skan	(frv_unspec): Move from frv.c.
25885169689Skan	* config/frv/frv.c (frv_unspec): Move to frv-protos.h.
25886169689Skan	(frv_const_unspec_p, frv_legitimate_memory_operand_): Export.
25887169689Skan	(ldd_address_operand, fdpic_fptr_operand, frv_load_operand,
25888169689Skan	gpr_or_fpr_operand, gpr_or_int12_operand,
25889169689Skan	gpr_fpr_or_int12_operand, fpr_or_int6_operand,
25890169689Skan	gpr_or_int10_operand, gpr_or_int_operand, int12_operand,
25891169689Skan	int6_operand, int5_operand, uint5_operand, uint4_operand,
25892169689Skan	uint1_operand, int_2word_operand, uint16_operand,
25893169689Skan	upper_int16_operand, integer_register_operand,
25894169689Skan	gpr_no_subreg_operand, fpr_operand, even_reg_operand,
25895169689Skan	odd_reg_operand, even_gpr_operand, odd_gpr_operand,
25896169689Skan	quad_fpr_operand, even_fpr_operand, odd_fpr_operand,
25897169689Skan	dbl_memory_one_insn_operand, dbl_memory_two_insn_operand,
25898169689Skan	move_destination_operand, movcc_fp_destination_operand,
25899169689Skan	frv_function_symbol_referenced_p, move_source_operand,
25900169689Skan	condexec_dest_operand, condexec_source_operand,
25901169689Skan	reg_or_0_operand, lr_operand, fdpic_operand, got12_operand,
25902169689Skan	const_unspec_operand, gpr_or_memory_operand,
25903169689Skan	gpr_or_memory_operand_with_scratch, fpr_or_memory_operand,
25904169689Skan	icc_operand, fcc_operand, cc_operand, icr_operand,
25905169689Skan	fcr_operand, cr_operand, call_operand, sibcall_operand,
25906169689Skan	symbolic_operand, relational_operator,
25907169689Skan	integer_relational_operator, float_relational_operator,
25908169689Skan	ccr_eqne_operator, minmax_operator,
25909169689Skan	condexec_si_binary_operator, condexec_si_media_operator,
25910169689Skan	condexec_si_divide_operator, condexec_si_unary_operator,
25911169689Skan	condexec_sf_conv_operator, condexec_sf_add_operator,
25912169689Skan	condexec_memory_operand, intop_compare_operator, acc_operand,
25913169689Skan	even_acc_operand, quad_acc_operand, accg_operand: Move to
25914169689Skan	predicates.md.
25915169689Skan	* config/frv/frv.h (PREDICATE_CODES): Remove.
25916169689Skan	* config/frv/frv.md: Include predicates.md.
25917169689Skan	* config/frv/predicates.md: New.
25918169689Skan
25919169689Skan2004-04-04  Richard Sandiford  <rsandifo@redhat.com>
25920169689Skan
25921169689Skan	PR target/19537
25922169689Skan	* Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h.
25923169689Skan	* tree-ssa-loop-ivopts.c: Include langhooks.h.
25924169689Skan	(add_standard_iv_candidates_for_size): New function, extracting code
25925169689Skan	from add_standard_iv_candidates and parameterizing it by type size.
25926169689Skan	(add_standard_iv_candidates): Use add_standard_iv_candidates_for_size.
25927169689Skan
25928169689Skan2004-04-04  Richard Sandiford  <rsandifo@redhat.com>
25929169689Skan
25930169689Skan	* system.h (GCOV_SIZE_TYPE): Unposion.
25931169689Skan	* gcov-io.h (GCOV_TYPE_NODE): Delete, replacing with...
25932169689Skan	(GCOV_TYPE_SIZE): ...this new macro.
25933169689Skan	* coverage.h (get_gcov_type, GCOV_TYPE_NODE): Declare.
25934169689Skan	* coverage.c (get_gcov_type, get_gcov_unsigned_t): New functions.
25935169689Skan	(rtl_coverage_counter_ref): Use GCOV_TYPE_SIZE.
25936169689Skan	(build_fn_info_type, build_fn_info_value, build_ctr_info_type)
25937169689Skan	(build_ctr_info_value, build_gcov_info): Use get_gcov_unsigned_t
25938169689Skan	instead of unsigned_intSI_type_node.
25939169689Skan	* rtl-profile.c (rtl_gen_interval_profiler, rtl_gen_pow2_profiler)
25940169689Skan	(rtl_gen_one_value_profiler_no_edge_manipulation)
25941169689Skan	(rtl_gen_const_delta_profiler): Use GCOV_TYPE_SIZE.
25942169689Skan	* value-prof.c: Include coverage.h.
25943169689Skan
25944169689Skan2005-04-02  Daniel Berlin  <dberlin@dberlin.org>
25945169689Skan	    Diego Novillo <dnovillo@redhat.com>
25946169689Skan
25947169689Skan	Fix PR tree-optimization/20703
25948169689Skan	Fix PR tree-optimization/20725
25949169689Skan
25950169689Skan	* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
25951169689Skan	(create_expression_by_pieces): Ditto.
25952169689Skan	(valid_in_set): Ditto. Also handle tcc_declaration.
25953169689Skan	(find_or_generate_expression): Handle comparison class.
25954169689Skan	(insert_into_preds_of_block): Ditto.
25955169689Skan	(insert_aux): Ditto.
25956169689Skan	(create_value_expr_from): Handle comparison class, recursively
25957169689Skan	handle reference nodes.
25958169689Skan	(compute_avail): Handle comparison classes, rewrite a little cleaner.
25959169689Skan	(execute_pre): Fix spacing.
25960169689Skan	(do_fre): Renamed to execute_fre.
25961169689Skan
25962169689Skan2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
25963169689Skan
25964169689Skan	* doc/invoke.texi (SPARC options): Document that
25965169689Skan	-mlittle-endian is not supported on Linux either.
25966169689Skan
25967169689Skan2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
25968169689Skan
25969169689Skan	PR target/4198
25970169689Skan	PR target/12027
25971169689Skan	* config.gcc (Obsolete configurations): Remove
25972169689Skan	sparclite-*-coff*, sparclite-*-elf* and sparc86x-*-elf*.
25973169689Skan	(sparclite-*-coff*): Delete.
25974169689Skan	(sparclite-*-elf*): Likewise.
25975169689Skan	(sparc86x-*-elf*): Likewise.
25976169689Skan	(target_cpu_default) <sparc*-*-*>: Remove sparc86x.
25977169689Skan	* config/sparc/lite.h: Delete.
25978169689Skan	* config/sparc/litecoff.h: Likewise.
25979169689Skan	* config/sparc/liteelf.h: Likewise.
25980169689Skan	* config/sparc/sp86x-elf.h: Likewise.
25981169689Skan	* config/sparc/t-sparclite: Likewise.
25982169689Skan	* config/sparc/t-sp86x: Likewise.
25983169689Skan
25984169689Skan2005-04-04  Adrian Straetling  <straetling@de.ibm.com>
25985169689Skan
25986169689Skan	* config/s390/s390-protos.h: (s390_comparison,
25987169689Skan	s390_alc_comparison, s390_slb_comparison, const0_operand,
25988169689Skan	consttable_operand, larl_operand, s_operand,
25989169689Skan	shift_count_operand, bras_sym_operand, load_multiple_operation,
25990169689Skan	store_multiple_operation, s390_plus_operand): Remove prototypes.
25991169689Skan	(s390_legitimate_address_without_index_p): New prototype.
25992169689Skan	* config/s390/s390.c: (SYMBOL_FLAG_ALIGN1, DISP_IN_RANGE): Move
25993169689Skan	to s390.h.
25994169689Skan	(s390_comparison, s390_alc_comparison, s390_slb_comparison,
25995169689Skan	const0_operand, consttable_operand, larl_operand, s_operand,
25996169689Skan	shift_count_operand, bras_sym_operand, load_multiple_operation,
25997169689Skan	store_multiple_operation, s390_plus_operand): Move to
25998169689Skan	predicates.md.
25999169689Skan	(check_mode): Remove.
26000169689Skan	(s390_branch_condition_mask): Remove 'static'. Move prototype to
26001169689Skan	s390-protos.h.
26002169689Skan	(s390_legitimate_address_without_index_p): New.
26003169689Skan	* config/s390/s390.h (PREDICATE_CODES): Remove.
26004169689Skan	* config/s390/s390.md: Include predicates.md.
26005169689Skan	* config/s390/predicates.md: New.
26006169689Skan
26007169689Skan2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
26008169689Skan
26009169689Skan	PR target/20446
26010169689Skan	* config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0.
26011169689Skan	* config/sparc/linux.h (TARGET_ASM_FILE_END): Delete.
26012169689Skan	(NEED_INDICATE_EXEC_STACK): Define to 1.
26013169689Skan	* config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete.
26014169689Skan	(NEED_INDICATE_EXEC_STACK): Define to 1.
26015169689Skan	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end.
26016169689Skan	(add_pc_to_pic_symbol): Rename into pic_helper_symbol.
26017169689Skan	(add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name.
26018169689Skan	(pic_helper_emitted_p): New global.
26019169689Skan	(emit_pic_helper): New function extracted from...
26020169689Skan	(load_pic_register): ...here.  Add 'delay_pic_helper' parameter.
26021169689Skan	Do not call emit_pic_helper if delay_pic_helper is true.
26022169689Skan	(sparc_expand_prologue): Pass 'false' to load_pic_register.
26023169689Skan	(sparc_output_mi_thunk): Pass 'true' to load_pic_register.
26024169689Skan	(sparc_file_end): New function.
26025169689Skan
26026169689Skan2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
26027169689Skan
26028169689Skan	* config/mcore/mcore-protos.h: Remove the prototypes for
26029169689Skan	mcore_arith_reg_operand, mcore_general_movsrc_operand,
26030169689Skan	mcore_general_movdst_operand, mcore_reload_operand,
26031169689Skan	mcore_arith_J_operand, mcore_arith_K_operand,
26032169689Skan	mcore_arith_K_operand_not_0, mcore_arith_M_operand,
26033169689Skan	mcore_arith_K_S_operand, mcore_arith_imm_operand,
26034169689Skan	mcore_arith_any_imm_operand, mcore_arith_O_operand,
26035169689Skan	mcore_literal_K_operand, mcore_addsub_operand,
26036169689Skan	mcore_compare_operand, mcore_load_multiple_operation,
26037169689Skan	mcore_store_multiple_operation, mcore_call_address_operand.
26038169689Skan	Add a prototype for const_ok_for_mcore.
26039169689Skan	* config/mcore/mcore.c (mcore_call_address_operand,
26040169689Skan	mcore_general_movsrc_operand, mcore_general_movdst_operand,
26041169689Skan	mcore_arith_reg_operand, mcore_reload_operand,
26042169689Skan	mcore_arith_J_operand, mcore_arith_K_operand,
26043169689Skan	mcore_arith_K_operand_not_0, mcore_arith_K_S_operand,
26044169689Skan	mcore_arith_M_operand, mcore_arith_imm_operand,
26045169689Skan	mcore_arith_any_imm_operand, mcore_arith_O_operand,
26046169689Skan	mcore_literal_K_operand, mcore_addsub_operand,
26047169689Skan	mcore_compare_operand, mcore_load_multiple_operation,
26048169689Skan	mcore_store_multiple_operation): Move to predicates.md.
26049169689Skan	(const_ok_for_mcore): Export.
26050169689Skan	* config/mcore/mcore.h (PREDICATE_CODES): Remove.
26051169689Skan	* config/mcore/mcore.md: Include predicates.md.
26052169689Skan	* config/mcore/predicates.md: New.
26053169689Skan
26054169689Skan	* config/mcore/predicates.md: Fix a comment typo.
26055169689Skan
26056169689Skan2005-04-04  Andreas Krebbel  <krebbel1@de.ibm.com>
26057169689Skan	    Adrian Straetling  <straetling@de.ibm.com>
26058169689Skan
26059169689Skan	* config/s390/2064.md ("z_mul", "z_inf"): New insn reservations.
26060169689Skan	* config/s390/2084.md ("x_mul_hi", "x_mul_sidi", "x_div"): Likewise.
26061169689Skan	* config/s390/s390.md ("imulhi", "imulsi", "imuldi"): Added to "type"
26062169689Skan	attribute.
26063169689Skan	("imul"): Removed from "type" attribute.
26064169689Skan	("*muldi3_sign", "muldi3"): Changed type to imuldi.
26065169689Skan	("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
26066169689Skan	Changed type to imulsi.
26067169689Skan	("*mulsi3_sign", "mulsi3/2"): Changed type to imulhi.
26068169689Skan
26069169689Skan2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
26070169689Skan
26071169689Skan	* config/mcore/mcore.h (target_flags, HARDLIT_BIT, ALIGN8_BIT, DIV_BIT)
26072169689Skan	(RELAX_IMM_BIT, W_FIELD_BIT, OVERALIGN_FUNC_BIT, CGDATA_BIT)
26073169689Skan	(SLOW_BYTES_BIT, LITTLE_END_BIT, M340_BIT, TARGET_HARDLIT)
26074169689Skan	(TARGET_DIV, TARGET_RELAX_IMM, TARGET_W_FIELD, TARGET_OVERALIGN_FUNC)
26075169689Skan	(TARGET_CG_DATA, TARGET_SLOW_BYTES, TARGET_LITTLE_END, TARGET_M340)
26076169689Skan	(TARGET_SWITCHES, mcore_stack_increment_string)
26077169689Skan	(TARGET_OPTIONS): Delete.
26078169689Skan	(TARGET_DEFAULT, OPTIMIZATION_OPTIONS): Use MASK_* constants rather
26079169689Skan	than *_BIT constants.
26080169689Skan	(TARGET_8ALIGN): #undef old definition before redefining to 1.
26081169689Skan	* config/mcore/mcore.c (mcore_stack_increment_string): Delete.
26082169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): Override default to TARGET_DEFAULT.
26083169689Skan	(mcore_override_options): Delete mcore_stack_increment code.
26084169689Skan	Change use of M340_BIT to MASK_M340.
26085169689Skan	* config/mcore/mcore.opt: New file.
26086169689Skan
26087169689Skan2005-04-04  Ian Lance Taylor  <ian@airs.com>
26088169689Skan
26089169689Skan	* config/arm/arm.c (replace_symbols_in_block): Remove static
26090169689Skan	function.
26091169689Skan
26092169689Skan2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
26093169689Skan
26094169689Skan	* config/fr30/fr30-protos.h: Remove the prototypes for
26095169689Skan	stack_add_operand, add_immediate_operand,
26096169689Skan	high_register_operand, low_register_operand, call_operand,
26097169689Skan	di_operand, and nonimmediate_di_operand.
26098169689Skan	* config/fr30/fr30.c (stack_add_operand,
26099169689Skan	add_immediate_operand, high_register_operand,
26100169689Skan	low_register_operand, call_operand, di_operand,
26101169689Skan	nonimmediate_di_operand): Move to predicates.md.
26102169689Skan	* config/fr30/fr30.h (PREDICATE_CODES): Remove.
26103169689Skan	* config/fr30/fr30.md: Include predicates.md.
26104169689Skan	* config/fr30/predicates.md: New.
26105169689Skan
26106169689Skan	* config/mcore/mcore.h (PREDICATE_CODES): Add SYMBOL_REF and
26107169689Skan	LABEL_REF to mcore_general_movsrc_operand.  Add SYMBOL_REF to
26108169689Skan	mcore_call_address_operand.
26109169689Skan
26110169689Skan	* config/sh/sh.h (PREDICATE_CODES): Add CONST to
26111169689Skan	general_movsrc_operand.
26112169689Skan
26113169689Skan2005-04-04  Alan Modra  <amodra@bigpond.net.au>
26114169689Skan
26115169689Skan	* passes.c (rest_of_handle_final): NULL unlikely_text_section_name
26116169689Skan	after freeing.
26117169689Skan
26118169689Skan2005-04-04  Richard Earnshaw  <richard.earnshaw@arm.com>
26119169689Skan
26120169689Skan	PR target/14812
26121169689Skan	* arm.c (arm_select_cc_mode): Return CC_Zmode when comparing against
26122169689Skan	a negated value.
26123169689Skan
26124169689Skan2005-04-04  Richard Henderson  <rth@redhat.com>
26125169689Skan	    Jakub Jelinek  <jakub@redhat.com>
26126169689Skan
26127169689Skan	PR rtl-optimization/16104
26128169689Skan	* fold-const.c (fold_unary): Fix folding of vector conversions.
26129169689Skan
26130169689Skan2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
26131169689Skan
26132169689Skan	* config.gcc (xstormy16-*-elf): Set extra_options.
26133169689Skan	* config/stormy16/stormy16.h (target_flags, TARGET_SWITCHES): Delete.
26134169689Skan	* config/stormy16/stormy16.opt: New file.
26135169689Skan
26136169689Skan2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
26137169689Skan
26138169689Skan	* config/pdp11/pdp11.h (target_flags, TARGET_SWITCHES, TARGET_DEFAULT)
26139169689Skan	(TARGET_FPU, TARGET_SOFT_FLOAT, TARGET_AC0, TARGET_NO_AC0, TARGET_45)
26140169689Skan	(TARGET_BCOPY_BUILTIN, TARGET_INT16, TARGET_INT32, TARGET_FLOAT32)
26141169689Skan	(TARGET_FLOAT64, TARGET_ABSHI_BUILTIN, TARGET_BRANCH_EXPENSIVE)
26142169689Skan	(TARGET_BRANCH_CHEAP, TARGET_SPLIT, TARGET_NOSPLIT)
26143169689Skan	(TARGET_UNIX_ASM): Delete.
26144169689Skan	(TARGET_40_PLUS): Redefine in terms of TARGET_40 and TARGET_45.
26145169689Skan	* config/pdp11/2bsd.h (TARGET_UNIX_ASM_DEFAULT): Use MASK_UNIX_ASM.
26146169689Skan	* config/pdp11/pdp11.c (pdp11_handle_option): New function.
26147169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
26148169689Skan	* config/pdp11/pdp11.opt: New file.
26149169689Skan
26150169689Skan2005-04-03  Roger Sayle  <roger@eyesopen.com>
26151169689Skan	    Alexandre Oliva  <aoliva@redhat.com>
26152169689Skan
26153169689Skan	PR c++/19199
26154169689Skan	* fold-const.c (non_lvalue): Split tests into...
26155169689Skan	(maybe_lvalue_p): New function.
26156169689Skan	(fold_cond_expr_with_comparison): Preserve lvalue-ness for the
26157169689Skan	C++ front-end prior to lowering into gimple form.
26158169689Skan
26159169689Skan2005-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26160169689Skan
26161169689Skan	* builtins.def (BUILT_IN_STPNCPY, BUILT_IN_STRCASECMP,
26162169689Skan	BUILT_IN_STRNCASECMP): New.
26163169689Skan	* doc/extend.texi: Document stpncpy, strcasecmp, strncasecmp
26164169689Skan	and strndup.
26165169689Skan
26166169689Skan2005-04-03  Richard Earnshaw  <richard.earnshaw@arm.com>
26167169689Skan
26168169689Skan	PR target/14812
26169169689Skan	* arm.md (addsi3_compare0_for_combiner): Delete.
26170169689Skan	(addsi3_compare0_scratch_for_combiner): Delete.
26171169689Skan	(cmpsi_neg_shiftsi): Delete.
26172169689Skan	(compare_negsi_si): New pattern.
26173169689Skan	(cmpsi_negshiftsi_si): New pattern.
26174169689Skan	(negated_cbranchsi4): Restrict to equality_operator.
26175169689Skan
26176169689Skan	* arm.md (movhi_insn_arch4): delete trailing white space from assembler
26177169689Skan	template.
26178169689Skan
26179169689Skan2005-04-03  Kazu Hirata  <kazu@cs.umass.edu>
26180169689Skan
26181169689Skan	* cfghooks.c, cfgrtl.c, modulo-sched.c, config/i386/winnt.c:
26182169689Skan	Fix comment typos.
26183169689Skan
26184169689Skan	* doc/install.texi: Fix a typo.
26185169689Skan
26186169689Skan2005-04-03  Steven Bosscher  <stevenb@suse.de>
26187169689Skan
26188169689Skan	PR middle-end/20648
26189169689Skan	* bb-reorder.c (duplicate_computed_gotos): Do not unfactor
26190169689Skan	a computed goto if the edge to the computed goto block has
26191169689Skan	incoming abnormal edges.  Clarify how the function works.
26192169689Skan
26193169689Skan2005-04-03  Nathan Sidwell  <nathan@codesourcery.com>
26194169689Skan
26195169689Skan	* params.c (set_param_value): Use gcc_assert & gcc_unreachable.
26196169689Skan	* passes.c (open_dump_file, rest_of_handle_final): Likewise.
26197169689Skan	* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,
26198169689Skan	hash_scan_set, reg_set_between_after_reload_p,
26199169689Skan	reg_used_between_after_reload_p, get_avail_load_store_reg,
26200169689Skan	eliminate_partially_redundant_load): Likewise.
26201169689Skan	* postreload.c (reload_cse_simplify_set,
26202169689Skan	reload_combine_note_use): Likewise.
26203169689Skan	* predict.c (predict_insn, expected_value_to_br_prob,
26204169689Skan	propagate_freq, expensive_function_p): Likewise.
26205169689Skan	* print-rtl.c (print_rtx): Likewise.
26206169689Skan	* profile.c (instrument_edges, instrument_values,
26207169689Skan	compute_branch_probabilities, branch_prob, union_groups,
26208169689Skan	tree_register_profile_hooks, rtl_register_profile_hooks): Likewise.
26209169689Skan	* protoize.c (in_system_include_dir, file_could_be_converted,
26210169689Skan	file_normally_convertible, gen_aux_info_file, seek_to_line,
26211169689Skan	do_cleaning): Likewise.
26212169689Skan	* tree-ssa-alias.c (collect_points_to_info_r): Likewise.
26213169689Skan	* tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
26214169689Skan	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
26215169689Skan
26216169689Skan2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
26217169689Skan
26218169689Skan	* cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
26219169689Skan	* modulo-sched.c (undo_replace_buff_elem): New structure.
26220169689Skan	(kernel_number_of_cycles, ps_unschedule_node,
26221169689Skan	undo_generate_reg_moves,free_undo_replace_buff,
26222169689Skan	undo_permute_partial_schedule,	loop_single_full_bb_p,
26223169689Skan	SIMPLE_SMS_LOOP_P, loop_canon_p, canon_loop,
26224169689Skan	build_loops_structure, get_sched_window): New.
26225169689Skan	(generate_reg_moves): Return undo_replace_buff_elem and other
26226169689Skan	fixes.
26227169689Skan	(generate_prolog_epilog): Remove old loop versioning.
26228169689Skan	(sms_schedule): Use loop information and loop_version.
26229169689Skan	(sms_schedule_by_order): Split part of it to get_sched_window.
26230169689Skan	* passes.c (rest_of_handle_sms): call cfg_layout_initialize
26231169689Skan	cfg_layout_finalize and free_dominance_info before/after SMS.
26232169689Skan
26233169689Skan2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
26234169689Skan
26235169689Skan	* cfghooks.c (lv_flush_pending_stmts,
26236169689Skan	cfg_hook_duplicate_loop_to_header_edge, extract_cond_bb_edges,
26237169689Skan	lv_adjust_loop_header_phi, lv_add_condition_to_bb): New.
26238169689Skan	* cfghooks.h (cfg_hook_duplicate_loop_to_header_edge,
26239169689Skan	lv_add_condition_to_bb,
26240169689Skan	lv_adjust_loop_header_phi, extract_cond_bb_edges,
26241169689Skan	flush_pending_stmts): New in cfg_hooks structure.
26242169689Skan	(cfg_hook_duplicate_loop_to_header_edge, lv_flush_pending_stmts,
26243169689Skan	extract_cond_bb_edges, lv_adjust_loop_header_phi,
26244169689Skan	lv_add_condition_to_bb): New declarations.
26245169689Skan	* cfgloop.h (duplicate_loop_to_header_edge): Change return type to
26246169689Skan	bool.
26247169689Skan	(loop_version): Declare.
26248169689Skan	* cfgloopmanip.c (cfghooks.h): Include.
26249169689Skan	(duplicate_loop_to_header_edge): Change return type to bool.
26250169689Skan	(loop_version, lv_adjust_loop_entry_edge): Move here.
26251169689Skan	* cfgrtl.c (cfgloop.h): Include.
26252169689Skan	(rtl_verify_flow_info_1): Fix.
26253169689Skan	(rtl_lv_add_condition_to_bb, rtl_extract_cond_bb_edges): New.
26254169689Skan	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add hooks to
26255169689Skan	initialization.
26256169689Skan	* tree-cfg.c (tree_lv_adjust_loop_header_phi,
26257169689Skan	tree_lv_add_condition_to_bb): New.
26258169689Skan	(tree_cfg_hooks): Add new hooks to initialization.
26259169689Skan	* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi,
26260169689Skan	lv_adjust_loop_entry_edge, tree_ssa_loop_version): Remove.
26261169689Skan
26262169689Skan2005-04-03  Kazu Hirata  <kazu@cs.umass.edu>
26263169689Skan
26264169689Skan	* config/stormy16/stormy16.h (PREDICATE_CODES): Add SUBREG to
26265169689Skan	xstormy16_below100_or_register,
26266169689Skan	xstormy16_splittable_below100_or_register, and
26267169689Skan	nonimmediate_nonstack_operand.
26268169689Skan
26269169689Skan	* config/stormy16/stormy16-protos.h: Remove the prototypes for
26270169689Skan	xstormy16_ineqsi_operator, equality_operator,
26271169689Skan	inequality_operator, shift_operator,
26272169689Skan	xstormy16_below100_operand, xstormy16_below100_or_register,
26273169689Skan	xstormy16_splittable_below100_or_register,
26274169689Skan	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand.
26275169689Skan	* config/stormy16/stormy16.c (xstormy16_ineqsi_operator,
26276169689Skan	equality_operator, inequality_operator,
26277169689Skan	xstormy16_below100_operand, xstormy16_below100_or_register,
26278169689Skan	xstormy16_splittable_below100_or_register,
26279169689Skan	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand,
26280169689Skan	nonimmediate_nonstack_operand, shift_operator): Move to
26281169689Skan	predicates.md.
26282169689Skan	* config/stormy16/stormy16.h (PREDICATE_CODES): Remove.
26283169689Skan	* config/stormy16/stormy16.md: Include predicates.md.
26284169689Skan	* config/stormy16/predicates.md: New.
26285169689Skan
26286169689Skan2005-04-02  Kazu Hirata  <kazu@cs.umass.edu>
26287169689Skan
26288169689Skan	* config/iq2000/iq2000.c (uns_arith_operand, arith_operand,
26289169689Skan	small_int, large_int, reg_or_0_operand, simple_memory_operand,
26290169689Skan	equality_op, cmp_op, pc_or_label_operand, call_insn_operand,
26291169689Skan	move_operand, power_of_2_operand): Move to predicates.md.
26292169689Skan	* config/iq2000/iq2000.h (SPECIAL_MODE_PREDICATES,
26293169689Skan	PREDICATE_CODE): Remove.
26294169689Skan	* config/iq2000/iq2000.md: Include predicates.md.
26295169689Skan	* config/iq2000/predicates.md: New.
26296169689Skan
26297169689Skan2005-04-02  Richard Sandiford  <rsandifo@redhat.com>
26298169689Skan
26299169689Skan	* config/m68hc11/m68hc11.h (target_flags, MASK_SHORT)
26300169689Skan	(MASK_AUTO_INC_DEC, MASK_M6811, MASK_M6812, MASK_M68S12)
26301169689Skan	(MASK_NO_DIRECT_MODE, MASK_MIN_MAX, MASK_LONG_CALLS)
26302169689Skan	(TARGET_SHORT, TARGET_M6811, TARGET_M6812, TARGET_M68S12)
26303169689Skan	(TARGET_AUTO_INC_DEC, TARGET_MIN_MAX, TARGET_NO_DIRECT_MODE)
26304169689Skan	(TARGET_LONG_CALLS, TARGET_SWITCHES, TARGET_OPTIONS)
26305169689Skan	(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS, m68hc11_regparm_string)
26306169689Skan	(m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
26307169689Skan	(TARGET_M68HC11): Delete.
26308169689Skan	(TARGET_DEFAULT): Change the default setting from MASK_M6811 to 0.
26309169689Skan	* config/m68hc11/m68hc12.h (TARGET_M68HC12): Delete.
26310169689Skan	* config/m68hc11/m68hc11.c (m68hc11_regparm_string)
26311169689Skan	(m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
26312169689Skan	(nb_soft_regs): Delete.
26313169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): Override default with TARGET_DEFAULT.
26314169689Skan	(m68hc11_override_options): Remove the code that caters for MASK_M6811
26315169689Skan	and MASK_M6812 being set simultaneously.  Change the code that sets
26316169689Skan	the default m68hc11_soft_reg_count to use integers instead of strings.
26317169689Skan	(m68hc11_conditional_register_usage, hard_regno_mode_ok): Use
26318169689Skan	m68hc11_soft_reg_count (which now has an int type) as the number
26319169689Skan	of soft registers.
26320169689Skan	* config/m68hc11/m68hc11.opt: New file.
26321169689Skan
26322169689Skan2005-04-02  Kazu Hirata  <kazu@cs.umass.edu>
26323169689Skan
26324169689Skan	* config/fr30/fr30.h (PREDICATE_CODES): Remove
26325169689Skan	fp_displacement_operand, sp_displacement_operand.
26326169689Skan
26327169689Skan	* config/m68hc11/m68hc11-protos.h: Add a prototype for
26328169689Skan	m68hcc_auto_inc_p.
26329169689Skan	Remove the prototypes for tst_operand, cmp_operand,
26330169689Skan	stack_register_operand, d_register_operand,
26331169689Skan	hard_addr_reg_operand, splitable_operand,
26332169689Skan	m68hc11_logical_operator, m68hc11_arith_operator,
26333169689Skan	m68hc11_non_shift_operator, m68hc11_shift_operator,
26334169689Skan	m68hc11_unary_operator, m68hc11_eq_compare_operator,
26335169689Skan	non_push_operand, hard_reg_operand, and
26336169689Skan	reg_or_some_mem_operand.
26337169689Skan	* config/m68hc11/m68hc11.c (m68hcc_auto_inc_p): Make it
26338169689Skan	extern.
26339169689Skan	(tst_operand, cmp_operand, non_push_operand,
26340169689Skan	splitable_operand, reg_or_some_mem_operand,
26341169689Skan	stack_register_operand, d_register_operand,
26342169689Skan	hard_addr_reg_operand, hard_reg_operand,
26343169689Skan	m68hc11_eq_compare_operator, m68hc11_logical_operator,
26344169689Skan	m68hc11_arith_operator, m68hc11_non_shift_operator,
26345169689Skan	m68hc11_shift_operator, m68hc11_unary_operator): Move to
26346169689Skan	predicates.md.
26347169689Skan	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Remove.
26348169689Skan	* config/m68hc11/m68hc11.md: Include predicates.md.
26349169689Skan	* config/m68hc11/predicates.md: New.
26350169689Skan
26351169689Skan2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
26352169689Skan
26353169689Skan	PR debug/19345
26354169689Skan	* dwarf2out.c (add_abstract_origin_attribute): Revert accidental
26355169689Skan	change checked in along with 2005-03-03's patch for debug/20253.
26356169689Skan	* tree-inline.c (remap_type): Remap TYPE_STUB_DECL.
26357169689Skan	(remap_decl): Insert type decl in map earlier.
26358169689Skan
26359169689Skan2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
26360169689Skan
26361169689Skan	PR tree-optimization/20640
26362169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Don't redirect edge to
26363169689Skan	post-dominator if it has phi nodes.
26364169689Skan	(eliminate_unnecessary_stmts): Remove dead phis in all blocks
26365169689Skan	before dead statements.
26366169689Skan
26367169689Skan2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
26368169689Skan
26369169689Skan	PR middle-end/20491
26370169689Skan	* final.c (alter_subreg): Don't call subreg_regno for a non-REG.
26371169689Skan
26372169689Skan2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
26373169689Skan
26374169689Skan	PR rtl-optimization/20290
26375169689Skan	* loop.c (for_each_insn_in_loop): Don't assume the loop body runs
26376169689Skan	in every iteration if the entry point is the exit test.
26377169689Skan
26378169689Skan2005-04-02  Hans-Peter Nilsson  <hp@axis.com>
26379169689Skan
26380169689Skan	* config/cris/cris.md (attribute "length"): Define.
26381169689Skan
26382169689Skan2005-04-02  Geoffrey Keating  <geoffk@apple.com>
26383169689Skan
26384169689Skan	* config/rs6000/predicates.md (indexed_or_indirect_operand): New.
26385169689Skan	(word_offset_memref_operand): New.
26386169689Skan	* config/rs6000/rs6000-protos.h (word_offset_memref_operand): Delete.
26387169689Skan	(indexed_or_indirect_operand): Delete.
26388169689Skan	* config/rs6000/rs6000.c (word_offset_memref_operand): Delete.
26389169689Skan	(indexed_or_indirect_operand): Delete.
26390169689Skan
26391169689Skan	* config/rs6000/t-darwin8: Comment out ppc64 multilib.
26392169689Skan
26393169689Skan	PR 20650
26394169689Skan	* config/rs6000/rs6000.md (fix_truncdfsi2): Make destination
26395169689Skan	a register.
26396169689Skan
26397169689Skan	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
26398169689Skan	* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
26399169689Skan
26400169689Skan2005-04-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
26401169689Skan
26402169689Skan	* config/vax/vax.md: Spellcheck, fix whitespace.
26403169689Skan
26404169689Skan2005-04-01  Ian Lance Taylor  <ian@airs.com>
26405169689Skan
26406169689Skan	* gcc.c: Don't include <sys/resource.h> or declare getrusage.
26407169689Skan	(rus, prus): Remove static variables.
26408169689Skan	(execute): Use pex_run/pex_get_status rather than pexecute/pwait.
26409169689Skan	(process_command): Permit report_times and use_pipes together.
26410169689Skan
26411169689Skan2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
26412169689Skan
26413169689Skan	* c-decl.c (validate_proto_after_old_defn): Look at
26414169689Skan	TYPE_MAIN_VARIANT of argument types.
26415169689Skan
26416169689Skan2005-04-01  Paul Brook  <paul@codesourcery.com>
26417169689Skan
26418169689Skan	* config/arm/arm.c (thumb_call_via_label): Include space for SP.
26419169689Skan	(arm_output_function_epilogue): Allow call_via_SP.
26420169689Skan	(thumb_call_via_reg, arm_file_end): Ditto.
26421169689Skan	* config/arm/arm.h (struct machine_function): Include space for SP.
26422169689Skan	(thumb_call_via_label): Update declaration.
26423169689Skan
26424169689Skan2005-04-01  Ian Lance Taylor  <ian@airs.com>
26425169689Skan
26426169689Skan	* final.c (final_scan_insn): Revert part of 2005-03-30 patch: when
26427169689Skan	doing a peephole optimization, once again put any notes in the
26428169689Skan	proper position.
26429169689Skan
26430169689Skan2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
26431169689Skan
26432169689Skan	* bb-reorder.c, fold-const.c, varasm.c: Fix comment typos.
26433169689Skan
26434169689Skan2005-04-01  Nathan Sidwell  <nathan@codesourcery.com>
26435169689Skan
26436169689Skan	* local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable.
26437169689Skan	(block_alloc, find_free_reg): Likewise.
26438169689Skan	* loop-doloop.c (doloop_modify): Likewise.
26439169689Skan	* loop-invariant.c (record_use): Likewise.
26440169689Skan	* loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze,
26441169689Skan	get_iv_value, canon_condition, eliminate_implied_condition,
26442169689Skan	eliminate_implied_condition, simplify_using_initial_values,
26443169689Skan	shorten_into_mode, canonicalize_iv_subregs,
26444169689Skan	iv_number_of_iterations): Likewise.
26445169689Skan	* loop-unroll.c (expand_var_during_unrolling): Likewise.
26446169689Skan	* loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
26447169689Skan	unswitch_loop): Likewise.
26448169689Skan	* loop.c (INSN_LUID, loop_optimize, rtx_equal_for_loop_p,
26449169689Skan	move_movables, replace_call_address, find_and_verify_loops,
26450169689Skan	rtx_equal_for_prefetch_p, fold_rtx_mult_add, loop_iterations,
26451169689Skan	record_giv, final_giv_value, general_induction_var,
26452169689Skan	simplify_giv_expr, extension_within_bounds_p, try_copy_prop,
26453169689Skan	loop_giv_dump): Likewise.
26454169689Skan
26455169689Skan	* gcov-io.h (GCOV_CHECK, GCOV_CHECK_READING,
26456169689Skan	GCOV_CHECK_WRITING): Remove.
26457169689Skan	(gcov_position, gcov_rewrite): Use gcc_assert.
26458169689Skan	* gcov-io.c (gcov_open, gcov_write_words, gcov_write_length,
26459169689Skan	gcov_read_words, gcov_sync, gcov_seek): Use gcc_assert.
26460169689Skan	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): Use
26461169689Skan	gcc_assert.
26462169689Skan
26463169689Skan2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
26464169689Skan
26465169689Skan	* tree-inline.c: Fix a typo.
26466169689Skan
26467169689Skan2005-04-01  Nathan Sidwell  <nathan@codesourcery.com>
26468169689Skan
26469169689Skan	* configure.ac (enable-checking): Explicitly set all variables for
26470169689Skan	collective switch values.  Alphabetize variables. Rename
26471169689Skan	ac_checking_valgrind to ac_valgrind_checking.  Allow 'none' as
26472169689Skan	synonym for 'no'.
26473169689Skan	* doc/install.texi (enable-checking): Update documentation.
26474169689Skan	* configure: Rebuilt.
26475169689Skan
26476169689Skan2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
26477169689Skan
26478169689Skan	* tree-inline.c (copy_body_r): Use CONSTANT_CLASS_P where
26479169689Skan	possible.
26480169689Skan
26481169689Skan2005-04-01  Richard Earnshaw  <richard.earnshaw@arm.com>
26482169689Skan
26483169689Skan	* arm.c (adjacent_mem_locations): Reject volatile memory refs.
26484169689Skan	Also reject cases where this pattern will cause load delay stalls
26485169689Skan	unless optimizing for size and it will produce a shorter sequence.
26486169689Skan	* arm.md (arith_adjacent_mem): Make better use of ldm addressing
26487169689Skan	variants to avoid pre-adjusting the base when possible.
26488169689Skan
26489169689Skan2005-04-01  Richard Earnshaw  <richard.earnshaw@arm.com>
26490169689Skan
26491169689Skan	* arm.md (minmax_arithsi): Reject all eliminable registers, not just
26492169689Skan	the frame and argument pointers.
26493169689Skan	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec): Likewise.
26494169689Skan	(loadqisi_preinc, loadqisi_predec, strsi_preinc): Likewise.
26495169689Skan	(strsi_predec, loadsi_preinc, loadsi_predec): Likewise.
26496169689Skan	(strqi_shiftpreinc, strqi_shiftpredec, loadqi_shiftpreinc): Likewise.
26497169689Skan	(loadqi_shiftpredec, strsi_shiftpreinc, strsi_shiftpredec): Likewise.
26498169689Skan	(loadsi_shiftpreinc, loadsi_shiftpredec): Likewise.
26499169689Skan
26500169689Skan2005-04-01  Danny Smith  <dannysmith@users.sourceforge.net>
26501169689Skan
26502169689Skan	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define,
26503169689Skan	with entry for selectany attribute.
26504169689Skan	* config/i386/i386-protos.h (ix86_handle_selectany_attribute):
26505169689Skan	Declare.
26506169689Skan	* config/i386/winnt.c (ix86_handle_selectany_attribute): Define.
26507169689Skan	(i386_pe_asm_named_section): Handle sections generated by
26508169689Skan	selectany attribute.
26509169689Skan	* doc/extend.texi (selectany): Document attribute.
26510169689Skan
26511169689Skan2005-04-01  Paolo Bonzini  <bonzini@gnu.org>
26512169689Skan	    Jan Hubicka  <jh@suse.cz>
26513169689Skan
26514169689Skan	* config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
26515169689Skan	to fix addresses involving EBP and ESP.
26516169689Skan	(aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
26517169689Skan	for SUBREGed registers.
26518169689Skan	(legitimate_address_p): Accept SUBREGed registers.
26519169689Skan
26520169689Skan2005-04-01  Jakub Jelinek  <jakub@redhat.com>
26521169689Skan
26522169689Skan	PR c++/19406
26523169689Skan	* dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL.
26524169689Skan	(dwarf2out_imported_module_or_decl): Use gen_type_die_for_member
26525169689Skan	for FIELD_DECLs.
26526169689Skan
26527169689Skan2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
26528169689Skan
26529169689Skan	* doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos.
26530169689Skan
26531169689Skan2005-04-01  James E Wilson  <wilson@specifixinc.com>
26532169689Skan
26533169689Skan	PR c++/20505
26534169689Skan	* dwarf2out.c (rtl_for_decl_init): New function.
26535169689Skan	(rtl_for_decl_location): Extracted from here.
26536169689Skan	(tree_add_const_value_attribute): Call rtl_for_decl_init and
26537169689Skan	add_const_value_attribute.  Delete initializer_constant_valid_p call.
26538169689Skan
26539169689Skan2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
26540169689Skan
26541169689Skan	* cgraphunit.c, dbxout.c, flow.c, gcse.c, gimplify.c,
26542169689Skan	lambda-code.c, loop.c, machmode.def, mips-tfile.c,
26543169689Skan	modulo-sched.c, passes.c, postreload-gcse.c, tree-eh.c,
26544169689Skan	tree-ssa-ccp.c, varasm.c, config/frv/frv.c, config/frv/frv.h,
26545169689Skan	config/frv/frv.md, config/i386/i386.c, config/i386/i386.h,
26546169689Skan	config/i386/i386.md, config/rs6000/predicates.md,
26547169689Skan	config/rs6000/rs6000.c, config/s390/fixdfdi.h,
26548169689Skan	config/s390/s390.c, config/stormy16/stormy16.c,
26549169689Skan	config/stormy16/stormy16.md, config/vax/vax.md: Fix comment
26550169689Skan	typos.
26551169689Skan
26552169689Skan2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
26553169689Skan
26554169689Skan	PR c/17855
26555169689Skan	* gimplify.c (gimplify_expr): Create a temporary for lvalue
26556169689Skan	COND_EXPR and CALL_EXPR.
26557169689Skan
26558169689Skan2005-03-31  Vladimir Makarov  <vmakarov@redhat.com>
26559169689Skan
26560169689Skan	PR target/20632
26561169689Skan	* genautomata.c (first_cycle_unit_presence): Check all alternative
26562169689Skan	states for unit presence.
26563169689Skan
26564169689Skan	* doc/md.texi: Remove remark about impossibility to query unit
26565169689Skan	presence in non nondeterministic automaton state.
26566169689Skan
26567169689Skan	* config/ia64/ia64.c (get_template): Change order of unit querying.
26568169689Skan
26569169689Skan2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
26570169689Skan
26571169689Skan	* tree-ssa-dom.c (cprop_into_successor_phis): Remove an
26572169689Skan	obsolete comment.
26573169689Skan
26574169689Skan2005-03-31  Zdenek Dvorak  <dvorakz@suse.cz>
26575169689Skan
26576169689Skan	* cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT
26577169689Skan	flag for edges outside any loops.
26578169689Skan
26579169689Skan2005-03-31  Janis Johnson  <janis187@us.ibm.com>
26580169689Skan
26581169689Skan	* doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs.
26582169689Skan
26583169689Skan2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
26584169689Skan
26585169689Skan	* tree-ssa-alias.c: Follow spelling conventions.
26586169689Skan	* doc/tree-ssa.texi: Fix a typo.
26587169689Skan
26588169689Skan2005-03-31  J"orn Rennecke <joern.rennecke@st.com>
26589169689Skan
26590169689Skan	* postreload-gcse.c: Include target.h.
26591169689Skan	(gcse_after_reload_main): Return early if we cannot modify jumps.
26592169689Skan	* Makefile.in (postreload-gcse.o): Depend on $(TARGET_H).
26593169689Skan
26594169689Skan2005-03-31  David Edelsohn  <edelsohn@gnu.org>
26595169689Skan
26596169689Skan	* tree-ssa-loop-im.c (stmt_cost): Add RDIV_EXPR to list of
26597169689Skan	expensive operations.
26598169689Skan
26599169689Skan2005-03-31  Ian Lance Taylor  <ian@airs.com>
26600169689Skan
26601169689Skan	* collect2.c (lderrout): New variable.
26602169689Skan	(collect_exit): Dump ldout to stdout.  Dump and unlink lderrout,
26603169689Skan	if it is set, to stderr.
26604169689Skan	(handler): Unlink lderrout if it is set.
26605169689Skan	(dump_file): Add "to" parameter.  Change all callers.
26606169689Skan	(main): Initialize lderrout.
26607169689Skan	(collect_execute): Add errname parameter.  Change all callers.
26608169689Skan	Rename redir parameter to outname.  Never pass
26609169689Skan	PEX_STDERR_TO_STDOUT to pex_run.
26610169689Skan	* collect2.h (collect_execute, dump_file): Update declarations.
26611169689Skan	* tlink.c (tlink_execute): Add errname parameter.  Change all
26612169689Skan	callers.
26613169689Skan	(do_tlink): Check lderrout as well as ldout.
26614169689Skan
26615169689Skan2005-03-31  Caroline Tice  <ctice@apple.com>
26616169689Skan
26617169689Skan	* Makefile.in (varasm.o): Add basic-block.h to list of requirements.
26618169689Skan	(bb-reorder.o): Add errors.h to list of requirements.
26619169689Skan	(STAGEFEEDBACK_FLAGS_TO_PASS): Add -freorder-blocks-and-partition to
26620169689Skan	profiledbootstrap flags.
26621169689Skan	* bb-reorder.c (errors.h): Add new include.
26622169689Skan	(struct bbro_basic_block_data_def): Add new field, in_trace.
26623169689Skan	(add_unlikely_executed_notes): Remove function.
26624169689Skan	(mark_bb_for_unlikely_executed_section): Remove function.
26625169689Skan	(insert_section_boundary_note): New function.
26626169689Skan	(verify_hot_cold_block_grouping): New function.
26627169689Skan	(push_to_next_round_p): Remove variables and tests that push all
26628169689Skan	cold blocks to last round.
26629169689Skan	(find_traces): Remove code that added extra round of trace finding
26630169689Skan	when doing partitioning.
26631169689Skan	(find_traces_1_round) : Remove variable last_round;  add code to
26632169689Skan	update new struct field, in_trace; correct trace_length where it was
26633169689Skan	incorrect before (after call to copy_bb); change code that pushed all
26634169689Skan	cold blocks to last round. Instead verify that all blocks going into
26635169689Skan	a trace belong in the same partition.
26636169689Skan	(connect_traces): Modify to connect the traces in two passes, if the
26637169689Skan	function contains both hot and cold blocks.  The first pass connects
26638169689Skan	all the traces for blocks in the partition that the first block in
26639169689Skan	the function belongs to; the second pass connnects all the traces
26640169689Skan	containing blocks that belong in the other partition.
26641169689Skan	(find_rarely_executed_basic_blocks_and_crossing_edges): Remove
26642169689Skan	code that automatically put the first block in a function into the
26643169689Skan	hot partition if the function had any hot blocks.
26644169689Skan	(fix_crossing_unconditional_branches): Check number of succ edges
26645169689Skan	before attempting to get one.
26646169689Skan	(fix_edges_for_rarely_executed_code): Update comment describing
26647169689Skan	function.
26648169689Skan	(reorder_basic_blocks): Add code to initialize new field (in_trace);
26649169689Skan	remove call to add_unlikely_executed_notes; add call to
26650169689Skan	verify_hot_cold_block_grouping.
26651169689Skan	(duplicate_computed_gotos): Don't change computed goto if it's a
26652169689Skan	crossing edge.
26653169689Skan	(partition_hot_cold_basic_blocks): Update function comment.
26654169689Skan	* cfgcleanup.c (try_simplify_condjump): Remove redundacy from
26655169689Skan	condition.
26656169689Skan	(try_forward_edges): Likewise.
26657169689Skan	(merge_blocks_move_predecessor_nojumps): Likewise.
26658169689Skan	(merge_blocks_move_successor_nojumps): Likewise.
26659169689Skan	(merge_blocks_move): Likewise.
26660169689Skan	(try_crossjump_bb): Likewise.
26661169689Skan	* cfglayout.c (update_unlikely_executed_notes): Remove function.
26662169689Skan	(fixup_reorder_chain): Remove code for adding UNLIKELY_EXECUTED_CODE
26663169689Skan	notes to cold bb's; remove call to update_unlikely_executed_notes.
26664169689Skan	(duplicate_insn_chain): change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
26665169689Skan	NOTE_INSN_SWITCH_TEXT_SECTIONS.
26666169689Skan	* cfglayout.h (scan_ahead_for_unlikely_executed_note): Remove
26667169689Skan	function declaration.
26668169689Skan	* cfgrtl.c (can_delete_note_p): Remove UNLIKELY_EXECUTED_CODE note
26669169689Skan	from consideration.
26670169689Skan	(rtl_can_merge_blocks): Remove redundancy from condition.
26671169689Skan	(try_redirect_by_replacing_jump): Likewise.
26672169689Skan	(force_nonfallthru_and_redirect): Remove code for adding
26673169689Skan	UNLIKELY_EXECUTED_CODE notes to cold bb's.
26674169689Skan	(commit_one_edge_insertion): Likewise.
26675169689Skan	(cfg_layout_can_merge_blocks_p): Remove redundancy from condition.
26676169689Skan	* dbxout.c (FORCE_TEXT): Replace function_section with
26677169689Skan	current_function_section.
26678169689Skan	(struct dbx_debug_h): Add do_nothing function for new debug_hooks
26679169689Skan	function, switch_text_section.
26680169689Skan	(struct xcoff_debug): Likewise.
26681169689Skan	(dbxout_function_end): Add code to put out label diffs for both
26682169689Skan	hot and cold sections.
26683169689Skan	* debug.c (struct do_nothing_debug_hooks): Add do_nothing function
26684169689Skan	for new debug_hooks funciton, switch_text_section..
26685169689Skan	* debug.h (struct gcc_debug_hooks): Add new function to debug_hooks,
26686169689Skan	switch_text_section.
26687169689Skan	* dwarf2out.c (struct dw_fde_struct): Add five new fields:
26688169689Skan	dw_fde_hot_section_label, dw_fde_hot_section_end_label,
26689169689Skan	dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
26690169689Skan	dw_fde_switched_sections.
26691169689Skan	(output_call_frame_info): Add test to see if function switches text
26692169689Skan	sections in the middle; if so, use appropriate extra hot and cold
26693169689Skan	section labels to compute size deltas for the hot and cold sections.
26694169689Skan	(dwarf2out_begin_prologue): Add code to initialize new fields in
26695169689Skan	dw_fde_struct.
26696169689Skan	(dwarf2out_switch_text_section): New function (invoked through
26697169689Skan	debug_hook); updates new fields in dw_fde_struct appropriately and
26698169689Skan	increments separate_line_info_table_in_use.
26699169689Skan	(dwarf2_debug_hooks): Initialize switch_text_section function to be
26700169689Skan	dwarf2out_switch_text_section.
26701169689Skan	(struct var_loc_node): Add new field, section_label.
26702169689Skan	(output_aranges): Add code to check whether in hot or cold section and
26703169689Skan	use the appropriate label in calculating deltas.
26704169689Skan	(output_ranges): Likewise.
26705169689Skan	(output_line_info): Add code to check which section we're in and
26706169689Skan	use appropriate hot/cold label.
26707169689Skan	(add_location_or_constant_value_attribute): Likewise.
26708169689Skan	(gen_subprogam_die): Modify arange attributes to use correct labels.
26709169689Skan	(dwarf2out_begin_block): Change call to function_section into call to
26710169689Skan	current_function_section.
26711169689Skan	(dwarf2out_end_block): Likewise.
26712169689Skan	(dwarf2out_source_line): Likewise.
26713169689Skan	(dwarf2out_var_location): Add code to check whether in hot or cold
26714169689Skan	section and use the appropriate label.
26715169689Skan	* except.c (output_function_exception_table): Change call to
26716169689Skan	function_section into call to current_function_section.
26717169689Skan	* final.c (profile_function): Likewise.
26718169689Skan	(scan_ahead_for_unlikely_executed_note): Remove function.
26719169689Skan	(final_scan_insn): Remove calls to
26720169689Skan	scan_ahead_for_unlikely_executed_note, and related code for switching
26721169689Skan	to cold section, except for the single time
26722169689Skan	NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered;  add calls to
26723169689Skan	debug_hooks->switch_text_sections; replace appropriate calls to
26724169689Skan	function_section with calls to current_function_section.
26725169689Skan	* ifcvt.c (find_if_case_1): Remove redundancy from condition, add
26726169689Skan	test_bb to condition.
26727169689Skan	(find_if_case_2): Likewise.
26728169689Skan	* insn-notes.def: Change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
26729169689Skan	NOTE_INSN_SWITCH_TEXT_SECTIONS.  Update comment appropriately.
26730169689Skan	* opts.c (decode_options): Change warning about hot/cold partitioning
26731169689Skan	with exceptionss to inform (so as not to cause bootstrap failures);
26732169689Skan	remove warning about partitioning with DWARF debug info.
26733169689Skan	* output.h (current_function_section): Add new function decl.
26734169689Skan	(insert_section_boundary_note): Likewise.
26735169689Skan	(enum in_section): Move this declaration here from varasm.c.
26736169689Skan	(unlikely_section_label): Likewise.
26737169689Skan	(unlikely_text_section_name): Likewise.
26738169689Skan	(last_text_section_name): New global variable.
26739169689Skan	(last_text_section): Likewise.
26740169689Skan	(hot_section_label): Likewise.
26741169689Skan	(hot_section_end_label): Likewise.
26742169689Skan	(cold_section_end_label): Likewise.
26743169689Skan	* passes.c (rest_of_handle_final): Free unlikely_text_section_name.
26744169689Skan	* print-rtl.c (print_rtx): Change NOTE_INSN_UNLIKELY_EXECUTED_CODE
26745169689Skan	to NOTE_INSN_SWITCH_TEXT_SECTIONS.
26746169689Skan	* reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
26747169689Skan	insn from consideration.
26748169689Skan	* sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
26749169689Skan	switch_text_section.
26750169689Skan	* varasm.c (basic-block.h): Add new include.
26751169689Skan	(unlikely_section_label_printed): Remove global variable.
26752169689Skan	(unlikely_section_label): Make global variable not be static any more.
26753169689Skan	(unlikely_text_section_name): Likewise.
26754169689Skan	(hot_section_end_label): New global variable (not static)
26755169689Skan	(first_function_block_is_cold): Likewise.
26756169689Skan	(hot_section_label): Likewise.
26757169689Skan	(cold_section_end_label): Likewise..
26758169689Skan	(last_text_section): New global variable, not static.
26759169689Skan	(last_text_section_name): New global variable, not static.
26760169689Skan	(initialize_cold_section_name): New function.
26761169689Skan	(enum in_section): Move declaration to output.h.
26762169689Skan	(text_section): Update last_text_section.
26763169689Skan	(unlikely_text_section): Replace code to determine cold section name
26764169689Skan	with call to initialize_cold_section_name; Add code to update
26765169689Skan	last_text_section; remove code for printing out label.
26766169689Skan	(named_section_real): Add code to update last_text_section and
26767169689Skan	last_text_section_name as appropriate.
26768169689Skan	(function_section): Change test for 'unlikely' to depend on
26769169689Skan	first_function_block_is_cold (moved old test to
26770169689Skan	current_function_section).
26771169689Skan	(current_function_section): New function.
26772169689Skan	(assemble_start_function): Move code that frees
26773169689Skan	unlikely_text_section_name; initialize hot_section_end_label;
26774169689Skan	print hot and cold section labels at the start of the function;
26775169689Skan	set first_function_block_is_cold, if appropriate; initialize l
26776169689Skan	ast_text_section; add call to insert_section_boundary_note.
26777169689Skan	(assemble_end_function): Add code to write out hot and cold section
26778169689Skan	end labels.
26779169689Skan	*vmsdbgout.c (vmsdbg_debug_hooks): Add do_nothing for new function,
26780169689Skan	switch_text_section.
26781169689Skan	* config/darwin.c (machopic_select_section): Replace incorrect
26782169689Skan	function in base_funs; update reloc for cold sections if necessary.
26783169689Skan	* config/darwin.h (SECTION_FUNCTION): Add code to update
26784169689Skan	last_text_section if appropriate.
26785169689Skan	(text_unlikely_section): Remove.
26786169689Skan	* config/sparc/sparc.c (sparc_output_deferred_case_vectors): Likewise.
26787169689Skan	* config/stormy16/stormy16.c (stormy_16_output_addr_vec): Likewise.
26788169689Skan	* config/xtensa/xtensa.c (override_options): Turn off hot/cold
26789169689Skan	partitioning for this architecture.
26790169689Skan
26791169689Skan2005-03-31  Olivier Hainque  <hainque@adacore.com>
26792169689Skan
26793169689Skan	* dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
26794169689Skan	defined and non-zero.
26795169689Skan
26796169689Skan2005-03-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
26797169689Skan
26798169689Skan	PR c++/18644
26799169689Skan	* doc/invoke.texi (-Wsynth): Don't document, as it now is void of
26800169689Skan	semantics.
26801169689Skan
26802169689Skan2005-03-31  Alan Modra  <amodra@bigpond.net.au>
26803169689Skan
26804169689Skan	PR target/20611
26805169689Skan	* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
26806169689Skan	label operand.  Remove (use (unspec..)).  Don't emit a label on
26807169689Skan	the offset word.
26808169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
26809169689Skan	generate inline label for load_toc_v4_PIC_1b.
26810169689Skan	(rs6000_emit_load_toc_table): Likewise.
26811169689Skan
26812169689Skan2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
26813169689Skan
26814169689Skan	* config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf,
26815169689Skan	ns32k-*-netbsdelf*, and ns32k-*-netbsd*.
26816169689Skan
26817169689Skan2005-03-29  Devang Patel  <dpatel@apple.com>
26818169689Skan
26819169689Skan	* tree-sra.c (decide_block_copy): Disable scalarization of
26820169689Skan	sub-elements.
26821169689Skan
26822169689Skan2005-03-30  Stuart Hastings  <stuart@apple.com>
26823169689Skan	    Dale Johannesen  <dalej@apple.com>
26824169689Skan
26825169689Skan	* Makefile.in (print-tree.o): Depend on tree-iterator.h.
26826169689Skan	* print-tree.c (print_node): Add case STATEMENT_LIST.
26827169689Skan
26828169689Skan2005-03-31  Alan Modra  <amodra@bigpond.net.au>
26829169689Skan
26830169689Skan	* config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
26831169689Skan	(powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
26832169689Skan	(powerpc-*-linux*): Build a biarch compiler when --enable-targets
26833169689Skan	is given with "powerpc64*" or "all", or when --with-cpu chooses
26834169689Skan	a 64-bit cpu.
26835169689Skan
26836169689Skan2005-03-30  James E. Wilson  <wilson@specifixinc.com>
26837169689Skan
26838169689Skan	PR debug/20268
26839169689Skan	* dwarf2out.c (add_high_low_attributes): New function, extracted from
26840169689Skan	gen_lexical_block_die.
26841169689Skan	(gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
26842169689Skan
26843169689Skan2005-03-31  Jan Hubicka  <jh@suse.cz>
26844169689Skan
26845169689Skan	2004-11-02  Jan Hubicka  <jh@suse.cz>
26846169689Skan
26847169689Skan	* cgraph.c (cgraph_varpool_node_name): New function.
26848169689Skan	(dump_cgraph_varpool_node): New function.
26849169689Skan	(dump_varpool): New function.
26850169689Skan	* cgraphunit.c (cgraph_optimize): Dump varpool.
26851169689Skan
26852169689Skan	2004-10-16  Jan Hubicka  <jh@suse.cz>
26853169689Skan
26854169689Skan	* cgraph.c (decide_is_variable_needed): New function.
26855169689Skan	(cgraph_varpool_finalize_decl): Use it.
26856169689Skan	* cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
26857169689Skan	unit-at-a-time.
26858169689Skan	* final.c (output_addr_const): Do not call mark_referenced.
26859169689Skan	* passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
26860169689Skan	always go via cgraph.
26861169689Skan	* toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
26862169689Skan	(check_global_declarations): Ifdef out code clearing DECL_RTL.
26863169689Skan	* tree-optimize.c (execute_inline): Mark functions called.
26864169689Skan	* i386.c (output_pic_addr_const): Do not call mark_decl_referenced.
26865169689Skan
26866169689Skan	2004-10-11  Jan Hubicka  <jh@suse.cz>
26867169689Skan
26868169689Skan	* cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
26869169689Skan	(cgraph_varpool_last_needed_node): New static variable.
26870169689Skan	(enqueue_needed_varpool_node): Break out from ...; add items to the
26871169689Skan	end of queue; update first pointers.
26872169689Skan	(cgraph_varpool_mark_needed_node): ... here.
26873169689Skan	(cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
26874169689Skan	(cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
26875169689Skan	* cgraph.h (cgraph_varpool_node): Add analyzed field.
26876169689Skan	(cgraph_varpool_first_unanalyzed_node): Declare.
26877169689Skan	* cgraphunit.c: Include output.h.
26878169689Skan	(cgraph_varpool_analyze_pending_decls): New function.
26879169689Skan	(cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
26880169689Skan	for errors, analyze pending decls.
26881169689Skan	(cgraph_finalize_compilation_unit): Only analyze decls.
26882169689Skan	(cgraph_optimize): Assemble the decls after expanding.
26883169689Skan
26884169689Skan2005-03-30  Daniel Berlin  <dberlin@dberlin.org>
26885169689Skan
26886169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure
26887169689Skan	subvars get marked properly in tags for grouping.
26888169689Skan	(add_pointed_to_var): Mark only actual pointed to
26889169689Skan	variables/subvars in addresses needed.
26890169689Skan	(create_overlap_variables_for): Clear call clobbered on original
26891169689Skan	variable.
26892169689Skan	* tree-ssa-operands.c (get_asm_expr_operands): Don't let regular
26893169689Skan	addresable vars with subvars into list.
26894169689Skan	* tree-ssa.c (verify_ssa_name): Verify original is not used where
26895169689Skan	subvar should be.
26896169689Skan
26897169689Skan2005-03-30  Richard Henderson  <rth@redhat.com>
26898169689Skan
26899169689Skan	* cgraph.h (struct cgraph_node): Add alias.
26900169689Skan	* varasm.c (assemble_alias): Set it.
26901169689Skan	* cgraphunit.c (cgraph_assemble_pending_functions): Check it and
26902169689Skan	avoid calling cgraph_expand_function.
26903169689Skan
26904169689Skan2005-03-30  Tom Tromey  <tromey@redhat.com>
26905169689Skan
26906169689Skan	* tree.def (FILE_TYPE): Removed.
26907169689Skan	* typeclass.h (enum type_class): Removed file_type_class.
26908169689Skan	* dwarf2out.c (is_base_type): Updated.
26909169689Skan	(gen_type_die): Likewise.
26910169689Skan	* dbxout.c (dbxout_type): Updated.
26911169689Skan	* builtins.c (type_to_class): Updated.
26912169689Skan	* tree.c (type_contains_placeholder_1): Updated.
26913169689Skan	* config/sparc/sparc.c (sparc_type_code): Updated.
26914169689Skan	* config/ia64/ia64.c (hfa_element_mode): Updated.
26915169689Skan	* expr.c (count_type_elements): Updated.
26916169689Skan	* stor-layout.c (layout_type): Updated.
26917169689Skan	* tree-inline.c (remap_type): Updated.
26918169689Skan	* tree-pretty-print.c (dump_generic_node): Updated.
26919169689Skan
26920169689Skan2005-03-30 Fariborz Jahanian <fjahanian@apple.com>
26921169689Skan
26922169689Skan	* builtins.c (expand_builtin_powi): Fix mode of
26923169689Skan	2nd argument to match int.
26924169689Skan	* libgcc2.h (__powisf2, __powidf2, __powixf2, __powitf2): Change
26925169689Skan	2nd argument type to int.
26926169689Skan	* libgcc2.c: Change prototype of __powi* functions to use
26927169689Skan	int.
26928169689Skan
26929169689Skan2005-03-30  Dale Johannesen  <dalej@apple.com>
26930169689Skan
26931169689Skan	PR middle-end/19225
26932169689Skan	* calls.c (expand_call): Flush pending deferrals before
26933169689Skan	throwing call.
26934169689Skan
26935169689Skan2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
26936169689Skan
26937169689Skan	PR c/772
26938169689Skan	PR c/17913
26939169689Skan	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
26940169689Skan	C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
26941169689Skan	c_label_context, label_context_stack): New.
26942169689Skan	* c-decl.c (define_label): Check for jumps into statement
26943169689Skan	expressions.  Add label to list of defined labels.
26944169689Skan	(start_function): Push context on label_context_stack.
26945169689Skan	(finish_function): Pop context from label_context_stack.
26946169689Skan	* c-typeck.c (label_context_stack): New.
26947169689Skan	(c_finish_goto_label): Check for jumps into statement
26948169689Skan	expressions.  Add label to list of jumped to labels.
26949169689Skan	(struct c_switch): Add blocked_stmt_expr.
26950169689Skan	(c_start_case): Initialize it.
26951169689Skan	(do_case): Check it.
26952169689Skan	(c_finish_case): Verify !blocked_stmt_expr.
26953169689Skan	(c_begin_stmt_expr): Push context on label_context_stack.
26954169689Skan	Increment blocked_stmt_expr.  Mark labels jumped to from outside
26955169689Skan	as undefinable.
26956169689Skan	(c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
26957169689Skan	defined in the statement expression and no longer jumpable to.
26958169689Skan	Mark labels jumped to from just outside the statement expression
26959169689Skan	as again definable.  Pop context from label_context_stack.
26960169689Skan	* doc/extend.texi (Statement Exprs): Update.
26961169689Skan
26962169689Skan2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
26963169689Skan
26964169689Skan	PR c/20368
26965169689Skan	* c-decl.c (start_function): Check for old_decl being
26966169689Skan	error_mark_node.
26967169689Skan
26968169689Skan2005-03-30  Ian Lance Taylor  <ian@airs.com>
26969169689Skan
26970169689Skan	* final.c (final): Remove prescan parameter.  Change all callers.
26971169689Skan	(final_scan_insn): Remove prescan parameter.  Change all callers.
26972169689Skan
26973169689Skan2005-03-30  Kazu Hirata  <kazu@cs.umass.edu>
26974169689Skan
26975169689Skan	* tree-vectorizer.c: Fix comment typos.
26976169689Skan
26977169689Skan2005-03-30  Sebastian Pop  <pop@cri.ensmp.fr>
26978169689Skan
26979169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1): Return
26980169689Skan	as soon as a chrec_dont_know is detected.
26981169689Skan
26982169689Skan2005-03-31  Danny Smith  <dannysmith@users.sourceforge.net>
26983169689Skan
26984169689Skan	Merge from csl-arm-branch.
26985169689Skan	2004-02-12  Mark Mitchell  <mark@codesourcery.com>
26986169689Skan
26987169689Skan	* tlink.c (recompile_files): Do not assume that "rename" can
26988169689Skan	overwrite an existing file.
26989169689Skan
26990169689Skan2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
26991169689Skan
26992169689Skan	* configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
26993169689Skan	* configure: Regenerate.
26994169689Skan
26995169689Skan2005-03-30  Alan Modra  <amodra@bigpond.net.au>
26996169689Skan
26997169689Skan	* doc/install.texi: Update binutils requirement for powerpc*-linux.
26998169689Skan
26999169689Skan	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Update comments.
27000169689Skan
27001169689Skan	* calls.c (struct arg_data): Update "partial" comment.
27002169689Skan	(load_register_parameters): Update "nregs" comment.
27003169689Skan
27004169689Skan2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
27005169689Skan
27006169689Skan	* config/iq2000/iq2000.h (target_flags, MASK_GPOPT, MASK_EMBEDDED_DATA)
27007169689Skan	(MASK_UNINIT_CONST_IN_RODATA, TARGET_EMBEDDED_DATA, TARGET_SWITCHES)
27008169689Skan	(TARGET_DEFAULT, TARGET_CPU_DEFAULT, SUBTARGET_TARGET_OPTIONS)
27009169689Skan	(TARGET_OPTIONS, iq2000_cpu_string, iq2000_arch_string): Delete.
27010169689Skan	(TARGET_DEBUG_MODE, TARGET_DEBUG_A_MODE, TARGET_DEBUG_B_MODE)
27011169689Skan	(TARGET_DEBUG_C_MODE, TARGET_DEBUG_D_MODE): Define to 0 rather
27012169689Skan	than target_flags & 0.
27013169689Skan	* config/iq2000/iq2000.c (iq2000_cpu_string, iq2000_arch_string)
27014169689Skan	(iq2000_arch, iq2000_parse_cpu): Delete.
27015169689Skan	(TARGET_HANDLE_OPTION): Override default.
27016169689Skan	(iq2000_handle_option): New function.
27017169689Skan	(override_options): Remove -march= and -mcpu= handling.
27018169689Skan	* config/iq2000/iq2000.opt: New file.
27019169689Skan
27020169689Skan2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
27021169689Skan
27022169689Skan	* config/c4x/c4x-protos.h (c4x_rpts_cycles, c4x_cpu_version): Delete.
27023169689Skan	* config/c4x/c4x.h (SMALL_MEMORY_FLAG, MPYI_FLAG, FAST_FIX_FLAG)
27024169689Skan	(RPTS_FLAG, C3X_FLAG, TI_FLAG, PARANOID_FLAG, MEMPARM_FLAG, DEVEL_FLAG)
27025169689Skan	(RPTB_FLAG, BK_FLAG, DB_FLAG, DEBUG_FLAG, HOIST_FLAG)
27026169689Skan	(LOOP_UNSIGNED_FLAG, FORCE_FLAG, PRESERVE_FLOAT_FLAG)
27027169689Skan	(PARALLEL_INSN_FLAG, PARALLEL_MPY_FLAG, ALIASES_FLAG, C30_FLAG)
27028169689Skan	(C31_FLAG, C32_FLAG, C33_FLAG, C40_FLAG, C44_FLAG, TARGET_SWITCHES)
27029169689Skan	(TARGET_DEFAULT, TARGET_SMALL, TARGET_MPYI, TARGET_FAST_FIX)
27030169689Skan	(TARGET_RPTS, TARGET_TI, TARGET_PARANOID, TARGET_MEMPARM, TARGET_DEVEL)
27031169689Skan	(TARGET_RPTB, TARGET_BK, TARGET_DB, TARGET_DEBUG, TARGET_HOIST)
27032169689Skan	(TARGET_LOOP_UNSIGNED, TARGET_FORCE, TARGET_PRESERVE_FLOAT)
27033169689Skan	(TARGET_PARALLEL, TARGET_PARALLEL_MPY, TARGET_ALIASES)
27034169689Skan	(c4x_rpts_cycles_string, c4x_cpu_version_string)
27035169689Skan	(TARGET_OPTIONS): Delete.
27036169689Skan	(c4x_rpts_cycles, c4x_cpu_version): Declare.
27037169689Skan	(TARGET_C3X, TARGET_C30, TARGET_C31, TARGET_C32, TARGET_C33)
27038169689Skan	(TARGET_C40, TARGET_C44): Redefine in terms of c4x_cpu_version.
27039169689Skan	* config/c4x/c4x.c (c4x_rpts_cycles_string): Delete.
27040169689Skan	(c4x_cpu_version_string): Delete.
27041169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
27042169689Skan	(c4x_handle_option): New function.  Map -m3x and -m4x options to the
27043169689Skan	equivalent -mcpu= option.
27044169689Skan	(c4x_override_options): Remove -mrpts= and -mcpu= handling from here.
27045169689Skan	Deal with the extra conditions in the old TARGET_MPYI, TARGET_RPTB,
27046169689Skan	TARGET_DB, TARGET_PARALLEL and TARGET_PARALLEL_MPY macros by setting
27047169689Skan	or clearing the appropriate MASK_* bit.
27048169689Skan	(c4x_file_start): Use c4x_cpu_version.
27049169689Skan	* config/c4x/c4x.opt: New file.
27050169689Skan
27051169689Skan2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
27052169689Skan
27053169689Skan	* doc/options.texi: Document the new MaskExists flag.
27054169689Skan	* opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
27055169689Skan	if the option has the MaskExists flag.
27056169689Skan
27057169689Skan2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
27058169689Skan
27059169689Skan	* opt-functions.awk (flag_set_p, test_flag): New functions.
27060169689Skan	(switch_flags): Use them.
27061169689Skan	* opth-gen.awk: Use flag_set_p to check for flags.
27062169689Skan	* optc-gen.awk: Likewise.  Use opt_args to check for Init(...) flags.
27063169689Skan
27064169689Skan2005-03-30  Ian Lance Taylor  <ian@airs.com>
27065169689Skan
27066169689Skan	* config.host (i[34567]86-*-mingw32*): Don't set
27067169689Skan	host_can_use_collect2 to no.
27068169689Skan
27069169689Skan2005-03-30  Alan Modra  <amodra@bigpond.net.au>
27070169689Skan
27071169689Skan	PR target/20203
27072169689Skan	* builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
27073169689Skan	Remove convert_memory_address call duplicating that in memory_address.
27074169689Skan
27075169689Skan2005-03-29  Richard Henderson  <rth@redhat.com>
27076169689Skan
27077169689Skan	PR c/20519
27078169689Skan	* c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
27079169689Skan	(build_compound_literal): Likewise.  Propagate decl type into the
27080169689Skan	initializer.
27081169689Skan	(finish_decl): Likewise.  Use new return value from complete_array_type
27082169689Skan	for zero sized arrays.
27083169689Skan	(complete_array_type): Move ...
27084169689Skan	* c-common.c (complete_array_type): ... here.  Change first argument
27085169689Skan	to pointer-to-type-node.  Consistently use sizetype for the index
27086169689Skan	except for zero sized arrays.  Detect zero sized arrays for pedantic
27087169689Skan	mode diagnostics.  Create a new type node instead of modifying the
27088169689Skan	old node in place.
27089169689Skan	* c-tree.h (complete_array_type): Move decl ...
27090169689Skan	* c-common.h (complete_array_type): ... here.
27091169689Skan
27092169689Skan2005-03-29  Richard Henderson  <rth@redhat.com>
27093169689Skan
27094169689Skan	PR tree-opt/19108
27095169689Skan	* tree-sra.c (generate_element_init_1): Handle RANGE_EXPR.
27096169689Skan
27097169689Skan2005-03-29  Kazu Hirata  <kazu@cs.umass.edu>
27098169689Skan
27099169689Skan	* builtin-types.def, c-convert.c, c-format.c, ddg.c, debug.c,
27100169689Skan	debug.h, et-forest.c, et-forest.h, gcov.c, rtl-profile.c,
27101169689Skan	rtlhooks-def.h, rtlhooks.c, sdbout.c, tree-inline.h,
27102169689Skan	tree-profile.c, tsystem.h, value-prof.h: Update copyright.
27103169689Skan
27104169689Skan2005-03-29  Eric Christopher  <echristo@redhat.com>
27105169689Skan
27106169689Skan	* config/mips/mips.c (mips_gimplify_va_arg_expr): Update for
27107169689Skan	truthvalue conversion removal.
27108169689Skan
27109169689Skan2005-03-29  Ian Lance Taylor  <ian@airs.com>
27110169689Skan
27111169689Skan	PR bootstrap/14316
27112169689Skan	* collect2.c: Never include <vfork.h>.
27113169689Skan	(VFORK_STRING, vfork): Don't define.
27114169689Skan	(pid): Remove global variable.
27115169689Skan	(handler): Call raise instead of kill (getpid(), ...).
27116169689Skan	(collect_wait): Add pex parameter.  Change all callers.  Use
27117169689Skan	pex_get_status rather than pwait.
27118169689Skan	(do_wait): Add pex parameter.  Change all callers.
27119169689Skan	(collect_execute): Return struct pex_obj * rather than void.  Use
27120169689Skan	pex routines rather than pexecute.
27121169689Skan	(fork_execute): Get pex_obj from collect_execute, and pass it to
27122169689Skan	do_wait.
27123169689Skan	(scan_prog_file): Use pex routines rather than pipe/vfork/exec.
27124169689Skan	Only declare quit_handler if SIGQUIT is defined.
27125169689Skan	(scan_libraries): Likewise.
27126169689Skan	* collect2.h (collect_execute): Update declaration.
27127169689Skan	(collect_wait): Update declaration.
27128169689Skan	* tlink.c (tlink_execute): Get pex_obj from collect_execute, and
27129169689Skan	pass it to collect_wait.
27130169689Skan
27131169689Skan2005-03-29  Joseph S. Myers  <joseph@codesourcery.com>
27132169689Skan
27133169689Skan	PR c/20672
27134169689Skan	* c-parser.c (c_parser_compound_statement_nostart): Give error
27135169689Skan	message for EOF instead of just setting parser->error.
27136169689Skan
27137169689Skan2005-03-29  Dorit Naishlos  <dorit@il.ibm.com>
27138169689Skan
27139169689Skan	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard): Removed.
27140169689Skan	(slpeel_update_phi_nodes_for_guard1): New function.
27141169689Skan	(slpeel_update_phi_nodes_for_guard2): New function.
27142169689Skan	(slpeel_tree_peel_loop_to_edge): Call above new functions instead
27143169689Skan	of slpeel_update_phi_nodes_for_guard.
27144169689Skan	(vectorize_loops): Remove call to loop_closed_rewrite.
27145169689Skan	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Remove
27146169689Skan	assertion.
27147169689Skan
27148169689Skan2005-03-29  Richard Sandiford  <rsandifo@redhat.com>
27149169689Skan
27150169689Skan	* config/m32r/little.h (TARGET_ENDIAN_DEFAULT): Delete.
27151169689Skan	(TARGET_LITTLE_ENDIAN): New macro.
27152169689Skan	* config/m32r/m32r.h (SUBTARGET_SWITCHES, target_flags)
27153169689Skan	(TARGET_RELAX_MASK, TARGET_DEBUG_MASK, TARGET_DEBUG)
27154169689Skan	(TARGET_ALIGN_LOOPS_MASK, TARGET_ALIGN_LOOPS)
27155169689Skan	(TARGET_LOW_ISSUE_RATE_MASK, TARGET_LOW_ISSUE_RATE)
27156169689Skan	(TARGET_BRANCH_COST_MASK, TARGET_BRANCH_COST, TARGET_M32RX_MASK)
27157169689Skan	(TARGET_M32RX, TARGET_M32R2_MASK, TARGET_M32R2, LITTLE_ENDIAN_BIT)
27158169689Skan	(TARGET_ENDIAN_DEFAULT, SUBTARGET_SWITCHES, TARGET_DEFAULT)
27159169689Skan	(TARGET_SWITCHES, m32r_model_string, m32r_sdata_string)
27160169689Skan	(m32r_cache_flush_trap_string, SUBTARGET_OPTIONS)
27161169689Skan	(TARGET_OPTIONS): Delete.
27162169689Skan	(M32R_MODEL_DEFAULT, M32R_SDATA_DEFAULT): Turn into enums.
27163169689Skan	(CACHE_FLUSH_TRAP): Turn into an integer.
27164169689Skan	(TARGET_LITTLE_ENDIAN): Define to 0 by default.
27165169689Skan	(INITIALIZE_TRAMPOLINE): Check m32r_cache_trap >= 0 to see if
27166169689Skan	-mflush-trap is in use.
27167169689Skan	* config/m32r/m32r.c (m32r_model_string, m32r_sdata_string)
27168169689Skan	(m32r_cache_flush_trap_string): Delete.
27169169689Skan	(m32r_model) Initialize to M32R_MODEL_DEFAULT.
27170169689Skan	(m32r_sdata): Likewise M32R_SDATA_DEFAULT.
27171169689Skan	(m32r_cache_trap): Likewise CACHE_FLUSH_TRAP.
27172169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
27173169689Skan	(m32r_handle_option): New function.  Move -mflush-trap=, -mflush-func=,
27174169689Skan	-mmodel= and -msdata= handling from...
27175169689Skan	(m32r_init): ...here.
27176169689Skan	* config/m32r/m32r.opt: New file.
27177169689Skan
27178169689Skan2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
27179169689Skan
27180169689Skan	* tree-ssanames.c (duplicate_ssa_name_ptr_info): New function.
27181169689Skan	(duplicate_ssa_name): Call duplicate_ssa_name_ptr_info.
27182169689Skan	* tree-vect-analyze.c (vect_object_analysis): additional parm
27183169689Skan	pass back a "struct ptr_info_def *" with the points-to info.
27184169689Skan	(vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the
27185169689Skan	statement using info returned from vect_object_analysis.
27186169689Skan	* tree-vect-transform.c (update_vuses_to_preheader): New function.
27187169689Skan	(vect_create_data_ref_ptr): Remove updates to vars_to_rename
27188169689Skan	for virtual uses and defs when creating a replacement vector
27189169689Skan	reference.  Call duplicate_ssa_name_ptr_info to define points-to
27190169689Skan	info for vector pointer replacement using STMT_VINFO_PTR_INFO.
27191169689Skan	(vectorizable_store): copy_virtual_operands and update
27192169689Skan	definition statements.
27193169689Skan	(vectorizable_load): copy_virtual_operands.  Remove call to
27194169689Skan	mark_call_clobbered_vars_to_rename for call to "const" builtin.
27195169689Skan	* tree-vectorizer.c (vectorize_loops): Remove calls to
27196169689Skan	rewrite_into_ssa and bitmap_clear (vars_to_rename).
27197169689Skan	(new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt.
27198169689Skan	* tree-vectorizer.h (_stmt_vec_info): add field ptr_info and
27199169689Skan	define macro STMT_VINFO_PTR_INFO for use in accessing.
27200169689Skan	* tree.h add export of duplicate_ssa_name_ptr_info.
27201169689Skan	* rs6000.c (altivec_init_builtins): Declare builtin function
27202169689Skan	__builtin_altivec_mask_for_load to be "const".
27203169689Skan
27204169689Skan2005-03-29  Jakub Jelinek  <jakub@redhat.com>
27205169689Skan
27206169689Skan	PR middle-end/20622
27207169689Skan	* cgraph.h (struct cgraph_varpool_node): Add alias field.
27208169689Skan	* cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
27209169689Skan	assemble_variable on aliases.
27210169689Skan	* varasm.c (assemble_alias): Set node->alias.
27211169689Skan	* toplev.c (wrapup_global_declarations): Don't call
27212169689Skan	rest_of_decl_compilation on aliases again.
27213169689Skan
27214169689Skan2005-03-29  Paul Brook  <paul@codesourcery.com>
27215169689Skan
27216169689Skan	* config/arm/arm-protos.h (arm_dbx_register_number): Add prototype.
27217169689Skan	* config/arm/arm.c (arm_dbx_register_number): New function.
27218169689Skan	* config/arm/arm.h (IS_FPA_REGNUM, DBX_REGISTER_NUMBER): Define.
27219169689Skan
27220169689Skan2005-03-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
27221169689Skan
27222169689Skan	PR middle-end/20263
27223169689Skan	* varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use
27224169689Skan	the DECL_NAME, not the DECL_ASSEMBLER_NAME.
27225169689Skan
27226169689Skan2005-03-29  Dale Johannesen <dalej@apple.com>
27227169689Skan
27228169689Skan	* Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H)
27229169689Skan	$(TREE_H) and $(COVERAGE_H).
27230169689Skan	* coverage.c (compute_checksum): Use DECL_NAME not DECL_ASSEMBLER_NAME.
27231169689Skan	* opts.c (common_handle_option): Enable tree-based value transforms.
27232169689Skan	* toplev.c (process_options): Ditto.
27233169689Skan	* value-prof.h (struct histogram_value_t): Redefine. "Adjust" below
27234169689Skan	refers to references to this type.
27235169689Skan	* tree-flow.h: (struct stmt_ann_d): Add histograms field.
27236169689Skan	* rtl-profile.c (rtl_gen_interval_profiler): Adjust. Remove checks
27237169689Skan	for may_be_more, may_be_less.
27238169689Skan	(rtl_gen_pow2_profiler): Adjust.
27239169689Skan	(rtl_gen_one_value_profiler_no_edge_manip): Adjust.
27240169689Skan	(rtl_gen_one_value_profiler): Adjust.
27241169689Skan	(rtl_gen_const_delta_profiler): Adjust.
27242169689Skan	* tree-profile.c (tree_gen_interval_profiler): Implement.
27243169689Skan	(tree_gen_pow2_profiler): Ditto.
27244169689Skan	(tree_gen_one_value_profiler): Ditto.
27245169689Skan	(tree_profiling): New.
27246169689Skan	(pass_tree_profile): Reference it.
27247169689Skan	* value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h,
27248169689Skan	tree.h, gcov-io.h.
27249169689Skan	(insn_divmod_values_to_profile): Rename to
27250169689Skan	rtl_divmod_values_to_profile. Adjust.
27251169689Skan	(insn_values_to_profile): Rename to rtl_values_to_profile. Adjust.
27252169689Skan	(insn_prefetch_values_to_profile): Adjust.
27253169689Skan	(rtl_value_profile_transformations): Adjust.
27254169689Skan	(gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value.
27255169689Skan	(gen_mod_pow2): Rename to rtl_mod_pow2.
27256169689Skan	(gen_mod_subtract): Rename to rtl_mod_subtract.
27257169689Skan	(divmod_fixed_value_transform): Rename to
27258169689Skan	rtl_divmod_fixed_value_transform.
27259169689Skan	(mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform.
27260169689Skan	(mod_subtract_transform): Rename to rtl_mod_subtract_transform.
27261169689Skan	(rtl_find_values_to_profile): Adjust.
27262169689Skan	(tree_value_profile_transformations): Implement.
27263169689Skan	(tree_divmod_values_to_profile): New.
27264169689Skan	(tree_values_to_profile): New.
27265169689Skan	(tree_divmod_fixed_value): New.
27266169689Skan	(tree_mod_pow2): New.
27267169689Skan	(tree_mod_subtract): New.
27268169689Skan	(tree_divmod_fixed_value_transform): New.
27269169689Skan	(tree_mod_pow2_value_transform): New.
27270169689Skan	(tree_mod_subtract_transform): New.
27271169689Skan	(tree_find_values_to_profile): Implement.
27272169689Skan	* profile.c (instrument_values): Free histograms.
27273169689Skan	(compute_value_histograms): Adjust. Implement tree version.
27274169689Skan
27275169689Skan2005-03-29  Uros Bizjak  <uros@kss-loka.si>
27276169689Skan
27277169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST> case.
27278169689Skan	* config/i386/i386.c (output_fix_trunc): Add new round_mode
27279169689Skan	variable.  Output "fldcw" depending on round_mode.
27280169689Skan	* config/i386/i386.md (UNSPEC_FIST): New.
27281169689Skan	(fistdi2, fistdi2_with_temp, fist<mode>2, fist<mode>2_with_temp):
27282169689Skan	New isns patterns to implement lrint and llrint built-ins as x87
27283169689Skan	intrinsic function.
27284169689Skan	(fistdi2, fist<mode>2 splitters): New splitters.
27285169689Skan	(lrint<mode>2): New expanders.
27286169689Skan
27287169689Skan2005-03-28  Ian Lance Taylor  <ian@airs.com>
27288169689Skan
27289169689Skan	* config/arc/arc.c (arc_output_function_epilogue): Pass prescan as
27290169689Skan	0 when calling final_scan_insn.
27291169689Skan
27292169689Skan2005-03-28  Jan Hubicka  <jh@suse.cz>
27293169689Skan
27294169689Skan	PR middle-end/20635
27295169689Skan	* varasm.c (mark_decl_referenced): Do not mark extern inline functions
27296169689Skan	as needed.
27297169689Skan
27298169689Skan	* tree-inline.c (estimate_num_insns_1): Use declaration to discover argument
27299169689Skan	types where possible.
27300169689Skan
27301169689Skan2005-03-26  Per Bothner  <per@bothner.com>
27302169689Skan
27303169689Skan	Make -f[no-]show-column also control non-cpp diagnostics.
27304169689Skan	* c.opt (fshow-column): Move option from here ...
27305169689Skan	* common.opt (fshow-column): ... to here.
27306169689Skan	* diagnostic.c (diagnostic_build_prefix): Only print column number
27307169689Skan	if flag_show_column.
27308169689Skan
27309169689Skan2005-03-27  Steven Bosscher  <stevenb@suse.de>
27310169689Skan
27311169689Skan	* vax-protos.h (vax_output_int_move, vax_output_int_add,
27312169689Skan	vax_output_conditional_branch): New prototypes.
27313169689Skan	* vax.c (vax_output_int_move, vax_output_int_add): New functions,
27314169689Skan	extracted from vax.md mov and add patterns.
27315169689Skan	(vax_output_conditional_branch): New function to output conditional
27316169689Skan	branch instructions.
27317169689Skan	* vax.md: Use mode macros for arithmetic and mov patterns.
27318169689Skan	Use code macros for the jump patterns.
27319169689Skan
27320169689Skan2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
27321169689Skan
27322169689Skan	* Makefile.in (libbackend.o): Depend on version files;
27323169689Skan	add custom generation command.
27324169689Skan
27325169689Skan2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
27326169689Skan
27327169689Skan	PR target/20636
27328169689Skan	* config/rs6000/rs6000.md (extendsfdf2_fpr): Check to make
27329169689Skan	sure that we have a REG before getting its REGNO.
27330169689Skan
27331169689Skan2005-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
27332169689Skan
27333169689Skan	* builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
27334169689Skan	* builtins.def (BUILT_IN_STRNDUP): New.
27335169689Skan
27336169689Skan2005-03-25  Pat Haugen  <pthaugen@us.ibm.com>
27337169689Skan
27338169689Skan	PR tree-optimization/20470
27339169689Skan	* fold-const.c (fold_cond_expr_with_comparison): Recognize/fold
27340169689Skan	ABS(x-y).
27341169689Skan
27342169689Skan2005-03-25  Mike Stump  <mrs@apple.com>
27343169689Skan
27344169689Skan	* config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0
27345169689Skan	sized objects.
27346169689Skan
27347169689Skan2005-03-25  Geoffrey Keating  <geoffk@apple.com>
27348169689Skan
27349169689Skan	* config/rs6000/darwin-fallback.c: Don't include <ucontext.h>.
27350169689Skan	Use our own structure definitions.
27351169689Skan
27352169689Skan	* config/rs6000/rs6000.md (UNSPEC constants): Add UNSPEC_STFIWX.
27353169689Skan	(fix_truncdfsi2): Allow registers or memory as destination.
27354169689Skan	When TARGET_PPC_GFXOPT, generate simplified pattern.
27355169689Skan	(fix_truncdfsi2_internal): Use define_insn_and_split.
27356169689Skan	(fix_truncdfsi2_internal_gfxopt): New.
27357169689Skan	(fctiwz): Don't confuse register allocation by giving it no choices.
27358169689Skan	(stfiwx): New.
27359169689Skan	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'.
27360169689Skan	(EXTRA_MEMORY_CONSTRAINT): Likewise.
27361169689Skan	* config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
27362169689Skan	* config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New.
27363169689Skan
27364169689Skan2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
27365169689Skan
27366169689Skan	* dominance.c (free_dominance_info): Speed up by freeing et
27367169689Skan	data structures without maintaining other nodes.
27368169689Skan	* et-forest.c (et_free_tree_force): New.
27369169689Skan	* et-forest.h: Add a prototype for et_free_tree_force.
27370169689Skan
27371169689Skan	* tree.c (get_set_constructor_bits,
27372169689Skan	get_set_constructor_bytes): Remove.
27373169689Skan	* tree.h: Remove the corresponding prototypes.
27374169689Skan
27375169689Skan2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
27376169689Skan
27377169689Skan	PR target/15491
27378169689Skan	* vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
27379169689Skan	(vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
27380169689Skan	FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
27381169689Skan	PRE_DEC, NEG and NOT.
27382169689Skan
27383169689Skan2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
27384169689Skan
27385169689Skan	* fold-const.c: Convert uses of fold (build (...)) to
27386169689Skan	fold_buildN.
27387169689Skan
27388169689Skan2005-03-25  Zdenek Dvorak  <dvorakz@suse.cz>
27389169689Skan
27390169689Skan	PR rtl-optimization/20249
27391169689Skan	* cse.c (insert_regs): Do not record equivalence of registers in
27392169689Skan	different modes.
27393169689Skan
27394169689Skan2005-03-24  Kazu Hirata  <kazu@cs.umass.edu>
27395169689Skan
27396169689Skan	* emit-rtl.c (reverse_comparison): Remove.
27397169689Skan	* rtl.h: Remove the corresponding prototype.
27398169689Skan
27399169689Skan2005-03-24  James E Wilson  <wilson@specifixinc.com>
27400169689Skan
27401169689Skan	* doc/install.texi (--enable-altivec): Delete docs.
27402169689Skan
27403169689Skan2005-03-24  David Edelsohn  <edelsohn@gnu.org>
27404169689Skan
27405169689Skan	* config/rs6000/predicates.md (easy_fp_constant): Return 0 for
27406169689Skan	SFmode and DFmode before reload when
27407169689Skan	flag_unsafe_math_optimizations not enabled.
27408169689Skan
27409169689Skan2005-03-24  Geoffrey Keating  <geoffk@apple.com>
27410169689Skan
27411169689Skan	* c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
27412169689Skan
27413169689Skan	* config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add
27414169689Skan	MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE.
27415169689Skan
27416169689Skan2005-03-24  Nathan Sidwell  <nathan@codesourcery.com>
27417169689Skan
27418169689Skan	* configure.ac (enable-checking): Add 'runtime' option.
27419169689Skan	* doc/install.texi (enable-checking): Document 'runtime' checking.
27420169689Skan	* tsystem.h (gcc_assert, gcc_unreachable): Define.
27421169689Skan	* config.in: Regenerated.
27422169689Skan	* configure: Regenerated.
27423169689Skan
27424169689Skan2005-03-23  Uros Bizjak  <uros@kss-loka.si>
27425169689Skan
27426169689Skan	* optabs.h (enum optab_index): Remove OTI_llrint.
27427169689Skan	(llrint_optab): Remove macro.
27428169689Skan	* optabs.c (init_optabs): Remove llrint_optab initialization.
27429169689Skan	* genopinit.c (optabs): Remove llrint_optab implementation.
27430169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LLRINT{,F,L}
27431169689Skan	using lrint_optab.
27432169689Skan
27433169689Skan2005-03-24  Alexandre Oliva  <aoliva@redhat.com>
27434169689Skan
27435169689Skan	PR rtl-optimization/20532
27436169689Skan	* simplify-rtx.c (simplify_binary_operation_1): Protect from
27437169689Skan	overflow when adding coefficients for PLUS or MINUS.
27438169689Skan	(simplify_binary_operation_1): Handle CONST_DOUBLE exact power of
27439169689Skan	two as multiplier.
27440169689Skan
27441169689Skan2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
27442169689Skan
27443169689Skan	* langhooks.h (truthvalue_conversion): Remove.
27444169689Skan	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
27445169689Skan	LANG_HOOKS_TRUTHVALUE_CONVERSION.
27446169689Skan	* system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
27447169689Skan	* gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
27448169689Skan	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
27449169689Skan
27450169689Skan2005-03-23  Kazu Hirata  <kazu@cs.umass.edu>
27451169689Skan
27452169689Skan	* params.def: Fix a typo.
27453169689Skan	* config/mips/mips.c: Follow the spelling convensions.
27454169689Skan	* doc/invoke.texi: Fix typos.
27455169689Skan
27456169689Skan2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
27457169689Skan
27458169689Skan	Fix PR tree-optimization/20601
27459169689Skan
27460169689Skan	* tree-ssa-pre.c (insert_aux): Add missing condition to
27461169689Skan	constification.
27462169689Skan
27463169689Skan2005-03-23  Ian Lance Taylor  <ian@airs.com>
27464169689Skan
27465169689Skan	* final.c (final_scan_insn): Don't remove no-op instructions.
27466169689Skan	* reload1.c (reload): Remove simple no-op instructions even when
27467169689Skan	not optimizing.
27468169689Skan
27469169689Skan2005-03-23  Dorit Naishlos  <dorit@il.ib.com>
27470169689Skan
27471169689Skan	PR tree-optimization/20501
27472169689Skan	* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
27473169689Skan	reporting that peeling for alignment is applied moved to...
27474169689Skan	* (vect_analyze_data_refs_alignment): Here.
27475169689Skan
27476169689Skan2005-03-23  Ian Lance Taylor  <ian@airs.com>
27477169689Skan
27478169689Skan	* reorg.c (dbr_schedule): Remove #if 0 code to call final.
27479169689Skan
27480169689Skan2005-03-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
27481169689Skan
27482169689Skan	* config.gcc (alpha*-dec-osf[45]*): Remove target_cpu_default.
27483169689Skan	Define TARGET_SUPPORT_ARCH except on Tru64 UNIX V4.0A.
27484169689Skan
27485169689Skan2005-03-23  Hans-Peter Nilsson  <hp@axis.com>
27486169689Skan
27487169689Skan	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
27488169689Skan	imply that this is called once, independent of asms in code.
27489169689Skan	Adjust to now being pased output and input lists.  Mention helper
27490169689Skan	function decl_overlaps_hard_reg_set_p.
27491169689Skan	* hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from
27492169689Skan	hook_tree_tree_identity and to take three trees, returning third.
27493169689Skan	* hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the
27494169689Skan	prototype.
27495169689Skan	* stmt.c: include hard-reg-set.h before tree.h.
27496169689Skan	(decl_overlaps_hard_reg_set_p): New function, broken out from...
27497169689Skan	(decl_conflicts_with_clobbers_p): Call
27498169689Skan	decl_overlaps_hard_reg_set_p.
27499169689Skan	(expand_asm_operands): Pass output and input lists in call to
27500169689Skan	targetm.md_asm_clobbers.
27501169689Skan	* target-def.h (TARGET_MD_ASM_CLOBBERS): Define as
27502169689Skan	hook_tree_tree_tree_tree_3rd_identity.
27503169689Skan	* target.h (struct gcc_target.md_asm_clobbers): Take three tree
27504169689Skan	parameters.
27505169689Skan	* tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype.
27506169689Skan	* config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three
27507169689Skan	parameters, first two unused.
27508169689Skan	* config/cris/cris.c (cris_md_asm_clobbers): Adjust to added
27509169689Skan	parameters.  Only add MOF to clobbers if there's no 'h' mentioned
27510169689Skan	in constraint letters and MOF is not mentioned as a asm-declared
27511169689Skan	register in neither of the input and output lists.
27512169689Skan
27513169689Skan2005-03-23  DJ Delorie  <dj@redhat.com>
27514169689Skan
27515169689Skan	* optabs.c (expand_binop): Make sure the first subword's result
27516169689Skan	gets stored.
27517169689Skan
27518169689Skan2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
27519169689Skan
27520169689Skan	* c-common.c (c_common_truthvalue_conversion): Adjust comment.
27521169689Skan	Call c_common_truthvalue_conversion rather than
27522169689Skan	lang_hooks.truthvalue_conversion.
27523169689Skan	* c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
27524169689Skan	* c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
27525169689Skan	c-typeck.c.
27526169689Skan	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
27527169689Skan	c_common_truthvalue_conversion.
27528169689Skan	* c-parser.c (c_parser_paren_condition, c_parser_for_statement,
27529169689Skan	c_parser_conditional_expression, c_parser_binary_expression): Call
27530169689Skan	c_objc_common_truthvalue_conversion.
27531169689Skan	* c-typeck.c (build_unary_op): Call
27532169689Skan	c_objc_common_truthvalue_conversion.
27533169689Skan	(build_conditional_expr): Do not call
27534169689Skan	lang_hooks.truthvalue_conversion.
27535169689Skan	(build_binary_op): Call c_common_truthvalue_conversion.
27536169689Skan	(c_objc_common_truthvalue_conversion): Moved from
27537169689Skan	c-objc-common.c.  Call default_function_array_conversion instead
27538169689Skan	of default_conversion.
27539169689Skan
27540169689Skan2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
27541169689Skan
27542169689Skan	* c-common.h (default_conversion): Remove.
27543169689Skan	(perform_integral_promotions): Add.
27544169689Skan	* c-tree.h (default_conversion): Add.
27545169689Skan	* c-typeck.c (perform_integral_promotions): New, split out from
27546169689Skan	default_conversion.
27547169689Skan	* c-common.c (check_case_value): Use perform_integral_promotions,
27548169689Skan	not default_conversion.
27549169689Skan	(c_add_case_label): Don't continue processing case label after
27550169689Skan	found to be pointer.
27551169689Skan
27552169689Skan2005-03-23  Mark Mitchell  <mark@codesourcery.com>
27553169689Skan
27554169689Skan	* gcc.c (do_spec_1): Do not add a -L path for a directory in
27555169689Skan	the prefix list if we have already added a multilib directory
27556169689Skan	based on that path.
27557169689Skan	(main): Do not add MD_EXEC_PREFIX to the list of directories to
27558169689Skan	search with -L.
27559169689Skan
27560169689Skan2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
27561169689Skan
27562169689Skan	* reload1.c (indirect_symref_ok, reload_obstack): Make them
27563169689Skan	static.
27564169689Skan	* reload.h: Remove the prototype for indirect_symref_ok.
27565169689Skan
27566169689Skan	* reload1.c (indirect_symref_ok): Make it global.
27567169689Skan	* reload.h: Add a prototype for indirect_symref_ok.
27568169689Skan
27569169689Skan2005-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
27570169689Skan
27571169689Skan	* config/sh/sh.md (ashlhi3): Rename to *ashlhi3_n and add a new
27572169689Skan	ashlhi3 expander.
27573169689Skan
27574169689Skan2005-03-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
27575169689Skan
27576169689Skan	* tree.h (DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER): Clarify comments.
27577169689Skan
27578169689Skan2005-03-22  Daniel Berlin  <dberlin@dberlin.org>
27579169689Skan
27580169689Skan	* c-opts.c (c_common_parse_file): Only start/end main source file
27581169689Skan	if debug hooks says the writer wants it.
27582169689Skan	* dbxout.c (dbx_debug_hooks): Add start_end_main_source_file
27583169689Skan	member.
27584169689Skan	(xcoff_debug_hooks): Ditto.
27585169689Skan	* debug.c (do_nothing_hooks): Ditto.
27586169689Skan	* debug.h (gcc_debug_hooks): Ditto.
27587169689Skan	* dwarf2out.c (dwarf2_debug_hooks): Ditto.
27588169689Skan	* sdbout.c (sdb_debug_hooks): Ditto.
27589169689Skan	* vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
27590169689Skan
27591169689Skan2005-03-22  Mark Mitchell  <mark@codesourcery.com>
27592169689Skan
27593169689Skan	* doc/extend.texi: Deprecate C++ min/max operators.
27594169689Skan
27595169689Skan2005-03-22  Zdenek Dvorak  <dvorakz@suse.cz>
27596169689Skan
27597169689Skan	* tree-ssa-loop-ivopts.c (determine_iv_cost): Do not try to preserve
27598169689Skan	artificial original candidates.
27599169689Skan
27600169689Skan2005-03-22  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
27601169689Skan	    Jan Hubicka  <jh@suse.cz>
27602169689Skan	    Steven Bosscher <stevenb@suse.de>
27603169689Skan
27604169689Skan	* cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
27605169689Skan	call cost based on argument sizes.
27606169689Skan	(cgraph_mark_inline_edge): Avoid inline unit from shrinking by
27607169689Skan	inlining.
27608169689Skan	* params.def: (max-inline-inssn-single): Set to 450.
27609169689Skan	(max-inline-insns-auto): Set to 90.
27610169689Skan	(max-inline-insns-recursive): Set to 450
27611169689Skan	(max-inline-insns-recursive-auto): Set to 450.
27612169689Skan	(large-function-insns): Set to 2700.
27613169689Skan	(inline-call-cost): New parameter.
27614169689Skan	* tree-inline.c (estimate_move_cost): New function.
27615169689Skan	(estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
27616169689Skan	for non-gimple-regs, set cost to 0 for gimple-regs.  Compute call size
27617169689Skan	based on arguments.
27618169689Skan	* tree-inline.h (estimate_move_cost): Declare.
27619169689Skan	* invoke.texi: (max-inline-inssn-single): Change default to 450.
27620169689Skan	(max-inline-insns-auto): Change default to 90.
27621169689Skan	(max-inline-insns-recursive): Change default to 450
27622169689Skan	(max-inline-insns-recursive-auto): Change default to 450.
27623169689Skan	(large-function-insns): Change default to 2700.
27624169689Skan	(inline-call-cost): Document new parameter.
27625169689Skan
27626169689Skan2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
27627169689Skan
27628169689Skan	* config/i860/i860.h (target_flags, TARGET_XP, TARGET_SWITCHES)
27629169689Skan	(TARGET_DEFAULT): Delete.
27630169689Skan	* config/i860/i860.opt: New file.
27631169689Skan
27632169689Skan2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
27633169689Skan
27634169689Skan	* config/frv/frv-protos.h (frv_branch_cost_string, frv_branch_cost_int)
27635169689Skan	(frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
27636169689Skan	(frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
27637169689Skan	(frv_sched_lookahead): Delete.
27638169689Skan	* config/frv/frv.h (MASK_DEFAULT_ALLOC_CC): Move to frv.c.
27639169689Skan	(target_flags, MASK_GPR_32, MASK_FPR_32, MASK_SOFT_FLOAT)
27640169689Skan	(MASK_ALLOC_CC, MASK_DWORD, MASK_DOUBLE, MASK_MEDIA, MASK_MULADD)
27641169689Skan	(MASK_LIBPIC, MASK_ACC_4,  MASK_PACK, MASK_LONG_CALLS)
27642169689Skan	(MASK_ALIGN_LABELS, MASK_LINKED_FP, MASK_BIG_TLS, MASK_DEBUG_ARG)
27643169689Skan	(MASK_DEBUG_ADDR, MASK_DEBUG_STACK, MASK_DEBUG, MASK_DEBUG_LOC)
27644169689Skan	(MASK_DEBUG_COND_EXEC, MASK_NO_COND_MOVE, MASK_NO_SCC)
27645169689Skan	(MASK_NO_COND_EXEC, MASK_NO_VLIW_BRANCH, MASK_NO_MULTI_CE)
27646169689Skan	(MASK_FDPIC, MASK_INLINE_PLT, MASK_GPREL_RO, MASK_DEFAULT)
27647169689Skan	(TARGET_GPR_32, TARGET_FPR_32, TARGET_SOFT_FLOAT, TARGET_ALLOC_CC)
27648169689Skan	(TARGET_DWORD, TARGET_DOUBLE, TARGET_MEDIA, TARGET_MULADD)
27649169689Skan	(TARGET_LIBPIC, TARGET_ACC_4, TARGET_DEBUG_ARG, TARGET_DEBUG_ADDR)
27650169689Skan	(TARGET_DEBUG_STACK, TARGET_DEBUG, TARGET_DEBUG_LOC)
27651169689Skan	(TARGET_DEBUG_COND_EXEC, TARGET_NO_COND_MOVE, TARGET_NO_SCC)
27652169689Skan	(TARGET_NO_COND_EXEC, TARGET_NO_VLIW_BRANCH, TARGET_NO_MULTI_CE)
27653169689Skan	(TARGET_NO_NESTED_CE, TARGET_FDPIC, TARGET_INLINE_PLT, TARGET_BIG_TLS)
27654169689Skan	(TARGET_GPREL_RO, TARGET_PACK, TARGET_LONG_CALLS, TARGET_ALIGN_LABELS)
27655169689Skan	(TARGET_LINKED_FP, TARGET_GPR_64, TARGET_FPR_64, TARGET_HARD_FLOAT)
27656169689Skan	(TARGET_FIXED_CC, TARGET_COND_MOVE, TARGET_SCC, TARGET_COND_EXEC)
27657169689Skan	(TARGET_VLIW_BRANCH, TARGET_MULTI_CE, TARGET_NESTED_CE, TARGET_ACC_8)
27658169689Skan	(TARGET_SWITCHES, TARGET_OPTIONS, DEFAULT_CONDEXEC_TEMPS)
27659169689Skan	(DEFAULT_BRANCH_COST, DEFAULT_CONDEXEC_INSNS): Delete.
27660169689Skan	* config/frv/frv.c (frv_branch_cost_string, frv_branch_cost_int)
27661169689Skan	(frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
27662169689Skan	(frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
27663169689Skan	(frv_sched_lookahead): Delete.
27664169689Skan	(MASK_DEFAULT_ALLOC_CC): Moved from frv.h.
27665169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
27666169689Skan	(frv_handle_option): New function.  Move -mcpu= handling from...
27667169689Skan	(frv_override_options): ...here.  Remove handling of other
27668169689Skan	TARGET_OPTIONS.
27669169689Skan	(frv_ifcvt_modify_tests): Check !TARGET_COND_EXEC instead of
27670169689Skan	TARGET_NO_COND_EXEC and !TARGET_NESTED_CE to TARGET_NO_NESTED_CE.
27671169689Skan	(frv_ifcvt_modify_multiple_tests): Likewise !TARGET_MULTI_CE
27672169689Skan	and TARGET_NO_MULTI_CE.
27673169689Skan	(frv_for_each_packet): Likewise TARGET_NO_VLIW_BRANCH and
27674169689Skan	!TARGET_VLIW_BRANCH.
27675169689Skan	* config/frv/frv.opt: New file.
27676169689Skan
27677169689Skan2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
27678169689Skan
27679169689Skan	* fold-const.c (fold_ternary): Take decomposed arguments of
27680169689Skan	CALL_EXPR.
27681169689Skan	(fold): Update a call to fold_ternary.
27682169689Skan
27683169689Skan	* fold-const.c (fold_build1, fold_build2, fold_build3): New.
27684169689Skan	* tree.h: Add corresponding prototypes.
27685169689Skan
27686169689Skan2005-03-22  Jakub Jelinek  <jakub@redhat.com>
27687169689Skan
27688169689Skan	PR target/20561
27689169689Skan	* cfglayout.c (reemit_insn_block_notes): Don't put block notes in
27690169689Skan	between jump table and its label.
27691169689Skan	* final.c (shorten_branches): Handle notes in between ADDR_VEC
27692169689Skan	resp. ADDR_DIFF_VEC and the label preceeding it.
27693169689Skan	(final_scan_insn): Likewise.  Ensure ADDR_VEC resp. ADDR_DIFF_VEC
27694169689Skan	is emitted in the right section.
27695169689Skan
27696169689Skan2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
27697169689Skan
27698169689Skan	* fold-const.c (fold_unary, fold_binary): Update comments
27699169689Skan	about arguments.
27700169689Skan
27701169689Skan2005-03-22  Hans-Peter Nilsson  <hp@axis.com>
27702169689Skan
27703169689Skan	PR rtl-optimization/20527
27704169689Skan	* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
27705169689Skan	REG_INC note, test that the register also isn't mentioned in PRED
27706169689Skan	or SUCC.
27707169689Skan
27708169689Skan2005-03-22  Ben Elliston  <bje@au.ibm.com>
27709169689Skan
27710169689Skan	* dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype
27711169689Skan	and definition.
27712169689Skan
27713169689Skan2005-03-21  Mike Stump  <mrs@apple.com>
27714169689Skan
27715169689Skan	* varasm.c (default_assemble_visibility): Remove extra ().
27716169689Skan
27717169689Skan2005-03-21  Roger Sayle  <roger@eyesopen.com>
27718169689Skan
27719169689Skan	PR middle-end/20557
27720169689Skan	* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
27721169689Skan	to determine whether a block can be duplicated, rather than test
27722169689Skan	whether the block contains noncopyable insns ourselves.
27723169689Skan
27724169689Skan2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
27725169689Skan
27726169689Skan	* config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
27727169689Skan	predicates.
27728169689Skan
27729169689Skan2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
27730169689Skan
27731169689Skan	* config/ip2k/ip2k.h (target_flags, TARGET_SWITCHES): Delete.
27732169689Skan
27733169689Skan2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
27734169689Skan
27735169689Skan	* config/fr30/fr30.h (TARGET_SMALL_MODEL_MASK, TARGET_SMALL_MODEL)
27736169689Skan	(TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
27737169689Skan	* config/fr30/fr30.opt: New file.
27738169689Skan
27739169689Skan2005-03-18  Daniel Berlin  <dberlin@dberlin.org>
27740169689Skan
27741169689Skan	Fix PR tree-optimization/20542
27742169689Skan
27743169689Skan	* tree-flow-inline.h (overlap_subvar): Move to here.
27744169689Skan	* tree-ssa-operands.c: From here.
27745169689Skan	* tree-flow.h (overlap_subvar): Declare.
27746169689Skan	* tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
27747169689Skan	* tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
27748169689Skan	for variables with subvars.
27749169689Skan
27750169689Skan2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
27751169689Skan
27752169689Skan	PR middle-end/20177
27753169689Skan	* ddg.c (create_ddg_dependence): Ignore reg-anti dependency.
27754169689Skan	* modulo-sched.c (const_iteration_count): Return on NULL
27755169689Skan	pre-header.
27756169689Skan	(print_node_sched_params): Return on NULL dump_file.
27757169689Skan	(generate_reg_moves): Handle reg-anti dependencies and disregard
27758169689Skan	closing branch when generating register moves.
27759169689Skan	(sms_schedule): Mark the SMSed block dirty.
27760169689Skan	* passes.c (rest_of_handle_sms): Call update_life_info for all
27761169689Skan	basic-blocks.
27762169689Skan	* testsuite/gcc.dg/20050321-1.c: New test.
27763169689Skan
27764169689Skan2005-03-21  Bob Wilson  <bob.wilson@acm.org>
27765169689Skan
27766169689Skan	* config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
27767169689Skan	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
27768169689Skan	movqi_internal): Likewise.
27769169689Skan
27770169689Skan2005-03-21  Bob Wilson  <bob.wilson@acm.org>
27771169689Skan
27772169689Skan	* config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
27773169689Skan	xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
27774169689Skan	xtensa_b4const): Delete prototypes.
27775169689Skan	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
27776169689Skan	xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
27777169689Skan	(xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
27778169689Skan	xtensa_extra_constraint): New prototypes.
27779169689Skan	(add_operand, arith_operand, nonimmed_operand, mem_operand,
27780169689Skan	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
27781169689Skan	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
27782169689Skan	move_operand, const_float_1_operand, fpmem_offset_operand,
27783169689Skan	branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
27784169689Skan	* config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
27785169689Skan	(xtensa_b4const_or_zero): ...this.  Change return type to bool and
27786169689Skan	argument type to HOST_WIDE_INT.
27787169689Skan	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
27788169689Skan	xtensa_mask_immediate): Likewise.
27789169689Skan	(xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
27790169689Skan	Likewise.  Also make these functions static.
27791169689Skan	(xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
27792169689Skan	(xtensa_const_ok_for_letter_p): New.
27793169689Skan	(add_operand, arith_operand, nonimmed_operand, mem_operand,
27794169689Skan	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
27795169689Skan	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
27796169689Skan	move_operand, const_float_1_operand, fpmem_offset_operand,
27797169689Skan	branch_operator, ubranch_operator, boolean_operator): Move to
27798169689Skan	predicates.md.
27799169689Skan	(smalloffset_mem_p): Inline code from xtensa_lsi4x4.
27800169689Skan	(xtensa_mem_offset): Change return type to bool.
27801169689Skan	(xtensa_extra_constraint): New.
27802169689Skan	(gen_int_relational): Update type of const_range_p function pointer.
27803169689Skan	Use xtensa_b4const_or_zero.
27804169689Skan	* config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
27805169689Skan	xtensa_const_ok_for_letter_p.  Update comments.
27806169689Skan	(EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
27807169689Skan	(PREDICATE_CODES): Delete.
27808169689Skan	* config/xtensa/xtensa.md: Include predicates.md.
27809169689Skan	* config/xtensa/predicates.md: New file.
27810169689Skan
27811169689Skan2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
27812169689Skan
27813169689Skan	* config/v850/v850-protos.h: Remove the prototypes for
27814169689Skan	reg_or_int9_operand, reg_or_const_operand,
27815169689Skan	pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
27816169689Skan	reg_or_0_operand, reg_or_int5_operand, call_address_operand,
27817169689Skan	movsi_source_operand, power_of_two_operand,
27818169689Skan	not_power_of_two_operand, special_symbolref_operand,
27819169689Skan	pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
27820169689Skan	register_is_ok_for_epilogue.
27821169689Skan	* config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
27822169689Skan	reg_or_int9_operand, reg_or_const_operand,
27823169689Skan	call_address_operand, special_symbolref_operand,
27824169689Skan	movsi_source_operand, power_of_two_operand,
27825169689Skan	not_power_of_two_operand, register_is_ok_for_epilogue,
27826169689Skan	pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
27827169689Skan	pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
27828169689Skan	predicates.md.
27829169689Skan	* config/v850/v850.h (PREDICATE_CODES): Remove.
27830169689Skan	* config/v850/v850.md: Include predicates.md.
27831169689Skan	* config/v850/predicates.md: New.
27832169689Skan
27833169689Skan2005-03-21  Zack Weinberg  <zack@codesourcery.com>
27834169689Skan
27835169689Skan	* Makefile.in (BASEVER, DEVPHASE, DATESTAMP)
27836169689Skan	(BASEVER_c, DEVPHASE_c, DATESTAMP_c)
27837169689Skan	(BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
27838169689Skan	(itoolsdir, itoolsdatadir): Move definition above new first use.
27839169689Skan	(install-itoolsdirs): New rule.
27840169689Skan	(install-mkheaders): Depend on install-itoolsdirs, not
27841169689Skan	install-include-dir.
27842169689Skan
27843169689Skan2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
27844169689Skan
27845169689Skan	* tree-into-ssa.c: Remove obsolete comments.
27846169689Skan
27847169689Skan2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>
27848169689Skan
27849169689Skan	* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
27850169689Skan	unrolling if -fpeel-loops is specified, too.
27851169689Skan	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
27852169689Skan	Remove superfluous check for flag_unroll_loops.
27853169689Skan
27854169689Skan2005-03-21  Uros Bizjak  <uros@kss-loka.si>
27855169689Skan
27856169689Skan	* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
27857169689Skan	(lrint_optab, llrint_optab): Define corresponding macros.
27858169689Skan	* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
27859169689Skan	* genopinit.c (optabs): Implement lrint_optab using lrintsi2
27860169689Skan	pattern and llrint_optab using llrintdi2 patterns.
27861169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
27862169689Skan	using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
27863169689Skan	(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
27864169689Skan	BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
27865169689Skan	flag_unsafe_math_optimizations is set.
27866169689Skan
27867169689Skan2005-03-21  Paolo Bonzini  <bonzini@gnu.org>
27868169689Skan
27869169689Skan	* combine.c (combine_simplify_rtx, simplify_if_then_else,
27870169689Skan	simplify_logical, if_then_else_cond, known_cond,
27871169689Skan	simplify_comparison): Adjust calls to reverse_comparison.
27872169689Skan	Don't use combine_reversed_comparison_code).
27873169689Skan	(combine_reversed_comparison_code): Remove.
27874169689Skan	(reversed_comparison): Using reversed_comparison_code, move it...
27875169689Skan	* jump.c (reversed_comparison): ... here.
27876169689Skan	* rtl.h (reversed_comparison): Add prototype.
27877169689Skan
27878169689Skan2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
27879169689Skan
27880169689Skan	* builtins.c (fold_builtin): Take decomposed arguments of
27881169689Skan	CALL_EXPR.
27882169689Skan	* fold-const.c (fold_ternary): Update a call to fold_builtin.
27883169689Skan	* gimplify.c (gimplify_call_expr): Likewise.
27884169689Skan	* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
27885169689Skan	* tree.h: Update the prototype of fold_builtin.
27886169689Skan
27887169689Skan2005-03-21  Paolo Bonzini  <bonzini@gnu.org>
27888169689Skan
27889169689Skan	* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
27890169689Skan	* rtlhooks.c (gen_lowpart_no_emit_general): New.
27891169689Skan	* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
27892169689Skan	(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
27893169689Skan	* simplify-rtx.c (simplify_binary_operation_1): Use it.
27894169689Skan
27895169689Skan2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
27896169689Skan
27897169689Skan	* builtins.c (fold_builtin_1): Take decomposed arguments of
27898169689Skan	CALL_EXPR.
27899169689Skan	(fold_builtin): Update a call to fold_builtin_1.
27900169689Skan
27901169689Skan2005-03-21  Nathan Sidwell  <nathan@codesourcery.com>
27902169689Skan
27903169689Skan	PR other/20564
27904169689Skan	* gcov.c (output_lines): Only output function block summary when
27905169689Skan	outputting branch information.
27906169689Skan	* doc/gcov.texi: Document format of preamble and additional block
27907169689Skan	information lines.
27908169689Skan
27909169689Skan2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
27910169689Skan
27911169689Skan	* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
27912169689Skan	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
27913169689Skan	the defaults false if BITS_PER_UNIT != 8.
27914169689Skan	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
27915169689Skan	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
27916169689Skan	than BITS_PER_UNIT != 8.
27917169689Skan	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
27918169689Skan	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
27919169689Skan	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
27920169689Skan	#undefs.
27921169689Skan	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
27922169689Skan	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
27923169689Skan
27924169689Skan2005-03-20  Roger Sayle  <roger@eyesopen.com>
27925169689Skan
27926169689Skan	PR middle-end/20539
27927169689Skan	* fold-const.c (fold_binary): Fix type mismatch between
27928169689Skan	TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
27929169689Skan	(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
27930169689Skan	for non-truth-valued expressions.
27931169689Skan
27932169689Skan	* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
27933169689Skan	and FUNCTION_DECL in the main switch.
27934169689Skan	<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
27935169689Skan	TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
27936169689Skan	we also need to convert their operands to match.
27937169689Skan	<TRUTH_NOT_EXPR>: Likewise.
27938169689Skan
27939169689Skan2005-03-21  Joseph S. Myers  <joseph@codesourcery.com>
27940169689Skan
27941169689Skan	* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
27942169689Skan	diagnostic without checking whether an lvalue.
27943169689Skan	* c-common.h (lvalue_p): Remove.
27944169689Skan	(enum lvalue_use): Update comment.
27945169689Skan	(lvalue_or_else): Replace by lvalue_error.
27946169689Skan	* c-typeck.c (lvalue_p): Make static.
27947169689Skan	(lvalue_or_else): New.  Call lvalue_error.
27948169689Skan
27949169689Skan2005-03-21  Alan Modra  <amodra@bigpond.net.au>
27950169689Skan
27951169689Skan	* config/rs6000/rs6000.c (rs6000_parm_start): New function.
27952169689Skan	(function_arg_advance): Use rs6000_parm_start.
27953169689Skan	(function_arg, rs6000_arg_partial_bytes): Likewise.
27954169689Skan
27955169689Skan2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
27956169689Skan
27957169689Skan	* c-common.c (check_case_value): Adjust comment about stripping
27958169689Skan	NOPs.
27959169689Skan	(handle_vector_size_attribute): Don't strip NON_LVALUE_EXPR.
27960169689Skan	* c-typeck.c (default_conversion, convert_arguments,
27961169689Skan	build_modify_expr, convert_for_assignment, store_init_value,
27962169689Skan	digest_init): Use STRIP_TYPE_NOPS instead of stripping nops
27963169689Skan	manually.  Remove inaccurate comments.
27964169689Skan
27965169689Skan2005-03-20  Roger Sayle  <roger@eyesopen.com>
27966169689Skan	    Joseph S. Myers  <joseph@codesourcery.com>
27967169689Skan
27968169689Skan	* varasm.c (do_assemble_alias): Restore comment describing function.
27969169689Skan	Annotate the target parameter as potentially unused.
27970169689Skan
27971169689Skan2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
27972169689Skan
27973169689Skan	PR target/18551
27974169689Skan	* config/avr/avr.c (avr_output_function_prologue): Do not use
27975169689Skan	current_function_name() in a label, use a local label instead.
27976169689Skan
27977169689Skan2005-03-20  David Edelsohn  <edelsohn@gnu.org>
27978169689Skan
27979169689Skan	* config/rs6000/rs6000.c (rs6000_generate_compare): Test
27980169689Skan	flag_finite_math_only, not flag_unsafe_math_optimizations.
27981169689Skan
27982169689Skan2005-03-20  Kazu Hirata  <kazu@cs.umass.edu>
27983169689Skan
27984169689Skan	* builtins.c (fold_builtin_1): Update a call to
27985169689Skan	targetm.fold_builtin.
27986169689Skan	* hooks.c (hook_tree_tree_bool_null): Rename to
27987169689Skan	hook_tree_tree_tree_bool_null.  Take one more argument of type
27988169689Skan	tree.
27989169689Skan	* hooks.h: Update the prototype of hook_tree_tree_bool_null.
27990169689Skan	* target-def.h (TARGET_FOLD_BUILTIN): Define it as
27991169689Skan	hook_tree_tree_tree_bool_null.
27992169689Skan	* target.h (gcc_target): Update the prototype of fold_builtin.
27993169689Skan	* config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
27994169689Skan	arguments of CALL_EXPR.
27995169689Skan	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update.  Mention the
27996169689Skan	new prototype.
27997169689Skan
27998169689Skan2005-03-20  Jan Hubicka  <jh@suse.cz>
27999169689Skan
28000169689Skan	* cgraph.h (cgraph_node): Add prev_clone pointer.
28001169689Skan	* cgraph.c (cgraph_remove_node): Remove from doubly linked chain.
28002169689Skan	(cgraph_clone_node): Produce doubly linked chain.
28003169689Skan
28004169689Skan2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
28005169689Skan
28006169689Skan	* c-common.c (handle_aligned_attribute, check_function_sentinel,
28007169689Skan	get_nonnull_operand, handle_sentinel_attribute,
28008169689Skan	check_function_arguments_recurse): Do not strip NOPS from
28009169689Skan	INTEGER_CSTs.
28010169689Skan	* c-decl.c (check_bitfield_type_and_width, build_enumerator):
28011169689Skan	Likewise.
28012169689Skan	* c-format.c (get_constant): Likewise.
28013169689Skan	* c-parser.c (c_parser_postfix_expression): Likewise.
28014169689Skan	* c-typeck.c (set_init_index): Likewise.
28015169689Skan	(convert_arguments): Don't check for NOP_EXPR containing integer
28016169689Skan	constant.
28017169689Skan
28018169689Skan2005-03-20  Kazu Hirata  <kazu@cs.umass.edu>
28019169689Skan
28020169689Skan	* builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
28021169689Skan	fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
28022169689Skan	Take decomposed arguments of CALL_EXPR.
28023169689Skan	(fold_builtin_1): Update calls to the functions mentioned
28024169689Skan	above.
28025169689Skan
28026169689Skan2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
28027169689Skan
28028169689Skan	* c-decl.c (check_bitfield_type_and_width): Require bit-field
28029169689Skan	width to have integer type.
28030169689Skan	(build_enumerator): Require enumerator value to have integer type.
28031169689Skan
28032169689Skan2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
28033169689Skan
28034169689Skan	* doc/extend.texi (__builtin_inf): Move statement about INFINITY
28035169689Skan	to __builtin_inff.
28036169689Skan
28037169689Skan2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
28038169689Skan
28039169689Skan	* c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
28040169689Skan	std=iso9899:199x): Correct descriptions.
28041169689Skan
28042169689Skan2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
28043169689Skan
28044169689Skan	* config.gcc: Consistently use solaris2.1[0-9]* instead of
28045169689Skan	solaris2.1[0-9].
28046169689Skan
28047169689Skan2005-03-19  Kazu Hirata  <kazu@cs.umass.edu>
28048169689Skan
28049169689Skan	* builtins.c (fold_builtin_memcpy): Take decomposed arguments
28050169689Skan	of CALL_EXPR.
28051169689Skan	(expand_builtin_memcpy, fold_builtin_1): Update calls to
28052169689Skan	fold_builtin_memcpy.
28053169689Skan
28054169689Skan	* builtins.c (fold_trunc_transparent_mathfn): Take decomposed
28055169689Skan	arguments of CALL_EXPR.
28056169689Skan	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil,
28057169689Skan	fold_builtin_found, fold_builtin_1): Update calls to
28058169689Skan	fold_trunc_transparent_mathfn.
28059169689Skan
28060169689Skan2005-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
28061169689Skan
28062169689Skan	PR middle-end/20493
28063169689Skan	* fold-const.c (fold_widened_comparison): Don't optimize casts of
28064169689Skan	function pointers on targets that require function pointer
28065169689Skan	canonicalization.
28066169689Skan	(fold_sign_changed_comparison): Likewise.
28067169689Skan
28068169689Skan2005-03-19  Bernd Schmidt  <bernd.schmidt@analog.com>
28069169689Skan
28070169689Skan	* combine.c (try_combine): When changing the mode of a hard reg, make
28071169689Skan	sure that doing so is valid.
28072169689Skan
28073169689Skan2005-03-19  Richard Sandiford  <rsandifo@redhat.com>
28074169689Skan
28075169689Skan	* config/avr/avr.c (avr_init_stack, avr_mcu_name): Make static.
28076169689Skan	(TARGET_HANDLE_OPTION): Override default.
28077169689Skan	(avr_handle_option): New function.
28078169689Skan	* config/avr/avr.h (MASK_ALL_DEBUG, MASK_ORDER_1, MASK_INSN_SIZE_DUMP)
28079169689Skan	(MASK_ORDER_2, MASK_NO_TABLEJUMP, MASK_INT8, MASK_NO_INTERRUPTS)
28080169689Skan	(MASK_CALL_PROLOGUES, MASK_TINY_STACK, MASK_SHORT_CALLS)
28081169689Skan	(TARGET_ORDER_1, TARGET_ORDER_2, TARGET_INT8, TARGET_NO_INTERRUPTS)
28082169689Skan	(TARGET_INSN_SIZE_DUMP, TARGET_CALL_PROLOGUES, TARGET_TINY_STACK)
28083169689Skan	(TARGET_NO_TABLEJUMP, TARGET_SHORT_CALLS, TARGET_ALL_DEBUG)
28084169689Skan	(TARGET_SWITCHES, avr_init_stack, avr_mcu_name)
28085169689Skan	(TARGET_OPTIONS): Delete.
28086169689Skan	* config/avr/avr.opt: New file.
28087169689Skan
28088169689Skan2005-03-18  2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28089169689Skan
28090169689Skan	* config/m32r/m32r-protos.h: Remove the prototypes for
28091169689Skan	call_address_operand, symbolic_operand, seth_add3_operand,
28092169689Skan	cmp_int16_operand, uint16_operand, reg_or_int16_operand,
28093169689Skan	reg_or_uint16_operand, reg_or_cmp_int16_operand,
28094169689Skan	two_insn_const_operand, move_src_operand,
28095169689Skan	move_double_src_operand, move_dest_operand,
28096169689Skan	eqne_comparison_operator, signed_comparison_operator,
28097169689Skan	large_insn_p, conditional_move_operand, carry_compare_operand,
28098169689Skan	m32r_block_immediate_operand, extend_operand,
28099169689Skan	reg_or_eq_int16_operand, int8_operand, and
28100169689Skan	reg_or_zero_operand.
28101169689Skan	* config/m32r/m32r.c (call_address_operand, symbolic_operand,
28102169689Skan	seth_add3_operand, int8_operand, cmp_int16_operand,
28103169689Skan	uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
28104169689Skan	reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
28105169689Skan	reg_or_zero_operand, two_insn_const_operand, move_src_operand,
28106169689Skan	move_double_src_operand, move_dest_operand,
28107169689Skan	eqne_comparison_operator, signed_comparison_operator,
28108169689Skan	extend_operand, small_insn_p, large_insn_p,
28109169689Skan	conditional_move_operand, carry_compare_operand,
28110169689Skan	m32r_block_immediate_operand): Move to predicates.md.
28111169689Skan	(MAX_MOVE_BYTES): Move to m32r.h.
28112169689Skan	* config/m32r/m32r.h (PREDICATE_CODES): Remove.
28113169689Skan	* config/m32r/m32r.md: Include predicates.md.
28114169689Skan	* config/m32r/predicates.md: New.
28115169689Skan
28116169689Skan2005-03-18  James E Wilson  <wilson@specifixinc.com>
28117169689Skan
28118169689Skan	PR c++/19769
28119169689Skan	* dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
28120169689Skan	origin.
28121169689Skan
28122169689Skan2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28123169689Skan
28124169689Skan	* config/mn10300/mn10300-protos.h: Remove the prototypes for
28125169689Skan	call_address_operand, const_8bit_operand.
28126169689Skan	* config/mn10300/mn10300.c (call_address_operand,
28127169689Skan	const_8bit_operand, const_1f_operand): Move to predicates.md.
28128169689Skan	* config/mn10300/mn10300.h (PREDICATE_CODES): Remove.
28129169689Skan	* config/mn10300/mn10300.md: Include predicates.md.
28130169689Skan	* config/mn10300/predicates.md: New.
28131169689Skan
28132169689Skan2005-03-18  Joseph S. Myers  <joseph@codesourcery.com>
28133169689Skan
28134169689Skan	* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
28135169689Skan	declarations in diagnostics and %E for identifiers, not %s.
28136169689Skan
28137169689Skan2005-03-18  Jan Hubicka  <jh@suse.cz>
28138169689Skan	    Dale Johannesen  <dalej@apple.com>
28139169689Skan
28140169689Skan	* basic-block.h (scale_bbs_frequencies_int,
28141169689Skan	scale_bbs_frequencies_gcov_type): Declare.
28142169689Skan	* cfg.c (RDIV): New macro.
28143169689Skan	(update_bb_frequency_for_threading): Fix.
28144169689Skan	* basic-block.h (scale_bbs_frequencies_int,
28145169689Skan	scale_bbs_frequencies_gcov_type): New.
28146169689Skan	* cfgloopmanip.c (scale_bbs_frequencies): Kill.
28147169689Skan	(scale_loop_frequencies, duplicate_loop_to_header_edge): Use
28148169689Skan	scale_bbs_frequencies_int.
28149169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Fix profiling info.
28150169689Skan
28151169689Skan2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28152169689Skan
28153169689Skan	* config/m32r/m32r-protos.h: Remove the prototypes for
28154169689Skan	call_address_operand, symbolic_operand, seth_add3_operand,
28155169689Skan	cmp_int16_operand, uint16_operand, reg_or_int16_operand,
28156169689Skan	reg_or_uint16_operand, reg_or_cmp_int16_operand,
28157169689Skan	two_insn_const_operand, move_src_operand,
28158169689Skan	move_double_src_operand, move_dest_operand,
28159169689Skan	eqne_comparison_operator, signed_comparison_operator,
28160169689Skan	large_insn_p, conditional_move_operand, carry_compare_operand,
28161169689Skan	m32r_block_immediate_operand, extend_operand,
28162169689Skan	reg_or_eq_int16_operand, int8_operand, and
28163169689Skan	reg_or_zero_operand.
28164169689Skan	* config/m32r/m32r.c (call_address_operand, symbolic_operand,
28165169689Skan	seth_add3_operand, int8_operand, cmp_int16_operand,
28166169689Skan	uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
28167169689Skan	reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
28168169689Skan	reg_or_zero_operand, two_insn_const_operand, move_src_operand,
28169169689Skan	move_double_src_operand, move_dest_operand,
28170169689Skan	eqne_comparison_operator, signed_comparison_operator,
28171169689Skan	extend_operand, small_insn_p, large_insn_p,
28172169689Skan	conditional_move_operand, carry_compare_operand,
28173169689Skan	m32r_block_immediate_operand): Move to predicates.md.
28174169689Skan	(MAX_MOVE_BYTES): Move to m32r.h.
28175169689Skan	* config/m32r/m32r.h (PREDICATE_CODES): Remove.
28176169689Skan	* config/m32r/m32r.md: Include predicates.md.
28177169689Skan	* config/m32r/predicates.md: New.
28178169689Skan
28179169689Skan	* config/pa/pa-protos.h: Add prototypes for magic_milli and
28180169689Skan	shadd_constant_p.
28181169689Skan	* config/pa/pa.c (reg_or_0_operand, call_operand_address,
28182169689Skan	symbolic_operand, symbolic_memory_operand,
28183169689Skan	reg_or_0_or_nonsymb_mem_operand, reg_before_reload_operand,
28184169689Skan	indexed_memory_operand, move_dest_operand, move_src_operand,
28185169689Skan	prefetch_cc_operand, prefetch_nocc_operand,
28186169689Skan	reg_or_cint_move_operand, pic_label_operand, fp_reg_operand,
28187169689Skan	arith_operand, arith11_operand, pre_cint_operand,
28188169689Skan	post_cint_operan, arith_double_operand, ireg_or_int5_operand,
28189169689Skan	ireg_operand, int5_operand, uint5_operand, int11_operand,
28190169689Skan	uint32_operand, arith5_operand, and_operand, ior_operand,
28191169689Skan	lhs_lshift_operand, lhs_lshift_cint_operand, arith32_operand,
28192169689Skan	pc_or_label_operand, div_operand, plus_xor_ior_operator,
28193169689Skan	shadd_operand, movb_comparison_operator,
28194169689Skan	cmpib_comparison_operator): Move to predicates.md.
28195169689Skan	(magic_milli, shadd_constant_p): Make it extern.
28196169689Skan	* config/pa/pa.h (PREDICATE_CODES): Remove.
28197169689Skan	* config/pa/pa.md: Include predicates.md.
28198169689Skan	* config/pa/predicates.md: New.
28199169689Skan
28200169689Skan	* config/v850/v850.h (PREDICATE_CODES): Remove a nonexistent
28201169689Skan	predicate.
28202169689Skan
28203169689Skan2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28204169689Skan
28205169689Skan	* hooks.c, hooks.h, intl.c, opts.h, prefix.c, tree-gimple.c,
28206169689Skan	config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
28207169689Skan	config/alpha/freebsd.h, config/alpha/linux.h,
28208169689Skan	config/alpha/netbsd.h, config/alpha/osf5.h,
28209169689Skan	config/alpha/vms.h, config/arc/arc.c, config/arc/arc.h,
28210169689Skan	config/h8300/h8300-protos.h, config/h8300/h8300.c,
28211169689Skan	config/h8300/h8300.h, config/ia64/unwind-ia64.c,
28212169689Skan	doc/cppopts.texi: Update copyright.
28213169689Skan
28214169689Skan2005-03-18  Jan Hubicka  <jh@suse.cz>
28215169689Skan
28216169689Skan	PR middle-end/20225
28217169689Skan	* cgraph.c (cgraph_mark_reachable_node): Assert that it is not called
28218169689Skan	too late.
28219169689Skan	* varasm.c (find_decl_and_mark_needed): Mark needed only when not
28220169689Skan	called too late.
28221169689Skan
28222169689Skan2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28223169689Skan
28224169689Skan	* tree-into-ssa.c (find_idf): Use VEC_quick_push instead of
28225169689Skan	VEC_safe_push.
28226169689Skan
28227169689Skan2005-03-18  Paolo Bonzini  <bonzini@gnu.org>
28228169689Skan
28229169689Skan	* combine.c (gen_binary): Remove.
28230169689Skan	(known_cond, simplify_shift_const, find_split_point,
28231169689Skan	combine_simplify_rtx, simplify_if_then_else, simplify_set,
28232169689Skan	simplify_logical, expand_field_assignment, extract_left_shift,
28233169689Skan	force_to_mode, if_then_else_cond, apply_distributive_law,
28234169689Skan	simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine,
28235169689Skan	simplify_comparison, reversed_comparison): Replace with
28236169689Skan	simplify_gen_binary, simplify_gen_relational or
28237169689Skan	distribute_and_simplify_rtx.
28238169689Skan	(distribute_and_simplify_rtx): New function.
28239169689Skan
28240169689Skan2005-03-18  Alexey Neyman  <alex.neyman@auriga.ru>
28241169689Skan	    Paolo Bonzini  <gcc.gnu.org>
28242169689Skan
28243169689Skan	* calls.c (setjmp_call_p, special_function_p): Update comments
28244169689Skan	at the head of the functions.
28245169689Skan
28246169689Skan2005-03-18  Jan Hubicka  <jh@suse.cz>
28247169689Skan
28248169689Skan	* tree-cfg.c (fold_cond_expr_cond): Use boolean types for condition.
28249169689Skan
28250169689Skan	* cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
28251169689Skan	function body should be released; do not proactively release function
28252169689Skan	bodies in non-unit-at-a-time mode.
28253169689Skan
28254169689Skan2005-03-18  Ralf Corsepius  <ralf.corsepius@rtems.org>
28255169689Skan
28256169689Skan	* config/i386/t-rtems-i386 (MULTILIBS): Remove k6, athlon,
28257169689Skan	mno-fp-ret-in-387 multilib variants.
28258169689Skan
28259169689Skan2005-03-18  Richard Sandiford  <rsandifo@redhat.com>
28260169689Skan
28261169689Skan	* common.opt (m): Remove.
28262169689Skan	* opts.c (handle_option): Pass 'm' options to set_target_switch if
28263169689Skan	table lookup fails.
28264169689Skan	(common_handle_option): Remove OPT_m case.
28265169689Skan
28266169689Skan2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
28267169689Skan
28268169689Skan	* builtins.c (fold_builtin_bitop): Take decomposed arguments
28269169689Skan	of CALL_EXPR.
28270169689Skan	(fold_builtin_1): Update a call to fold_builtin_bitop.
28271169689Skan
28272169689Skan	* builtins.c (fold_builtin_signbit): Take decomposed arguments
28273169689Skan	of CALL_EXPR.
28274169689Skan	(fold_builtin_1): Update a call to fold_builtin_signbit.
28275169689Skan
28276169689Skan2005-03-17  Dorit Naishlos  <dorit@il.ibm.com>
28277169689Skan
28278169689Skan	PR tree-optimization/20474
28279169689Skan	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
28280169689Skan	size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
28281169689Skan
28282169689Skan2005-03-17  Kazu Hirata  <kazu@cs.umass.edu>
28283169689Skan
28284169689Skan	* config/h8300/h8300-protos.h: Remove prototypes for
28285169689Skan	general_operand_src, general_operand_dst, single_one_operand,
28286169689Skan	single_zero_operand, call_insn_operand,
28287169689Skan	two_insn_adds_subs_operand, small_call_insn_operand,
28288169689Skan	jump_address_operand, bit_operand, bit_memory_operand,
28289169689Skan	stack_pointer_operand, const_int_gt_2_operand,
28290169689Skan	const_int_ge_8_operand, const_int_qi_operand,
28291169689Skan	const_int_hi_operand, incdec_operand, bit_operator,
28292169689Skan	nshift_operator, eqne_operator, gtle_operator,
28293169689Skan	gtuleu_operator, iorxor_operator.
28294169689Skan	Add prototypes for h8sx_shift_type h8sx_classify_shift and
28295169689Skan	h8300_ldm_stm_parallel.
28296169689Skan	* config/h8300/h8300.c (h8sx_shift_type,): Move to
28297169689Skan	h8300-protos.h.
28298169689Skan	(SYMBOL_FLAG_FUNCVEC_FUNCTION, SYMBOL_FLAG_EIGHTBIT_DATA,
28299169689Skan	SYMBOL_FLAG_TINY_DATA): Move to h8300.h.
28300169689Skan	(h8300_ldm_stm_parallel): Make it extern.
28301169689Skan	(h8300_ldm_parallel, h8300_stm_parallel,
28302169689Skan	h8300_return_parallel, general_operand_src,
28303169689Skan	general_operand_dst, h8300_dst_operand, h8300_src_operand,
28304169689Skan	nibble_operand, reg_or_nibble_operand, single_one_operand,
28305169689Skan	single_zero_operand, call_insn_operand,
28306169689Skan	two_insn_adds_subs_operand, small_call_insn_operand,
28307169689Skan	jump_address_operand, bit_operand, bit_memory_operand,
28308169689Skan	stack_pointer_operand, const_int_gt_2_operand,
28309169689Skan	const_int_ge_8_operand, const_int_qi_operand,
28310169689Skan	const_int_hi_operand, incdec_operand, eqne_operator,
28311169689Skan	gtle_operator, gtuleu_operator, iorxor_operator, bit_operator,
28312169689Skan	h8sx_binary_memory_operator, h8sx_unary_memory_operator,
28313169689Skan	h8sx_unary_shift_operator, h8sx_binary_shift_operator,
28314169689Skan	nshift_operator): Move to predicates.md.
28315169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Remove.
28316169689Skan	* config/h8300/h8300.md: Include predicates.md.
28317169689Skan	* config/h8300/predicates.md: New.
28318169689Skan
28319169689Skan2005-03-17  Richard Henderson  <rth@redhat.com>
28320169689Skan
28321169689Skan	* config.gcc (ia64*-*-hpux*): Add extra_options.
28322169689Skan	* config/ia64/hpux.h (SUBTARGET_SWITCHES): Remove.
28323169689Skan	(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
28324169689Skan	* config/ia64/ia64.c (ia64_fixed_range_string): Remove.
28325169689Skan	(ia64_tls_size_string, ia64_tune_string): Remove.
28326169689Skan	(ia64_tune): Init to PROCESSOR_ITANIUM2.
28327169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): New.
28328169689Skan	(TARGET_HANDLE_OPTION): New.
28329169689Skan	(ia64_override_options): Move options parsing ...
28330169689Skan	(ia64_handle_option): ... here.  New.
28331169689Skan	* config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
28332169689Skan	MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
28333169689Skan	MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
28334169689Skan	MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
28335169689Skan	MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
28336169689Skan	MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
28337169689Skan	MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
28338169689Skan	TARGET_NO_PIC, TARGET_VOL_ASM_STOP, TARGET_ILP32, TARGET_REG_NAMES,
28339169689Skan	TARGET_NO_SDATA, TARGET_CONST_GP, TARGET_AUTO_PIC,
28340169689Skan	TARGET_INLINE_FLOAT_DIV_LAT, TARGET_INLINE_FLOAT_DIV_THR,
28341169689Skan	TARGET_INLINE_INT_DIV_LAT, TARGET_INLINE_INT_DIV_THR,
28342169689Skan	TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_INT_DIV, TARGET_INLINE_SQRT_LAT,
28343169689Skan	TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT, TARGET_DWARF2_ASM,
28344169689Skan	TARGET_EARLY_STOP_BITS): Remove.
28345169689Skan	(TARGET_ILP32): Default false.
28346169689Skan	(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS): Remove.
28347169689Skan	(enum ia64_inline_type): New.
28348169689Skan	(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
28349169689Skan	* config/ia64/ia64.md: Update for new definitions of
28350169689Skan	TARGET_INLINE_INT_DIV, TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_SQRT.
28351169689Skan	* config/ia64/ia64.opt: New file.
28352169689Skan	* config/ia64/ilp32.opt: New file.
28353169689Skan
28354169689Skan2005-03-17  H.J. Lu  <hongjiu.lu@intel.com>
28355169689Skan
28356169689Skan	PR target/18380
28357169689Skan	* config/ia64/unwind-ia64.c (_Unwind_FindTableEntry): Removed.
28358169689Skan
28359169689Skan2005-03-17  Kazu Hirata  <kazu@cs.umass.edu>
28360169689Skan
28361169689Skan	* config/h8300/h8300.c (h8300_init_once): Use MASK_H8300S_1
28362169689Skan	instead of MASK_H8300S.
28363169689Skan	* config/h8300/h8300.h (target_flags, MASK_H8300S, MASK_MAC,
28364169689Skan	MASK_INT32, MASK_ADDRESSES, MASK_QUICKCALL, MASK_SLOWBYTE,
28365169689Skan	MASK_NORMAL_MODE, MASK_RELAX, MASK_H8300H, MASK_ALIGN_300,
28366169689Skan	MASK_H8300SX, TARGET_INT32, TARGET_ADDRESSES,
28367169689Skan	TARGET_QUICKCALL, TARGET_SLOWBYTE, TARGET_H8300H,
28368169689Skan	TARGET_H8300XS, TARGET_NORMAL_MODE, TARGET_ALIGN_300,
28369169689Skan	TARGET_SWITCHES): Remove.
28370169689Skan	(TARGET_H8300S): Redefine interms of TARGET_H8300S_1 and
28371169689Skan	TARGET_H8300SX.
28372169689Skan	* config/h8300/h8300.opt: New.
28373169689Skan
28374169689Skan	* config/alpha/alpha.opt, config/arc/arc.opt,
28375169689Skan	config/h8300/h8300.opt, config/mips/mips.opt: Add copyright
28376169689Skan	notices.
28377169689Skan
28378169689Skan2005-03-17  Ian Lance Taylor  <ian@airs.com>
28379169689Skan
28380169689Skan	* gmon.c: Remove.
28381169689Skan
28382169689Skan2005-03-17  Richard Sandiford  <rsandifo@redhat.com>
28383169689Skan
28384169689Skan	* config/arc/arc.c (arc_cpu_string): Make static.  Default to "base"
28385169689Skan	(arc_text_string, arc_data_string, arc_rodata_string): Make static.
28386169689Skan	(TARGET_HANDLE_OPTION): Override default.
28387169689Skan	(arc_handle_option): New function.
28388169689Skan	(arc_init): Remove code to set arch_cpu_string.
28389169689Skan	* config/arc/arc.h (target_flags, TARGET_MASK_MANGLE_CPU)
28390169689Skan	(TARGET_MANGLE_CPU, TARGET_MASK_MANGLE_CPU_LIBGCC)
28391169689Skan	(TARGET_MANGLE_CPU_LIBGCC, TARGET_MASK_ALIGN_LOOPS, TARGET_ALIGN_LOOPS)
28392169689Skan	(TARGET_MASK_BIG_ENDIAN, TARGET_BIG_ENDIAN, TARGET_MASK_NO_COND_EXEC)
28393169689Skan	(TARGET_NO_COND_EXEC, TARGET_SWITCHES, TARGET_DEFAULT)
28394169689Skan	(SUBTARGET_SWITCHES, arc_cpu_string, arc_text_string, arc_data_string)
28395169689Skan	(arc_rodata_string, TARGET_OPTIONS): Delete.
28396169689Skan	* config/arc/arc.opt: New file.
28397169689Skan
28398169689Skan2005-03-17  Richard Henderson  <rth@redhat.com>
28399169689Skan
28400169689Skan	* doc/extend.texi (Weak Pragmas): New section.
28401169689Skan	(attribute alias): Clarify that target must be in the same
28402169689Skan	translation unit.
28403169689Skan
28404169689Skan2005-03-17  Richard Henderson  <rth@redhat.com>
28405169689Skan
28406169689Skan	* config/alpha/alpha.opt: New file.
28407169689Skan	* config/alpha/alpha.c (alpha_tune): New.  Rename all existing uses
28408169689Skan	of alpha_cpu.
28409169689Skan	(alpha_cpu_string, alpha_tune_string, alpha_tp_string,
28410169689Skan	alpha_fprm_string, alpha_fptm_string): Make static.
28411169689Skan	(alpha_tls_size_string): Remove.
28412169689Skan	(alpha_handle_option): New.
28413169689Skan	(override_options): Update for alpha_cpu/alpha_tune split.
28414169689Skan	(alpha_file_start): Likewise.
28415169689Skan	(TARGET_DEFAULT_TARGET_FLAGS): New.
28416169689Skan	(TARGET_HANDLE_OPTION): New.
28417169689Skan	* config/alpha/alpha.h (alpha_tune): Declare.
28418169689Skan	(MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
28419169689Skan	MASK_IEEE_CONFORMANT, TARGET_IEEE_CONFORMANT, MASK_IEEE, TARGET_IEEE,
28420169689Skan	MASK_IEEE_WITH_INEXACT, TARGET_IEEE_WITH_INEXACT, MASK_BUILD_CONSTANTS,
28421169689Skan	TARGET_BUILD_CONSTANTS, MASK_FLOAT_VAX, TARGET_FLOAT_VAX, MASK_BWX,
28422169689Skan	TARGET_BWX, MASK_MAX, TARGET_MAX, MASK_FIX, TARGET_FIX, MASK_CIX,
28423169689Skan	TARGET_CIX, MASK_EXPLICIT_RELOCS, TARGET_EXPLICIT_RELOCS,
28424169689Skan	MASK_SMALL_DATA, TARGET_SMALL_DATA, MASK_TLS_KERNEL, TARGET_TLS_KERNEL,
28425169689Skan	MASK_SMALL_TEXT, TARGET_SMALL_TEXT, MASK_LONG_DOUBLE_128,
28426169689Skan	TARGET_LONG_DOUBLE_128, MASK_CPU_EV5, TARGET_CPU_EV5, MASK_CPU_EV6,
28427169689Skan	TARGET_CPU_EV6, MASK_SUPPORT_ARCH): Remove.
28428169689Skan	(TARGET_SWITCHES, TARGET_OPTIONS): Remove.
28429169689Skan	(TARGET_DEFAULT): Remove MASK_FP.
28430169689Skan	(TARGET_FP): Redefined based on TARGET_SOFT_FP.
28431169689Skan	(TARGET_SUPPORT_ARCH): Default on if HAVE_AS_EXPLICIT_RELOCS.
28432169689Skan	(alpha_cpu_string, alpha_tune_string, alpha_fprm_string,
28433169689Skan	alpha_fptm_string, alpha_tp_string, alpha_mlat_string,
28434169689Skan	alpha_tls_size_string): Remove.
28435169689Skan	* config/alpha/alpha.md (prefetch): Use alpha_cpu.
28436169689Skan	(attribute tune): Rename from attribute cpu.
28437169689Skan	* config/alpha/ev4.md: Update to match.
28438169689Skan	* config/alpha/ev5.md, config/alpha/ev6.md: Likewise.
28439169689Skan	* config/alpha/freebsd.h (TARGET_DEFAULT): Remove MASK_FP.
28440169689Skan	* config/alpha/linux.h (TARGET_DEFAULT): Likewise.
28441169689Skan	* config/alpha/netbsd.h (TARGET_DEFAULT): Likewise.
28442169689Skan	* config/alpha/osf5.h (TARGET_DEFAULT): Likewise.
28443169689Skan	* config/alpha/vms.h (TARGET_DEFAULT): Likewise.
28444169689Skan
28445169689Skan2005-03-16  James E. Wilson  <wilson@specifixinc.com>
28446169689Skan
28447169689Skan	* config/ia64/ia64.c (issue_nops_and_insn): Check first_insn attribute,
28448169689Skan	and return without creating new state if before_nops_num is nonzero.
28449169689Skan	* config/ia64/ia64.md (first_insn): New attribute.
28450169689Skan	(alloc): Set it to yes.
28451169689Skan
28452169689Skan2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
28453169689Skan
28454169689Skan	* tree-vectorizer.c (new_vec_stmt_info): Initialize
28455169689Skan	STMT_VINFO_SUBVARS to NULL.
28456169689Skan	* tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
28457169689Skan
28458169689Skan2005-03-16 Dale Johannesen  <dalej@apple.com>
28459169689Skan
28460169689Skan	* rtlanal.c (find_first_parameter_load): Rewrite to
28461169689Skan	return actual first param load or the call if none,
28462169689Skan	instead of first in block, when not all loads exist.
28463169689Skan
28464169689Skan2005-03-16  Roger Sayle  <roger@eyesopen.com>
28465169689Skan
28466169689Skan	* optabs.c (expand_copysign_absneg): Make static.
28467169689Skan	* optabs.h (expand_copysign_absneg): Delete prototype.
28468169689Skan	* config/rs6000/rs6000.md (copysigntf3): Delete pattern.
28469169689Skan
28470169689Skan2005-03-16  Richard Henderson  <rth@redhat.com>
28471169689Skan
28472169689Skan	PR middle-end/15700
28473169689Skan	* varasm.c (struct alias_pair): Rename from struct output_def_pair.
28474169689Skan	(alias_pairs): Rename from output_defs.
28475169689Skan	(find_decl_and_mark_needed): Split out from assemble_alias.
28476169689Skan	(do_assemble_alias): New.
28477169689Skan	(assemble_output_def): Remove.
28478169689Skan	(finish_aliases_1, finish_aliases_2): New.
28479169689Skan	(process_pending_assemble_output_defs): Remove.
28480169689Skan	(assemble_alias): Defer aliases for which we don't yet have a
28481169689Skan	non-external decl for the target symbol.
28482169689Skan	* passes.c (rest_of_decl_compilation): Register variables with cgraph.
28483169689Skan	* cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1.
28484169689Skan	* toplev.c (compile_file): Use finish_aliases_2 instead of
28485169689Skan	process_pending_assemble_output_defs.
28486169689Skan	* tree.h (finish_aliases_1, finish_aliases_2): Declare.
28487169689Skan	(process_pending_assemble_output_defs): Remove.
28488169689Skan
28489169689Skan2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
28490169689Skan
28491169689Skan	Fix PR tree-optimization/20489
28492169689Skan
28493169689Skan	* tree-ssa-alias.c (push_fields_onto_fieldstack): DTRT
28494169689Skan	for empty structures.
28495169689Skan
28496169689Skan2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
28497169689Skan
28498169689Skan	Fix PR tree-optimization/20490
28499169689Skan
28500169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): Use
28501169689Skan	force_gimple_operand on result of fold.
28502169689Skan
28503169689Skan2005-03-16  Andrew Pinski  <pinskia@physics.uc.edu>
28504169689Skan
28505169689Skan	* config/i386/emmintrin.h (_mm_extract_epi16): Correct the number
28506169689Skan	of closing parenthesis.
28507169689Skan
28508169689Skan2005-03-16  Kazu Hirata  <kazu@cs.umass.edu>
28509169689Skan
28510169689Skan	* builtins.c (expand_movstr): Update a call to
28511169689Skan	fold_builtin_strcpy.
28512169689Skan	(expand_builtin_strncpy): Update a call to
28513169689Skan	fold_builtin_strncpy.
28514169689Skan	(fold_builtin_strcpy, fold_builtin_strncpy): Take decomosed
28515169689Skan	arguments of CALL_EXPR.
28516169689Skan	(fold_builtin_1): Update calls to fold_builtin_strcpy and
28517169689Skan	fold_builtin_strncpy.
28518169689Skan	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
28519169689Skan	* tree.h: Update the prototypes of fold_builtin_strcpy and
28520169689Skan	fold_builtin_strncpy.
28521169689Skan
28522169689Skan2005-03-16  Steven Bosscher  <stevenb@suse.de>
28523169689Skan	    Dorit Naishlos  <dorit@il.ibm.com>
28524169689Skan
28525169689Skan	* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
28526169689Skan	UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
28527169689Skan	error.
28528169689Skan
28529169689Skan2005-03-16  Steven Bosscher  <stevenb@suse.de>
28530169689Skan
28531169689Skan	* tree-inline.c (walk_type_fields, walk_tree,
28532169689Skan	walk_tree_without_duplicates): Move from here...
28533169689Skan	* tree.c: ...to here.
28534169689Skan
28535169689Skan2005-03-15  Zack Weinberg  <zack@codesourcery.com>
28536169689Skan
28537169689Skan	* BASE-VER, DATESTAMP, DEV-PHASE: New files.
28538169689Skan	* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
28539169689Skan	(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
28540169689Skan	(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
28541169689Skan	(version): Define using $(BASEVER_c).
28542169689Skan	(Makefile, config.status, build/gcov-iov.o): No longer depends on
28543169689Skan	version.c.
28544169689Skan	(version.o): Depend on version files; add custom generation command.
28545169689Skan	(prefix.o): Define BASEVER on command line.
28546169689Skan	(s-iov): Depend on version files; adjust command.
28547169689Skan	(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
28548169689Skan	Add gcc-vers.texi.
28549169689Skan	(gcc-vers.texi): New rule.
28550169689Skan	(doc/%.info, doc/%.dvi): Add -I . to command line.
28551169689Skan	(doc/gccinstall.dvi): Likewise.
28552169689Skan	(PACKAGE): Delete.  All uses replaced with "gcc".
28553169689Skan	* aclocal.m4: Do not include gcc-version.m4.
28554169689Skan	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
28555169689Skan	Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
28556169689Skan	Set is_release based on contents of DEV-PHASE.
28557169689Skan	Set gcc_version based on contents of BASE-VER.
28558169689Skan	Define WIN32_REGISTRY_KEY only if the user overrode the default.
28559169689Skan	* config.in, configure: Regenerate.
28560169689Skan	* gccbug.in: Determine version of GCC in use at runtime.
28561169689Skan	* gcov-iov.c: Get version number and development phase from
28562169689Skan	command line, not by including version.c.
28563169689Skan	* intl.c: Replace all uses of PACKAGE with "gcc".
28564169689Skan	* libada-mk.in: Delete unused "gcc_version" variable.
28565169689Skan	* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
28566169689Skan	* version.c: (VERSUFFIX): New hook for redistributors; adjust
28567169689Skan	commentary to match.
28568169689Skan	(version_string): Put together from pieces.
28569169689Skan	* config/alpha/x-vms: Do not use $(gcc_version).
28570169689Skan	* config/i386/t-nwld: Likewise.
28571169689Skan	* doc/include/gcc-common.texi: Include gcc-vers.texi for
28572169689Skan	version-GCC and DEVELOPMENT.
28573169689Skan
28574169689Skan2005-03-15  Roger Sayle  <roger@eyesopen.com>
28575169689Skan
28576169689Skan	PR tree-optimization/17454
28577169689Skan	* tree.c (tree_size): Add case for TREE_BINFO.
28578169689Skan	* fold-const.c (fold_checksum_tree): Only clear the overloaded
28579169689Skan	field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set.
28580169689Skan
28581169689Skan2005-03-15  Roger Sayle  <roger@eyesopen.com>
28582169689Skan
28583169689Skan	* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
28584169689Skan	op1 whilst expanding the signed widenening multiply variant.
28585169689Skan
28586169689Skan2005-03-15  Richard Sandiford  <rsandifo@redhat.com>
28587169689Skan
28588169689Skan	* toplev.c (display_target_options): Avoid unused variable warning if
28589169689Skan	TARGET_SWITCHES and TARGET_OPTIONS are both undefined.
28590169689Skan	* config/mips/mips.c (mips_arch_string, mips_tune_string): Make static.
28591169689Skan	(mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete.
28592169689Skan	(mips_isa): Initialize to MIPS_ABI_DEFAULT.
28593169689Skan	(mips_isa_info): New variable.
28594169689Skan	(mips_parse_cpu): Remove the first argument and leave the caller
28595169689Skan	to report errors.
28596169689Skan	(TARGET_HANDLE_OPTION): Override default.
28597169689Skan	(mips_handle_option): New function.  Move option validation code from...
28598169689Skan	(override_options): ...here.  Update calls to mips_parse_cpu.
28599169689Skan	* config/mips/mips.h (mips_arch_string, mips_tune_string)
28600169689Skan	(mips_isa_string, mips_abi_string, TARGET_OPTIONS)
28601169689Skan	(SUBTARGET_TARGET_OPTIONS): Delete.
28602169689Skan	* config/mips/mips.opt (mabi=, march=, mflush-func=, mips)
28603169689Skan	(mno-flush-func, mtune=): New options.
28604169689Skan
28605169689Skan2005-03-15  Roger Sayle  <roger@eyesopen.com>
28606169689Skan	    Richard Henderson  <rth@redhat.com>
28607169689Skan
28608169689Skan	* real.c (c4x_single_format, c4x_extended_format): Provide values
28609169689Skan	for signbit_ro for c4x's single and extended floating point formats.
28610169689Skan	* optabs.c (expand_copysign): Use the floating point format's
28611169689Skan	signbit_ro for expanding via expand_copysign_absneg, and it's
28612169689Skan	signbit_rw field for expanding via expand_copysign_bit.
28613169689Skan
28614169689Skan2005-03-15  Dorit Naishlos  <dorit@il.ibm.com>
28615169689Skan
28616169689Skan	* tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by
28617169689Skan	known_alignment_for_access_p.
28618169689Skan	(known_alignment_for_access_p): New.
28619169689Skan	(do_peeling_for_alignment): Field made int instead of bool and renamed
28620169689Skan	to peeling_for_alignment.
28621169689Skan	(LOOP_DO_PEELING_FOR_ALIGNMENT): Renamed to LOOP_PEELING_FOR_ALIGNMENT.
28622169689Skan	* tree-vect-analyze.c (vect_determine_vectorization_factor): New. This
28623169689Skan	functionality used to be in vect_analyze_operations.
28624169689Skan	(vect_analyze_operations): Code to determine vectorization factor was
28625169689Skan	moved to vect_determine_vectorization_factor.
28626169689Skan	(vect_enhance_data_refs_alignment): Update to correct alignment when it
28627169689Skan	is known instead of -1.  Set LOOP_PEELING_FOR_ALIGNMENT to peeling
28628169689Skan	factor.
28629169689Skan	(vect_analyze_loop): Call vect_determine_vectorization_factor (used to
28630169689Skan	be part of vect_analyze_operations).
28631169689Skan	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Use fold when
28632169689Skan	creating the guard condition, as the number of iterations may be
28633169689Skan	constant.
28634169689Skan	(slpeel_tree_peel_loop_to_edge): Use new name of
28635169689Skan	LOOP_DO_PEELING_FOR_ALIGNMENT. Set it to 0 instead of false.
28636169689Skan	* tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Handle known
28637169689Skan	alignment case more efficiently. Use LOOP_PEELING_FOR_ALIGNMENT.
28638169689Skan	(vect_do_peeling_for_alignment): Use fold.
28639169689Skan	(vect_transform_loop): Use new name of LOOP_DO_PEELING_FOR_ALIGNMENT.
28640169689Skan
28641169689Skan	(vect_update_inits_of_dr): Renamed to
28642169689Skan	vect_update_init_of_dr.
28643169689Skan	(vect_update_inits_of_drs): Use new name of vect_update_inits_of_dr.
28644169689Skan	(vectorizable_store): Fix assertion to use == instead of =.
28645169689Skan
28646169689Skan2005-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
28647169689Skan
28648169689Skan	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
28649169689Skan	call_used_regs for wCG registers.
28650169689Skan
28651169689Skan2005-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
28652169689Skan
28653169689Skan	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
28654169689Skan	for non-offsettable memory references to cope with outstanding reload
28655169689Skan	replacements, take 2.
28656169689Skan
28657169689Skan2005-03-15  Uros Bizjak  <uros@kss-loka.si>
28658169689Skan
28659169689Skan	PR target/18668
28660169689Skan	* config/i386/i386.h (x86_fisttp): New.
28661169689Skan	(TARGET_FISTTP): New macro.
28662169689Skan	* config/i386/i386.c (x86_fisttp): Set for NOCONA.
28663169689Skan	(output_fix_trunc): Add fisttp parameter.  Generate fisttp x87
28664169689Skan	instruction when fisttp flag is set.
28665169689Skan	* config/i386/i386-protos.h (output_fix_trunc): Change declaration.
28666169689Skan
28667169689Skan	* config/i386/i386.md (type attribute): Add fisttp.
28668169689Skan	(unit attribute): Set to i387 for fisttp type.
28669169689Skan	(X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
28670169689Skan	(fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
28671169689Skan	TARGET_FISTTP.
28672169689Skan	(fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
28673169689Skan	Generate fisttp patterns for TARGET_FISTTP. Implement using mode
28674169689Skan	macros.
28675169689Skan	(fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
28676169689Skan	patterns for TARGET_FISTTP.  Enable patterns for
28677169689Skan	(TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
28678169689Skan	(fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
28679169689Skan	fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
28680169689Skan	implement fisttp x87 insn.
28681169689Skan	(fix_trunc*_i387_fisttp splitters): New patterns.
28682169689Skan	(*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
28683169689Skan	Rename to *fix_trunc<mode>_i387_1.  Implement using mode macros.
28684169689Skan	Disable patterns for TARGET_FISTTP.  Add comment about FLAGS_REG
28685169689Skan	clobber.
28686169689Skan	(fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
28687169689Skan	Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
28688169689Skan	Implement using mode macros. Disable patterns for TARGET_FISTTP.
28689169689Skan	(fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
28690169689Skan	fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
28691169689Skan	fix_trunc<mode>_i387_with_temp. Implement using mode macros.
28692169689Skan	Disable patterns for TARGET_FISTTP.
28693169689Skan	(fix_trunc*_i387 splitters): Implement usign mode macros.
28694169689Skan	(fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
28695169689Skan	fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
28696169689Skan	(fix_trunx*_sse peephole2s): Implement using mode macros.
28697169689Skan
28698169689Skan2005-03-15  J"orn Rennecke <joern.rennecke@st.com>
28699169689Skan
28700169689Skan	PR rtl-optimization/20291
28701169689Skan	* combine.c (try_combine): If splitting fails, re-try with
28702169689Skan	original combined pattern, i.e. before clobber stripping.
28703169689Skan
28704169689Skan2005-03-14  Eric Christopher  <echristo@redhat.com>
28705169689Skan
28706169689Skan	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
28707169689Skan	STACK_GROWS_DOWNWARD.
28708169689Skan
28709169689Skan2005-03-14  Roger Sayle  <roger@eyesopen.com>
28710169689Skan
28711169689Skan	* real.h (struct real_format): Split the signbit field into two
28712169689Skan	two fields, signbit_ro and signbit_rw.
28713169689Skan	* real.c (ieee_single_format, mips_single_format, ieee_double_format,
28714169689Skan	mips_double_format, ieee_extended_motorola_format,
28715169689Skan	ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
28716169689Skan	ieee_extended_intel_128_format, ibm_extended_format,
28717169689Skan	mips_extended_format, ieee_quad_format, mips_quad_format,
28718169689Skan	vax_f_format, vax_d_format, vax_g_format, i370_single_format,
28719169689Skan	i370_double_format, c4x_single_format, c4x_extended_format,
28720169689Skan	real_internal_format): Update initializers for new field.
28721169689Skan	* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
28722169689Skan	real_format structure.
28723169689Skan	* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
28724169689Skan	field of the real_format structure.
28725169689Skan
28726169689Skan2005-03-14  Daniel Berlin <dberlin@dberlin.org>
28727169689Skan
28728169689Skan	Fix PR tree-optimization/20458
28729169689Skan
28730169689Skan	* tree-flow-inline.h (mark_call_clobbered): Don't fiddle
28731169689Skan	DECL_EXTERNAL on STRUCT_FIELD tags.
28732169689Skan	(clear_call_clobbered): Ditto.
28733169689Skan	* tree-ssa-operands.c (note_addressable): Make sure the original
28734169689Skan	variable doesn't slip into the addressable list if we have
28735169689Skan	subvars.
28736169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
28737169689Skan	tags too.
28738169689Skan
28739169689Skan2005-03-14  Geoffrey Keating  <geoffk@apple.com>
28740169689Skan
28741169689Skan	* doc/cppopts.texi (-fexec-charset): Add concept index entry.
28742169689Skan	(-fwide-exec-charset): Likewise.
28743169689Skan	(-finput-charset): Likewise.
28744169689Skan	* doc/invoke.texi (Warning Options): Document -Wnormalized=.
28745169689Skan	* c-opts.c (c_common_handle_option): Handle -Wnormalized=.
28746169689Skan	* c.opt (Wnormalized): New.
28747169689Skan
28748169689Skan2005-03-14  Devang Patel  <dpatel@apple.com>
28749169689Skan
28750169689Skan	* doc/invoke.texi: Add reference to Visibility document.
28751169689Skan
28752169689Skan2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
28753169689Skan
28754169689Skan	* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
28755169689Skan	MASK_SPLIT_ADDRESSES.
28756169689Skan	* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
28757169689Skan	(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
28758169689Skan	(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
28759169689Skan	(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
28760169689Skan	(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
28761169689Skan	(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
28762169689Skan	(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
28763169689Skan	(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
28764169689Skan	(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
28765169689Skan	(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
28766169689Skan	(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
28767169689Skan	(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
28768169689Skan	(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
28769169689Skan	(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
28770169689Skan	(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
28771169689Skan	(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
28772169689Skan	(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
28773169689Skan	(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
28774169689Skan	(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
28775169689Skan	(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
28776169689Skan	(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
28777169689Skan	(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
28778169689Skan	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
28779169689Skan	(TARGET_EXPLICIT_RELOCS): Delete.
28780169689Skan	(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
28781169689Skan	(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
28782169689Skan	* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
28783169689Skan	(override_options): Set MASK_LONG64 if -mint64 is given and no
28784169689Skan	-mlongXX option is.  Complain about -mint64 -mlong32.
28785169689Skan	(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
28786169689Skan	MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
28787169689Skan	* config/mips/mips.opt: New file.
28788169689Skan
28789169689Skan2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
28790169689Skan
28791169689Skan	* config.gcc (extra_options): New variable for listing option files.
28792169689Skan	Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
28793169689Skan	* configure.ac (extra_opt_files): New AC_SUBST variable.
28794169689Skan	(tm_file_list, tm_include_list): Include options.h first.
28795169689Skan	* configure: Regenerate.
28796169689Skan	* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
28797169689Skan	(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
28798169689Skan	(s-options-h): New rule.
28799169689Skan	(options.h): Depend on it.
28800169689Skan	(TEXI_GCCINT_FILES): Add options.texi.
28801169689Skan	* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
28802169689Skan	* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
28803169689Skan	* target.h (gcc_target): Add default_target_flags and handle_option.
28804169689Skan	* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
28805169689Skan	(TARGET_HANDLE_OPTION): New macros.
28806169689Skan	(TARGET_INITIALIZER): Include them.
28807169689Skan	* opt-functions.awk (opt_args, nth_arg): New functions.
28808169689Skan	(switch_flags): Handle the "Target" flag.
28809169689Skan	(var_args): Delete.
28810169689Skan	(var_name): Use opt_args and nth_arg.
28811169689Skan	(var_set, var_ref): Likewise.  Handle "Mask" and "InverseMask".
28812169689Skan	* opth-gen.awk: Declare target_flags.  Declare MASK_* and TARGET_*
28813169689Skan	macros for the "Mask" and "InverseMask" options.
28814169689Skan	* opts.h (cl_var_cond): New enum.
28815169689Skan	(cl_option): Replace the "has_set_value" and "set_value" fields with
28816169689Skan	"var_cond" and "var_value".
28817169689Skan	(CL_TARGET): New macro.
28818169689Skan	(option_enabled, print_filtered_help): Declare.
28819169689Skan	(decode_options): Move definition.
28820169689Skan	* opts.c (handle_option): Search for the original option before
28821169689Skan	removing any "no-" prefix.  Handle CL_TARGET.  Adjust for the new
28822169689Skan	var_cond and var_value fields.  Use targetm.handle_option to handle
28823169689Skan	target options.
28824169689Skan	(decode_options): Set target_flags to targetm.default_target_flags.
28825169689Skan	(print_filtered_help): Make global.  Handle CL_TARGET.
28826169689Skan	(option_enabled): New function.
28827169689Skan	* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
28828169689Skan	(display_target_options, set_target_switch, print_switch_values)
28829169689Skan	(default_pch_valid_p): Guard uses of target_switches with
28830169689Skan	#ifdef TARGET_SWITCHES.  Also...
28831169689Skan	(display_target_options): Display the CL_TARGET entries in cl_options.
28832169689Skan	(set_target_option): Don't complain about the "" option when
28833169689Skan	TARGET_SWITCHES is undefined.
28834169689Skan	(print_switch_values): Use option_enabled.
28835169689Skan	(default_pch_valid_p): Check cl_options[] when looking for something
28836169689Skan	that has changed the value of target_flags.
28837169689Skan	* c.opt: Remove documentation from top of file.
28838169689Skan	* doc/gccint.texi: Add an "Options" chapter.  Include options.texi.
28839169689Skan	* doc/sourecebuild.texi: Refer to the new options documentation
28840169689Skan	instead of c.opt.  Document machine-specific .opt files.
28841169689Skan	* doc/tm.texi (target_flags): Say that this variable is declared
28842169689Skan	by options.h.
28843169689Skan	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
28844169689Skan	(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
28845169689Skan	an alternative.
28846169689Skan	* doc/options.texi: New file.
28847169689Skan
28848169689Skan2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
28849169689Skan
28850169689Skan	PR middle-end/18628
28851169689Skan	* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
28852169689Skan	register.
28853169689Skan
28854169689Skan2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
28855169689Skan
28856169689Skan	PR c++/20280
28857169689Skan	* gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
28858169689Skan	temporary variable of pointer type if an lvalues is required.
28859169689Skan	(gimplify_modify_expr_rhs): Request an rvalue from it.
28860169689Skan	(gimplify_expr): Pass fallback on.
28861169689Skan
28862169689Skan2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
28863169689Skan
28864169689Skan	* cfgbuild.c: Update comments.
28865169689Skan
28866169689Skan2005-03-14  Roger Sayle  <roger@eyesopen.com>
28867169689Skan
28868169689Skan	PR rtl-optimization/17236
28869169689Skan	* optabs.c (expand_doubleword_mult): New helper function split out
28870169689Skan	from expand_binop.  Permute the order in which instructions are
28871169689Skan	emitted to minimize the number of simultaneously live registers.
28872169689Skan	(expand_binop): Call expand_doubleword_mult to synthesize a double
28873169689Skan	word multiplication.
28874169689Skan
28875169689Skan2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
28876169689Skan
28877169689Skan	* basic-block.h: Update the prototypes of cached_make_edge and
28878169689Skan	rtl_make_eh_edge.
28879169689Skan	* cfg.c (cached_make_edge): Take edge_cache representing one
28880169689Skan	row of the adjacency matrix of edges.
28881169689Skan	* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
28882169689Skan	(make_edges): Initialize edge_cache to represent one row of
28883169689Skan	the adjacency matrix of edges.
28884169689Skan
28885169689Skan2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
28886169689Skan
28887169689Skan	* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
28888169689Skan	New functions.
28889169689Skan	(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
28890169689Skan	Remove unused removed_phis variable.
28891169689Skan	(conditional_replacement): Use build1/build2.
28892169689Skan	(abs_replacement): Use last_and_only_stmt and build1/build2.
28893169689Skan
28894169689Skan2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
28895169689Skan
28896169689Skan	* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
28897169689Skan	ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
28898169689Skan	* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
28899169689Skan	(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
28900169689Skan	* c-common.c (handle_novops_attribute): New function.
28901169689Skan	(c_common_attribute_table): Add "no vops" entry.
28902169689Skan	* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
28903169689Skan	* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
28904169689Skan	* tree-ssa-operands.c (get_call_expr_operands): Do not
28905169689Skan	create virtual operands for calls with ECF_NOVOPS flag.
28906169689Skan	* tree.h (DECL_IS_NOVOPS): New macro.
28907169689Skan	(struct tree_decl): Add novops_flag.
28908169689Skan	(ECF_NOVOPS): New constant.
28909169689Skan
28910169689Skan2005-03-14  Uros Bizjak  <uros@kss-loka.si>
28911169689Skan
28912169689Skan	PR target/17688
28913169689Skan	* config/i386/i386.c (x86_use_himode_fiop): New.
28914169689Skan	(x86_use_simode_fiop): Rename from x86_use_fiop.
28915169689Skan	* config/i386/i386.h (x86_use_himode_fiop): Declare.
28916169689Skan	(TARGET_USE_HIMODE_FIOP): New.
28917169689Skan	(x86_use_simode_fiop): Rename from x86_use_fiop.
28918169689Skan	(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
28919169689Skan
28920169689Skan	* config/i386/i386.md (X87MODEI12): New mode macro define.
28921169689Skan	(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
28922169689Skan	to implement x87 FP compare with HImode input operands.
28923169689Skan	(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
28924169689Skan	Use X87MODEI12 mode macro to handle HImode input operands.
28925169689Skan	(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
28926169689Skan	*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
28927169689Skan	Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
28928169689Skan	*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
28929169689Skan	macro to implement x87 operators with HImode input operands.
28930169689Skan	(fop splitters): Use X87MODEI12 mode macro to handle HImode
28931169689Skan	input operands.
28932169689Skan
28933169689Skan2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
28934169689Skan
28935169689Skan	* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
28936169689Skan	integer_zerop.
28937169689Skan	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
28938169689Skan	constants invariant.
28939169689Skan
28940169689Skan2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
28941169689Skan
28942169689Skan	* basic-block.h (BB_VISITED): Removed.
28943169689Skan	* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
28944169689Skan
28945169689Skan2005-03-14  Falk Hueffner  <falk@debian.org>
28946169689Skan
28947169689Skan	PR bootstrap/20424
28948169689Skan	* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
28949169689Skan
28950169689Skan2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
28951169689Skan
28952169689Skan	* ggc-zone.c: Fix comment typos.
28953169689Skan
28954169689Skan	* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
28955169689Skan	stringpool.c, config/mips/mips-protos.h: Update copyright.
28956169689Skan
28957169689Skan2005-03-14  Alan Modra  <amodra@bigpond.net.au>
28958169689Skan
28959169689Skan	* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
28960169689Skan	throughout with its typedef, "rtx".
28961169689Skan	* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
28962169689Skan	(rs6000_tls_symbol_ref_1): Remove inline keyword.
28963169689Skan	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
28964169689Skan	regs in comment to match code.
28965169689Skan
28966169689Skan2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
28967169689Skan
28968169689Skan	* except.c (check_handled): Make it static.
28969169689Skan	* except.h: Remove the corresponding prototype.
28970169689Skan
28971169689Skan	* function.c (get_func_frame_size): Make it static.
28972169689Skan	* function.h: Remove the corresponding type.
28973169689Skan
28974169689Skan	* regclass.c (reg_class_superclasses, reg_class_subclasses):
28975169689Skan	Make them static.
28976169689Skan	* hard-reg-set.h: Remove the corresponding declarations.
28977169689Skan
28978169689Skan	* tree-cfg.c (verify_stmts): Check that
28979169689Skan	bb_for_stmt (stmt) == bb for every PHI node and statement.
28980169689Skan
28981169689Skan2005-03-14  Alan Modra  <amodra@bigpond.net.au>
28982169689Skan
28983169689Skan	* config.gcc: Remove excess indentation.
28984169689Skan	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
28985169689Skan
28986169689Skan2005-03-13  Roger Sayle  <roger@eyesopen.com>
28987169689Skan
28988169689Skan	PR middle-end/19331
28989169689Skan	* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
28990169689Skan	* fold-const.c (fold_sign_changed_comparison): Likewise.
28991169689Skan	(fold_binary): Optimize comparisons against widened operands if
28992169689Skan	the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.
28993169689Skan
28994169689Skan2005-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
28995169689Skan
28996169689Skan	* config/sparc/sparc.c (struct_value_alias_set): New global variable.
28997169689Skan	(sparc_override_options): Initialize it.
28998169689Skan	(sparc_struct_value_rtx): Set it on the MEM to be returned.
28999169689Skan
29000169689Skan2005-03-13  David Edelsohn  <edelsohn@gnu.org>
29001169689Skan
29002169689Skan	* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
29003169689Skan	(reg_or_none500mem_operand): New predicate.
29004169689Skan	(zero_reg_mem_operand): New predicate.
29005169689Skan	* config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
29006169689Skan	to reg_or_none500mem_operand.
29007169689Skan	(extendsfdf2_fpr): Add MEM alternative.
29008169689Skan	(extenddftf2_internal): Change operand2 predicate to
29009169689Skan	zero_reg_mem_operand.
29010169689Skan
29011169689Skan2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
29012169689Skan
29013169689Skan	* ggc-zone.c: Rewritten.
29014169689Skan
29015169689Skan	* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
29016169689Skan	if there are none.
29017169689Skan	* configure.ac: Define GGC_ZONE for --with-gc=zone.
29018169689Skan	* config.in: Regenerated.
29019169689Skan	* configure: Regenerated.
29020169689Skan	* gengtype.c (write_types_process_field, write_func_for_structure):
29021169689Skan	Pass new argument to gt_pch_note_object.
29022169689Skan	* ggc-common.c (struct ptr_data): Add TYPE.
29023169689Skan	(gt_pch_note_object): Take TYPE argument and save it.
29024169689Skan	(call_count): Update call to ggc_pch_count_object.
29025169689Skan	(call_alloc): Update call to ggc_pch_alloc_object.
29026169689Skan	(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
29027169689Skan	file.
29028169689Skan	* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
29029169689Skan	* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
29030169689Skan	(ggc_alloc_zone_stat): Delete.
29031169689Skan	(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
29032169689Skan	* ggc.h (gt_pch_note_object, ggc_pch_count_object)
29033169689Skan	(ggc_pch_alloc_object): Update prototypes.
29034169689Skan	(garbage_zone): Delete.
29035169689Skan	(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
29036169689Skan	GGC_ZONE conditional.  Update.  Change tree_zone and rtl_zone into
29037169689Skan	pointers.
29038169689Skan	(tree_id_zone): New variable.
29039169689Skan	(ggc_alloc_cleared_zone): Remove unused.
29040169689Skan	(ggc_alloc_zone): Define.
29041169689Skan	(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
29042169689Skan	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
29043169689Skan	ggc_alloc_zone_stat.
29044169689Skan	* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
29045169689Skan	* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
29046169689Skan	(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
29047169689Skan	(make_node_stat): Likewise.  Use tree_id_zone.
29048169689Skan
29049169689Skan2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
29050169689Skan	    Joseph S. Myers  <joseph@codesourcery.com>
29051169689Skan
29052169689Skan	* configure.ac: Check for MIPS TLS.
29053169689Skan	* configure: Regenerated.
29054169689Skan	* config/mips/mips-protos.h (enum mips_symbol_type): Add
29055169689Skan	SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
29056169689Skan	SYMBOL_GOTTPREL, and SYMBOL_TPREL.
29057169689Skan	* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
29058169689Skan	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
29059169689Skan	(mips_classify_symbol, mips_symbolic_constant_p)
29060169689Skan	(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
29061169689Skan	(mips_tls_operand_p, mips_call_tls_get_addr)
29062169689Skan	(mips_legitimize_tls_address, mips_cannot_force_const_mem)
29063169689Skan	(mips_tls_symbol_ref_1): New functions.
29064169689Skan	(mips_legitimize_address, mips_legitimize_const_move): Call
29065169689Skan	mips_legitimize_tls_address.
29066169689Skan	(override_options): Handle V1_REG and TLS symbols.  Disable TLS
29067169689Skan	for MIPS16.
29068169689Skan	* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
29069169689Skan	(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
29070169689Skan	(mips_char_to_class): Document V1_REG.
29071169689Skan	(HAVE_AS_TLS): Provide default.
29072169689Skan	* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
29073169689Skan	constants.
29074169689Skan	(load_got<mode>): Renamed from *load_got<mode>.  Allow when
29075169689Skan	!TARGET_ABICALLS.
29076169689Skan	(tls_get_tp_<mode>): New instruction.
29077169689Skan
29078169689Skan2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
29079169689Skan
29080169689Skan	* configure.ac: Update checks for target tools.
29081169689Skan	* configure: Regenerated.
29082169689Skan
29083169689Skan2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
29084169689Skan
29085169689Skan	* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.
29086169689Skan
29087169689Skan2005-03-13  Roger Sayle  <roger@eyesopen.com>
29088169689Skan
29089169689Skan	* expmed.c (expand_mult): Use synthetic multiplication sequences for
29090169689Skan	more classes of DImode multiplication by constant.  Allow both
29091169689Skan	multiplication by small negative constants (by performing a
29092169689Skan	multiplication by a positive constant and negating the result) and
29093169689Skan	multiplications by large powers of two, by using a left shift.
29094169689Skan
29095169689Skan2005-03-13  Kazu Hirata  <kazu@cs.umass.edu>
29096169689Skan
29097169689Skan	* tree-into-ssa.c (find_idf): Speed up by putting the indexes
29098169689Skan	of basic blocks into work_stack.
29099169689Skan
29100169689Skan	* builtin-attrs.def, c-lex.c, c-pragma.h, reg-stack.c,
29101169689Skan	config/mips/vr.h: Update copyright.
29102169689Skan
29103169689Skan	* c-decl.c (c_init_decl_processing): Remove useless calls to
29104169689Skan	build_function_type.
29105169689Skan
29106169689Skan	* builtins.c (fold_trunc_transparent_mathfn,
29107169689Skan	fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc,
29108169689Skan	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
29109169689Skan	fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy,
29110169689Skan	fold_builtin_strcpy, fold_builtin_strncpy,
29111169689Skan	fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of
29112169689Skan	TREE_TYPE (exp).
29113169689Skan
29114169689Skan	* builtins.c (expand_builtin_mathfn_3): Remove local variable
29115169689Skan	before_call.
29116169689Skan
29117169689Skan	* lambda-code.c (lambda_compute_auxillary_space): Remove local
29118169689Skan	variable determinant.
29119169689Skan
29120169689Skan	* tree-cfg.c (group_case_labels): Remove local variable type.
29121169689Skan
29122169689Skan	* tree-ssa-live.c (build_tree_conflict_graph): Remove local
29123169689Skan	variable ann.
29124169689Skan
29125169689Skan	* tree-ssa-phiopt.c (value_replacement): Remove local variable
29126169689Skan	result.
29127169689Skan
29128169689Skan2005-03-13  Andy Hutchinson  <HutchinsonAndy@netscape.net>
29129169689Skan
29130169689Skan	PR target/18251
29131169689Skan	* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
29132169689Skan	(*movmemqi_insn): Delete.
29133169689Skan	(*movmemhi): Delete.
29134169689Skan
29135169689Skan2005-03-13  Kazu Hirata  <kazu@cs.umass.edu>
29136169689Skan
29137169689Skan	* builtins.c (fold_builtin_classify): Take decomposed
29138169689Skan	arguments of CALL_EXPR.
29139169689Skan	(fold_builtin_1): Update a call to fold_builtin_classify.
29140169689Skan
29141169689Skan2005-03-13  Joseph S. Myers  <joseph@codesourcery.com>
29142169689Skan
29143169689Skan	PR c/20402
29144169689Skan	* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
29145169689Skan	through into call to parser_xref_tag after parse error.
29146169689Skan	(c_parser_struct_declaration): Consistently return NULL_TREE on
29147169689Skan	error.
29148169689Skan
29149169689Skan2005-03-12  Daniel Berlin  <dberlin@dberlin.org>
29150169689Skan
29151169689Skan	* tree-flow-inline.h (ref_contains_array_ref): New function.
29152169689Skan	(lookup_subvars_for_var): Ditto.
29153169689Skan	(get_subvars_for_var): Ditto.
29154169689Skan	(var_can_have_subvars): Ditto.
29155169689Skan
29156169689Skan	* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
29157169689Skan	(struct subvar): New type.
29158169689Skan
29159169689Skan	* tree-dfa.c (okay_component_ref_for_subvars): New function.
29160169689Skan
29161169689Skan	* tree-optimize.c (init_tree_optimization_passes): Call
29162169689Skan	pass_create_structure_vars.
29163169689Skan
29164169689Skan	* tree-ssa-alias.c: Include vec.h.
29165169689Skan	(init_alias_info): Don't auto-clear call clobbered on struct-field
29166169689Skan	tags.
29167169689Skan	(compute_flow_insensitive_aliasing): Handle subvars.
29168169689Skan	(group_aliases): Handle STRUCT_FIELD aliases.
29169169689Skan	(setup_pointers_and_addressables): Ditto.
29170169689Skan	Don't mark variables non-addressable if they still have
29171169689Skan	addressable subvars.
29172169689Skan	Also mark subvars addressable when the real variable is marked
29173169689Skan	addressable.
29174169689Skan	(add_pointed_to_var): Try to prune the pointed-to set by only
29175169689Skan	pointing to subvars when possible.
29176169689Skan	Otherwise, make sure we set addresses_needed and pt_vars to
29177169689Skan	properly include subvars.
29178169689Skan	(bitpos_of_field): New function.
29179169689Skan	(push_fields_onto_fieldstack): Ditto.
29180169689Skan	(get_or_create_used_part_for): Ditto.
29181169689Skan	(create_overlap_variables_for): Ditto.
29182169689Skan	(find_used_portions): Ditto.
29183169689Skan	(create_structure_vars): Ditto.
29184169689Skan	(pass_create_structure_vars): New structure.
29185169689Skan
29186169689Skan	* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
29187169689Skan	(get_expr_operands): Handle subvars.  Also try to turn
29188169689Skan	COMPONENT_REF accesses into must-defs now that we can accurately
29189169689Skan	portray it.
29190169689Skan	(note_addressable): Try to only mark as addressable those subvars
29191169689Skan	we know a COMPONENT_REF touches.
29192169689Skan	(overlap_subvar): New function.
29193169689Skan
29194169689Skan	* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
29195169689Skan	Handle subvar storing.
29196169689Skan	(vect_address_analysis): Update caller of vect_object_analysis.
29197169689Skan
29198169689Skan	* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.
29199169689Skan
29200169689Skan	* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
29201169689Skan	(STMT_VINFO_SUBVARS): New macro.
29202169689Skan
29203169689Skan	* common.opts: add flag_tree_salias.
29204169689Skan
29205169689Skan	* opts.c (decode_options): flag_tree_salias defaults to on.
29206169689Skan
29207169689Skan	* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.
29208169689Skan
29209169689Skan	* doc/tree-ssa.texi: Document structural alias analysis.
29210169689Skan
29211169689Skan2005-03-12  Steven Bosscher  <stevenb@suse.de>
29212169689Skan
29213169689Skan	* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
29214169689Skan	* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
29215169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
29216169689Skan	(get_expr_operands): Likewise for ERROR_MARK.
29217169689Skan
29218169689Skan2005-03-12  Kazu Hirata  <kazu@cs.umass.edu>
29219169689Skan
29220169689Skan	* tree-ssa.c (kill_redundant_phi_nodes): Remove local variable
29221169689Skan	var.
29222169689Skan
29223169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable
29224169689Skan	removed_phis.
29225169689Skan
29226169689Skan	* tree-ssa-pre.c (compute_avail): Remove local variable val.
29227169689Skan	(mark_operand_necessary): Remove local variable ver.
29228169689Skan
29229169689Skan	* tree-vect-transform.c (vect_get_new_vect_var): Remove local
29230169689Skan	variable prefix_len.
29231169689Skan
29232169689Skan	* value-prof.c (mod_subtract_transform): Remove local variable
29233169689Skan	value.
29234169689Skan
29235169689Skan	* builtins.c (fold_builtin_exponent): Take decomposed
29236169689Skan	arguments of CALL_EXPR.
29237169689Skan	(fold_builtin_1): Update a call to fold_builtin_exponent.
29238169689Skan
29239169689Skan	* builtins.c (fold_builtin_logarithm): Take decomposed
29240169689Skan	arguments of CALL_EXPR.
29241169689Skan	(fold_builtin_1): Update a call to fold_builtin_logarithm.
29242169689Skan
29243169689Skan	* c-decl.c (c_init_decl_processing): Remove local variables
29244169689Skan	ptr_ftype_void and ptr_ftype_ptr.
29245169689Skan
29246169689Skan	* gimplify.c (gimplify_expr): Remove local variables r0 and
29247169689Skan	r1.
29248169689Skan
29249169689Skan	* reg-stack.c (move_for_stack_reg): Remove local variable
29250169689Skan	push_insn.
29251169689Skan	(compare_for_stack_reg): Remove local variable flags_user.
29252169689Skan	(convert_regs_1): Remove local variable deleted.
29253169689Skan
29254169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr): Remove local
29255169689Skan	variable new_cond.
29256169689Skan	(combine_blocks): Remove local variables exits and new_e.
29257169689Skan
29258169689Skan	* tree-inline.c (expand_call_inline): Remove local variable
29259169689Skan	decl.
29260169689Skan
29261169689Skan	* tree-ssa-live.c (create_ssa_var_map,
29262169689Skan	calculate_live_on_entry): Remove local variable snn.
29263169689Skan
29264169689Skan2005-03-12  Geoffrey Keating  <geoffk@apple.com>
29265169689Skan
29266169689Skan	* c-lex.c (c_lex_with_flags): Add parameter to call to
29267169689Skan	cpp_spell_token.
29268169689Skan
29269169689Skan2005-03-11  Per Bothner  <per@bothner.com>
29270169689Skan
29271169689Skan	* c-tree.h (struct c_declarator): New id_loc field.
29272169689Skan	* c-pragma.h (c_lex_with_flags): Take position reference.
29273169689Skan	* c-lex.c (c_lex_with_flags): Set passed-in location from cpp token,
29274169689Skan	iff USE_MAPPED_LOCATION. (Type doesn't match otherwise.)
29275169689Skan	(c_lex): Pass dummy location to c_lex_with_flags.
29276169689Skan	* c-parser.c (c_lex_one_token): Set c_token's location using
29277169689Skan	c_lex_with_flags, instead of input_location, which might be "ahead".
29278169689Skan	(c_parser_direct_declarator): Set declarator's id_loc from
29279169689Skan	c_token's id_loc.
29280169689Skan	* c-decl.c (grokdeclarator): Set DECL_SOURCE_LOCATION from
29281169689Skan	declarator's id_loc, rather than probably-imprecise input_location.
29282169689Skan	(build_id_declarator): Initialize c_declarator's id_loc field.
29283169689Skan
29284169689Skan2005-03-11  Roger Sayle  <roger@eyesopen.com>
29285169689Skan
29286169689Skan	PR middle-end/20419
29287169689Skan	* builtins.c (expand_builtin_signbit): Force the signbit's word
29288169689Skan	into an integer register to avoid SUBREGs of floating point modes.
29289169689Skan
29290169689Skan2005-03-12  Kazu Hirata  <kazu@cs.umass.edu>
29291169689Skan
29292169689Skan	* cfglayout.c, loop-doloop.c, profile.c, target-def.h,
29293169689Skan	target.h, targhooks.c, tracer.c, tree-ssa-loop-ch.c,
29294169689Skan	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, vec.c, vmsdbgout.c,
29295169689Skan	config/m32r/m32r.md, config/xtensa/xtensa.h: Update copyright.
29296169689Skan
29297169689Skan2005-03-11  David Edelsohn  <edelsohn@gnu.org>
29298169689Skan
29299169689Skan	PR rtl-optimization/20306
29300169689Skan	* expr.c (emit_move_complex): Set try_int false if mode is
29301169689Skan	MODE_COMPLEX_FLOAT and mov_optab exists for inner mode.  Only try
29302169689Skan	emit_block_move if try_int is true.
29303169689Skan
29304169689Skan2005-03-11  Richard Henderson  <rth@redhat.com>
29305169689Skan
29306169689Skan	PR target/20415
29307169689Skan	* config/i386/mmx.md (vec_dupv4hi): Fix predicate.
29308169689Skan	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Update
29309169689Skan	to match.
29310169689Skan
29311169689Skan2005-03-11  Richard Sandiford  <rsandifo@redhat.com>
29312169689Skan
29313169689Skan	* config/mips/mips.h (mips_fix_vr4130_string): Declare.
29314169689Skan	(TARGET_FIX_VR4130): New macro.
29315169689Skan	(TARGET_OPTIONS): Add -mfix-vr4130.
29316169689Skan	(ISA_HAS_MACCHI): New macro.
29317169689Skan	(ASM_SPEC): Add -mfix-vr4130.
29318169689Skan	* config/mips/mips.c (mips_fix_vr4130_string): New variable.
29319169689Skan	(override_options): Handle mips_fix_vr4130_string.
29320169689Skan	(mips_avoid_hazards): Clear all_noreorder_p
29321169689Skan	if we're working around VR4130 errata and the macc alternatives
29322169689Skan	are not available.
29323169689Skan	* config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand.
29324169689Skan	(*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns.
29325169689Skan	* config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130.
29326169689Skan	(MULTILIB_DEFAULTS): Remove leading "march=".
29327169689Skan	(DRIVER_SELF_SPECS): Likewise.  Make -mfix-vr4130 imply -march=vr4130
29328169689Skan	if no architecture option is given.
29329169689Skan	* config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the
29330169689Skan	VR4130 multilibs.
29331169689Skan	(MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs.
29332169689Skan	* doc/invoke.texi: Document -mfix-vr4130.
29333169689Skan
29334169689Skan2005-03-11  Richard Sandiford  <rsandifo@redhat.com>
29335169689Skan
29336169689Skan	* config/mips/mips.c (override_options): Only warn about -mint64
29337169689Skan	deprecation if TARGET_INT64.
29338169689Skan
29339169689Skan2005-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29340169689Skan
29341169689Skan	* builtin-attrs.def (ATTR_NONNULL_LIST, ATTR_NOTHROW_NONNULL,
29342169689Skan	ATTR_CONST_NOTHROW_NONNULL, ATTR_PURE_NOTHROW_NONNULL,
29343169689Skan	ATTR_MALLOC_NOTHROW_NONNULL): New "nonnull" attribute lists which
29344169689Skan	are non-specific regarding the nonnull parameter positions.
29345169689Skan	(ATTR_NONNULL_1_2, ATTR_NONNULL_1_4, ATTR_NOTHROW_NONNULL_1_2,
29346169689Skan	ATTR_NOTHROW_NONNULL_1_4, ATTR_CONST_NOTHROW_NONNULL_1,
29347169689Skan	ATTR_PURE_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1_2,
29348169689Skan	ATTR_MALLOC_NOTHROW_NONNULL_1): Delete.
29349169689Skan
29350169689Skan	* builtins.def: Use the non-specific "nonnull" attibute lists.
29351169689Skan
29352169689Skan2005-03-11  Zdenek Dvorak  <dvorakz@suse.cz>
29353169689Skan
29354169689Skan	* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
29355169689Skan	single_pred_edge, single_succ, single_pred): Improve comments.
29356169689Skan
29357169689Skan2005-03-11  Zdenek Dvorak  <dvorakz@suse.cz>
29358169689Skan
29359169689Skan	* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
29360169689Skan	single_pred_edge, single_succ, single_pred): New inline functions.
29361169689Skan	* bb-reorder.c (rotate_loop, find_traces_1_round,
29362169689Skan	add_labels_and_missing_jumps, fix_up_fall_thru_edges,
29363169689Skan	duplicate_computed_gotos): Use the single_succ/pred functions.
29364169689Skan	* cfganal.c (forwarder_block_p): Ditto.
29365169689Skan	* cfgbuild.c (compute_outgoing_frequencies): Ditto.
29366169689Skan	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
29367169689Skan	outgoing_edges_match, try_crossjump_to_edge, try_optimize_cfg,
29368169689Skan	merge_seq_blocks): Ditto.
29369169689Skan	* cfghooks.c (split_edge, tidy_fallthru_edges): Ditto.
29370169689Skan	* cfglayout.c (fixup_reorder_chain): Ditto.
29371169689Skan	* cfgloop.c (mark_single_exit_loops, update_latch_info,
29372169689Skan	canonicalize_loop_headers, verify_loop_structure): Ditto.
29373169689Skan	* cfgloopmanip.c (remove_path, unloop, loop_delete_branch_edge,
29374169689Skan	mfb_update_loops, create_preheader, force_single_succ_latches,
29375169689Skan	create_loop_notes): Ditto.
29376169689Skan	* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
29377169689Skan	force_nonfallthru_and_redirect, rtl_tidy_fallthru_edge,
29378169689Skan	commit_one_edge_insertion, purge_dead_edges,
29379169689Skan	cfg_layout_can_merge_blocks_p): Ditto.
29380169689Skan	* except.c (sjlj_emit_function_enter): Ditto.
29381169689Skan	* flow.c (init_propagate_block_info): Ditto.
29382169689Skan	* function.c (thread_prologue_and_epilogue_insns): Ditto.
29383169689Skan	* gcse.c (find_implicit_sets, bypass_conditional_jumps,
29384169689Skan	insert_insn_end_bb): Ditto.
29385169689Skan	* ifcvt.c (merge_if_block, find_if_block, find_if_case_1,
29386169689Skan	find_if_case_2): Ditto.
29387169689Skan	* lambda-code.c (perfect_nestify): Ditto.
29388169689Skan	* lcm.c (optimize_mode_switching): Ditto.
29389169689Skan	* loop-doloop.c (doloop_modify): Ditto.
29390169689Skan	* loop-init.c (loop_optimizer_init): Ditto.
29391169689Skan	* loop-iv.c (simplify_using_initial_values): Ditto.
29392169689Skan	* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
29393169689Skan	* loop-unswitch.c (unswitch_loop): Ditto.
29394169689Skan	* modulo-sched.c (generate_prolog_epilog): Ditto.
29395169689Skan	* predict.c (combine_predictions_for_insn, estimate_probability,
29396169689Skan	tree_estimate_probability, last_basic_block_p,
29397169689Skan	estimate_bb_frequencies): Ditto.
29398169689Skan	* profile.c (branch_prob): Ditto.
29399169689Skan	* regrename.c (copyprop_hardreg_forward): Ditto.
29400169689Skan	* sched-rgn.c (is_cfg_nonregular, find_rgns, update_live): Ditto.
29401169689Skan	* tracer.c (layout_superblocks): Ditto.
29402169689Skan	* tree-cfg.c (tree_can_merge_blocks_p, tree_merge_blocks,
29403169689Skan	cfg_remove_useless_stmts_bb, cleanup_control_flow,
29404169689Skan	cleanup_control_expr_graph, disband_implicit_edges,
29405169689Skan	tree_find_edge_insert_loc, bsi_commit_edge_inserts,
29406169689Skan	tree_verify_flow_info, tree_make_forwarder_block,
29407169689Skan	tree_forwarder_block_p, remove_forwarder_block,
29408169689Skan	remove_forwarder_block_with_phi, merge_phi_nodes): Ditto.
29409169689Skan	* tree-if-conv.c (tree_if_conversion): Ditto.
29410169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
29411169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Ditto.
29412169689Skan	* tree-ssa-dom.c (dom_opt_finalize_block): Ditto.
29413169689Skan	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
29414169689Skan	copy_loop_headers): Ditto.
29415169689Skan	* tree-ssa-loop-im.c (loop_commit_inserts): Ditto.
29416169689Skan	* tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Ditto.
29417169689Skan	* tree-ssa-loop-manip.c (split_loop_exit_edge, ip_normal_pos,
29418169689Skan	lv_adjust_loop_entry_edge, tree_ssa_loop_version): Ditto.
29419169689Skan	* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Ditto.
29420169689Skan	* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Ditto.
29421169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt, value_replacement): Ditto.
29422169689Skan	* tree-ssa-pre.c (compute_antic_aux, insert_aux, init_pre): Ditto.
29423169689Skan	* tree-ssa-threadupdate.c (redirect_edges): Ditto.
29424169689Skan	* tree-tailcall.c (independent_of_stmt_p, find_tail_calls,
29425169689Skan	eliminate_tail_call, tree_optimize_tail_calls_1): Ditto.
29426169689Skan	* tree-vect-analyze.c (vect_analyze_loop_form): Ditto.
29427169689Skan	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
29428169689Skan	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard,
29429169689Skan	slpeel_add_loop_guard): Ditto.
29430169689Skan
29431169689Skan2005-03-11  James A. Morrison  <phython@gcc.gnu.org>
29432169689Skan
29433169689Skan	PR tree-optimization/15784
29434169689Skan	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
29435169689Skan	and -1 - A to ~A.
29436169689Skan
29437169689Skan	* stmt.c (expand_case): Don't change index_type.  Convert minval
29438169689Skan	to the proper type.
29439169689Skan
29440169689Skan	PR tree-optimization/20130
29441169689Skan	* fold-const.c (fold): Fold x * -1 into -x.
29442169689Skan
29443169689Skan2005-03-11  Kaz Kojima  <kkojima@gcc.gnu.org>
29444169689Skan
29445169689Skan	PR rtl-optimization/20331
29446169689Skan	* rtlanal.c (modified_between_p): Check its address first for MEM.
29447169689Skan	(modified_in_p): Likewise.
29448169689Skan
29449169689Skan2005-03-11  Joseph S. Myers  <joseph@codesourcery.com>
29450169689Skan
29451169689Skan	* config.gcc (hppa*64*-*-hpux11*): Use pa/t-hpux-shlib.
29452169689Skan
29453169689Skan2005-03-10  Steven Bosscher  <stevenb@suse.de>
29454169689Skan
29455169689Skan	* expr.c (expand_expr_real_1): If possible, use a conditional
29456169689Skan	move for expanding MIN_EXPR and MAX_EXPR.
29457169689Skan	Use temp for moving around rtx-en.
29458169689Skan
29459169689Skan2005-03-10  Andrew Pinski  <pinskia@physics.uc.edu>
29460169689Skan
29461169689Skan	PR rtl-opt/20412
29462169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Fix typo - check the
29463169689Skan	correct mode.
29464169689Skan
29465169689Skan2005-03-10  Roger Sayle  <roger@eyesopen.com>
29466169689Skan
29467169689Skan	* builtins.c (expand_builtin_signbit): Extend to handle floating
29468169689Skan	point modes wider than the largest integer type, using the
29469169689Skan	operand_subword_force function to obtain the signbit's word.
29470169689Skan
29471169689Skan2005-03-10  Jakub Jelinek  <jakub@redhat.com>
29472169689Skan
29473169689Skan	PR target/20322
29474169689Skan	* combine.c (try_combine): If recog_for_combine added CLOBBERs
29475169689Skan	to NEWI2PAT, fail to combine if they are used by NEWPAT.
29476169689Skan
29477169689Skan2005-03-10  Aldy Hernandez  <aldyh@redhat.com>
29478169689Skan
29479169689Skan	* doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
29480169689Skan
29481169689Skan2005-03-10  Kazu Hirata  <kazu@cs.umass.edu>
29482169689Skan
29483169689Skan	* tree-outof-ssa.c (analyze_edges_for_bb): Make the return
29484169689Skan	type void.
29485169689Skan	(perform_edge_inserts): Unconditionally call
29486169689Skan	free_dominator_info.
29487169689Skan
29488169689Skan	* tree-outof-ssa.c (analyze_edges_for_bb): Update a comment.
29489169689Skan
29490169689Skan2005-03-10  Bob Wilson  <bob.wilson@acm.org>
29491169689Skan
29492169689Skan	* config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Define.
29493169689Skan
29494169689Skan2005-03-10  Nathan Sidwell  <nathan@codesourcery.com>
29495169689Skan
29496169689Skan	* bitmap.c (bitmap_copy): Remove manual loop unrolling.
29497169689Skan
29498169689Skan	* value-prof.c (rtl_find_values_to_profile): Use gcc_assert and
29499169689Skan	gcc_unreachable.
29500169689Skan	(rtl_register_value_prof_hooks,
29501169689Skan	tree_value_profile_transformations,
29502169689Skan	tree_register_value_prof_hooks): Likewise.
29503169689Skan	* var-tracking.c (stack_adjust_offset_pre_post,
29504169689Skan	variable_htab_free, variable_union, dataflow_set_different_2,
29505169689Skan	count_uses, variable_was_changed, set_frame_base_location,
29506169689Skan	set_variable_part, emit_note_insn_var_location, vt_emit_notes,
29507169689Skan	vt_add_function_parameters): Likewise.
29508169689Skan	* varasm.c (named_section_real, named_section, make_decl_rtl,
29509169689Skan	asm_emit_uninitialised, assemble_integer, decode_addr_const,
29510169689Skan	const_hash_1, compare_constant, copy_constant, force_const_mem,
29511169689Skan	output_constant_pool_2, output_constant_pool_1, output_constant,
29512169689Skan	output_constructor, make_decl_one_only, decl_tls_model,
29513169689Skan	default_no_named_section, default_elf_select_section_1,
29514169689Skan	default_unique_section_1): Likewise.
29515169689Skan	* vec.c (vec_gc_o_reserve, vec_heap_o_reserve): Likewise.
29516169689Skan	* vmsdbgout.c (addr_const_to_string): Likewise.
29517169689Skan
29518169689Skan	PR c++/20375
29519169689Skan	* function.c (struct assign_parm_data_one): Remove last_named
29520169689Skan	field.
29521169689Skan	(assign_parm_find_data_types): Don't determine last_named.
29522169689Skan	Reorder named_parm determination.
29523169689Skan	(assign_parms): Only setup varargs on the last non-varadic
29524169689Skan	parameter.
29525169689Skan
29526169689Skan2005-03-10  Kazuhiro Inaoka  <inaoka.lazuhiro@renesas.com>
29527169689Skan
29528169689Skan	* config/m32r/m32r.md (load_sda_base_32): New pattern.  Loads
29529169689Skan	sda base address on medium model.
29530169689Skan
29531169689Skan2005-03-10  Zdenek Dvorak  <dvorakz@suse.cz>
29532169689Skan
29533169689Skan	* Makefile.in (tree-optimize.o): Add CFGLOOP_H dependence.
29534169689Skan	* cfgloop.c (flow_loop_nodes_find): Export.
29535169689Skan	* cfgloop.h (flow_loop_nodes_find, fix_loop_structure):
29536169689Skan	Declare.
29537169689Skan	* cfgloopmanip.c (fix_loop_structure): New function.
29538169689Skan	* predict.c (predict_loops): Clean up the loops information.
29539169689Skan	* tree-cfg.c (cleanup_tree_cfg_loop): New function.
29540169689Skan	(tree_can_merge_blocks_p, remove_bb, tree_forwarder_block_p): Respect
29541169689Skan	loop structure.
29542169689Skan	* tree-flow.h (cleanup_tree_cfg_loop): Declare.
29543169689Skan	(rewrite_into_loop_closed_ssa): Declaration changed.
29544169689Skan	* tree-loop-linear.c (linear_transform_loops): Add argument to
29545169689Skan	rewrite_into_loop_closed_ssa call.
29546169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
29547169689Skan	* tree-ssa-loop-im.c (move_computations): Ditto.
29548169689Skan	* tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
29549169689Skan	* tree-vectorizer.c (vectorize_loops): Ditto.
29550169689Skan	* tree-optimize.c: Include cfgloop.h.
29551169689Skan	(execute_todo): Choose whether to call cleanup_tree_cfg or
29552169689Skan	cleanup_tree_cfg_loop.
29553169689Skan	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables,
29554169689Skan	(tree_unroll_loops_completely): Enable cleanup_tree_cfg_loop call.
29555169689Skan	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Enable
29556169689Skan	cleanup_tree_cfg_loop call.
29557169689Skan	* tree-ssa-loop-manip.c (find_uses_to_rename_bb): New function.
29558169689Skan	(find_uses_to_rename, rewrite_into_loop_closed_ssa): Support
29559169689Skan	work on part of cfg.
29560169689Skan
29561169689Skan2005-03-10  Jakub Jelinek  <jakub@redhat.com>
29562169689Skan
29563169689Skan	PR inline-asm/20314
29564169689Skan	* gimplify.c (gimplify_asm_expr): Handle input/output constraints
29565169689Skan	with multiple alternatives.
29566169689Skan
29567169689Skan	* stmt.c (parse_output_constraint): Fix a typo.
29568169689Skan
29569169689Skan2005-03-09  Bob Wilson  <bob.wilson@acm.org>
29570169689Skan
29571169689Skan	* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Use "no-transform"
29572169689Skan	assembly directive instead of deprecated "no-generics".
29573169689Skan
29574169689Skan2005-03-09  Ulrich Weigand  <uweigand@de.ibm.com>
29575169689Skan
29576169689Skan	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
29577169689Skan	for non-offsettable memory references to cope with outstanding reload
29578169689Skan	replacements.
29579169689Skan	* config/s390/s390.md ("reload_outti"): Call find_replacement to
29580169689Skan	avoid losing outstanding address reloads.
29581169689Skan	("reload_outdi", "reload_outdf"): Likewise.
29582169689Skan
29583169689Skan2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29584169689Skan
29585169689Skan	* builtins.c (fold_builtin_cbrt, fold_builtin_pow): Rearrange
29586169689Skan	code.  Add more cbrt transformations.
29587169689Skan
29588169689Skan2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29589169689Skan
29590169689Skan	* fold-const.c (fold_unary_to_constant): Add FIX_ROUND_EXPR case.
29591169689Skan
29592169689Skan2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
29593169689Skan
29594169689Skan	* fold-const.c (fold_unary, fold_binary, fold_ternary): Return
29595169689Skan	NULL_TREE when a given tree is not simplified.
29596169689Skan	(fold): Return the original tree when any of the functions
29597169689Skan	mentioned above NULL_TREE.
29598169689Skan
29599169689Skan	* fold-const.c (fold_unary, fold_binary): Take decomposed
29600169689Skan	arguments, code, type, op0, and op1 in case of fold_binary.
29601169689Skan	(fold): Update calls to fold_unary and fold_binary.
29602169689Skan
29603169689Skan2005-03-09  Roger Sayle  <roger@eyesopen.com>
29604169689Skan
29605169689Skan	* builtins.c (fold_builtin_unordered_cmp): Change prototype to take
29606169689Skan	a fndecl and an arglist instead of a CALL_EXPR, exp.
29607169689Skan
29608169689Skan2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
29609169689Skan
29610169689Skan	* cfglayout.c (fixup_reorder_chain): Remove old_bb.
29611169689Skan
29612169689Skan	* cfgrtl.c (cfg_layout_merge_blocks): Remove new_e.
29613169689Skan
29614169689Skan	* expr.c (expand_assignment): Remove orig_to_rtx.
29615169689Skan
29616169689Skan	* fold-const.c (int_const_binop): Remove no_overflow.
29617169689Skan
29618169689Skan	* ifcvt.c (noce_emit_move_insn): Remove inmode.
29619169689Skan
29620169689Skan	* loop-iv.c (get_biv_step_1): Remove lhs.
29621169689Skan
29622169689Skan	* loop-unroll.c (analyze_insns_in_loop): Remove preheader.
29623169689Skan
29624169689Skan	* real.c (real_nan): Remove neg.
29625169689Skan
29626169689Skan	* function.c (thread_prologue_and_epilogue_insns): Remove i
29627169689Skan	and newinsn.
29628169689Skan
29629169689Skan	* tree-data-ref.c (array_base_name_differ_p): Remove ta and
29630169689Skan	tb.
29631169689Skan
29632169689Skan	* tree-eh.c (tree_could_trap_p): Remove idx.
29633169689Skan
29634169689Skan	* tree-into-ssa.c (ann): Remove ann.
29635169689Skan
29636169689Skan	* tree-outof-ssa.c (num_nodes): Remove num_nodes.
29637169689Skan
29638169689Skan	* tree-sra.c (decide_block_copy): Remove inst_count.
29639169689Skan
29640169689Skan	* tree-ssa-alias.c (may_alias_p): Remove v_ann.
29641169689Skan
29642169689Skan	* tree-ssa-loop-im.c (lhs): Remove.
29643169689Skan
29644169689Skan	* cfgbuild.c (state, STATE, SET_STATE,
29645169689Skan	BLOCK_USED_BY_TABLEJUMP, FULL_STATE): Move just before
29646169689Skan	make_edges.
29647169689Skan	(make_edges): Speed up by skipping blocks with BLOCK_ORIGINAL.
29648169689Skan	(find_basic_blocks): Set the state of each basic block to
29649169689Skan	BLOCK_NEW.
29650169689Skan
29651169689Skan2005-03-08  Jeff Law  <law@redhat.com>
29652169689Skan
29653169689Skan	* tree-cfg.c (cleanup_control_flow): If removal of a computed
29654169689Skan	goto results in the removal of edges in the CFG, then we need
29655169689Skan	to recompute dominators.
29656169689Skan
29657169689Skan2005-03-09  Ben Elliston  <bje@au.ibm.com>
29658169689Skan
29659169689Skan	* c-common.c (c_do_switch_warnings): Comment fix.
29660169689Skan
29661169689Skan2005-03-08  Julian Brown  <julian@codesourcery.com>
29662169689Skan
29663169689Skan	* Patch from 2005-03-08 reverted for causing regressions and
29664169689Skan	ppc-darwin bootstrap failure.
29665169689Skan
29666169689Skan2005-03-08  Fariborz Jahanian <fjahanian@apple.com>
29667169689Skan
29668169689Skan	* config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn):
29669169689Skan	Define the real function for ppc-darwin.
29670169689Skan	* c-typeck.c (convert_arguments): Check for target-specific
29671169689Skan	invalid argument call to unprototyped function.
29672169689Skan	* target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
29673169689Skan	New Macro.
29674169689Skan	* target.h (invalid_arg_for_unprototyped_fn): New field
29675169689Skan	in struct calls.
29676169689Skan	* targhooks.c (hook_invalid_arg_for_unprototyped_fn): New
29677169689Skan	default target hook.
29678169689Skan	* targhooks.h (hook_invalid_arg_for_unprototyped_fn):
29679169689Skan	Declare.
29680169689Skan
29681169689Skan2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
29682169689Skan
29683169689Skan	* c-typeck.c (constructor_stack, constructor_range_stack,
29684169689Skan	initializer_stack): Make them static.
29685169689Skan
29686169689Skan	* cfg.c (rbi_pool): Make it static.
29687169689Skan
29688169689Skan	* gimple-low.c (lower_stmt_body): Make it static.
29689169689Skan	* tree-flow.h: Remove the corresponding prototype.  Don't
29690169689Skan	declare lower_data.
29691169689Skan
29692169689Skan	* sched-deps.c (cache_size): Make it static.
29693169689Skan
29694169689Skan	* stor-layout.c (lang_adjust_rli): Make it static.
29695169689Skan
29696169689Skan2005-03-08  Julian Brown  <julian@codesourcery.com>
29697169689Skan
29698169689Skan	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
29699169689Skan	from being used for symbols with vague linkage when
29700169689Skan	HAVE_GAS_COMDAT_GROUP is true.
29701169689Skan
29702169689Skan2005-03-08  J"orn Rennecke <joern.rennecke@st.com>
29703169689Skan
29704169689Skan	* jump.c (invert_jump_1): Don't call redirect_jump_1 with
29705169689Skan	nlabel == JUMP_LABEL (jump).
29706169689Skan
29707169689Skan2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
29708169689Skan
29709169689Skan	* c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
29710169689Skan	gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
29711169689Skan	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
29712169689Skan	tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
29713169689Skan
29714169689Skan2005-03-08  Alexey Neyman  <alex.neyman@auriga.ru>
29715169689Skan
29716169689Skan	PR c/14411
29717169689Skan	* calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
29718169689Skan	* c-common.c (handle_returns_twice): New function.
29719169689Skan	(c_common_attribute_table): Declare eturns_twice' attribute.
29720169689Skan	* doc/extend.texi: Document eturns_twice' attribute.
29721169689Skan	* tree.h (DECL_IS_RETURNS_TWICE): New macro.
29722169689Skan	(struct tree_decl): Add returns_twice_flag.
29723169689Skan
29724169689Skan2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
29725169689Skan
29726169689Skan	* tree-ssa-phiopt.c: Fix a comment typo.
29727169689Skan
29728169689Skan	* c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
29729169689Skan	loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
29730169689Skan	config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
29731169689Skan	copyright.
29732169689Skan
29733169689Skan2005-03-08  Richard Henderson  <rth@redhat.com>
29734169689Skan
29735169689Skan	* config/alpha/alpha.c (code_for_builtin): Replace special-case
29736169689Skan	builtin codes with ctzdi2, clzdi2, popcountdi2.
29737169689Skan	(struct alpha_builtin_def): Add is_const.
29738169689Skan	(zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
29739169689Skan	(alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
29740169689Skan	(alpha_init_builtins): Init them.  Set nothrow and const attributes
29741169689Skan	on builtins.
29742169689Skan	(alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
29743169689Skan	alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
29744169689Skan	alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
29745169689Skan	alpha_fold_vector_minmax, alpha_fold_builtin_perr,
29746169689Skan	alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
29747169689Skan	alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
29748169689Skan	alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
29749169689Skan	alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
29750169689Skan	(TARGET_FOLD_BUILTIN): New.
29751169689Skan	* config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
29752169689Skan	(UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
29753169689Skan	(ffsdi2): Use ctz.
29754169689Skan	(cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
29755169689Skan
29756169689Skan2005-03-08  Ira Rosen  <irar@il.ibm.com>
29757169689Skan
29758169689Skan	PR tree-optimization/20122
29759169689Skan	* tree-vect-analyze.c (vect_object_analysis): Analyze initial
29760169689Skan	condition of access function instead of base.
29761169689Skan
29762169689Skan2005-03-07  Jeff Law  <law@redhat.com>
29763169689Skan	    Steven Bosscher  <stevenb@suse.de>
29764169689Skan
29765169689Skan	* tree-cfg.c (find_taken_edge_computed_goto): New function.
29766169689Skan	(find_taken_edge): Call find_taken_edge_computed_goto as
29767169689Skan	appropriate.  Allow any gimple invariant rather than just
29768169689Skan	INTEGER_CST for VAL.
29769169689Skan	(cleanup_control_flow): Cleanup a computed goto which has turned
29770169689Skan	into a simple goto.
29771169689Skan	(tree_merge_blocks): If block B has any forced labels, move
29772169689Skan	them to the start of block A.
29773169689Skan	* tree-ssa-dom.c (thread_across_edge): Allow threading across
29774169689Skan	computed gotos as well.
29775169689Skan	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
29776169689Skan	removal of unnecessary computed gotos too.
29777169689Skan	(lookup_redirection_data): Fix type of INSERT argument.  Callers
29778169689Skan	updated.
29779169689Skan
29780169689Skan2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
29781169689Skan
29782169689Skan	* tree-ssa-phiopt.c: Update copyright.  Fix indentations.
29783169689Skan	Remove trailing spaces.
29784169689Skan
29785169689Skan	* gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
29786169689Skan	unshare_all_trees): Make them static.
29787169689Skan	* tree-gimple.h: Remove the corresponding prototypes.
29788169689Skan
29789169689Skan	* diagnostic.h: Remove unused prototype
29790169689Skan	debug_output_buffer.
29791169689Skan	* modulo-sched.c: Remove unused prototype
29792169689Skan	set_row_column_for_ps.
29793169689Skan
29794169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt,
29795169689Skan	replace_phi_edge_with_variable): Remove unused variable i.
29796169689Skan
29797169689Skan2005-03-07  Per Bothner  <per@bothner.com>
29798169689Skan
29799169689Skan	* tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
29800169689Skan
29801169689Skan2005-03-06  Andrew Pinski  <pinskia@physics.uc.edu>
29802169689Skan
29803169689Skan	PR tree-opt/17671
29804169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
29805169689Skan	bbs on the COND_EXPR instead of the PHI_NODEs.
29806169689Skan	(candidate_bb_for_phi_optimization): Remove.
29807169689Skan	(replace_phi_with_stmt): Rename to ...
29808169689Skan	(replace_phi_edge_with_variable): this and change so that we
29809169689Skan	replace the phi argument instead of removing the PHI.
29810169689Skan	(conditional_replacement): Change so we deal with PHI with more
29811169689Skan	than two arguments.
29812169689Skan	(value_replacement): Likewise.
29813169689Skan	(abs_replacement): Likewise.
29814169689Skan
29815169689Skan2005-03-07  Aldy Hernandez  <aldyh@redhat.com>
29816169689Skan
29817169689Skan	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
29818169689Skan	output_e500_flip_gt_bit.
29819169689Skan
29820169689Skan	* config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
29821169689Skan	as bit 31.
29822169689Skan	(rs6000_generate_compare): Fix logic to look at the correct bits.
29823169689Skan	(output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
29824169689Skan	Look at GT bit.
29825169689Skan	(rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
29826169689Skan	gen_e500_flip_gt_bit.  Rename gen_move_from_CR_eq_bit to
29827169689Skan	gen_move_from_CR_gt_bit.
29828169689Skan
29829169689Skan	* config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
29830169689Skan	("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
29831169689Skan	(UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
29832169689Skan
29833169689Skan	* config/rs6000/spe.md ("e500_cr_ior_compare"): New.
29834169689Skan	(E500_CR_IOR_COMPARE): New constant.
29835169689Skan
29836169689Skan2005-03-08  Earl Chew <earl_chew@agilent.com>
29837169689Skan	    David Billinghurst <David.Billinghurst@riotinto.com>
29838169689Skan
29839169689Skan	* config/i386/host-cygwin.c: New file to support precompiled
29840169689Skan	headers on cygwin
29841169689Skan	* config/i386/x-cygwin: Use host-cygwin.c on cygwin host
29842169689Skan	* config.host: Use above files for cygwin host.
29843169689Skan
29844169689Skan2005-03-07  David Edelsohn  <edelsohn@gnu.org>
29845169689Skan
29846169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
29847169689Skan	ordering ops from earlier change.
29848169689Skan
29849169689Skan2005-03-07  Per Bothner  <per@bothner.com>
29850169689Skan
29851169689Skan	Various fixes to allow us to again build if --enable-mapped-location:
29852169689Skan	* c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
29853169689Skan	unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
29854169689Skan	* tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
29855169689Skan	local variable loc. Change logic appropriately.
29856169689Skan	* tree-vect-transform.c (vect_finish_stmt_generation): Use
29857169689Skan	EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.
29858169689Skan	* c-parser.c (c_parser_for_statement): Initialize loc variable.
29859169689Skan	* tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
29860169689Skan	DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
29861169689Skan
29862169689Skan2005-03-07  Richard Sandiford  <rsandifo@redhat.com>
29863169689Skan
29864169689Skan	PR rtl-optimization/19683
29865169689Skan	* reload1.c (choose_reload_regs): Pass the number of bits, not the
29866169689Skan	number of bytes, to smallest_int_for_mode.  Fix arguments to
29867169689Skan	REG_CANNOT_CHANGE_MODE_P.
29868169689Skan
29869169689Skan2005-03-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
29870169689Skan
29871169689Skan	* reorg.c (relax_delay_slots): Check that the jump is
29872169689Skan	conditional before trying to invert it.
29873169689Skan
29874169689Skan2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
29875169689Skan
29876169689Skan	* bb-reorder.c (max_entry_frequency, max_entry_frequency):
29877169689Skan	Make them static.
29878169689Skan
29879169689Skan	* calls (stack_arg_under_construction): Make it static.
29880169689Skan
29881169689Skan	* flow.c (regs_live_at_setjmp): Make it static.
29882169689Skan	* flow.h: Remove the corresponding prototype.
29883169689Skan
29884169689Skan	* reload1.c (reload_startobj, reload_firstobj,
29885169689Skan	something_needs_operands_changed, reload_inherited,
29886169689Skan	reload_inheritance_insn, reload_override_in,
29887169689Skan	reload_spill_index): Make them static.
29888169689Skan
29889169689Skan	* recog.c (verify_changes): Make it static.
29890169689Skan	* recog.h: Remove the corresponding prototype.
29891169689Skan
29892169689Skan	* cfgbuild.c (find_sub_basic_blocks): Remove.
29893169689Skan	* basic-block.h: Remove the corresponding prototype.
29894169689Skan	* cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
29895169689Skan	in comments.
29896169689Skan	* doc/cfg.texi: Don't mention find_sub_basic_blocks.
29897169689Skan
29898169689Skan	* tree-ssa-operands.c (check_build_stmt): Remove.
29899169689Skan
29900169689Skan	* stor-layout.c (set_alignment): Remove.
29901169689Skan	* tree.h: Remove the corresponding prototype.
29902169689Skan
29903169689Skan	* tree-ssa-pre.c (has_abnormal_preds): Make it static.
29904169689Skan
29905169689Skan	* tree-ssa-dce.c (control_dependence_map,
29906169689Skan	visited_control_parents): Make them static.
29907169689Skan
29908169689Skan	* cfghooks.c (verify_flow_info): Remove local variable
29909169689Skan	num_bb_notes.
29910169689Skan
29911169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
29912169689Skan	last_bb_seen.
29913169689Skan
29914169689Skan	* loop-unswitch.c (unswitch_loop): Remove local variable src.
29915169689Skan
29916169689Skan2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
29917169689Skan
29918169689Skan	* config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
29919169689Skan
29920169689Skan2005-03-07  Joseph S. Myers  <joseph@codesourcery.com>
29921169689Skan
29922169689Skan	* config/ia64/hpux.h (LINK_SPEC): Add -z.
29923169689Skan	* config/ia64/ia64.c (ia64_function_value): Return a REG not a
29924169689Skan	PARALLEL for an empty structure.
29925169689Skan
29926169689Skan2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
29927169689Skan
29928169689Skan	* fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
29929169689Skan
29930169689Skan	* fold-const.c (fold_binary): Unroll the very first "for"
29931169689Skan	loop.
29932169689Skan
29933169689Skan2005-03-06  David Edelsohn  <edelsohn@gnu.org>
29934169689Skan
29935169689Skan	* config/rs6000/predicates.md (branch_comparison_operator): Remove
29936169689Skan	redundant match_code test.
29937169689Skan	(scc_comparison_operator): Swap match_operand and match_code
29938169689Skan	tests.
29939169689Skan	(branch_positive_comparison_operator): Same.
29940169689Skan	(trap_comparison_operator): Use comparison_operator and swap with
29941169689Skan	match_code test.
29942169689Skan
29943169689Skan2005-03-06  Marek Michalkiewicz  <marekm@amelek.gda.pl>
29944169689Skan
29945169689Skan	PR target/20288
29946169689Skan	* config/avr/avr.c (print_operand): Add 'p' and 'r'.
29947169689Skan	(out_movhi_r_mr): Read low byte of volatile MEM first.
29948169689Skan	(out_movhi_mr_r): Write high byte of volatile MEM first.
29949169689Skan
29950169689Skan2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
29951169689Skan
29952169689Skan	* cselib.c (reg_values, reg_values_size): Make them static.
29953169689Skan
29954169689Skan	* cse.c (cse_reg_info_table): Make it static.
29955169689Skan
29956169689Skan	* fold-const.c (fold_unary): Use build1 instead of copy_node.
29957169689Skan
29958169689Skan2005-03-06  Zdenek Dvorak  <dvorakz@suse.cz>
29959169689Skan
29960169689Skan	* cse.c (find_best_addr): Use canon_for_address.
29961169689Skan
29962169689Skan2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
29963169689Skan
29964169689Skan	* cse.c (fold_rtx_subreg, fold_rtx_mem): New.
29965169689Skan	(fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
29966169689Skan	SUBREG and MEM, respectively.
29967169689Skan
29968169689Skan	* fold-const.c (fold_binary): Use code instead of t.
29969169689Skan
29970169689Skan	* fold-const.c (optimize_minmax_comparison): Take decomposed
29971169689Skan	arguments code, type, op0, and op1 instead of t.
29972169689Skan	(fold_binary): Update a call to optimize_minmax_comparison.
29973169689Skan
29974169689Skan	* fold-const.c (fold_range_test): Take decomposed arguments
29975169689Skan	code, type, op0, and op1 instead of t.
29976169689Skan	(fold_binary): Update a call to fold_range_test.
29977169689Skan
29978169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg): Take
29979169689Skan	decomposed arguments code, type, op0, and op1 instead of t.
29980169689Skan	(fold_binary): Update a call to fold_range_test.
29981169689Skan
29982169689Skan2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
29983169689Skan
29984169689Skan	* fold-const.c (fold_binary): Avoid directly using the original
29985169689Skan	expression t as much as possible.
29986169689Skan
29987169689Skan2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
29988169689Skan
29989169689Skan	* c-semantics.c (build_stmt): Use TYPE_P instead of
29990169689Skan	IS_NON_TYPE_CODE_CLASS.
29991169689Skan	* tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
29992169689Skan	(NON_TYPE_CHECK): Use TYPE_P instead of
29993169689Skan	IS_NON_TYPE_CODE_CLASS.
29994169689Skan
29995169689Skan	* fold-const.c (fold): Remove handling of binary expressions.
29996169689Skan
29997169689Skan2005-03-05  James A. Morrison  <phython@gcc.gnu.org>
29998169689Skan
29999169689Skan	* doc/c-tree.texi: Wrap comments in @r{}.
30000169689Skan	* doc/cpp.texi: Likewise.
30001169689Skan	* doc/cppinternals.texi: Likewise.
30002169689Skan	* doc/extend.texi: Likewise.
30003169689Skan	* doc/md.texi: Likewise.
30004169689Skan	* doc/objc.texi: Likewise.
30005169689Skan	* doc/sourcebuild.texi: Likewise.
30006169689Skan	* doc/tm.texi: Likewise.
30007169689Skan	* doc/tree-ssa.texi
30008169689Skan
30009169689Skan2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
30010169689Skan
30011169689Skan	* predict.c (apply_return_prediction): Standardize PHI chain
30012169689Skan	walking.
30013169689Skan	* tree-ssa.c (ssa_redirect_edge): Likewise.
30014169689Skan
30015169689Skan	* genattrtab.c, genemit.c, genoutput.c, genrecog.c,
30016169689Skan	gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
30017169689Skan	Update copyright.
30018169689Skan
30019169689Skan	* tree-phinodes.c (remove_phi_node): Drop the last argument.
30020169689Skan	* tree-flow.h: Adjust the prototype for remove_phi_node.
30021169689Skan	* lambda-code.c (perfect_nestify): Adjust a call to
30022169689Skan	remove_phi_node.
30023169689Skan	* tree-cfg.c
30024169689Skan	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
30025169689Skan	* tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
30026169689Skan	Likewise.
30027169689Skan	* tree-ssa-dce.c (remove_dead_phis): Likewise.
30028169689Skan	* tree-ssa-loop-ivopts.c (remove_statement): Likewise.
30029169689Skan	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
30030169689Skan	* tree-ssa.c (kill_redundant_phi_nodes): Likewise.
30031169689Skan
30032169689Skan	* combine.c (simplify_and_const_int): Use gen_int_mode instead
30033169689Skan	of GEN_INT (trunc_int_for_mode (...)).
30034169689Skan	* loop-iv.c (iv_number_of_iterations): Likewise.
30035169689Skan	* postreload.c (reload_cse_move2add): Likewise.
30036169689Skan	* simplify-rtx.c (simplify_const_unary_operation,
30037169689Skan	simplify_const_binary_operation): Likewise.
30038169689Skan	* stor-layout.c (get_mode_bounds): Likewise.
30039169689Skan
30040169689Skan	* fold-const.c (fold_binary): New.
30041169689Skan	(fold): Call fold_binary on binary expressions.
30042169689Skan
30043169689Skan2005-03-05  Richard Sandiford  <rsandifo@redhat.com>
30044169689Skan
30045169689Skan	* doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
30046169689Skan	* config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
30047169689Skan	(TARGET_SWITCHES): Add -msym32 and -mno-sym32.
30048169689Skan	(ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
30049169689Skan	(ASM_SPEC): Pass down -msym32 and -mno-sym32.
30050169689Skan
30051169689Skan2005-03-04  Devang Patel  <dpatel@apple.com>
30052169689Skan
30053169689Skan	PR tree-optimization/18815
30054169689Skan	* tree-if-conv.c (combine_blocks): Adjust loop header edges for
30055169689Skan	loops with zero exit edges.
30056169689Skan
30057169689Skan2005-03-04  Devang Patel  <dpatel@apple.com>
30058169689Skan
30059169689Skan	* doc/invoke.texi: Remove reference to webpage that does not exist.
30060169689Skan
30061169689Skan2005-03-04  John David Anglin  <dave.danglin@nrc-cnrc.gc.ca>
30062169689Skan	    Joseph S. Myers  <joseph@codesourcery.com>
30063169689Skan
30064169689Skan	PR c++/19797
30065169689Skan	* pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
30066169689Skan	(ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
30067169689Skan	* pa-protos.h (pa_hpux_asm_output_external): Add prototype.
30068169689Skan	* pa.c (get_plabel): Change argument to symbol_ref.  Call
30069169689Skan	maybe_get_identifier instead of get_identifier.
30070169689Skan	(pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
30071169689Skan	(struct deferred_plabel): Replace name field with symbol field.
30072169689Skan	(TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
30073169689Skan	ASM_OUTPUT_EXTERNAL_REAL is defined.
30074169689Skan	(output_global_address): Use output_addr_const for output of all
30075169689Skan	symbol_refs.
30076169689Skan	(output_deferred_plabels): Use symbol_ref instead of name for address
30077169689Skan	output.
30078169689Skan	* pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
30079169689Skan	ASM_OUTPUT_SYMBOL_REF): New macros.
30080169689Skan	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw.  Update
30081169689Skan	comment.
30082169689Skan	(ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
30083169689Skan	label.
30084169689Skan
30085169689Skan2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
30086169689Skan
30087169689Skan	* config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
30088169689Skan	*-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
30089169689Skan
30090169689Skan2005-03-04  Jeff Law  <law@redhat.com>
30091169689Skan
30092169689Skan	* basic-block.h (rediscover_loops_after_threading): Declare.
30093169689Skan	* tree-ssa-dom.c: Include cfgloop.h.
30094169689Skan	(tree_ssa_dominator_optimize): Discover loops and some basic
30095169689Skan	properties.  Remove forwarder blocks recreated by loop header
30096169689Skan	canonicalization.  Also mark backedges in the CFG.
30097169689Skan	* tree-ssa-threadupdate.c: Include cfgloop.h
30098169689Skan	(rediscover_loops_after_threading): Define.
30099169689Skan	(struct local_info): New field, JUMP_THREADED.
30100169689Skan	(prune_undesirable_thread_requests): New function.
30101169689Skan	(redirect_edges): Clear EDGE_ABNORMAL.  If edges were threaded
30102169689Skan	then record that fact for the callers of redirct_edges.
30103169689Skan	(thread_block): If BB has incoming backedges, then call
30104169689Skan	prune_undesirable_thraed_requests.  Note when we are
30105169689Skan	going to have to rediscover loop information.  Return a
30106169689Skan	boolean indicating if any jumps were threaded.
30107169689Skan	(thread_through_all_blocks): Bubble up boolean indicating
30108169689Skan	if any jumps were threaded.
30109169689Skan	* Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
30110169689Skan	(tree-ssa-threadupdate.o): Similarly.
30111169689Skan
30112169689Skan2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
30113169689Skan
30114169689Skan	* fold-const.c (fold_ternary): Unroll the "for" loop to
30115169689Skan	extract operands.
30116169689Skan
30117169689Skan2005-03-04  Andrew Haley  <aph@redhat.com>
30118169689Skan
30119169689Skan	* unwind-dw2-fde-glibc.c (struct
30120169689Skan	unw_eh_callback_data.check_cache): New field.
30121169689Skan	(frame_hdr_cache): New.
30122169689Skan	(_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
30123169689Skan	Cache frame header info.
30124169689Skan
30125169689Skan2005-03-04  Richard Sandiford  <rsandifo@redhat.com>
30126169689Skan
30127169689Skan	* rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
30128169689Skan	(print_c_condition): Declare.
30129169689Skan	* read-rtl.c (ptr_loc): New structure.
30130169689Skan	(ptr_locs, ptr_loc_obstack, joined_conditions)
30131169689Skan	(joined_conditions_obstack): New variables.
30132169689Skan	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
30133169689Skan	(get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
30134169689Skan	(join_c_conditions, print_c_condition): New functions.
30135169689Skan	(apply_macro_to_string): Associate the new string with the same
30136169689Skan	source location as the old one.
30137169689Skan	(add_condition_to_string): Use join_c_conditions.
30138169689Skan	(read_string): Use set_rtx_ptr_loc to record a filename and line
30139169689Skan	number for the string.
30140169689Skan	(read_rtx): Initialize the new variables above.
30141169689Skan	* genattrtab.c (write_test_expr, write_attr_value): Use
30142169689Skan	print_c_condition.
30143169689Skan	* genconditions.c (write_header): Don't define MAYBE_EVAL.  Move its
30144169689Skan	comment above the GCC_VERSION check.
30145169689Skan	(write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
30146169689Skan	Inline the definition of MAYBE_EVAL.
30147169689Skan	* genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
30148169689Skan	* genoutput.c (process_template): Likewise.
30149169689Skan	* genpreds.c (write_predicate_subfunction): Likewise.
30150169689Skan	(write_predicate_expr): Use print_c_condition.
30151169689Skan	* genrecog.c (write_cond): Likewise.
30152169689Skan	* gensupport.c (process_rtx): Use join_c_conditions to join the
30153169689Skan	conditions of a define_insn_and_split.  Record a source location
30154169689Skan	for the string after the "&&".
30155169689Skan	(alter_test_for_insn): Use join_c_conditions.
30156169689Skan
30157169689Skan2005-03-04  Andrew Pinski  <pinskia@physics.uc.edu>
30158169689Skan
30159169689Skan	Revert for now:
30160169689Skan	2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
30161169689Skan	PR tree-optimization/15784
30162169689Skan	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
30163169689Skan	and -1 - A to ~A.
30164169689Skan
30165169689Skan2005-03-04  Ben Elliston  <bje@au.ibm.com>
30166169689Skan
30167169689Skan	* gcc.c (option_map): Add --coverage.
30168169689Skan	(LINK_COMMAND_SPEC): Pass -lgcov for `coverage'.
30169169689Skan	(cc1_options): Pass -fprofile-arcs -ftest-coverage for `coverage'.
30170169689Skan	* config/darwin.h: Pass -lgcov for `coverage'.
30171169689Skan	* doc/invoke.texi (Debugging Options): Document --coverage.
30172169689Skan
30173169689Skan2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
30174169689Skan
30175169689Skan	* gcse.c (bypass_block): Use find_edge wherever possible.
30176169689Skan
30177169689Skan2005-03-03  Daniel Berlin <dberlin@dbrelin.org>
30178169689Skan
30179169689Skan	Fix PR debug/20253
30180169689Skan
30181169689Skan	* c-opts.c (c_common_parse_file): Call start_source_file
30182169689Skan	and end_source_file at the approriate times.
30183169689Skan
30184169689Skan	* dwarf2out.c (dwarf2out_finish): Don't auto-end
30185169689Skan	the main file, it will be done for us now.
30186169689Skan
30187169689Skan2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
30188169689Skan
30189169689Skan	* fold-const.c (fold_ternary): New.
30190169689Skan	(fold): Call fold_ternary on ternary expressions.  Remove
30191169689Skan	handling of ternary expressions.
30192169689Skan
30193169689Skan2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
30194169689Skan
30195169689Skan	PR tree-optimization/15784
30196169689Skan	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
30197169689Skan	and -1 - A to ~A.
30198169689Skan
30199169689Skan2005-03-03  David Edelsohn  <edelsohn@gnu.org>
30200169689Skan
30201169689Skan	* config/rs6000/predicates.md (branch_comparison_operator):
30202169689Skan	Convert from C block to conditional format.
30203169689Skan
30204169689Skan2005-03-03  Jan Hubicka  <jh@suse.cz>
30205169689Skan
30206169689Skan	* tree-dfa.c (add_referenced_var): Don't walk initializer of external
30207169689Skan	and non-constant public variables.
30208169689Skan
30209169689Skan2005-03-03  Kazu Hirata  <kazu@cs.umass.edu>
30210169689Skan
30211169689Skan	* tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
30212169689Skan	with LABEL_EXPR.
30213169689Skan
30214169689Skan	* cfgexpand.c (construct_exit_block): Use EDGE_PRED instead of
30215169689Skan	EDGE_I.
30216169689Skan
30217169689Skan	* tree-phinodes.c (remove_phi_node): Clean up by factoring out
30218169689Skan	calls to release_ssa_name and release_phi_node.
30219169689Skan
30220169689Skan	* fold-const.c (fold): Remove handling of unary expressions.
30221169689Skan
30222169689Skan	* fold-const.c (fold_unary): Avoid directly using the original
30223169689Skan	expression t as much as possible.
30224169689Skan
30225169689Skan2005-03-03  Roger Sayle  <roger@eyesopen.com>
30226169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
30227169689Skan
30228169689Skan	* jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
30229169689Skan	RETURN rtx, and not a LABEL_REF containing a NULL pointer.
30230169689Skan
30231169689Skan2005-03-03  Hans-Peter Nilsson  <hp@axis.com>
30232169689Skan
30233169689Skan	Describe special registers SRP and MOF as allocatable registers.
30234169689Skan	* config/cris/cris.c (cris_md_asm_clobbers): New function.
30235169689Skan	(TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers.
30236169689Skan	(cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if
30237169689Skan	TARGET_HAS_MUL_INSNS.
30238169689Skan	(cris_print_operand) <case 'd'>: New case.
30239169689Skan	<case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM.
30240169689Skan	* config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't
30241169689Skan	define.
30242169689Skan	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS)
30243169689Skan	(REG_ALLOC_ORDER): Update for MOF.
30244169689Skan	(enum reg_class): New members MOF_REGS, GENERAL_REGS and
30245169689Skan	SPECIAL_REGS.
30246169689Skan	(GENERAL_REGS): No longer a define of ALL_REGS.
30247169689Skan	(REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES)
30248169689Skan	(PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
30249169689Skan	Adjust accordingly.
30250169689Skan	(CRIS_SPECIAL_REGS_CONTENTS): New macro.
30251169689Skan	(REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'.
30252169689Skan	(SECONDARY_RELOAD_CLASS): Define.
30253169689Skan	(STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM.
30254169689Skan	(FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM.
30255169689Skan	(ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM.
30256169689Skan	(STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM.
30257169689Skan	(REGISTER_MOVE_COST): Define.
30258169689Skan	(PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM.
30259169689Skan	* config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM)
30260169689Skan	(CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM)
30261169689Skan	(CRIS_MOF_REGNUM): New define_constants.
30262169689Skan	("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for
30263169689Skan	special registers.
30264169689Skan	("reload_inhi", "reload_outhi", "reload_inqi", "reload_outqi"):
30265169689Skan	New patterns.
30266169689Skan	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3")
30267169689Skan	("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"):
30268169689Skan	Adjust for MOF being properly described as a register.
30269169689Skan	(indir_to_reg_split): Name this split.  Conditionalize on the
30270169689Skan	destination register being a general register.
30271169689Skan	(movei): Conditionalize on on operands 0 and 1 having the same
30272169689Skan	register class.
30273169689Skan
30274169689Skan2005-03-03  Alan Modra  <amodra@bigpond.net.au>
30275169689Skan
30276169689Skan	PR target/20277
30277169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Don't allow
30278169689Skan	-mcpu to override any other explicitly given flags.
30279169689Skan
30280169689Skan2005-03-02  J"orn Rennecke <joern.rennecke@st.com>
30281169689Skan
30282169689Skan	* recog.c (verify_changes, confirm_change_group): New functions,
30283169689Skan	broken out of apply_change_group.
30284169689Skan	(apply_change_group): Use them.
30285169689Skan	* recog.h (verify_change, confirm_change_group): Declare.
30286169689Skan	* rtl.h (redirect_jump_2): Declare.
30287169689Skan	* jump.c (redirect_exp, invert_exp): Delete.
30288169689Skan	(invert_exp_1): Take second parameter.  Return value.  Changed caller.
30289169689Skan	(redirect_jump_2): New function, broken out of redirect_jump.
30290169689Skan	(redirect_jump): Use redirect_jump_1 and redirect_jump_2.
30291169689Skan	(invert_jump): Use invert_jump_1 and redirect_jump_2.
30292169689Skan	* ifcvt.c (dead_or_predicable): Use redirect_jump_2.
30293169689Skan
30294169689Skan2005-03-02  Geoffrey Keating  <geoffk@apple.com>
30295169689Skan
30296169689Skan	* varasm.c (named_section): Use xstrdup rather than doing it by
30297169689Skan	hand.
30298169689Skan
30299169689Skan	* config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
30300169689Skan
30301169689Skan2005-03-02  Devang Patel  <dpatel@apple.com>
30302169689Skan
30303169689Skan	Undo PR tree-optimization/18815 fix.
30304169689Skan
30305169689Skan2005-03-02  Devang Patel  <dpatel@apple.com>
30306169689Skan
30307169689Skan	PR tree-optimization/18815
30308169689Skan	* tree-if-conv.c (combine_blocks): Adjust loop header edges for
30309169689Skan	loops with zero exit edges.
30310169689Skan
30311169689Skan2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
30312169689Skan
30313169689Skan	* cfg.c (connect_src, connect_dest, disconnect_src,
30314169689Skan	disconnct_dest): New.
30315169689Skan	(unchecked_make_edge, remove_edge, redirect_edge_succ,
30316169689Skan	redirect_edge_pred): Use the new functions.
30317169689Skan
30318169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
30319169689Skan	free_dominance_info only when needed.
30320169689Skan
30321169689Skan2005-03-02  David Edelsohn  <edelsohn@gnu.org>
30322169689Skan
30323169689Skan	PR target/20276
30324169689Skan	* config/rs6000/predicates.md (reg_or_cint64_operand): Fix typo.
30325169689Skan	(reg_or_sub_cint64_operand): Same.
30326169689Skan
30327169689Skan2005-03-02  Jeff Law  <law@redhat.com>
30328169689Skan
30329169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Fix setting of
30330169689Skan	CFG_ALTERED in the main DOM iteration loop.
30331169689Skan
30332169689Skan2005-03-02  Mark Mitchell  <mark@codesourcery.com>
30333169689Skan
30334169689Skan	PR c++/19916
30335169689Skan	* varasm.c (initializer_constant_valid_p): Allow conversions
30336169689Skan	between OFFSET_TYPEs.  Tidy.
30337169689Skan
30338169689Skan2005-03-02  Hans-Peter Nilsson  <hp@axis.com>
30339169689Skan
30340169689Skan	* config/cris/cris.md ("return"): Remove epilogue delay list
30341169689Skan	sanity check.
30342169689Skan
30343169689Skan2005-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
30344169689Skan
30345169689Skan	* config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
30346169689Skan	for Thumb.
30347169689Skan	* config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
30348169689Skan
30349169689Skan2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
30350169689Skan
30351169689Skan	* cfgloop.h, cfgloopanal.c, cfgloopmanip.c, conflict.c,
30352169689Skan	loop-init.c, loop-unroll.c, print-tree.c, reg-notes.def,
30353169689Skan	config/m68k/m68k.c, config/mips/mips.h,
30354169689Skan	config/rs6000/rs6000-protos.h, doc/contrib.texi,
30355169689Skan	doc/include/gcc-common.texi: Update copyright.
30356169689Skan
30357169689Skan	PR middle-end/18029 and PR middle-end/18030
30358169689Skan	* expr.c (optimize_bitfield_assignment_op): Add a special case
30359169689Skan	to handle BIT_IOR_EXPR and BIT_XOR_EXPR.
30360169689Skan
30361169689Skan	* fold-const.c (fold_unary): New.
30362169689Skan	(fold): Call fold_unary on unary expressions.
30363169689Skan
30364169689Skan2005-03-02  Richard Guenther  <rguenth@gcc.gnu.org>
30365169689Skan
30366169689Skan	* cgraph.h (struct cgraph_edge): Add prev_caller and
30367169689Skan	prev_callee fields.
30368169689Skan	(cgraph_node_remove_callees): Export.
30369169689Skan	* cgraph.c (cgraph_create_edge): Initialize prev_caller
30370169689Skan	and prev_callee.
30371169689Skan	(cgraph_edge_remove_callee): New function.
30372169689Skan	(cgraph_edge_remove_caller): Likewise.
30373169689Skan	(cgraph_remove_edge): Use.
30374169689Skan	(cgraph_redirect_edge_callee): Likewise.
30375169689Skan	(cgraph_node_remove_callees): New function.
30376169689Skan	(cgraph_node_remove_callers): Likewise.
30377169689Skan	(cgraph_remove_node): Use.
30378169689Skan	* tree-optimize.c (tree_rest_of_compilation): Use
30379169689Skan	cgraph_node_remove_callees instead of manual loop.
30380169689Skan	* cgraphunit.c (cgraph_finalize_function): Likewise.
30381169689Skan	(cgraph_expand_function): Likewise.
30382169689Skan	(cgraph_remove_unreachable_nodes): Likewise.
30383169689Skan
30384169689Skan2005-03-02  Joseph S. Myers  <joseph@codesourcery.com>
30385169689Skan
30386169689Skan	PR c/8927
30387169689Skan	* c-tree.h (undeclared_variable, build_external_ref): Add extra
30388169689Skan	argument.
30389169689Skan	* c-decl.c (undeclared_variable): Take location as argument.
30390169689Skan	* c-typeck.c (build_external_ref): Likewise.
30391169689Skan	* c-parser.c (c_parser_postfix_expression): Pass location of
30392169689Skan	identifier to build_external_ref.
30393169689Skan
30394169689Skan2005-03-01  David Edelsohn  <edelsohn@gnu.org>
30395169689Skan
30396169689Skan	* config/rs6000/rs6000.md (cceq splitter): Use operand mode, not
30397169689Skan	CCEQ mode for branch_positive_comparison_operator test.
30398169689Skan	* config/rs6000/predicates (branch_comparison_operator): Revert to
30399169689Skan	define_predicate.
30400169689Skan	(scc_comparison_operator): Same.
30401169689Skan	(branch_positive_comparison_operator): Same.
30402169689Skan
30403169689Skan2005-03-01  Hans-Peter Nilsson  <hp@axis.com>
30404169689Skan
30405169689Skan	* config/cris/cris.c (cris_eligible_for_epilogue_delay)
30406169689Skan	(cris_delay_slots_for_epilogue): Remove.
30407169689Skan	(save_last): Move into cris_target_asm_function_epilogue.
30408169689Skan	(cris_target_asm_function_epilogue): Remove tests for file being
30409169689Skan	NULL.
30410169689Skan	* config/cris/cris-protos.h (cris_eligible_for_epilogue_delay)
30411169689Skan	(cris_delay_slots_for_epilogue): Remove prototypes.
30412169689Skan	* config/cris/cris.h (DELAY_SLOTS_FOR_EPILOGUE)
30413169689Skan	(ELIGIBLE_FOR_EPILOGUE_DELAY): Do not define.
30414169689Skan
30415169689Skan2005-03-01  David Edelsohn  <edelsohn@gnu.org>
30416169689Skan
30417169689Skan	* config/rs6000/predicates.md (branch_comparison_operator): Change
30418169689Skan	to define_special_predicate.
30419169689Skan	(scc_comparison_operator): Same.
30420169689Skan	(branch_positive_comparison_operator): Same.
30421169689Skan
30422169689Skan2005-03-01  Daniel Berlin <dberlin@dberlin.org>
30423169689Skan
30424169689Skan	* Makefile.in (tree-ssa-sink.o): New.
30425169689Skan	(OBJS-common): Add tree-ssa-sink.o.
30426169689Skan	* common.opt: Add -ftree-sink
30427169689Skan	* opts.c (decode_options): flag_tree_sink is set at O1 or higher.
30428169689Skan	* timevar.def (TV_TREE_SINK): new timevar.
30429169689Skan	* tree-flow.h (is_hidden_global_store): Prototype.
30430169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
30431169689Skan	pass_sink_code.
30432169689Skan	* tree-pass.h (pass_sink_code): New.
30433169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
30434169689Skan	for non-obvious global store store to is_hidden_global_store, and
30435169689Skan	call that new function.
30436169689Skan	* tree-ssa-sink.c: New file.
30437169689Skan	* doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
30438169689Skan	* doc/passes.texi: Document forward store motion.
30439169689Skan	* testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
30440169689Skan	* testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
30441169689Skan	* testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
30442169689Skan	* testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test
30443169689Skan
30444169689Skan2005-03-01  Per Bothner  <per@bothner.com>
30445169689Skan
30446169689Skan	* diagnostic.c (diagnostic_build_prefix): If USE_MAPPED_LOCATION
30447169689Skan	and we have a non-zero column-number, add it to the message.
30448169689Skan	Also factor out the diagnostic_kind_text.
30449169689Skan
30450169689Skan2005-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
30451169689Skan
30452169689Skan	* cfgloop.c (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
30453169689Skan	flow_loop_pre_header_scan, flow_loop_pre_header_find,
30454169689Skan	flow_loop_scan): Removed.
30455169689Skan	(flow_loop_dump): Do not dump removed fields.
30456169689Skan	(flow_loop_free): Do not free removed fields.
30457169689Skan	(flow_loops_find): Flags argument removed.  Do not call flow_loop_scan.
30458169689Skan	(loop_exit_edge_p): New function.
30459169689Skan	* cfgloop.h (struct loop): Removed fields pre_header, pre_header_edges,
30460169689Skan	num_pre_header_edges, entry_edges, num_entries, exit_edges,
30461169689Skan	num_exits, exits_doms.
30462169689Skan	(LOOP_TREE, LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
30463169689Skan	LOOP_EDGES, LOOP_ALL): Removed.
30464169689Skan	(flow_loop_scan): Declaration removed.
30465169689Skan	(loop_exit_edge_p, mark_loop_exit_edges): Declare.
30466169689Skan	* cfgloopmanip.c (create_loop_notes): Do not pass flags to
30467169689Skan	flow_loops_find.
30468169689Skan	* ifcvt.c (mark_loop_exit_edges): Moved to cfgloopanal.c.
30469169689Skan	(if_convert): Call flow_loops_find and flow_loops_free
30470169689Skan	when calling mark_loop_exit_edges.
30471169689Skan	* cfgloopanal.c (mark_loop_exit_edges): Moved from
30472169689Skan	ifcvt.c.  Removed the flow_loops_find, flow_loops_free and
30473169689Skan	free_dominance_info calls.
30474169689Skan	* loop-init.c (flow_loops_find): Ditto.
30475169689Skan	* passes.c (rest_of_handle_branch_prob): Ditto.
30476169689Skan	* lambda-code.c (perfect_nestify): Do not call flow_loops_find.
30477169689Skan	* loop-unroll.c (analyze_insns_in_loop): Do not use
30478169689Skan	EDGE_LOOP_EXIT.
30479169689Skan	* predict.c (predict_loops): Do not call flow_loop_scan.
30480169689Skan	Use get_loop_exit_edges.
30481169689Skan	(tree_estimate_probability): Do not pass flags to flow_loops_find.
30482169689Skan	* tree-if-conv.c (bb_with_exit_edge_p): Take loop as argument.
30483169689Skan	Do not use EDGE_LOOP_EXIT.
30484169689Skan	(tree_if_convert_cond_expr, if_convertible_modify_expr_p): Pass loop
30485169689Skan	to bb_with_exit_edge_p.
30486169689Skan	(if_convertible_loop_p): Do not call flow_loop_scan.  Use
30487169689Skan	loop->single_exit.  Do not use EDGE_LOOP_EXIT.  Pass loop
30488169689Skan	to bb_with_exit_edge_p.
30489169689Skan	(combine_blocks): Pass loop to bb_with_exit_edge_p.  Do not use
30490169689Skan	EDGE_LOOP_EXIT.
30491169689Skan	* tree-loop-linear.c (linear_transform_loops): Do not call
30492169689Skan	flow_loop_scan.  Use loop->single_exit.
30493169689Skan	* tree-vect-analyze.c (vect_analyze_operations): Use loop->single_exit.
30494169689Skan	(vect_analyze_loop_form): Do not call flow_loop_scan.
30495169689Skan	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Use
30496169689Skan	loop->single_exit.
30497169689Skan	(vect_do_peeling_for_loop_bound): Use loop_preheader_edge and
30498169689Skan	loop->single_exit.
30499169689Skan	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
30500169689Skan	slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
30501169689Skan	slpeel_tree_duplicate_loop_to_edge_cfg,
30502169689Skan	slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
30503169689Skan	Use loop_preheader_edge and loop->single_exit.  Do not call
30504169689Skan	flow_loop_scan.
30505169689Skan
30506169689Skan2005-03-01  Nick Clifton  <nickc@redhat.com>
30507169689Skan
30508169689Skan	* config/arm/arm.c (thumb_find_work_register): Check all of the
30509169689Skan	argument registers to see if they are free, and a couple of
30510169689Skan	special cases where the last argument register but can be proved
30511169689Skan	to be available during the function's prologue.
30512169689Skan	(print_multi_reg, arm_compute_save_reg0_reg12_mask,
30513169689Skan	output_return_instruction, emit_multi_reg_push, thumb_pushpop,
30514169689Skan	thumb_unexpanded_epilogue): Use unsigned long as the type for the
30515169689Skan	register bit-mask.
30516169689Skan	(thumb_compute_save_reg_mask): Likewise.  Also use
30517169689Skan	thumb_find_work_register() to ensure that there is agreement about
30518169689Skan	which work register is going to be used in the prologue.
30519169689Skan	(thumb_output_function_prologue): Use unsigned long as the type
30520169689Skan	for the register bit-mask.  Also delay pushing the link register if
30521169689Skan	other high registers are going to be pushed.
30522169689Skan	(thumb_compute_save_reg_mask, emit_multi_reg_push,
30523169689Skan	print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
30524169689Skan	redundant prototypes.
30525169689Skan
30526169689Skan2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
30527169689Skan
30528169689Skan	PR target/19819
30529169689Skan	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
30530169689Skan	and after reload in REG+REG indexed addresses without REG_POINTER
30531169689Skan	set in the base and not set in the index.
30532169689Skan
30533169689Skan2005-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
30534169689Skan
30535169689Skan	* config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
30536169689Skan	Don't undefine here.
30537169689Skan	(HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
30538169689Skan	(NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
30539169689Skan	(TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
30540169689Skan	(LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
30541169689Skan	LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
30542169689Skan	Delete.
30543169689Skan	* config.gcc (sh*-*-linux*): Use config/linux.h.
30544169689Skan
30545169689Skan2005-02-28  Dale Johannesen  <dalej@apple.com>
30546169689Skan	    Stan Shebs  <shebs@apple.com>
30547169689Skan
30548169689Skan	Rewrite of 64-bit Darwin structure-by-value pass/return.
30549169689Skan	* config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
30550169689Skan	intoffset, use_stack, named.
30551169689Skan	* config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove.
30552169689Skan	(rs6000_darwin64_record_arg_advance_flush): New.
30553169689Skan	(rs6000_darwin64_record_arg_advance_recurse): New.
30554169689Skan	(rs6000_darwin64_record_arg_flush): New.
30555169689Skan	(rs6000_darwin64_record_arg_recurse): New.
30556169689Skan	(rs6000_darwin64_record_arg): New.
30557169689Skan	(rs6000_return_in_memory): Remove AGGREGATE_TYPE_P check.
30558169689Skan	(function_arg_boundary): Handle 128-bit aligned structs.
30559169689Skan	(function_arg_advance): Rewrite darwin64 struct handling.
30560169689Skan	(function_arg): Call rs6000_darwin64_record_arg.
30561169689Skan	(function_arg_partial_nregs): Handle darwin64 structs.
30562169689Skan	(rs6000_darwin64_function_value): Remove.
30563169689Skan	(rs6000_function_value): Call rs6000_darwin64_record_arg.
30564169689Skan
30565169689Skan2005-02-28  Roger Sayle  <roger@eyesopen.com>
30566169689Skan
30567169689Skan	PR tree-optimization/20216
30568169689Skan	* tree-chrec.c (tree_fold_factorial): Delete.
30569169689Skan	(tree_fold_binomial): Change argument list to take a return type
30570169689Skan	and change the type of K to unsigned int.  Rewrite to avoid explicit
30571169689Skan	evaluation of factorials, and (recursively) calling fold to perform
30572169689Skan	compile-time arithmetic.  Return NULL on (internal) overflow.
30573169689Skan	(chrec_evaluate): Change type of K to an unsigned int.  Avoid
30574169689Skan	calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
30575169689Skan	if any intermediate calculation overflows.
30576169689Skan	(chrec_apply): Update call to chrec_evaluate.
30577169689Skan
30578169689Skan2005-02-28  James E Wilson  <wilson@specifixinc.com>
30579169689Skan
30580169689Skan	* config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
30581169689Skan
30582169689Skan2005-02-28  Joseph S. Myers  <joseph@codesourcery.com>
30583169689Skan
30584169689Skan	PR c/20245
30585169689Skan	* c-parser.c (c_parser_compound_statement): Return error_mark_node
30586169689Skan	instead of NULL_TREE on error.
30587169689Skan
30588169689Skan2005-02-28  David Edelsohn  <edelsohn@gnu.org>
30589169689Skan
30590169689Skan	* config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
30591169689Skan	(EASY_VECTOR_15_ADD_SELF): Remove.
30592169689Skan	(num_insns_constant_wide): Not static.
30593169689Skan	(validate_condition_mode): Not static.
30594169689Skan	(toc_relative_expr_p): Not static.
30595169689Skan	(legitimate_indirect_address_p): Not static.
30596169689Skan	(macho_lo_sum_memory_operand): Not static.
30597169689Skan	(invalid_e500_subreg): Not static.
30598169689Skan	(easy_vector_same): Not static.
30599169689Skan	(easy_vector_splat_const): Not static.
30600169689Skan	(RS6000_SYMBOL_REF_TLS_P): Remove.
30601169689Skan	(any_operand): Delete.
30602169689Skan	(any_parallel_operand): Delete.
30603169689Skan	(count_register_operand): Delete.
30604169689Skan	(altivec_register_operand): Delete.
30605169689Skan	(xer_operand): Delete.
30606169689Skan	(s8bit_cint_operand): Delete.
30607169689Skan	(short_cint_operand): Delete.
30608169689Skan	(u_short_cint_operand): Delete.
30609169689Skan	(non_short_cint_operand): Delete.
30610169689Skan	(exact_log2_cint_operand): Delete.
30611169689Skan	(gpc_reg_operand): Delete.
30612169689Skan	(cc_reg_operand): Delete.
30613169689Skan	(cc_reg_not_cr0_operand): Delete.
30614169689Skan	(reg_or_short_operand): Delete.
30615169689Skan	(reg_or_neg_short_operand): Delete.
30616169689Skan	(reg_or_aligned_short_operand): Delete.
30617169689Skan	(reg_or_u_short_operand): Delete.
30618169689Skan	(reg_or_cint_operand): Delete.
30619169689Skan	(reg_or_arith_cint_operand): Delete.
30620169689Skan	(reg_or_add_cint64_operand): Delete.
30621169689Skan	(reg_or_sub_cint64_operand): Delete.
30622169689Skan	(reg_or_logical_cint_operand): Delete.
30623169689Skan	(got_operand): Delete.
30624169689Skan	(got_no_const_operand): Delete.
30625169689Skan	(easy_fp_constant): Delete.
30626169689Skan	(easy_vector_constant): Delete.
30627169689Skan	(easy_vector_constant_add_self): Delete.
30628169689Skan	(zero_constant): Delete.
30629169689Skan	(zero_fp_constant): Delete.
30630169689Skan	(volatile_mem_operand): Delete.
30631169689Skan	(offsettable_mem_operand): Delete.
30632169689Skan	(mem_or_easy_const_operand): Delete.
30633169689Skan	(add_operand): Delete.
30634169689Skan	(non_add_cint_operand): Delete.
30635169689Skan	(logical_operand): Delete.
30636169689Skan	(non_logical_cint_operand): Delete.
30637169689Skan	(mask_operand): Delete.
30638169689Skan	(mask_operand_wrap): Delete.
30639169689Skan	(mask64_operand): Delete.
30640169689Skan	(mask64_2_operand): Delete.
30641169689Skan	(and64_operand): Delete.
30642169689Skan	(and64_2_operand): Delete.
30643169689Skan	(and_operand): Delete.
30644169689Skan	(reg_or_mem_operand): Delete.
30645169689Skan	(lwa_operand): Delete.
30646169689Skan	(symbol_ref_operand): Delete.
30647169689Skan	(call_operand): Delete.
30648169689Skan	(current_file_function_operand): Delete.
30649169689Skan	(input_operand): Delete.
30650169689Skan	(rs6000_nonimmediate_operand): Delete.
30651169689Skan	(rs6000_tls_symbol_ref): Delete.
30652169689Skan	(save_world_operation): Delete.
30653169689Skan	(restore_world_operation): Delete.
30654169689Skan	(load_multiple_operation): Delete.
30655169689Skan	(store_multiple_operation): Delete.
30656169689Skan	(vrsave_operation): Delete.
30657169689Skan	(mfcr_operation): Delete.
30658169689Skan	(mtcrf_operation): Delete.
30659169689Skan	(lmw_operation): Delete.
30660169689Skan	(stmw_operation): Delete.
30661169689Skan	(branch_comparison_operator): Delete.
30662169689Skan	(branch_positive_comparison_operator): Delete.
30663169689Skan	(scc_comparison_operator): Delete.
30664169689Skan	(trap_comparison_operator): Delete.
30665169689Skan	(boolean_operator): Delete.
30666169689Skan	(boolean_or_operator): Delete.
30667169689Skan	(min_max_operator): Delete.
30668169689Skan	* config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
30669169689Skan	(EASY_VECTOR_15): Moved to here.
30670169689Skan	(EASY_VECTOR_15_ADD_SELF): Move to here.
30671169689Skan	(PREDICATE_CODES): Delete.
30672169689Skan	* config/rs6000/rs6000-protos.h: Delete predicate functions.
30673169689Skan	Declare functions no longer static.
30674169689Skan	* config/rs6000/predicates.md: New.
30675169689Skan	* config/rs6000/rs6000.md: Include predicates.md
30676169689Skan
30677169689Skan2005-02-28  Kazu Hirata  <kazu@cs.umass.edu>
30678169689Skan
30679169689Skan	* calls.c (emit_call_1): Don't use  REG_ALWAYS_RETURN.
30680169689Skan	(emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
30681169689Skan	REG_ALWAYS_RETURN.
30682169689Skan	* cfgrtl.c (need_fake_edge_p): Likewise.
30683169689Skan	* combine.c (distribute_notes): Likewise.
30684169689Skan	* emit-rtl.c (try_split): Likewise.
30685169689Skan	* recog.c (peephole2_opimize): Likewise.
30686169689Skan	* reg-notes.def (ALWAYS_RETURN): Remove.
30687169689Skan	* rtl.h (LCT_ALWAYS_RETURN): Remove.
30688169689Skan	* tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
30689169689Skan	* tree.h (ECF_ALWAYS_RETURN): Remove.
30690169689Skan
30691169689Skan2005-02-28  Roger Sayle  <roger@eyesopen.com>
30692169689Skan
30693169689Skan	PR middle-end/19874
30694169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
30695169689Skan	between different machine modes is never a "useless" conversion.
30696169689Skan
30697169689Skan2005-02-28  Geert Bosch  <bosch@gnat.com>
30698169689Skan
30699169689Skan	PR ada/15977
30700169689Skan	* doc/contrib.texi: List contributors for Ada front end
30701169689Skan
30702169689Skan2005-02-28 Paolo Bonzini <bonzini@gnu.org>
30703169689Skan
30704169689Skan	* simplify-rtx.c (simplify_unary_operation_1,
30705169689Skan	simplify_const_unary_operation): New, extracted from...
30706169689Skan	(simplify_unary_operation): ... this one.
30707169689Skan	(simplify_binary_operation_1,
30708169689Skan	simplify_const_binary_operation): New, extracted from...
30709169689Skan	(simplify_binary_operation): ... this one.
30710169689Skan	* rtl.h (simplify_const_unary_operation,
30711169689Skan	simplify_const_binary_operation): Add prototypes.
30712169689Skan
30713169689Skan2005-02-28  Julian Brown  <julian@codesourcery.com>
30714169689Skan
30715169689Skan	* config/elfos.h: Revert my patch from 2005-02-25 since it broke
30716169689Skan	building libjava and caused PR regression/20228.
30717169689Skan
30718169689Skan2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
30719169689Skan
30720169689Skan	PR bootstrap/17383
30721169689Skan	* Makefile.in (host_subdir): New.
30722169689Skan	(build_objdir): New.  Replace ../$(build_subdir) with it throughout.
30723169689Skan	* configure: Regenerate.
30724169689Skan
30725169689Skan2005-02-27  Zack Weinberg  <zack@codesourcery.com>
30726169689Skan
30727169689Skan	* config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
30728169689Skan	* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
30729169689Skan	installation directory first.
30730169689Skan
30731169689Skan2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
30732169689Skan
30733169689Skan	PR target/19065.
30734169689Skan	* config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
30735169689Skan	not including (reg). Do not check for reg being CRIS_PC_REGNUM.
30736169689Skan	(EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
30737169689Skan	* config/cris/cris.md: Tweak comments referring to Q.
30738169689Skan	("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
30739169689Skan	("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
30740169689Skan	("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
30741169689Skan	("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
30742169689Skan	("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
30743169689Skan	Insert spaces in constraints to align alternatives vertically for
30744169689Skan	readability.
30745169689Skan	("cmphi"): Ditto.  Add separate alternative for operand 0 "r",
30746169689Skan	operand 1: "M".
30747169689Skan
30748169689Skan2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
30749169689Skan
30750169689Skan	PR rtl-optimization/17728
30751169689Skan	* pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
30752169689Skan	operand 0 from general_operand to move_dest_operand.
30753169689Skan
30754169689Skan2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
30755169689Skan
30756169689Skan	* pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
30757169689Skan	instead of trying to save and restore TREE_SYMBOL_REFERENCED.
30758169689Skan	* pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
30759169689Skan	(ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
30760169689Skan
30761169689Skan2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
30762169689Skan
30763169689Skan	* configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
30764169689Skan	* configure: Regenerate.
30765169689Skan	* libada-mk.in: Remove CC; rename
30766169689Skan	cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
30767169689Skan
30768169689Skan2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
30769169689Skan
30770169689Skan	PR tree-opt/20188
30771169689Skan	* tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
30772169689Skan	for the lhs, also walk over the tree.  Likewise for rhs.
30773169689Skan
30774169689Skan2005-02-26  Zdenek Dvorak  <dvorakz@suse.cz>
30775169689Skan
30776169689Skan	* tree-ssa-dom.c (simple_iv_increment_p): New function.
30777169689Skan	(simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
30778169689Skan	Do not propagate value of iv before increment over the increment.
30779169689Skan
30780169689Skan2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
30781169689Skan
30782169689Skan	* c-parser.c: New file.
30783169689Skan	* c-parse.in: Remove.
30784169689Skan	* Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
30785169689Skan	Remove.
30786169689Skan	(c-parser.o): Add dependencies.
30787169689Skan	(C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
30788169689Skan	maintainer-clean, TAGS): Update.
30789169689Skan	* c-config-lang.in (gtfiles): Update.
30790169689Skan	* gengtype-lex.l: Don't handle "@@".
30791169689Skan	* stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
30792169689Skan	objc_build_synchronized, objc_begin_try_stmt,
30793169689Skan	objc_begin_catch_clause, objc_finish_catch_clause,
30794169689Skan	objc_build_finally_clause, objc_finish_try_stmt): New.
30795169689Skan	* c-tree.h (struct c_declspecs): Add declspecs_seen_p and
30796169689Skan	type_seen_p.
30797169689Skan	(c_parse_init): Update comment.
30798169689Skan	* c-decl.c (c_init_decl_processing): Update comment.
30799169689Skan	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
30800169689Skan	declspecs_add_scspec, declspecs_add_attrs): Initialize and update
30801169689Skan	new c_declspecs members.
30802169689Skan
30803169689Skan2005-02-25  Julian Brown  <julian@codesourcery.com>
30804169689Skan
30805169689Skan	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
30806169689Skan	from being used for symbols with vague linkage when
30807169689Skan	HAVE_GAS_COMDAT_GROUP is true.
30808169689Skan
30809169689Skan2005-02-25  Mark Mitchell  <mark@codesourcery.com>
30810169689Skan
30811169689Skan	* doc/include/gcc-common.texi (version-GCC): Update to 4.1.
30812169689Skan
30813169689Skan2005-02-25  Steve Ellcey  <sje@cup.hp.com>
30814169689Skan
30815169689Skan	PR target/19930
30816169689Skan	* doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
30817169689Skan	(LIBGCC2_HAS_DF_MODE): New.
30818169689Skan	(LIBGCC2_HAS_XF_MODE): New.
30819169689Skan	(LIBGCC2_HAS_TF_MODE): New.
30820169689Skan	* libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
30821169689Skan	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
30822169689Skan	* libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
30823169689Skan	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
30824169689Skan	(LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
30825169689Skan	* config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
30826169689Skan	and add _fixtfdi, _fixunstfdi, _floatditf
30827169689Skan	* lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
30828169689Skan	L_fixunstfdi, L_floatditf.
30829169689Skan	* config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
30830169689Skan	(LIBGCC2_HAS_TF_MODE): Define.
30831169689Skan
30832169689Skan2005-02-25  Diego Novillo  <dnovillo@redhat.com>
30833169689Skan
30834169689Skan	PR tree-optimization/20204
30835169689Skan	* tree-into-ssa.c (insert_phi_nodes_for): Do not use
30836169689Skan	REWRITE_THIS_STMT markers on PHI nodes.
30837169689Skan	(rewrite_initialize_block): Likewise.
30838169689Skan
30839169689Skan2005-02-25  Mark Mitchell  <mark@codesourcery.com>
30840169689Skan
30841169689Skan	* version.c (version_string): Update to 4.1.
30842169689Skan
30843169689Skan2005-02-25  Paolo Carlini  <pcarlini@suse.de>
30844169689Skan
30845169689Skan	* doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
30846169689Skan	Clarify that the alternative way doesn't work in GNU C++.
30847169689Skan
30848169689Skan2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
30849169689Skan
30850169689Skan	PR tree-optimization/19937
30851169689Skan	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
30852169689Skan	to the type of the induction variable.
30853169689Skan
30854169689Skan2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
30855169689Skan
30856169689Skan	PR rtl-optimization/20117
30857169689Skan	* bb-reorder.c (duplicate_computed_gotos): Don't duplicate
30858169689Skan	the block including noncopyable insn.
30859169689Skan
30860169689Skan2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
30861169689Skan
30862169689Skan	* cse.c (delete_trivially_dead_insns): Speed up by minimizing
30863169689Skan	calls to find_reg_note.
30864169689Skan
30865169689Skan2005-02-24  Richard Henderson  <rth@redhat.com>
30866169689Skan
30867169689Skan	PR tree-opt/20127
30868169689Skan	* tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
30869169689Skan	the type.
30870169689Skan
30871169689Skan2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
30872169689Skan
30873169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
30874169689Skan	vector types if to use base reg for misaligned non-word ld/std.
30875169689Skan
30876169689Skan2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
30877169689Skan
30878169689Skan	PR target/14619
30879169689Skan	* config/cris/cris.c (cris_target_asm_function_prologue): Create
30880169689Skan	dwarf2 label manually and put it after, not before the prologue.
30881169689Skan
30882169689Skan2005-02-24  David Edelsohn  <edelsohn@gnu.org>
30883169689Skan
30884169689Skan	PR target/19019
30885169689Skan	* reload.c (operands_match_p): Only increment register number for
30886169689Skan	SCALAR_INT_MODE_P modes in multiple hard registers.
30887169689Skan
30888169689Skan	* config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
30889169689Skan	Fix formatting.
30890169689Skan
30891169689Skan2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
30892169689Skan
30893169689Skan	* ChangeLog.5: Fix log message typo(s).
30894169689Skan	* ChangeLog.7: Likewise.
30895169689Skan	* ChangeLog.tree-ssa: Likewise.
30896169689Skan	* cfgexpand.c: Fix comment typo(s).
30897169689Skan	* conflict.c: Likewise.
30898169689Skan	* defaults.h: Likewise.
30899169689Skan	* dwarf2out.c: Likewise.
30900169689Skan	* gcse.c: Likewise.
30901169689Skan	* ggc-page.c: Likewise.
30902169689Skan	* tree-eh.c: Likewise.
30903169689Skan	* tree-ssa-dom.c: Likewise.
30904169689Skan
30905169689Skan2005-02-24  Jakub Jelinek  <jakub@redhat.com>
30906169689Skan
30907169689Skan	PR target/19019
30908169689Skan	* mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
30909169689Skan	* config/rs6000/darwin-ldouble.c: Only use the .symver directives
30910169689Skan	if SHARED is defined.
30911169689Skan
30912169689Skan	PR target/20196
30913169689Skan	* config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
30914169689Skan	allow splitting only if operands 0 and 3 don't overlap.
30915169689Skan
30916169689Skan2005-02-24  Richard Henderson  <rth@redhat.com>
30917169689Skan
30918169689Skan	PR middle-end/19953
30919169689Skan	* builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
30920169689Skan	(fold_builtin_1): Call them.
30921169689Skan	* fold-const.c (fold_complex_mult_parts): Split out from ...
30922169689Skan	(fold_complex_mult): ... here.  Fix typo in both imaginary case.
30923169689Skan	(fold_complex_div_parts, fold_complex_div): New.
30924169689Skan	(fold): Use them.
30925169689Skan	* tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
30926169689Skan
30927169689Skan2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
30928169689Skan
30929169689Skan	* tree-ssa-ccp.c (visit_assignment): Verify that result of
30930169689Skan	VIEW_CONVERT_EXPR is_gimple_min_invariant.
30931169689Skan
30932169689Skan	* print-tree.c (print_node_brief): Print LABEL_DECL_UID.
30933169689Skan	(print_node): Likewise.
30934169689Skan	Print TYPE_SIZES_GIMPLIFIED.
30935169689Skan
30936169689Skan2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
30937169689Skan
30938169689Skan	* config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
30939169689Skan	("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
30940169689Skan	operands as commutative in constraints.
30941169689Skan
30942169689Skan2005-02-24  Diego Novillo  <dnovillo@redhat.com>
30943169689Skan
30944169689Skan	* tree-into-ssa.c: Re-organize internal functions.
30945169689Skan
30946169689Skan2005-02-24  Richard Henderson  <rth@redhat.com>
30947169689Skan
30948169689Skan	PR middle-end/18902
30949169689Skan	* c-opts.c (c_common_post_options): Set flag_complex_method to 2
30950169689Skan	for c99.
30951169689Skan	* common.opt (fcx-limited-range): New.
30952169689Skan	* opts.c (set_fast_math_flags): Set flag_cx_limited_range.
30953169689Skan	* toplev.c (flag_complex_method): Initialize to 1.
30954169689Skan	(process_options): Set flag_complex_method to 0 if
30955169689Skan	flag_cx_limited_range.
30956169689Skan	* doc/invoke.texi (-fcx-limited-range): New.
30957169689Skan
30958169689Skan2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
30959169689Skan
30960169689Skan	* cse.c (delete_trivially_dead_insns): Speed up by using
30961169689Skan	NEXT_INSN and PREV_INSN directly instead of next_real_insn and
30962169689Skan	prev_real_insn.
30963169689Skan
30964169689Skan2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
30965169689Skan
30966169689Skan	* config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
30967169689Skan	functions when -mid-shared-library is being used.
30968169689Skan
30969169689Skan2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
30970169689Skan
30971169689Skan	* doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
30972169689Skan	(LINK_LIBGCC_SPECIAL_1): Don't mention it.
30973169689Skan	* gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
30974169689Skan	* system.h: Poison LINK_LIBGCC_SPECIAL.
30975169689Skan
30976169689Skan2005-02-23  James E Wilson  <wilson@specifixinc.com>
30977169689Skan
30978169689Skan	* gengtype.c (note_insn_name): Make 1 element larger.
30979169689Skan
30980169689Skan2005-02-23  Roger Sayle  <roger@eyesopen.com>
30981169689Skan
30982169689Skan	PR target/20018
30983169689Skan	PR rtl-optimization/20097
30984169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
30985169689Skan	BImode SUBREGs of SImode registers which confuse the ia64 backend.
30986169689Skan
30987169689Skan2005-02-23  David Edelsohn  <edelsohn@gnu.org>
30988169689Skan
30989169689Skan	* t-aix43 (SHLIB_INSTALL): Create directory for shared library.
30990169689Skan	* t-aix52 (SHLIB_INSTALL): Same.
30991169689Skan
30992169689Skan2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
30993169689Skan
30994169689Skan	* genpreds.c: Update copyright.
30995169689Skan
30996169689Skan2005-02-23  Michael Beach  <michaelb@ieee.org>
30997169689Skan
30998169689Skan	PR target/20159
30999169689Skan	* config/sparc/t-elf (startup files): Assemble with CPP.
31000169689Skan
31001169689Skan2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
31002169689Skan
31003169689Skan	* genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
31004169689Skan	(write_predicate_expr): Likewise.
31005169689Skan
31006169689Skan2005-02-22  Diego Novillo  <dnovillo@redhat.com>
31007169689Skan
31008169689Skan	PR tree-optimization/20100
31009169689Skan	PR tree-optimization/20115
31010169689Skan	* tree-optimize.c (init_tree_optimization_passes): Remove
31011169689Skan	pass_maybe_create_global_var.
31012169689Skan	* tree-pass.h (pass_maybe_create_global_var): Remove.
31013169689Skan	* tree-ssa-alias.c (aliases_computed_p): Declare.
31014169689Skan	(struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
31015169689Skan	(count_calls_and_maybe_create_global_var): Remove.
31016169689Skan	(pass_maybe_create_global_var): Remove.
31017169689Skan	(init_alias_info): Do not declare aliases_computed_p.
31018169689Skan	(maybe_create_global_var): If the function contains no
31019169689Skan	call-clobbered variables and a mix of pure/const and regular
31020169689Skan	function calls, create .GLOBAL_VAR.
31021169689Skan	Mark all call-clobbered variables for renaming.
31022169689Skan	(merge_pointed_to_info): Update comment.
31023169689Skan	(add_pointed_to_var): Likewise.
31024169689Skan	(is_escape_site): Likewise.
31025169689Skan	Accept struct alias_info * instead of size_t *.
31026169689Skan	Update all users.
31027169689Skan	Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
31028169689Skan	as necessary.
31029169689Skan	* tree-ssa-operands.c (get_call_expr_operands): If
31030169689Skan	ALIASES_COMPUTED_P is false, do not add call-clobbering
31031169689Skan	operands.
31032169689Skan	* tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
31033169689Skan	(delete_tree_ssa): Likewise.
31034169689Skan
31035169689Skan2005-02-22  James E Wilson  <wilson@specifixinc.com>
31036169689Skan
31037169689Skan	* toplev.c (backend_init): Don't call init_adjust_machine_modes here.
31038169689Skan	(do_compile): Do call it here.
31039169689Skan
31040169689Skan2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
31041169689Skan
31042169689Skan	PR rtl-optimization/20017.
31043169689Skan	* passes.c (rest_of_handle_combine, rest_of_handle_cse,
31044169689Skan	rest_of_handle_cse2, rest_of_handle_gcse): Call
31045169689Skan	delete_dead_jumptables immediately before calling cleanup_cfg.
31046169689Skan
31047169689Skan2005-02-22  Devang Patel  <dpatel@apple.com>
31048169689Skan
31049169689Skan	PR 19952
31050169689Skan	* tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
31051169689Skan	all labels
31052169689Skan
31053169689Skan2005-02-22  David Edelsohn  <edelsohn@gnu.org>
31054169689Skan
31055169689Skan	* config/rs6000/aix.h (WINT_TYPE): Define.
31056169689Skan
31057169689Skan2005-02-22  Stan Shebs  <shebs@apple.com>
31058169689Skan
31059169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Default to
31060169689Skan	natural alignment for 64-bit Darwin.
31061169689Skan	(rs6000_parse_alignment_option): Warn about uses of -malign-power
31062169689Skan	on 64-bit Darwin.
31063169689Skan	* doc/invoke.texi: Document this.
31064169689Skan
31065169689Skan2005-02-22  DJ Delorie  <dj@redhat.com>
31066169689Skan
31067169689Skan	* c-common.c (c_common_type_for_mode): Pass the mode's precision
31068169689Skan	to make_[un]signed_type, not the mode itself.
31069169689Skan
31070169689Skan2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
31071169689Skan
31072169689Skan	* cfg.c (cached_make_edge): Call make_edge if edge cache is
31073169689Skan	not available.  Use tail calls wherever possible.
31074169689Skan	(make_edge): Call unchecked_make_edge to create an edge.
31075169689Skan
31076169689Skan	* tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
31077169689Skan	(coalesce_ssa_name): Don't check for
31078169689Skan	SSANORM_USE_COALESCE_LIST.
31079169689Skan	(rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
31080169689Skan
31081169689Skan2005-02-22  Diego Novillo  <dnovillo@redhat.com>
31082169689Skan
31083169689Skan	* tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
31084169689Skan	(rewrite_into_ssa): ... here.
31085169689Skan
31086169689Skan2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
31087169689Skan
31088169689Skan	PR tree-optimization/19786
31089169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
31090169689Skan	tag to another's may-alias bitmap when adding to the other's list.
31091169689Skan
31092169689Skan2005-02-21  DJ Delorie  <dj@redhat.com>
31093169689Skan
31094169689Skan	* tree-ssa-loop-ivopts.c (computation_cost): Start register
31095169689Skan	numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
31096169689Skan	registers in unsupported ways.
31097169689Skan	* expmed.c (init_expmed): Likewise.
31098169689Skan
31099169689Skan2005-02-21  Stan Cox  <scox@redhat.com>
31100169689Skan
31101169689Skan	* config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
31102169689Skan
31103169689Skan2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
31104169689Skan
31105169689Skan	* tree-cfg.c (fold_cond_expr_cond): New.
31106169689Skan	(make_edges): Call fold_cond_expr_cond.
31107169689Skan	(find_taken_edge): Accept nothing but INTEGER_CST.
31108169689Skan	(find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
31109169689Skan	and 1.
31110169689Skan	(find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
31111169689Skan
31112169689Skan	* flow.c (delete_dead_jumptables): Speed up by scanning insns
31113169689Skan	that do not belong to any basic block.
31114169689Skan
31115169689Skan2005-02-21  Jeff Law  <law@redhat.com>
31116169689Skan
31117169689Skan	* cfganal.c (find_unreachable_blocks): Manually CSE load of
31118169689Skan	e->dest.
31119169689Skan
31120169689Skan2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
31121169689Skan
31122169689Skan	* tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
31123169689Skan	(SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
31124169689Skan	Adjust their definitions.
31125169689Skan	(remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
31126169689Skan	(rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
31127169689Skan
31128169689Skan	* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
31129169689Skan	genautomata.c, langhooks.c, langhooks.h, system.h,
31130169689Skan	config/arm/lib1funcs.asm: Update copyright.
31131169689Skan
31132169689Skan2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
31133169689Skan
31134169689Skan	* dbxout.c (dbxout_function_end): Emit Lscope label always.
31135169689Skan
31136169689Skan2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
31137169689Skan
31138169689Skan	PR bootstrap/13770
31139169689Skan	* doc/install.texi: Document --with-gc.
31140169689Skan
31141169689Skan2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
31142169689Skan
31143169689Skan	* simplify-rtx.c (simplify_unary_operation): Add a missing
31144169689Skan	"break" statement.
31145169689Skan
31146169689Skan2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
31147169689Skan
31148169689Skan	PR tree-optimization/18663
31149169689Skan	* tree-ssa-dom.c (extract_range_from_cond): Return 0
31150169689Skan	if the type has variable bounds.
31151169689Skan
31152169689Skan2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
31153169689Skan
31154169689Skan	* gcse.c: Remove an obsolete comment.
31155169689Skan
31156169689Skan	* cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
31157169689Skan
31158169689Skan2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
31159169689Skan
31160169689Skan	* doc/extend.texi (Function Attributes) <Attribute const>: The
31161169689Skan	attribute "pure" is below this text, not above.
31162169689Skan
31163169689Skan2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
31164169689Skan
31165169689Skan	* pa.c (pa_assemble_integer, get_plabel): Small cleanups.
31166169689Skan	(pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
31167169689Skan	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
31168169689Skan
31169169689Skan2005-02-20  Zack Weinberg  <zack@codesourcery.com>
31170169689Skan
31171169689Skan	PR 18785
31172169689Skan	* langhooks.h (struct lang_hooks): Add to_target_charset.
31173169689Skan	* langhooks.c (lhd_to_target_charset): New function.
31174169689Skan	* langhooks-def.h: Declare lhd_to_target_charset.
31175169689Skan	(LANG_HOOKS_TO_TARGET_CHARSET): New macro.
31176169689Skan	(LANG_HOOKS_INITIALIZER): Update.
31177169689Skan	* c-common.c (c_common_to_target_charset): New function.
31178169689Skan	* c-common.h: Declare it.
31179169689Skan	* c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
31180169689Skan	c_common_to_target_charset.
31181169689Skan
31182169689Skan	* defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
31183169689Skan	(TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
31184169689Skan	Delete definitions.
31185169689Skan	* system.h: Poison them.
31186169689Skan	* doc/tm.texi: Don't discuss them.
31187169689Skan	* builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
31188169689Skan	* c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
31189169689Skan	(pp_c_char): Do not attempt to generate letter escapes for
31190169689Skan	newline, tab, etc.
31191169689Skan	* config/arm/arm.c (output_ascii_pseudo_op): Likewise.
31192169689Skan	* config/mips/mips.c (mips_output_ascii): Likewise.
31193169689Skan
31194169689Skan2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
31195169689Skan
31196169689Skan	PR tree-optimization/19951
31197169689Skan	* tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
31198169689Skan	is abnormal.
31199169689Skan
31200169689Skan2005-02-19  Steven Bosscher  <stevenb@suse.de>
31201169689Skan
31202169689Skan	PR middle-end/19698
31203169689Skan	* function.h (struct function): New field `max_loop_depth'.
31204169689Skan	* cfgloop.c (establish_preds): Update maximum loop depth seen so far.
31205169689Skan	(flow_loops_find): Reset the max loop depth count before finding loops.
31206169689Skan	* flow.c (MAX_LIVENESS_ROUNDS): New constant.
31207169689Skan	(update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
31208169689Skan	(calculate_global_regs_live): Make sure the loop will terminate
31209169689Skan	when the initial sets are not empty.
31210169689Skan
31211169689Skan2005-02-19  Zack Weinberg  <zack@codesourcery.com>
31212169689Skan
31213169689Skan	* mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
31214169689Skan	object inside.
31215169689Skan	* config/ia64/hpux.h: Don't define LIBGCC_SPEC.
31216169689Skan
31217169689Skan2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
31218169689Skan
31219169689Skan	PR other/19525
31220169689Skan	* doc/invoke.texi: Remove documentation of %M spec.
31221169689Skan	* gcc.c: Likewise.
31222169689Skan	(init_spec): Remove %M suffix from -lgcc_s.
31223169689Skan	(do_spec_1): Remove 'M' case.
31224169689Skan	* mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
31225169689Skan	to put shared libraries in the multilib directory.  Remove the
31226169689Skan	shlib_so_soname substitution variable.  Don't add a multilib encoding
31227169689Skan	to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
31228169689Skan	reported by -print-multi-os-directory.  Pass @multilib_dir@ to
31229169689Skan	SHLIB_INSTALL as well as SHLIB_LINK.
31230169689Skan	* config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
31231169689Skan	(SHLIB_NAME): Delete.
31232169689Skan	(SHLIB_DIR): New macro.
31233169689Skan	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
31234169689Skan	(SHLIB_INSTALL): Adjust accordingly.
31235169689Skan	* config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
31236169689Skan	* config/t-slibgcc-sld: Likewise.
31237169689Skan	* config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
31238169689Skan	(SHLIBUNWIND_SONAME): Use @shlib_base_name@.
31239169689Skan	(SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
31240169689Skan	in $(SHLIB_DIR).
31241169689Skan	(SHLIBUNWIND_INSTALL): Adjust accordingly.
31242169689Skan	* config/i386/t-nwld (SHLIB_SONAME): Delete.
31243169689Skan	(SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
31244169689Skan	Use @shlib_base_name@ instead of @shlib_so_name@.
31245169689Skan	* config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
31246169689Skan	and @shlib_base_name@.so in @multilib_dir@.
31247169689Skan	(SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
31248169689Skan	to the install path.
31249169689Skan	* config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
31250169689Skan	(SHLIB_LINK): Remove previous workaround.
31251169689Skan	* config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
31252169689Skan	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
31253169689Skan	(SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
31254169689Skan	the install path.
31255169689Skan	* config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
31256169689Skan	@multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
31257169689Skan	(SHLIB_INSTALL): Adjust accordingly.
31258169689Skan	(SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
31259169689Skan	* config/rs6000/t-aix52: As for config/rs6000/t-aix43.
31260169689Skan	* config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
31261169689Skan	config/t-slibgcc-elf-ver.
31262169689Skan
31263169689Skan2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
31264169689Skan	    Jakub Jelinek  <jakub@redhat.com>
31265169689Skan
31266169689Skan	PR tree-optimization/19828
31267169689Skan	* tree-ssa-loop-im.c: Add a TODO comment.
31268169689Skan	(movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
31269169689Skan	without side-effects.
31270169689Skan
31271169689Skan2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
31272169689Skan
31273169689Skan	* tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
31274169689Skan	call fold_convert.
31275169689Skan
31276169689Skan2005-02-18  James E. Wilson  <wilson@specifixinc.com>
31277169689Skan
31278169689Skan	* doc/invoke.texi (IA-64 Options): Delete -mb-step.
31279169689Skan	* config/ia64/ia64.c (last_group, group_idx): Delete variables.
31280169689Skan	(errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
31281169689Skan	functions.
31282169689Skan	(ia64_reorg): Delete fixup_errata call.
31283169689Skan	* config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
31284169689Skan	(TARGET_SWITCHES): Delete -mb-step entry.
31285169689Skan
31286169689Skan2005-02-19  Jakub Jelinek  <jakub@redhat.com>
31287169689Skan
31288169689Skan	PR c/20043
31289169689Skan	* c-typeck.c (composite_type): Handle quals in transparent unions.
31290169689Skan	(type_lists_compatible_p): Likewise.
31291169689Skan
31292169689Skan2005-02-18  Stan Shebs  <shebs@apple.com>
31293169689Skan
31294169689Skan	* config/darwin.c (machopic_select_rtx_section): Don't put relocatable
31295169689Skan	expressions in the .literal8 section.
31296169689Skan
31297169689Skan2005-02-18  Geoffrey Keating  <geoffk@apple.com>
31298169689Skan
31299169689Skan	* config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
31300169689Skan
31301169689Skan2005-02-18  Roger Sayle  <roger@eyesopen.com>
31302169689Skan
31303169689Skan	* fold-const.c (constant_boolean_node): Always create values of the
31304169689Skan	specified type, don't bother calling truthvalue_conversion.
31305169689Skan
31306169689Skan2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
31307169689Skan
31308169689Skan	* except.c (output_function_exception_table): Call
31309169689Skan	assemble_external_libcall (eh_personality_libfunc).
31310169689Skan
31311169689Skan2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
31312169689Skan
31313169689Skan	PR target/19886
31314169689Skan	* config/ia64/ia64.h (struct machine_function): Add state_num.
31315169689Skan	* config/ia64/ia64.c (process_epilogue,
31316169689Skan	process_for_unwind_directive): Use new unwind state numbers each
31317169689Skan	time rather than state 1.
31318169689Skan
31319169689Skan2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
31320169689Skan
31321169689Skan	PR target/20054
31322169689Skan	* config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
31323169689Skan	before the "*llgt_didi" pattern.
31324169689Skan
31325169689Skan2005-02-18  Jason Merrill  <jason@redhat.com>
31326169689Skan
31327169689Skan	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
31328169689Skan
31329169689Skan2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
31330169689Skan
31331169689Skan	* arm/lib1funcs.asm (FUNC_ALIAS): New macro.
31332169689Skan	(div0): Use it in place of ARM_FUNC_ALIAS.
31333169689Skan	(lshrdi3, ashrdi3, ashlrdi3): Likewise.
31334169689Skan
31335169689Skan2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
31336169689Skan
31337169689Skan	PR middle-end/20030
31338169689Skan	* fold-const.c (fold_indirect_ref_1): Use the correct index for zero
31339169689Skan	access, the lower bound of the array type if it exists.
31340169689Skan
31341169689Skan2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
31342169689Skan
31343169689Skan	PR c++/20008
31344169689Skan	* stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
31345169689Skan	cases that are out-of-range for the index type.
31346169689Skan
31347169689Skan2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
31348169689Skan
31349169689Skan	* stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
31350169689Skan	(estimate_case_costs): Don't call convert.
31351169689Skan	* expmed.c (expand_shift): Likewise.
31352169689Skan	(make_tree): Call fold_convert instead of convert.
31353169689Skan
31354169689Skan2005-02-18  Jakub Jelinek  <jakub@redhat.com>
31355169689Skan
31356169689Skan	PR c++/19813
31357169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
31358169689Skan	that ref to be marked MEM_READONLY_P doesn't have base that needs
31359169689Skan	constructing.
31360169689Skan
31361169689Skan2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
31362169689Skan
31363169689Skan	* genautomata.c (output_get_cpu_unit_code_func,
31364169689Skan	output_cpu_unit_reservation_p): Don't generate old-style function
31365169689Skan	definitions.
31366169689Skan
31367169689Skan2005-02-18  Jakub Jelinek  <jakub@redhat.com>
31368169689Skan
31369169689Skan	PR c++/20023
31370169689Skan	PR tree-optimization/20009
31371169689Skan	* convert.c (convert_to_integer): Revert 2005-02-16 change.
31372169689Skan
31373169689Skan	PR tree-optimization/18947
31374169689Skan	* cgraphunit.c (cgraph_finalize_function): When redefining an extern
31375169689Skan	inline, remove all nodes that are inlined into the extern inline
31376169689Skan	being redefined.
31377169689Skan
31378169689Skan2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
31379169689Skan
31380169689Skan	* bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
31381169689Skan	loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
31382169689Skan	tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
31383169689Skan	config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
31384169689Skan	Update copyright.
31385169689Skan
31386169689Skan2005-02-17  Roger Sayle  <roger@eyesopen.com>
31387169689Skan
31388169689Skan	PR tree-optimization/19917
31389169689Skan	* tree-eh.c (tree_could_trap_p): Consider calls to weak functions
31390169689Skan	to be potentially trapping.
31391169689Skan
31392169689Skan2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
31393169689Skan
31394169689Skan	* libgcc2.c, tree-vect-analyze.c: Fix comment typos.
31395169689Skan
31396169689Skan2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
31397169689Skan
31398169689Skan	* builtins.c (expand_builtin_return_addr): Remove tem parameter.
31399169689Skan	tem becomes a local variable which is set to the value of the
31400169689Skan	back end defined INITIAL_FRAME_ADDRESS macro.
31401169689Skan	(expand_builtin_frame_address): Omit the base parameter to
31402169689Skan	expand_builtin_return_addr.
31403169689Skan	(expand_builtin_profile_func): Likewise.
31404169689Skan	* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
31405169689Skan	(DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
31406169689Skan	* doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
31407169689Skan
31408169689Skan2005-02-17  Jakub Jelinek  <jakub@redhat.com>
31409169689Skan
31410169689Skan	* config/s390/s390.c (s390_alloc_pool, s390_free_pool,
31411169689Skan	s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
31412169689Skan	* config/frv/frv.c (frv_function_epilogue): Likewise.
31413169689Skan
31414169689Skan2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
31415169689Skan
31416169689Skan	* lambda-code (perfect_nestify): Remove mark/unmark
31417169689Skan	for rewriting hack.
31418169689Skan	* tree-loop-linear.c (linear_transform_loops): Add
31419169689Skan	rewrite_into_ssa call so that ssa is correct for
31420169689Skan	rewriting into loop closed.
31421169689Skan
31422169689Skan2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
31423169689Skan
31424169689Skan	* bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
31425169689Skan	* bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
31426169689Skan	BITMAP_FREE.
31427169689Skan	* bt-load.c (btr_def_live_range, combine_btr_defs,
31428169689Skan	migrate_btr_def, migrate_btr_defs): Likewise.
31429169689Skan	* cfgcleanup.c (thread_jump): Likewise.
31430169689Skan	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
31431169689Skan	* df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
31432169689Skan	df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
31433169689Skan	df_rd_local_compute, df_reg_info_compute): Likewise.
31434169689Skan	* dominance.c (init_dom_info, free_dom_info): Likewise.
31435169689Skan	* flow.c (init_propagate_block_info,
31436169689Skan	free_propagate_block_info): Likewise.
31437169689Skan	* gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
31438169689Skan	* global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
31439169689Skan	modify_reg_pav): Likewise.
31440169689Skan	* loop-invariant.c (find_defs, find_invariant_insn,
31441169689Skan	find_invariants, free_inv_motion_data): Likewise.
31442169689Skan	* predict.c (tree_predict_by_opcode,
31443169689Skan	estimate_bb_frequencies): Likewise.
31444169689Skan	* stmt.c (expand_case): Likewise.
31445169689Skan	* tree-cfg.c (tree_duplicate_sese_region): Likewise.
31446169689Skan	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
31447169689Skan	* tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
31448169689Skan	* tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
31449169689Skan	get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
31450169689Skan	rewrite_ssa_into_ssa): Likewise.
31451169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
31452169689Skan	* tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
31453169689Skan	analyze_edges_for_bb, perform_edge_inserts): Likewise.
31454169689Skan	* tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
31455169689Skan	* tree-sra.c (tree_sra): Likewise.
31456169689Skan	* tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
31457169689Skan	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
31458169689Skan	* tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
31459169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
31460169689Skan	* tree-ssa-dse.c (tree_ssa_dse): Likewise.
31461169689Skan	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
31462169689Skan	Likewise.
31463169689Skan	* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
31464169689Skan	calculate_live_on_entry, calculate_live_on_exit,
31465169689Skan	build_tree_conflict_graph): Likewise.
31466169689Skan	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
31467169689Skan	record_important_candidates, set_use_iv_cost, find_depends,
31468169689Skan	determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
31469169689Skan	tree_ssa_iv_optimize_finalize): Likewise.
31470169689Skan	* tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
31471169689Skan	find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
31472169689Skan	tree_duplicate_loop_to_header_edge): Likewise.
31473169689Skan	* tree-ssa-pre.c (init_pre, fini_pre): Likewise.
31474169689Skan	* tree-ssa.c (verify_flow_insensitive_alias_info,
31475169689Skan	verify_name_tags, verify_ssa, init_tree_ssa,
31476169689Skan	delete_tree_ssa): Likewise.
31477169689Skan	* tree-ssanames.c (marked_ssa_names, init_ssanames,
31478169689Skan	fini_ssanames): Likewise.
31479169689Skan	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
31480169689Skan
31481169689Skan2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
31482169689Skan
31483169689Skan	* config/rs6000/t-rtems: Completely reworked.
31484169689Skan
31485169689Skan2005-02-17  Ira Rosen  <irar@il.ibm.com>
31486169689Skan
31487169689Skan	* tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
31488169689Skan
31489169689Skan2005-02-17  Ira Rosen  <irar@il.ibm.com>
31490169689Skan
31491169689Skan	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
31492169689Skan	POINTER_TYPE_P when checking that type is a pointer.
31493169689Skan	(vect_get_memtag): Remove.
31494169689Skan	(vect_address_analysis): Use POINTER_TYPE_P. Call
31495169689Skan	vect_object_analysis with dummy parameter for memtag.
31496169689Skan	(vect_object_analysis): Extract memtag (functionality that
31497169689Skan	used to be in vect_get_memtag and moved here). Fix printings.
31498169689Skan	(vect_analyze_data_refs): Fix comment. Call vect_object_analysis
31499169689Skan	with correct parameters. Remove call to vect_get_memtag.
31500169689Skan
31501169689Skan2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
31502169689Skan
31503169689Skan	* Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
31504169689Skan	(tree-vectorizer.o): Added missing dependencies.
31505169689Skan
31506169689Skan	* tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
31507169689Skan	decleration.
31508169689Skan	(slpeel_tree_peel_loop_to_edge): Function externalized (had a static
31509169689Skan	declaration in tree-vectorizer.c, now has an extern declaration in
31510169689Skan	tree-vectorizer.h).
31511169689Skan	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
31512169689Skan	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
31513169689Skan	get_vectype_for_scalar_type, vect_is_simple_use,
31514169689Skan	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
31515169689Skan	vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
31516169689Skan	new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
31517169689Skan	vectorizable_store, vectorizable_operation, vectorizable_assignment,
31518169689Skan	vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
31519169689Skan	find_loop_location): Likewise.
31520169689Skan
31521169689Skan	* tree-vectorizer.c (langhooks.h): #include removed.
31522169689Skan	(slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
31523169689Skan	moved to tree-vectorized.h.
31524169689Skan	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
31525169689Skan	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
31526169689Skan	get_vectype_for_scalar_type, vect_is_simple_use,
31527169689Skan	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
31528169689Skan	vect_supportable_dr_alignment, new_loop_vec_info,
31529169689Skan	destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
31530169689Skan	vect_set_verbosity_level, find_loop_location): Likewise.
31531169689Skan
31532169689Skan	(vect_analyze_loop): Function externalized. Declaration moved to
31533169689Skan	tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
31534169689Skan	(vect_analyze_loop_form): Moved to tree-vect-analyze.c.
31535169689Skan	(vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
31536169689Skan	vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
31537169689Skan	vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
31538169689Skan	vect_enhance_data_refs_alignment, vect_analyze_operations,
31539169689Skan	exist_non_indexing_operands_for_use_p, vect_mark_relevant,
31540169689Skan	vect_stmt_relevant_p, vect_get_loop_niters,
31541169689Skan	vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
31542169689Skan	vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
31543169689Skan	vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
31544169689Skan	vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
31545169689Skan	vect_get_memtag): Likewise.
31546169689Skan
31547169689Skan	(vectorizable_load): Function externalized. Declaration moved to
31548169689Skan	tree-vectorized.h. Function definition moved to tree-vect-transform.c.
31549169689Skan	(vectorizable_store, vectorizable_operation, vectorizable_assignment,
31550169689Skan	vect_transform_loop): Likewise.
31551169689Skan	(vect_transform_stmt): Moved to tree-vect-transform.c.
31552169689Skan	(vect_align_data_ref, vect_create_destination_var,
31553169689Skan	vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
31554169689Skan	vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
31555169689Skan	vect_get_vec_def_for_operand, vect_init_vector,
31556169689Skan	vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
31557169689Skan	vect_build_loop_niters, vect_update_ivs_after_vectorizer,
31558169689Skan	vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
31559169689Skan	vect_update_inits_of_drs, vect_do_peeling_for_alignment,
31560169689Skan	vect_do_peeling_for_loop_bound): Likewise.
31561169689Skan
31562169689Skan	* tree-vect-analyze.c: New file.
31563169689Skan	* tree-vect-transform.c: New file.
31564169689Skan
31565169689Skan2005-02-17  Jason Merrill  <jason@redhat.com>
31566169689Skan
31567169689Skan	PR mudflap/19319, c++/19317
31568169689Skan	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
31569169689Skan	slot explicit.
31570169689Skan
31571169689Skan2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
31572169689Skan
31573169689Skan	* doc/install.texi (Specific): Update link for Darwin-specific
31574169689Skan	tool binary site.
31575169689Skan
31576169689Skan2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
31577169689Skan
31578169689Skan	* fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
31579169689Skan	constant_boolean_node.
31580169689Skan
31581169689Skan2005-02-16  David Edelsohn  <edelsohn@gnu.org>
31582169689Skan
31583169689Skan	PR target/19019
31584169689Skan	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
31585169689Skan	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
31586169689Skan
31587169689Skan2005-02-16  Richard Henderson  <rth@redhat.com>
31588169689Skan
31589169689Skan	PR 19920
31590169689Skan	* libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
31591169689Skan	with W_TYPE_SIZE.
31592169689Skan	(HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
31593169689Skan	replace uses with Wtype_MAXp1_F.
31594169689Skan	(L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
31595169689Skan	L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
31596169689Skan	L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
31597169689Skan	L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
31598169689Skan	and HAVE_TFMODE as appropriate.
31599169689Skan	(__fixunssfDI): Provide an implementation that doesn't need DFmode.
31600169689Skan	(__floatdisf): Likewise.
31601169689Skan	* libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
31602169689Skan	(HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
31603169689Skan	(Wtype_MAXp1_F): New.
31604169689Skan	(DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
31605169689Skan	__powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
31606169689Skan
31607169689Skan2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
31608169689Skan
31609169689Skan	* PR target/19162
31610169689Skan	* arm.c (arm_apply_result_size): New function.
31611169689Skan	* arm.h (APPLY_RESULT_SIZE): Define.
31612169689Skan	* arm-protos.h (arm_apply_result_size): Add prototype.
31613169689Skan	* arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
31614169689Skan	(movxf): New expand.
31615169689Skan	(ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
31616169689Skan	(call_value_symbol): Remove predicate for operand 0.
31617169689Skan	(call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
31618169689Skan	(untyped_call): Rework to correclty return values for any type.
31619169689Skan	(untyped_return): New expand.
31620169689Skan	* fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
31621169689Skan
31622169689Skan2005-02-16  Stan Shebs  <shebs@apple.com>
31623169689Skan
31624169689Skan	* config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
31625169689Skan	* config/rs6000/t-darwin8: New, for 64-bit multilib.
31626169689Skan
31627169689Skan2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
31628169689Skan
31629169689Skan	* doc/install.texi (sparc-sun-solaris2*): Document required GMP
31630169689Skan	configure settings on Solaris 7 and later.
31631169689Skan
31632169689Skan2005-02-16  Diego Novillo  <dnovillo@redhat.com>
31633169689Skan
31634169689Skan	PR tree-optimization/19865
31635169689Skan	* tree-optimize.c (init_tree_optimization_passes): Run
31636169689Skan	pass_may_alias after pass_sra.
31637169689Skan
31638169689Skan2005-02-16  Richard Henderson  <rth@redhat.com>
31639169689Skan	    Stuart Hastings  <stuart@apple.com>
31640169689Skan
31641169689Skan	PR debug/19521
31642169689Skan	* dbxout.c (dbxout_function_end): Take decl parameter; update callers.
31643169689Skan	Do nothing if debug info suppressed for this function.
31644169689Skan	(dbxout_begin_function): Early exit if debug info suppressed for
31645169689Skan	this function.
31646169689Skan
31647169689Skan2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
31648169689Skan
31649169689Skan	PR target/20007
31650169689Skan	* config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
31651169689Skan	find_basic_blocks.
31652169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
31653169689Skan
31654169689Skan	PR tree-optimization/19967
31655169689Skan	* builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
31656169689Skan	expand_builtin_strchr, expand_builtin_strrchr): Take a new
31657169689Skan	argument TYPE.  Adjust calls to fold_builtin_XXX.
31658169689Skan	(expand_builtin, fold_builtin_1): Adjust calls to
31659169689Skan	expand_builtin_XXX.
31660169689Skan	(fold_builtin_strchr, fold_builtin_strpbrk,
31661169689Skan	fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
31662169689Skan	result to a requested type TYPE.
31663169689Skan
31664169689Skan2005-02-16  Jakub Jelinek  <jakub@redhat.com>
31665169689Skan
31666169689Skan	PR middle-end/19857
31667169689Skan	* fold-const.c (fold): Don't optimize (T)(x & cst) to
31668169689Skan	(T)x & (T)cst if (T)cst overflows.
31669169689Skan	* convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
31670169689Skan	TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
31671169689Skan
31672169689Skan2005-02-15  Jeff Law  <law@redhat.com>
31673169689Skan
31674169689Skan	* gcse.c (blocks_with_calls): New bitmap.
31675169689Skan	(alloc_gcse_mem): Allocate it.
31676169689Skan	(free_gcse_mem): Free it.
31677169689Skan	(clear_modifY_mem_tables): Clear it.
31678169689Skan	(record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
31679169689Skan	when we encounter CALL_INSNs.
31680169689Skan	(compute_transp, case MEM): Handle blocks with calls separate
31681169689Skan	from blocks without calls.  Use bitmap iterators rather than
31682169689Skan	FOR_EACH_BB.
31683169689Skan
31684169689Skan2005-02-15  Peter O'Gorman  <peter@pogma.com>
31685169689Skan
31686169689Skan	PR bootstrap/18810
31687169689Skan	* mklibgcc.in (vis_hide): Use a temporary object file, not
31688169689Skan	-o /dev/null.
31689169689Skan
31690169689Skan2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
31691169689Skan
31692169689Skan	PR target/19924
31693169689Skan	* config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
31694169689Skan	access optimization.
31695169689Skan
31696169689Skan2005-02-15  David Edelsohn  <edelsohn@gnu.org>
31697169689Skan	    Alan Modra  <amodra@bigpond.net.au>
31698169689Skan
31699169689Skan	PR target/19019
31700169689Skan	* config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
31701169689Skan	(_xlqsub): Rename to __gcc_qsub.
31702169689Skan	(_xlqmul): Rename to __gcc_qmul.
31703169689Skan	(_xlqdiv): Rename to __gcc_qdiv.
31704169689Skan	Provide versioned symbol aliases with old names.
31705169689Skan	* config/rs6000/libgcc-ppc64.ver: Rename symbols.
31706169689Skan	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
31707169689Skan	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
31708169689Skan	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
31709169689Skan	* config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
31710169689Skan
31711169689Skan2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
31712169689Skan
31713169689Skan	* fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
31714169689Skan	Fold ~(A - 1) and ~(A + -1) to -A.
31715169689Skan
31716169689Skan2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
31717169689Skan
31718169689Skan	PR pch/14940
31719169689Skan	PR target/19300
31720169689Skan	* config/host-linux.c (linux_gt_pch_use_address): Copy from
31721169689Skan	config/pa/pa-host.c:pa_gt_pch_use_address.
31722169689Skan
31723169689Skan2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
31724169689Skan
31725169689Skan	* tree-vn.c (get_value_handle): Make sure that given an
31726169689Skan	is_gimple_min_invariant expression, we always return it.
31727169689Skan
31728169689Skan2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
31729169689Skan
31730169689Skan	* passes.c (rest_of_handle_gcse): Fix a comment.
31731169689Skan
31732169689Skan2005-02-15  Jeff Law  <law@redhat.com>
31733169689Skan
31734169689Skan	* gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
31735169689Skan	bitmap.
31736169689Skan	(alloc_gcse_mem, free_gcse_mem): Corresponding changes.
31737169689Skan	(canon_list_insert, record_last_mem_set_info): Similarly.
31738169689Skan	(clear_modify_mem_tables): Similarly.
31739169689Skan
31740169689Skan2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
31741169689Skan
31742169689Skan	* bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
31743169689Skan	tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
31744169689Skan	config/mips/mips.md, config/rs6000/aix.h,
31745169689Skan	config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
31746169689Skan
31747169689Skan2005-02-15  Richard Henderson  <rth@redhat.com>
31748169689Skan
31749169689Skan	* bb-reorder.c (find_traces_1_round): Force fallthru edge from a
31750169689Skan	call to be best_edge.
31751169689Skan
31752169689Skan2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
31753169689Skan
31754169689Skan	* basic-block.h: Adjust the prototype for find_basic_blocks.
31755169689Skan	* cfgbuild.c (find_basic_blocks): Remove unused arguments.
31756169689Skan	* passes.c (rest_of_handle_loop_optimize): Adjust the call to
31757169689Skan	find_basic_blocks.
31758169689Skan
31759169689Skan	* flow.c (recompute_reg_usage): Remove all arguments.
31760169689Skan	* passes.c (rest_of_compilation): Adjust the call to
31761169689Skan	recompute_reg_usage.
31762169689Skan	* rtl.h: Adjust the prototype for recompute_reg_usage.
31763169689Skan
31764169689Skan2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
31765169689Skan
31766169689Skan	* tree-dump.c (dump_files): Update to reflect new member
31767169689Skan	of dump_file_info.
31768169689Skan	(dump_register): Add new argument.
31769169689Skan	Set glob name.
31770169689Skan	(dump_switch_p_1): Check against glob name if doglob was passed.
31771169689Skan	(dump_switch_p): Check against regular first, then glob if
31772169689Skan	we didn't have any hits on the dump name.
31773169689Skan	* tree-optimize.c (register_one_dump_file):
31774169689Skan	Pass in glob name as well.
31775169689Skan	* tree-pass.h (struct dump_file_info): Add glob
31776169689Skan	member.
31777169689Skan
31778169689Skan2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
31779169689Skan
31780169689Skan	PR preprocessor/16323
31781169689Skan	* doc/invoke.texi: Document that -Wendif-labels is on by default.
31782169689Skan
31783169689Skan2005-02-14  David Edelsohn  <edelsohn@gnu.org>
31784169689Skan
31785169689Skan	PR target/19019
31786169689Skan	* config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
31787169689Skan	(trunctfdf2_internal1): New.
31788169689Skan	(trunctfdf2_internal2): Renamed from trunctfdf2.
31789169689Skan
31790169689Skan2005-02-14  Diego Novillo  <dnovillo@redhat.com>
31791169689Skan
31792169689Skan	PR tree-optimization/19853
31793169689Skan	* tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
31794169689Skan
31795169689Skan2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
31796169689Skan
31797169689Skan	* passes.c (rest_of_handle_loop_optimize): Remove calls to
31798169689Skan	delete_dead_jumptables and cleanup_cfg.
31799169689Skan
31800169689Skan2005-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
31801169689Skan
31802169689Skan	* reload.c (find_reloads): Swap address_reloaded flags when
31803169689Skan	swapping commutative operands.
31804169689Skan
31805169689Skan2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
31806169689Skan
31807169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
31808169689Skan	Use standard_iv_increment_position for computing the bsi position
31809169689Skan	for create_iv.
31810169689Skan	* tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
31811169689Skan	the bsi position.
31812169689Skan
31813169689Skan2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
31814169689Skan
31815169689Skan	PR target/17428
31816169689Skan	* cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
31817169689Skan	life range of hard registers.
31818169689Skan	* value-prof.c (insn_prefetch_values_to_profile): Only
31819169689Skan	scan normal insns.
31820169689Skan
31821169689Skan	* value-prof.c (rtl_find_values_to_profile): Do not look for values to
31822169689Skan	profile in libcalls.
31823169689Skan
31824169689Skan2005-02-13  Nathan Sidwell  <nathan@codesourcery.com>
31825169689Skan
31826169689Skan	* bitmap.h (bitmap_and_compl_into): Return bool.
31827169689Skan	* bitmap.c (bitmap_and_compl_into): Return changed flag.
31828169689Skan
31829169689Skan2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
31830169689Skan
31831169689Skan	PR tree-optimization/19944
31832169689Skan	* fold-const.c (fold): Re-add ABS_EXPR folding.
31833169689Skan
31834169689Skan2005-02-13  David Edelsohn  <edelsohn@gnu.org>
31835169689Skan
31836169689Skan	PR target/19019
31837169689Skan	* config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
31838169689Skan	{TARGET,MASK}_XL_COMPAT.
31839169689Skan	(SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
31840169689Skan	MASK_XL_COMPAT.
31841169689Skan	* config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
31842169689Skan	* config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
31843169689Skan	TARGET_XL_COMPAT.
31844169689Skan	(rs6000_arg_partial_bytes): Same.
31845169689Skan	(rs6000_generate_compare): Generate PARALLEL for compare if TFmode
31846169689Skan	and XL compatibility enabled.
31847169689Skan	* config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
31848169689Skan	* config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
31849169689Skan	test to final condition.
31850169689Skan	(cmptf_internal2): New.
31851169689Skan	* doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
31852169689Skan	xl-compat.  Add TFmode information to description.
31853169689Skan
31854169689Skan2005-02-13  Kazu Hirata  <kazu@cs.umass.edu>
31855169689Skan
31856169689Skan	* flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
31857169689Skan
31858169689Skan2005-02-13  Jason Merrill  <jason@redhat.com>
31859169689Skan
31860169689Skan	PR c++/16405
31861169689Skan	* fold-const.c (fold_indirect_ref_1): Split out from...
31862169689Skan	(build_fold_indirect_ref): Here.
31863169689Skan	(fold_indirect_ref): New fn.
31864169689Skan	* tree.h: Declare it.
31865169689Skan	* gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
31866169689Skan	(gimplify_modify_expr_rhs): Likewise.
31867169689Skan	(gimplify_expr): Likewise.
31868169689Skan
31869169689Skan2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
31870169689Skan
31871169689Skan	PR tree-optimization/14303
31872169689Skan	PR tree-optimization/15784
31873169689Skan	* fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
31874169689Skan	Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
31875169689Skan	ABS_EXPR<x> != 0 to x != 0.
31876169689Skan
31877169689Skan2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
31878169689Skan
31879169689Skan	* c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
31880169689Skan	simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
31881169689Skan	spelling conventions.
31882169689Skan
31883169689Skan	* passes.c (rest_of_handle_gcse): Don't run cse_main and
31884169689Skan	delete_trivially_dead_insns too many times.
31885169689Skan
31886169689Skan	* passes.c (rest_of_handle_gcse): Remove dead assignments to
31887169689Skan	tem and tem2.
31888169689Skan
31889169689Skan2005-02-12  Ira Rosen  <irar@il.ibm.com>
31890169689Skan
31891169689Skan	* tree-vectorizer.c (vect_get_base_and_offset): Remove.
31892169689Skan	(vect_is_simple_iv_evolution): Remove redundant parameter
31893169689Skan	and step check.
31894169689Skan	(vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
31895169689Skan	without last parameter.
31896169689Skan	(vect_analyze_pointer_ref_access): Get access_fn as parameter.
31897169689Skan	Return pointer step. Call vect_is_simple_iv_evolution without
31898169689Skan	last parameter. Check only that the step is multiple of size
31899169689Skan	type. Remove stmt_vinfo updates.
31900169689Skan	(vect_get_memtag_and_dr): Remove.
31901169689Skan	(vect_get_memtag): New function.
31902169689Skan	(vect_address_analysis): New function.
31903169689Skan	(vect_object_analysis): New function.
31904169689Skan	(vect_analyze_data_refs): Call vect_object_analysis and
31905169689Skan	vect_get_memtag. Update stmt_vinfo fields.
31906169689Skan
31907169689Skan2005-02-12  Ira Rosen  <irar@il.ibm.com>
31908169689Skan
31909169689Skan	* tree-data-ref.c (array_base_name_differ_p): Check that the bases
31910169689Skan	exist and are objects. Remove checks for pointer.
31911169689Skan	* tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
31912169689Skan	STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
31913169689Skan	(vect_create_data_ref_ptr): Likewise.
31914169689Skan	(vect_base_addr_differ_p): New function.
31915169689Skan	(vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
31916169689Skan	(vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
31917169689Skan	Don't set the DR_BASE_NAME field of data-ref.
31918169689Skan	(vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
31919169689Skan
31920169689Skan2005-02-12  Uros Bizjak  <uros@kss-loka.si>
31921169689Skan
31922169689Skan	* optabs.h (enum optab_index): Add new OTI_ldexp.
31923169689Skan	(ldexp_optab): Define corresponding macro.
31924169689Skan	* optabs.c (init_optabs): Initialize ldexp_optab.
31925169689Skan	* genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
31926169689Skan	patterns.
31927169689Skan	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
31928169689Skan	using ldexp_optab.
31929169689Skan	(expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
31930169689Skan	expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
31931169689Skan
31932169689Skan	* config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
31933169689Skan	to implement ldexpf, ldexp and ldexpl built-ins as inline x87
31934169689Skan	intrinsics.
31935169689Skan
31936169689Skan2005-02-12  Ira Rosen  <irar@il.ibm.com>
31937169689Skan
31938169689Skan	* tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
31939169689Skan	to base_address.
31940169689Skan	* tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
31941169689Skan	stmt_vec_info.
31942169689Skan	(vect_get_base_and_offset): Always return an address.
31943169689Skan	(vect_create_addr_base_for_vector_ref): Remove treatment for
31944169689Skan	different data reference types.
31945169689Skan	(vect_compute_data_ref_alignment): Rename base to base_address in
31946169689Skan	stmt_vec_info. Get the object in order to force its alignment.
31947169689Skan	(vect_get_memtag_and_dr): Rename base to base_address in
31948169689Skan	stmt_vec_info. Extract the object for memtag analysis.
31949169689Skan
31950169689Skan2005-02-12  Hans-Peter Nilsson  <hp@axis.com>
31951169689Skan
31952169689Skan	PR regression/19898.
31953169689Skan	* config/cris/cris.c (cris_notice_update_cc): When testing if insn
31954169689Skan	changes cc_status, use apply modified_in_p to part of cc_status
31955169689Skan	and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
31956169689Skan	body.
31957169689Skan
31958169689Skan2005-02-11  Richard Henderson  <rth@redhat.com>
31959169689Skan
31960169689Skan	* tree-complex.c (expand_complex_libcall): New.
31961169689Skan	(expand_complex_multiplication): Use it for c99 compliance.
31962169689Skan	(expand_complex_division): Likewise.
31963169689Skan	* fold-const.c (fold_complex_add, fold_complex_mult): New.
31964169689Skan	(fold): Call them.
31965169689Skan	* builtins.c (built_in_names): Remove const.
31966169689Skan	* tree.c (build_common_builtin_nodes): Build complex arithmetic
31967169689Skan	builtins.
31968169689Skan	* tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
31969169689Skan	(BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
31970169689Skan	(built_in_names): Remove const.
31971169689Skan	* c-common.c (c_common_type_for_mode): Handle complex modes.
31972169689Skan	* flags.h, toplev.c (flag_complex_method): Rename from
31973169689Skan	flag_complex_divide_method.
31974169689Skan	* libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
31975169689Skan	__mulsc3, __muldc3, __mulxc3, __multc3): New.
31976169689Skan	* libgcc2.h: Declare them.
31977169689Skan	* libgcc-std.ver: Export them.
31978169689Skan	* mklibgcc.in (lib2funcs): Build them.
31979169689Skan
31980169689Skan2005-02-11  Steven Bosscher  <stevenb@suse.de>
31981169689Skan
31982169689Skan	PR tree-optimization/19876
31983169689Skan	Partially revert my change from 2005-01-14
31984169689Skan	* tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
31985169689Skan	(compute_antic): ...and remove the loop here.
31986169689Skan
31987169689Skan2005-02-11  Jakub Jelinek  <jakub@redhat.com>
31988169689Skan
31989169689Skan	PR middle-end/19858
31990169689Skan	* fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
31991169689Skan	is number of inner's bits, avoid creating a BIT_FIELD_REF.
31992169689Skan
31993169689Skan	* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
31994169689Skan	crtend.o if -pie.  Use %{x:a;:b} spec syntax.
31995169689Skan
31996169689Skan2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
31997169689Skan
31998169689Skan	* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
31999169689Skan	offsets for the big-endian 32-bit case.
32000169689Skan
32001169689Skan2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
32002169689Skan
32003169689Skan	* config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
32004169689Skan
32005169689Skan2005-02-11  Dale Johannesen  <dalej@apple.com>
32006169689Skan
32007169689Skan	* cselib.c (cselib_process_insn): Clear out regs where
32008169689Skan	HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
32009169689Skan	* reload.c (find_equiv_reg): Ditto.
32010169689Skan
32011169689Skan2005-02-11  Ian Lance Taylor  <ian@airs.com>
32012169689Skan
32013169689Skan	* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
32014169689Skan	with no elements.
32015169689Skan
32016169689Skan	* tree.c (build_function_type_list): Work correctly if there are
32017169689Skan	no arguments.
32018169689Skan
32019169689Skan2005-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
32020169689Skan
32021169689Skan	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
32022169689Skan	"*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
32023169689Skan	("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
32024169689Skan	TARGET_ZARCH instead of TARGET_64BIT.
32025169689Skan
32026169689Skan2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>
32027169689Skan
32028169689Skan	* config/rs6000/t-rtems:
32029169689Skan	(MULTILIB_OPTIONS): Remove mcpu=602.
32030169689Skan	(MUTLILIB_DIRNAMES): Remove m602.
32031169689Skan	(MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
32032169689Skan	Let mcpu=602 match mcpu=603.
32033169689Skan	(MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
32034169689Skan
32035169689Skan2005-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
32036169689Skan
32037169689Skan	* pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
32038169689Skan	signal trampolines.
32039169689Skan
32040169689Skan2005-02-10  David Daney  <ddaney@avtrex.com>
32041169689Skan
32042169689Skan	* config/alpha/linux-unwind.h: Add exception clause to copyright.
32043169689Skan	* config/i386/linux-unwind.h: Likewise.
32044169689Skan	* config/ia64/linux-unwind.h: Likewise.
32045169689Skan	* config/mips/linux-unwind.h: Likewise.
32046169689Skan	* config/pa/linux-unwind.h: Likewise.
32047169689Skan	* config/rs6000/linux-unwind.h: Likewise.
32048169689Skan	* config/s390/linux-unwind.h: Likewise.
32049169689Skan	* config/sh/linux-unwind.h: Likewise.
32050169689Skan	* config/sparc/linux-unwind.h: Likewise.
32051169689Skan
32052169689Skan2005-02-10  Steven Bosscher  <stevenb@suse.de>
32053169689Skan
32054169689Skan	PR tree-optimization/17549
32055169689Skan	* tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
32056169689Skan	TER to replace a DEF with its expression if the DEF and the
32057169689Skan	rhs of the expression we replace into have the same root
32058169689Skan	variable.
32059169689Skan
32060169689Skan2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
32061169689Skan
32062169689Skan	* config/mips/mips.md: Fix the placement of the match_scratch in the
32063169689Skan	lea64 peephole2.
32064169689Skan
32065169689Skan2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
32066169689Skan
32067169689Skan	* cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
32068169689Skan	Fix comment typos.
32069169689Skan
32070169689Skan2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
32071169689Skan
32072169689Skan	* tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
32073169689Skan	(strip_offset): Handle addresses.
32074169689Skan	(add_address_candidates): Use strip_offset.
32075169689Skan	(difference_cost): Reflect strip_offset change.
32076169689Skan	(force_var_cost, difference_cost): Strip nops.
32077169689Skan
32078169689Skan2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
32079169689Skan
32080169689Skan	* df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
32081169689Skan
32082169689Skan	* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
32083169689Skan	tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
32084169689Skan	config/cris/cris-protos.h, config/cris/cris.c: Update
32085169689Skan	copyright.
32086169689Skan
32087169689Skan2005-02-10  Jeff Law  <law@redhat.com>
32088169689Skan
32089169689Skan	* tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
32090169689Skan	(lookup_avail_expr): Similarly.
32091169689Skan
32092169689Skan2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
32093169689Skan
32094169689Skan	* builtins.c (fold_builtin_powi): New function.
32095169689Skan	(fold_builtin_1): Call it.
32096169689Skan
32097169689Skan2005-02-10  Steven Bosscher  <stevenb@suse.de>
32098169689Skan
32099169689Skan	PR documentation/19309
32100169689Skan	* doc/cpp.texi: The __GNUC__ and related predefined macros
32101169689Skan	are also defined for the "standalone" cpp.
32102169689Skan	Some non-GCC compilers may also define __GNUC__.
32103169689Skan
32104169689Skan2005-02-10  Jakub Jelinek  <jakub@redhat.com>
32105169689Skan
32106169689Skan	PR c/19342
32107169689Skan	* c-typeck.c (common_type): New routine.  Old common_type renamed
32108169689Skan	to...
32109169689Skan	(c_common_type): ...this.
32110169689Skan	(build_conditional_expr, build_binary_op): Use c_common_type instead
32111169689Skan	of common_type.
32112169689Skan
32113169689Skan2005-02-10  Steven Bosscher  <stevenb@suse.de>
32114169689Skan
32115169689Skan	* doc/md.texi: Replace @samp{length} with @code{length}.
32116169689Skan
32117169689Skan2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
32118169689Skan
32119169689Skan	PR tree-optimization/18687
32120169689Skan	* tree-flow.h (find_loop_niter): Declare.
32121169689Skan	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
32122169689Skan	Try using scev even for loops with more than one exit.
32123169689Skan	* tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
32124169689Skan	(struct ivopts_data): Added niters field.
32125169689Skan	(struct nfe_cache_elt): New.
32126169689Skan	(nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
32127169689Skan	functions.
32128169689Skan	(tree_ssa_iv_optimize_init): Initialize niters cache.
32129169689Skan	(determine_number_of_iterations): Removed.
32130169689Skan	(find_induction_variables): Do not call determine_number_of_iterations.
32131169689Skan	Access niters for single exit through niter_for_single_dom_exit.
32132169689Skan	(add_iv_outer_candidates): Access niters for single exit through
32133169689Skan	niter_for_single_dom_exit.
32134169689Skan	(may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
32135169689Skan	number_of_iterations_cond.
32136169689Skan	(iv_period): New function.
32137169689Skan	(determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
32138169689Skan	(may_replace_final_value): Take data argument.  Use
32139169689Skan	niter_for_single_dom_exit.
32140169689Skan	(determine_use_iv_cost_outer): Pass data to may_replace_final_value.
32141169689Skan	(rewrite_use_compare): Pass data to may_eliminate_iv.
32142169689Skan	(rewrite_use_outer): Pass data to may_replace_final_value.
32143169689Skan	(free_loop_data): Clean up the niters cache.
32144169689Skan	(tree_ssa_iv_optimize_finalize): Free the niters cache.
32145169689Skan	(tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
32146169689Skan	* tree-ssa-loop-niter.c (find_loop_niter): New function.
32147169689Skan	(find_loop_niter_by_eval): Use tree_int_cst_lt.
32148169689Skan	(num_ending_zeros): Moved to tree.c.
32149169689Skan	* tree.h (num_ending_zeros): Declare.
32150169689Skan	* tree.c (num_ending_zeros): Moved from tree.c.
32151169689Skan
32152169689Skan2005-02-09  Richard Henderson  <rth@redhat.com>
32153169689Skan
32154169689Skan	* builtins.c (DEF_BUILTIN): Add COND argument.
32155169689Skan	* tree.h (DEF_BUILTIN): Likewise.
32156169689Skan	* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
32157169689Skan	DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
32158169689Skan	match.
32159169689Skan	(DEF_BUILTIN_STUB): New.
32160169689Skan	(BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
32161169689Skan	BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
32162169689Skan	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
32163169689Skan	* c-common.c (DEF_BUILTIN): Add COND argument.
32164169689Skan	* tree.c (local_define_builtin): New.
32165169689Skan	(build_common_builtin_nodes): New.
32166169689Skan
32167169689Skan2005-02-09  Roger Sayle  <roger@eyesopen.com>
32168169689Skan
32169169689Skan	* fold-const.c (fold_strip_sign_ops): New function to simplify a
32170169689Skan	floating point expression ignoring the sign of the result.
32171169689Skan	(fold) <ABS_EXPR>: Use it to simplify fabs(x).
32172169689Skan	(fold) <MULT_EXPR>: Use it to simplify x*x.
32173169689Skan	* tree.h (fold_strip_sign_ops): Prototype here.
32174169689Skan	* builtins.c (fold_builtin_copysign): Take an additional FNDECL
32175169689Skan	argument.  Use fold_strip_sign_ops to simplify the first argument.
32176169689Skan	(fold_builtin_pow): Use fold_strip_sign_ops to simplify the
32177169689Skan	first argument when the second argument is an even integer
32178169689Skan	constant, but only with -funsafe_math_optimizations.
32179169689Skan	(fold_builtin_1): Update call to fold_builtin_copysign.
32180169689Skan
32181169689Skan2005-02-09  Ian Lance Taylor  <ian@airs.com>
32182169689Skan
32183169689Skan	PR middle-end/19583
32184169689Skan	* gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
32185169689Skan	just check whether EH_FILTER_FAILURE falls through.
32186169689Skan
32187169689Skan2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
32188169689Skan
32189169689Skan	* haifa-sched.c (schedule_block): Make queued sched group
32190169689Skan	insns return to ready list in the next turn.
32191169689Skan
32192169689Skan2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
32193169689Skan
32194169689Skan	PR middle-end/19402
32195169689Skan	* builtins.def: New __builtin_powi[lf].
32196169689Skan	* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
32197169689Skan	(expand_builtin_powi): New function.
32198169689Skan	(expand_builtin): Dispatch to expand_builtin_powi.
32199169689Skan	* libgcc2.h: Add prototypes for __builtin_powi[lf].
32200169689Skan	* libgcc2.c: Add __builtin_powi[lf] implementation.
32201169689Skan	* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
32202169689Skan	* optabs.h: Add powi_optab.
32203169689Skan	* optabs.c (init_optabs): Initialize powi_optab.
32204169689Skan	* doc/extend.texi: Document __builtin_powi[lf].
32205169689Skan
32206169689Skan2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
32207169689Skan
32208169689Skan	* tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
32209169689Skan	exists.
32210169689Skan
32211169689Skan2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
32212169689Skan
32213169689Skan	PR middle-end/19854
32214169689Skan	* fold-const.c (try_move_mult_to_index): Remove redundant
32215169689Skan	type argument.  Create ADDR_EXPR with correct type.
32216169689Skan	(fold): Update callers of try_move_mult_to_index.  Convert
32217169689Skan	result to the appropriate type.
32218169689Skan
32219169689Skan2005-02-09  Roger Sayle  <roger@eyesopen.com>
32220169689Skan
32221169689Skan	PR target/19597
32222169689Skan	* config/avr/avr.c (default_rtx_costs): Delete.
32223169689Skan	(avr_operand_rtx_cost): New function.
32224169689Skan	(avr_rtx_costs): Completely rewrite.
32225169689Skan
32226169689Skan2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
32227169689Skan
32228169689Skan	PR target/19806
32229169689Skan	* config/cris/cris.c (in_code): New variable.
32230169689Skan	(cris_output_addr_const): Now a static function, a wrapper for
32231169689Skan	output_addr_const.
32232169689Skan	(cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
32233169689Skan	case from old cris_output_addr_const.
32234169689Skan	(cris_asm_output_label_ref): Similar for LABEL_REF.
32235169689Skan	(cris_output_addr_const_extra): Similar for UNSPEC.
32236169689Skan	* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
32237169689Skan	(ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
32238169689Skan	* config/cris/cris-protos.h (cris_output_addr_const): Remove
32239169689Skan	declaration.
32240169689Skan	(cris_asm_output_symbol_ref, cris_output_addr_const_extra)
32241169689Skan	(cris_asm_output_label_ref): Declare.
32242169689Skan
32243169689Skan2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
32244169689Skan
32245169689Skan	PR preprocessor/19801
32246169689Skan	* doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
32247169689Skan	filenames that changed when libcpp was moved to the toplevel.
32248169689Skan
32249169689Skan2005-02-07  Roger Sayle  <roger@eyesopen.com>
32250169689Skan
32251169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
32252169689Skan	zero extensions of BImode operands.  Call lowpart_subreg instead
32253169689Skan	of gen_lowpart_common and gen_lowpart_SUBREG.
32254169689Skan
32255169689Skan2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
32256169689Skan
32257169689Skan	PR ada/19489
32258169689Skan	* libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
32259169689Skan	* configure.ac: Set cc_for_cross_gnattools.
32260169689Skan	* configure: Regenerate.
32261169689Skan
32262169689Skan2005-02-08  Alan Modra  <amodra@bigpond.net.au>
32263169689Skan
32264169689Skan	PR target/19803
32265169689Skan	* predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
32266169689Skan
32267169689Skan2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
32268169689Skan
32269169689Skan	PR debug/19327
32270169689Skan	* dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
32271169689Skan	of nested functions.
32272169689Skan
32273169689Skan2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
32274169689Skan
32275169689Skan	* doc/extend.texi: Document deprecated extensions allowing
32276169689Skan	static floating-point members to have initializers and allowing
32277169689Skan	floating-point literals in integral constant expressions.
32278169689Skan
32279169689Skan2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
32280169689Skan
32281169689Skan	* cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
32282169689Skan	config/darwin7.h, config/mips/mips.c,
32283169689Skan	config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
32284169689Skan	Update copyright.
32285169689Skan
32286169689Skan	* cse.c: Update comments.
32287169689Skan
32288169689Skan2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
32289169689Skan
32290169689Skan	PR middle-end/19775
32291169689Skan	* builtins.c (fold_builtin_sqrt): Transform
32292169689Skan	sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
32293169689Skan	pow(x,y*0.5).
32294169689Skan
32295169689Skan2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
32296169689Skan	    Dorit Naishlos  <dorit@il.ibm.com>
32297169689Skan
32298169689Skan	* doc/invoke.texi (ftree-vectorizer-verbose): New.
32299169689Skan	* opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
32300169689Skan	* common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
32301169689Skan	was added.
32302169689Skan	* tree.h (vect_set_verbosity_level): New extern function declaration
32303169689Skan	added.
32304169689Skan	* tree-vectorizer.h (verbosity_levels): New enum type.
32305169689Skan	* tree-vectorizer.c (vect_debug_stats): Function removed.
32306169689Skan	(vect_debug_details): Likewise.
32307169689Skan	(vect_verbosity_level): Global variable was defined and initialized.
32308169689Skan	(vect_dump): Global variable definition.
32309169689Skan	(vect_print_dump_info): New function.
32310169689Skan	(vect_set_dump_settings): New function.
32311169689Skan	(vect_set_verbosity_level): New function.
32312169689Skan	(vectorize_loops): Add call to vect_set_dump_settings.
32313169689Skan
32314169689Skan	(slpeel_make_loop_iterate_ntimes): Dump condition was changed.
32315169689Skan	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
32316169689Skan	(slpeel_tree_peel_loop_to_edge): Likewise.
32317169689Skan
32318169689Skan	(vect_analyze_offset_expr): Call to vect_print_dump_info with
32319169689Skan	appropriate verbosity level instead of call to vect_debug_details
32320169689Skan	or vect_debug_stats.
32321169689Skan	(vect_get_base_and_offset):
32322169689Skan	(vect_create_addr_base_for_vector_ref):
32323169689Skan	(get_vectype_for_scalar_type):
32324169689Skan	(vect_create_data_ref_ptr):
32325169689Skan	(vect_init_vector):
32326169689Skan	(vect_get_vec_def_for_operand):
32327169689Skan	(vect_finish_stmt_generation):
32328169689Skan	(vectorizable_assignment):
32329169689Skan	(vectorizable_operation):
32330169689Skan	(vectorizable_store):
32331169689Skan	(vectorizable_load):
32332169689Skan	(vect_transform_stmt):
32333169689Skan	(vect_update_ivs_after_vectorizer):
32334169689Skan	(vect_do_peeling_for_loop_bound):
32335169689Skan	(vect_update_inits_of_drs):
32336169689Skan	(vect_do_peeling_for_alignment):
32337169689Skan	(vect_transform_loop):
32338169689Skan	(vect_is_simple_use):
32339169689Skan	(vect_analyze_operations):
32340169689Skan	(vect_is_simple_iv_evolution):
32341169689Skan	(vect_analyze_scalar_cycles):
32342169689Skan	(vect_analyze_data_ref_dependence):
32343169689Skan	(vect_analyze_data_ref_dependences):
32344169689Skan	(vect_compute_data_ref_alignment):
32345169689Skan	(vect_enhance_data_refs_alignment):
32346169689Skan	(vect_analyze_data_refs_alignment):
32347169689Skan	(vect_analyze_data_ref_access):
32348169689Skan	(vect_analyze_data_ref_accesses):
32349169689Skan	(vect_analyze_pointer_ref_access):
32350169689Skan	(vect_get_memtag_and_dr):
32351169689Skan	(vect_analyze_data_refs):
32352169689Skan	(vect_mark_relevant):
32353169689Skan	(vect_stmt_relevant_p):
32354169689Skan	(vect_mark_stmts_to_be_vectorized):
32355169689Skan	(vect_can_advance_ivs_p):
32356169689Skan	(vect_get_loop_niters):
32357169689Skan	(vect_analyze_loop_form):
32358169689Skan	(vect_analyze_loop):
32359169689Skan	(vectorize_loops): Likewise.
32360169689Skan
32361169689Skan	(vect_do_peeling_for_loop_bound): Dump format slightly changed.
32362169689Skan	(vect_update_inits_of_drs):
32363169689Skan	(vect_do_peeling_for_alignment):
32364169689Skan	(vect_transform_loop):
32365169689Skan	(vect_analyze_operations):
32366169689Skan	(vect_analyze_scalar_cycles):
32367169689Skan	(vect_analyze_data_ref_dependences):
32368169689Skan	(vect_analyze_data_refs_alignment):
32369169689Skan	(vect_analyze_data_ref_accesses):
32370169689Skan	(vect_analyze_data_refs):
32371169689Skan	(vect_mark_stmts_to_be_vectorized):
32372169689Skan	(vect_get_loop_niters):
32373169689Skan	(vect_analyze_loop_form):
32374169689Skan	(vect_analyze_loop): Likewise.
32375169689Skan	(vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
32376169689Skan
32377169689Skan2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
32378169689Skan
32379169689Skan	PR bootstrap/19796
32380169689Skan	Revert:
32381169689Skan	2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
32382169689Skan	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
32383169689Skan	either -ffast-math or -funsafe-math-optimizations is in use.
32384169689Skan
32385169689Skan	2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
32386169689Skan	* config/mips/irix-csr.c: New file.
32387169689Skan	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
32388169689Skan	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
32389169689Skan	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
32390169689Skan	executables.
32391169689Skan
32392169689Skan2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
32393169689Skan
32394169689Skan	* config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
32395169689Skan	redundant, incorrect definitions.
32396169689Skan
32397169689Skan	* config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
32398169689Skan	expand.
32399169689Skan	("*tls_indirect_call"): New, reference hard regs directly.
32400169689Skan	* config/frv/frv.c (gen_inlined_tls_plt): Adjust.
32401169689Skan
32402169689Skan2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
32403169689Skan
32404169689Skan	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
32405169689Skan	Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
32406169689Skan
32407169689Skan2005-02-06  Roger Sayle  <roger@eyesopen.com>
32408169689Skan
32409169689Skan	PR rtl-optimization/19800
32410169689Skan	* simplify_rtx.c (simplify_relational_operation_1): Explicitly
32411169689Skan	call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
32412169689Skan	gen_lowpart.
32413169689Skan
32414169689Skan2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
32415169689Skan
32416169689Skan	* config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
32417169689Skan
32418169689Skan2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
32419169689Skan
32420169689Skan	PR other/17135
32421169689Skan	* doc/invoke.texi: Correct documentation of -freorder-functions.
32422169689Skan
32423169689Skan2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
32424169689Skan
32425169689Skan	PR other/14402
32426169689Skan	* doc/invoke.texi: Don't mention gccbug.
32427169689Skan
32428169689Skan2005-02-06  Roger Sayle  <roger@eyesopen.com>
32429169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
32430169689Skan	    Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
32431169689Skan
32432169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Simplify
32433169689Skan	(ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
32434169689Skan	into just (zero_extract:SI FOO (const_int 1) BAR).
32435169689Skan
32436169689Skan2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
32437169689Skan
32438169689Skan	* doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
32439169689Skan	macro locally.  Don't give last revision date.  Use GCC version
32440169689Skan	number from gcc-common.texi.
32441169689Skan	* doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
32442169689Skan	revision date.  Use GCC version number from gcc-common.texi.
32443169689Skan	Describe being a library as current state rather than as 3.x
32444169689Skan	history.
32445169689Skan	* doc/gcc.texi: Remove last update date.
32446169689Skan	* doc/gccint.texi: Likewise.  Update copyright dates.
32447169689Skan	* doc/install.texi: Update copyright dates.
32448169689Skan
32449169689Skan2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
32450169689Skan
32451169689Skan	PR other/7549
32452169689Skan	* doc/invoke.texi: Mention for each option included in -Wall that
32453169689Skan	it is included in -Wall.
32454169689Skan	* doc/gcc.texi: Update copyright and last modification date.
32455169689Skan
32456169689Skan2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
32457169689Skan
32458169689Skan	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
32459169689Skan	unnecessary cast to original induction variable increments.
32460169689Skan
32461169689Skan2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
32462169689Skan
32463169689Skan	PR tree-optimization/18219
32464169689Skan	* tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
32465169689Skan	in distributed form.
32466169689Skan
32467169689Skan2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
32468169689Skan
32469169689Skan	* expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
32470169689Skan	Set bitpos and offset later in the function.  Do nothing if the
32471169689Skan	target is a register and if the bitfield lies completely outside
32472169689Skan	that register.
32473169689Skan	(extract_bit_field): Make the same SUBREG, bitpos and offset changes
32474169689Skan	here.  Return an uninitialised register if the source value is stored
32475169689Skan	in a register and the bitfield lies completely outside that register.
32476169689Skan
32477169689Skan2005-02-06  Steven Bosscher  <stevenb@suse.de>
32478169689Skan
32479169689Skan	* df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
32480169689Skan	not SET_DEST.
32481169689Skan
32482169689Skan2005-02-06  Marcin Dalecki  <martin@dalecki.de>
32483169689Skan
32484169689Skan	* diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
32485169689Skan
32486169689Skan2005-02-06  Geoffrey Keating  <geoffk@apple.com>
32487169689Skan
32488169689Skan	* config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
32489169689Skan	* config/darwin8.h: New.
32490169689Skan	* config/darwin7.h: Update comment.
32491169689Skan
32492169689Skan2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
32493169689Skan	    Dorit Naishlos  <dorit@il.ibm.com>
32494169689Skan
32495169689Skan	* tree-vectorizer.h (LOC): New type.
32496169689Skan	(UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
32497169689Skan	(loop_line_number): New field in struct _loop_vec_info.
32498169689Skan	(LOOP_VINFO_LOC, LOOP_LOC): New macros.
32499169689Skan
32500169689Skan	* tree-vectorizer.c (input.h): Included.
32501169689Skan	(find_loop_location): New function.
32502169689Skan	(vect_debug_stats): Argument changed from loop to LOC. Computation of
32503169689Skan	loop line number removed.
32504169689Skan	(vect_debug_details): Likewise.
32505169689Skan	(new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
32506169689Skan
32507169689Skan	(slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
32508169689Skan	call to vect_debug_details/stats changed from loop to loop_loc.
32509169689Skan	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
32510169689Skan	(slpeel_tree_peel_loop_to_edge): Likewise.
32511169689Skan
32512169689Skan	(vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
32513169689Skan	changed from NULL to UNKNOWN_LOC.
32514169689Skan	(vect_get_base_and_offset):
32515169689Skan	(vect_create_addr_base_for_vector_ref):
32516169689Skan	(get_vectype_for_scalar_type):
32517169689Skan	(vect_create_data_ref_ptr):
32518169689Skan	(vect_init_vector):
32519169689Skan	(vect_get_vec_def_for_operand):
32520169689Skan	(vect_finish_stmt_generation):
32521169689Skan	(vectorizable_assignment):
32522169689Skan	(vectorizable_operation):
32523169689Skan	(vectorizable_store):
32524169689Skan	(vectorizable_load):
32525169689Skan	(vect_transform_stmt):
32526169689Skan	(vect_update_ivs_after_vectorizer):
32527169689Skan	(vect_do_peeling_for_loop_bound):
32528169689Skan	(vect_do_peeling_for_alignment):
32529169689Skan	(vect_transform_loop):
32530169689Skan	(vect_is_simple_use):
32531169689Skan	(vect_analyze_operations):
32532169689Skan	(vect_is_simple_iv_evolution):
32533169689Skan	(vect_analyze_scalar_cycles):
32534169689Skan	(vect_analyze_data_ref_dependences):
32535169689Skan	(vect_compute_data_ref_alignment):
32536169689Skan	(vect_enhance_data_refs_alignment):
32537169689Skan	(vect_analyze_data_ref_access):
32538169689Skan	(vect_analyze_data_ref_accesses):
32539169689Skan	(vect_analyze_pointer_ref_access):
32540169689Skan	(vect_get_memtag_and_dr):
32541169689Skan	(vect_analyze_data_refs):
32542169689Skan	(vect_mark_relevant):
32543169689Skan	(vect_stmt_relevant_p):
32544169689Skan	(vect_mark_stmts_to_be_vectorized):
32545169689Skan	(vect_can_advance_ivs_p):
32546169689Skan	(vect_get_loop_niters):
32547169689Skan	(vect_analyze_loop):
32548169689Skan	(vectorize_loops): Likewise.
32549169689Skan
32550169689Skan	(vectorizable_load): Argument in call to vect_debug_details/stats
32551169689Skan	changed from loop to LOOP_LOC (loop_vinfo).
32552169689Skan	(vect_transform_loop):
32553169689Skan	(vect_analyze_operations):
32554169689Skan	(vect_analyze_scalar_cycles):
32555169689Skan	(vect_analyze_data_ref_dependence):
32556169689Skan	(vect_enhance_data_refs_alignment):
32557169689Skan	(vect_analyze_data_ref_accesses):
32558169689Skan	(vect_analyze_pointer_ref_access):
32559169689Skan	(vect_analyze_data_refs):
32560169689Skan	(vect_analyze_loop): Likewise.
32561169689Skan
32562169689Skan	(vect_analyze_loop_form): Argument in call to vect_debug_details/stats
32563169689Skan	changed from loop to loop_loc.
32564169689Skan
32565169689Skan	(vect_enhance_data_refs_alignment): Removed unused variable loop.
32566169689Skan
32567169689Skan2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
32568169689Skan	    Dorit Naishlos  <dorit@il.ibm.com>
32569169689Skan
32570169689Skan	* tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
32571169689Skan	declaration added.
32572169689Skan	(vect_analyze_data_ref_dependences): Likewise.
32573169689Skan
32574169689Skan	(vect_is_simple_use): Argument changed from loop structure to
32575169689Skan	loop_vect_info structure.
32576169689Skan	(vect_can_advance_ivs_p): Likewise.
32577169689Skan	(vect_create_index_for_vector_ref): Likewise.
32578169689Skan	(vect_update_ivs_after_vectorizer): Likewise.
32579169689Skan	(new_stmt_vec_info): Likewise.
32580169689Skan
32581169689Skan	(new_loop_vec_info): Second argument in call to new_stmt_vec_info was
32582169689Skan	changed from loop to loop_vinfo.
32583169689Skan	(vect_create_data_ref_ptr): First argument in call to
32584169689Skan	vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
32585169689Skan	(vectorizable_assignment): Second argument in call to vect_is_simple_use
32586169689Skan	was changed from loop to loop_vinfo.
32587169689Skan	(vectorizable_operation): Likewise.
32588169689Skan	(vectorizable_store): Likewise.
32589169689Skan	(vect_mark_stmts_to_be_vectorized): Likewise.
32590169689Skan	(vect_do_peeling_for_loop_bound): First argument in call to
32591169689Skan	vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
32592169689Skan	(vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
32593169689Skan	was changed from loop to loop_vinfo.
32594169689Skan	(vect_analyze_data_ref_dependences): Third argument in call to
32595169689Skan	vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
32596169689Skan
32597169689Skan	(vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
32598169689Skan	(vect_create_data_ref_ptr): Likewise.
32599169689Skan	(vect_init_vector): Likewise.
32600169689Skan	(vect_get_vec_def_for_operand): Likewise.
32601169689Skan	(vectorizable_assignment): Likewise.
32602169689Skan	(vectorizable_operation): Likewise.
32603169689Skan	(vectorizable_store): Likewise.
32604169689Skan	(vectorizable_load): Likewise.
32605169689Skan	(vect_update_ivs_after_vectorizer): Likewise.
32606169689Skan	(vect_is_simple_use): Likewise.
32607169689Skan	(vect_analyze_data_ref_dependence): Likewise.
32608169689Skan	(vect_analyze_pointer_ref_access): Likewise.
32609169689Skan	(vect_can_advance_ivs_p): Likewise.
32610169689Skan
32611169689Skan	* tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
32612169689Skan	before _stmt_vec_info.
32613169689Skan	(_stmt_vec_info): Loop field replaced by loop_vec_info.
32614169689Skan	(STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
32615169689Skan	(new_stmt_vec_info): Argument changed from loop structure to
32616169689Skan	loop_vect_info structure
32617169689Skan
32618169689Skan	(vect_analyze_data_ref_dependences): Unnecessary line was removed.
32619169689Skan	(vect_analyze_offset_expr): Avoid 80 columns overflow.
32620169689Skan	(vect_create_addr_base_for_vector_ref): Likewise.
32621169689Skan	(vect_analyze_pointer_ref_access): Likewise.
32622169689Skan
32623169689Skan2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
32624169689Skan
32625169689Skan	PR tree-opt/19768
32626169689Skan	* tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
32627169689Skan	phi flag if the phi is abnormal.
32628169689Skan
32629169689Skan2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
32630169689Skan
32631169689Skan	PR tree-opt/19736
32632169689Skan	* tree-ssa.c (replace_immediate_uses): Update the immediate_uses
32633169689Skan	information for the new statement.
32634169689Skan
32635169689Skan2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
32636169689Skan
32637169689Skan	PR driver/19117
32638169689Skan	* gcc.c (main): Include the target in -v output.
32639169689Skan
32640169689Skan2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
32641169689Skan
32642169689Skan	* combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
32643169689Skan	Do not drop the extend if we'd have to add a paradoxical subreg
32644169689Skan	later.  Include optabs.h and insn-codes.h.
32645169689Skan	* Makefile.in (combine.o): Depend on $(OPTABS_H).
32646169689Skan
32647169689Skan2005-02-02  Roger Sayle  <roger@eyesopen.com>
32648169689Skan
32649169689Skan	PR middle-end/19405
32650169689Skan	* real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
32651169689Skan	* fold-const.c (const_binop): Avoid constant folding floating
32652169689Skan	point operations in modes that use composite representations.
32653169689Skan	* simplify-rtx.c (simplify_binary_operation): Likewise.
32654169689Skan
32655169689Skan2005-02-02  Geoffrey Keating  <geoffk@apple.com>
32656169689Skan
32657169689Skan	* config/rs6000/altivec.md (altivec_dst): Make the first operand
32658169689Skan	a REG, not a MEM.
32659169689Skan	(altivec_dstt): Likewise.
32660169689Skan	(altivec_dstst): Likewise.
32661169689Skan	(altivec_dststt): Likewise.
32662169689Skan	* config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
32663169689Skan	of first operand.
32664169689Skan
32665169689Skan2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
32666169689Skan
32667169689Skan	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
32668169689Skan	EXPR_LOCUS from orig_cond to the new cond_stmt.
32669169689Skan	(vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
32670169689Skan	the new vec_stmt.
32671169689Skan
32672169689Skan2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
32673169689Skan
32674169689Skan	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
32675169689Skan	standard_iv_increment_position. Remove call to bsi_next
32676169689Skan	(no need to bump the iterator anymore).
32677169689Skan	(vect_create_index_for_vector_ref): Call
32678169689Skan	standard_iv_increment_position. Remove second function argument.
32679169689Skan	(vect_finish_stmt_generation): Remove call to bsi_next
32680169689Skan	(no need to bump the iterator anymore).
32681169689Skan	(vect_create_data_ref_ptr): Remove second argument (bsi) in call
32682169689Skan	to vect_create_index_for_vector_ref.
32683169689Skan
32684169689Skan2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
32685169689Skan
32686169689Skan	* tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
32687169689Skan	phis are used out of the loop.
32688169689Skan
32689169689Skan2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
32690169689Skan
32691169689Skan	PR c/17807
32692169689Skan	* c-decl.c (undef_nested_function): New variable.
32693169689Skan	(pop_scope): Diagnose undefined nested functions.
32694169689Skan	(finish_function): Don't attempt cgraph processing or genericizing
32695169689Skan	if current top-level function contained an undefined nested
32696169689Skan	function.  Reset undef_nested_function at the end of a top-level
32697169689Skan	function.
32698169689Skan
32699169689Skan2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
32700169689Skan
32701169689Skan	* tree.c (build_int_cst_type): Take sign of the value into account
32702169689Skan	when deciding whether sign extend the value.
32703169689Skan
32704169689Skan2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
32705169689Skan
32706169689Skan	PR c/18502
32707169689Skan	* gcc.c (cpp_unique_options): Remove %{trigraphs}.
32708169689Skan	(cpp_options, cc1_options): Change %{std*&ansi} to
32709169689Skan	%{std*&ansi&trigraphs}.
32710169689Skan
32711169689Skan2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
32712169689Skan
32713169689Skan	* cse.c: Update comments.
32714169689Skan
32715169689Skan2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
32716169689Skan
32717169689Skan	* config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
32718169689Skan	arguments go on the stack.  Do not put complex doubles in odd/even
32719169689Skan	pairs.
32720169689Skan
32721169689Skan2005-02-02  Steven Bosscher  <stevenb@suse.de>
32722169689Skan
32723169689Skan	* doc/invoke.texi: Update the options enabled at -O1, -O2,
32724169689Skan	and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
32725169689Skan	-ftree-pre, and -fthread-jumps.
32726169689Skan
32727169689Skan2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
32728169689Skan
32729169689Skan	PR tree-optimization/19578
32730169689Skan	* tree-flow.h (modified_noreturn_calls): Declare.
32731169689Skan	(noreturn_call_p): Declare.
32732169689Skan	* tree-flow-inline.h (noreturn_call_p): New function.
32733169689Skan	(modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
32734169689Skan	* tree-cfg.c (modified_noreturn_calls): New variable.
32735169689Skan	(cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
32736169689Skan	that contain a mid-block noreturn call.
32737169689Skan	* tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
32738169689Skan
32739169689Skan2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
32740169689Skan
32741169689Skan	* df.c (df_def_record_1, df_uses_record): Don't use
32742169689Skan	DF_FOR_REGALLOC.
32743169689Skan	* df.h (DF_FOR_REGALLOC): Remove.
32744169689Skan
32745169689Skan2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
32746169689Skan
32747169689Skan	PR c/19435
32748169689Skan	* c-typeck.c (really_start_incremental_init): Reset
32749169689Skan	constructor_max_index for arrays of incomplete type.
32750169689Skan
32751169689Skan2005-02-02  Jeff Law  <law@redhat.com>
32752169689Skan
32753169689Skan	* gcse.c (struct reg_set): Store the block index where the register
32754169689Skan	was set rather than the setting insn.
32755169689Skan	(record_one_set, compute_transp): Corresponding changes.
32756169689Skan	(pre_insert_copy_insn): Do not call replace_one_set.
32757169689Skan	(replace_one_set): Remove.
32758169689Skan
32759169689Skan2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
32760169689Skan
32761169689Skan	PR other/15514
32762169689Skan	* doc/gcov.texi: Fix typo.
32763169689Skan
32764169689Skan2005-02-01  Richard Henderson  <rth@redhat.com
32765169689Skan
32766169689Skan	PR target/19680
32767169689Skan	* config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
32768169689Skan	* config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
32769169689Skan	type to bool.
32770169689Skan	(ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
32771169689Skan	* config/i386/i386-protos.h: Update.
32772169689Skan
32773169689Skan2005-02-01  Steven Bosscher  <stevenb@suse.de>
32774169689Skan
32775169689Skan	PR tree-optimization/19217
32776169689Skan	* tree-cfg.c (verify_expr): Use the data field to see if TP was
32777169689Skan	seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
32778169689Skan	(verify_stmts): Pass (void*)1 as data to verify_expr to signal
32779169689Skan	that it is walking a PHI node.
32780169689Skan
32781169689Skan2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
32782169689Skan
32783169689Skan	* doc/extend.texi (Nested Functions): Update.
32784169689Skan
32785169689Skan2005-02-01  Richard Henderson  <rth@redhat.com>
32786169689Skan
32787169689Skan	PR 19696
32788169689Skan	* optabs.c (expand_copysign_absneg): Export.
32789169689Skan	* optabs.h (expand_copysign_absneg): Declare.
32790169689Skan	* config/rs6000/rs6000.md (copysigntf3): New.
32791169689Skan
32792169689Skan2005-02-01  Diego Novillo  <dnovillo@redhat.com>
32793169689Skan
32794169689Skan	PR tree-optimization/19633
32795169689Skan	* tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
32796169689Skan	* tree-ssa-alias.c (init_alias_info): Initialize.
32797169689Skan	(merge_pointed_to_info): Set.
32798169689Skan	(add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
32799169689Skan	(dump_points_to_info_for): Show value of pt_null.
32800169689Skan	(struct count_ptr_d): Declare.
32801169689Skan	(find_ptr_dereference): Remove.
32802169689Skan	(ptr_is_dereferenced_by): Remove.
32803169689Skan	(count_ptr_derefs): New local function.
32804169689Skan	(count_uses_and_derefs): New local function.
32805169689Skan	(compute_points_to_and_addr_escape): Call it.  If the number
32806169689Skan	of dereferences is greater than zero, mark the pointer as
32807169689Skan	dereferenced.  If there are fewer dereferences than uses of
32808169689Skan	the pointer, the pointer's value escapes.
32809169689Skan
32810169689Skan2005-02-01  Diego Novillo  <dnovillo@redhat.com>
32811169689Skan
32812169689Skan	PR tree-optimization/19670
32813169689Skan	* tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
32814169689Skan	here...
32815169689Skan	(verify_use): ... set it here, instead.
32816169689Skan
32817169689Skan2005-02-01  Janis Johnson  <janis187@us.ibm.com>
32818169689Skan
32819169689Skan	* doc/sourcebuild.texi (Test directives): Fix formatting.
32820169689Skan
32821169689Skan	* doc/sourcebuild.texi (Test directives): Describe selector
32822169689Skan	expressions.
32823169689Skan
32824169689Skan2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
32825169689Skan
32826169689Skan	* config.gcc (powerpc64-*-linux*): Default to -m64 also for
32827169689Skan	specific 64-bit CPUs.
32828169689Skan
32829169689Skan2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
32830169689Skan
32831169689Skan	PR target/16201
32832169689Skan	* arm.c (arm_eliminable_register): New function.
32833169689Skan	(adjacent_mem_locations): Don't allow eliminable registers.  Use
32834169689Skan	HOST_WIDE_INT for address offsets.
32835169689Skan	* arm-protos.h (arm_eliminable_register): Add prototype.
32836169689Skan
32837169689Skan2005-02-01  Steven Bosscher  <stevenb@suse.de>
32838169689Skan
32839169689Skan	PR optimization/15242
32840169689Skan	* params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
32841169689Skan	* basic-block.h (duplicate_computed_gotos): Add prototype.
32842169689Skan	* bb-reorder.c (duplicate_computed_gotos): New function to
32843169689Skan	duplicate sufficiently small blocks ending in a computed jump.
32844169689Skan	* passes.c (rest_of_compilation): Call duplicate_computed_gotos
32845169689Skan	if not optimizing for size.
32846169689Skan	* cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
32847169689Skan	never do tail merging for blocks ending in a computed jump.
32848169689Skan	* doc/invoke.texi: Document the max-goto-duplication-insns param.
32849169689Skan
32850169689Skan2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
32851169689Skan
32852169689Skan	Patch from Richard Sandiford <rsandifo@redhat.com>
32853169689Skan	* reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
32854169689Skan	from inheriting a subreg equivalence with a non-spill register.
32855169689Skan
32856169689Skan	* tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
32857169689Skan
32858169689Skan2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
32859169689Skan
32860169689Skan	* config/frv/frv.c (movcc_fp_destination_operand): New.
32861169689Skan	(gpr_or_memory_operand): Fix typo in comment.
32862169689Skan	(gpr_or_memory_operand_with_scratch): New.
32863169689Skan	* config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
32864169689Skan	* config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
32865169689Skan	movcc_fp_destination_operand.
32866169689Skan	(reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
32867169689Skan	Legitimize memory addresses using a scratch register.
32868169689Skan
32869169689Skan2005-01-31  Jeff Law  <law@redhat.com>
32870169689Skan
32871169689Skan	* tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
32872169689Skan	bitmap a sparse bitmap instead of a simple bitmap.
32873169689Skan	(mark_def_sites_initialize_block): Corresponding changes.
32874169689Skan	(ssa_mark_def_sites_initialize_block): Likewise.
32875169689Skan	(ssa_mark_phi_uses): Likewise.
32876169689Skan	(mark_def_site, ssa_mark_def_sites): Likewise.
32877169689Skan	(mark_def_site_blocks): Likewise.
32878169689Skan	(rewrite_ssa_into_ssa): Likewise.
32879169689Skan
32880169689Skan	* tree-ssa-dom.c (record_cond): Pass correct variable type
32881169689Skan	for last argument to htab_find_slot_with_hash.
32882169689Skan
32883169689Skan	* fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
32884169689Skan	effects when optimizing 0 % X.  Do not try to optimize X % 0.
32885169689Skan
32886169689Skan2005-01-31  James E. Wilson  <wilson@specifixinc.com>
32887169689Skan
32888169689Skan	* config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
32889169689Skan	1_mmalua.
32890169689Skan
32891169689Skan2005-02-01  Eric Christopher  <echristo@redhat.com>
32892169689Skan
32893169689Skan	* config/mips/mips.c (override_options): Warn if -mint64
32894169689Skan	is used.
32895169689Skan	* doc/invoke.texi (MIPS Options): Document that -mint64 is
32896169689Skan	deprecated.
32897169689Skan
32898169689Skan2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
32899169689Skan
32900169689Skan	* cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
32901169689Skan	timestamp.
32902169689Skan	(cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
32903169689Skan	REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
32904169689Skan	cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
32905169689Skan	(cached_regno): Initialize to INVALID_REGNUM.
32906169689Skan	(cse_reg_info_table_size,
32907169689Skan	cse_reg_info_table_first_uninitialized,
32908169689Skan	cse_reg_info_timestamp): New.
32909169689Skan	(REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
32910169689Skan	get_cse_reg_info.
32911169689Skan	(init_cse_reg_info, get_cse_reg_info_1): New.
32912169689Skan	(get_cse_reg_info): Cache the last look-up.
32913169689Skan	(new_basic_block): Update the code to clear mappings from
32914169689Skan	registers to cse_reg_info entries.
32915169689Skan	(cse_main): Call init_cse_reg_info.
32916169689Skan
32917169689Skan	* cse.c (get_cse_reg_info): Update a comment.
32918169689Skan
32919169689Skan2005-01-31  Steven Bosscher  <stevenb@suse.de>
32920169689Skan
32921169689Skan	PR c/19333
32922169689Skan	* c-decl.c (start_decl): Do not warn about arrays of elements with
32923169689Skan	an incomplete type here.
32924169689Skan	(grokdeclarator): Do it here by making a pedwarn an error.
32925169689Skan	* c-typeck.c (push_init_level): If there were previous errors with
32926169689Skan	the constructor type, do not warn about braces for initializers.
32927169689Skan	(process_init_element): Likewise for excess initializer elements.
32928169689Skan
32929169689Skan2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
32930169689Skan
32931169689Skan	* cse.c (delete_trivially_dead_insn): Don't iterate.
32932169689Skan
32933169689Skan2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
32934169689Skan
32935169689Skan	* config/rs6000/rs6000.md (copysignsf3): New expand.
32936169689Skan	(copysigndf3): Likewise.
32937169689Skan
32938169689Skan2005-01-31  Steven Bosscher  <stevenb@suse.de>
32939169689Skan
32940169689Skan	* recog.c (constrain_operands): Only look for earlyclobber operand
32941169689Skan	conflicts if an '&' constraint was seen.
32942169689Skan
32943169689Skan2005-01-31  Marc Espie <espie@openbsd.org>
32944169689Skan
32945169689Skan	* config.gcc: Don't include embedded systems fragment, switches default
32946169689Skan	debugging format to ELF.
32947169689Skan	* config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
32948169689Skan	longer pick it up there.
32949169689Skan
32950169689Skan2005-01-31  Dale Johannesen  <dalej@apple.com>
32951169689Skan
32952169689Skan	* doc/extend.texi (nested functions): Fix linkage description.
32953169689Skan	Clarify that static is not allowed.
32954169689Skan
32955169689Skan2005-01-31  Dale Johannesen  <dalej@apple.com>
32956169689Skan
32957169689Skan	* config/rs6000/darwin.md (movsf_low_di): Make work.
32958169689Skan	(movdf_low_di): Make work.
32959169689Skan
32960169689Skan2005-01-31  Dale Johannesen  <dalej@apple.com>
32961169689Skan
32962169689Skan	* config/rs6000/darwin-tramp.asm (__trampoline_setup):
32963169689Skan	Make work for 64 bit.
32964169689Skan
32965169689Skan2005-01-31  Roger Sayle  <roger@eyesopen.com>
32966169689Skan	    Dale Johannesen  <dalej@apple.com>
32967169689Skan
32968169689Skan	PR middle-end/19650
32969169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg):
32970169689Skan	Make types match original operands, before STRIP_NOPS.
32971169689Skan
32972169689Skan2005-01-31  Alan Modra  <amodra@bigpond.net.au>
32973169689Skan
32974169689Skan	* config/rs6000/linux-unwind.h (struct gcc_vregs): New.
32975169689Skan	(struct gcc_regs): Rename from gcc_pt_regs.  Add more regs.
32976169689Skan	(struct gcc_sigcontext): Delete.  Merge contents to..
32977169689Skan	(struct gcc_ucontext): ..here.
32978169689Skan	(get_sigcontext): Delete.
32979169689Skan	(get_regs): New function, like get_sigcontext but return regs ptr.
32980169689Skan	64-bit version finds regs from r1 to support vdso.
32981169689Skan	(ppc_linux_aux_vector): New function.
32982169689Skan	(ppc_fallback_frame_state): Modify for get_regs.  Restore fprs
32983169689Skan	and vector regs.
32984169689Skan
32985169689Skan2005-01-31  Ira Rosen  <irar@il.ibm.com>
32986169689Skan
32987169689Skan	* tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
32988169689Skan	sizetype.
32989169689Skan	(vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
32990169689Skan	redundant fold. Fix misalignment for MINUS_EXPR.
32991169689Skan	(vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
32992169689Skan	(vect_analyze_pointer_ref_access): Likewise.
32993169689Skan	(vect_get_memtag_and_dr): Likewise.
32994169689Skan
32995169689Skan2005-01-31  Richard Henderson  <rth@redhat.com>
32996169689Skan
32997169689Skan	* config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
32998169689Skan	(absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
32999169689Skan	absnegdf2_i387, absnegxf2_i387): Likewise.
33000169689Skan
33001169689Skan2005-01-31  Richard Henderson  <rth@redhat.com>
33002169689Skan
33003169689Skan	PR 19696
33004169689Skan	* optabs.c (expand_copysign_absneg): New.
33005169689Skan	(expand_copysign_bit): Split out from ...
33006169689Skan	(expand_copysign): ... here.  Use expand_copysign_absneg.
33007169689Skan
33008169689Skan2005-01-30  Roger Sayle  <roger@eyesopen.com>
33009169689Skan
33010169689Skan	PR middle-end/19697
33011169689Skan	* config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
33012169689Skan	constant as the second operand and a register as the third.
33013169689Skan
33014169689Skan2005-01-31  Danny Smith  <dannysmith@users.sourceforge.net>
33015169689Skan
33016169689Skan	PR target/19704
33017169689Skan	* config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
33018169689Skan	that dllimport'd functions do not use all call-clobbered registers
33019169689Skan	to pass parameters.
33020169689Skan
33021169689Skan2005-01-30  Richard Henderson  <rth@redhat.com>
33022169689Skan
33023169689Skan	PR 19696
33024169689Skan	* optabs.c (expand_absneg_bit): Split out from expand_unop and
33025169689Skan	expand_abs_nojump and generalize.  Use operand_subword and
33026169689Skan	emit_no_conflict_block.  Support large modes.
33027169689Skan	(expand_abs_nojump): Use it.  Use HONOR_SIGNED_ZEROS to fall
33028169689Skan	back to maximum.
33029169689Skan	(expand_unop): Likewise.  Use HONOR_SIGNED_ZEROS to fall back
33030169689Skan	negation to subtraction.
33031169689Skan	(expand_copysign): Check that the format has signed zeros.
33032169689Skan	Use operand_subword and emit_no_conflict_block.  Support large modes.
33033169689Skan
33034169689Skan2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
33035169689Skan
33036169689Skan	Fix PR tree-optimization/19624
33037169689Skan
33038169689Skan	* Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
33039169689Skan	* tree-ssa-pre.c: Add cfgloop.h.
33040169689Skan	Update comment.
33041169689Skan	(pre_stats): New member, constified.
33042169689Skan	(inserted_exprs): New static variable.
33043169689Skan	(NECESSARY): New macro.
33044169689Skan	(create_expression_by_pieces): Fold the expression, and
33045169689Skan	mark it as defaulting to not necessary. Also put in
33046169689Skan	inserted_exprs.
33047169689Skan	(fully_constant_expression): New function.
33048169689Skan	(insert_into_preds_of_block): Modify to not insert phis when we
33049169689Skan	are playing with induction variables.
33050169689Skan	Push phis onto the inserted_exprs vector, and mark them as not
33051169689Skan	necessary by default.
33052169689Skan	(insert_aux): Call fully_constant_expression on eprime.
33053169689Skan	If all edges produce the same value, mark it constant.
33054169689Skan	(mark_operand_necessary): New function.
33055169689Skan	(remove_dead_inserted_code): New function.
33056169689Skan	(init_pre): Init loop optimizer to get loop info.
33057169689Skan	(fini_pre): Free loop_optimizer, and inserted_exprs vec.
33058169689Skan	(execute_pre): Commit edge inserts, then remove dead code.
33059169689Skan
33060169689Skan2005-01-30  Richard Henderson  <rth@redhat.com>
33061169689Skan
33062169689Skan	* rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
33063169689Skan	* varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
33064169689Skan
33065169689Skan2005-01-30  Richard Henderson  <rth@redhat.com>
33066169689Skan
33067169689Skan	PR target/19700
33068169689Skan	* config/i386/i386.c (ix86_expand_copysign): New.
33069169689Skan	(ix86_split_copysign_const): New.
33070169689Skan	(ix86_split_copysign_var): Rename from ix86_split_copysign,
33071169689Skan	rearrange op1/nmask operands.
33072169689Skan	* config/i386/i386-protos.h: Update.
33073169689Skan	* config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
33074169689Skan	(copysigndf3): Likewise.
33075169689Skan	(copysignsf3_const, copysigndf3_const): New.
33076169689Skan	(copysignsf3_var): Rename from copysignsf3, split out splitter
33077169689Skan	and fix split predicate for X constraint.
33078169689Skan	(copysigndf3_var): Similarly.
33079169689Skan
33080169689Skan2005-01-30  Kazu Hirata  <kazu@cs.umass.edu>
33081169689Skan
33082169689Skan	* optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
33083169689Skan	doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
33084169689Skan	doc/tm.texi, doc/tree-ssa.texi: Update copyright.
33085169689Skan
33086169689Skan2005-01-29  Richard Henderson  <rth@redhat.com>
33087169689Skan
33088169689Skan	PR target/19690
33089169689Skan	* config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
33090169689Skan	of # and * in constraints.
33091169689Skan
33092169689Skan2005-01-29  Richard Henderson  <rth@redhat.com>
33093169689Skan
33094169689Skan	PR middle-end/19689
33095169689Skan	* expr.c (store_field): Don't strip sub-mode cast when the input
33096169689Skan	data is even smaller.
33097169689Skan
33098169689Skan2005-01-29  Richard Henderson  <rth@redhat.com>
33099169689Skan
33100169689Skan	PR middle-end/19687
33101169689Skan	* expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
33102169689Skan	union being empty.
33103169689Skan
33104169689Skan2005-01-29  Richard Henderson  <rth@redhat.com>
33105169689Skan
33106169689Skan	* combine.c (make_field_assignment): Fix argument order
33107169689Skan	to gen_int_mode.
33108169689Skan
33109169689Skan2005-01-29  Richard Guenther <richard.guenther@uni-tuebingen.de>
33110169689Skan
33111169689Skan	PR tree-optimization/15791
33112169689Skan	* fold-const.c (extract_array_ref): New function.
33113169689Skan	(fold): Fold comparisons between &a[i] and &a[j] or
33114169689Skan	semantically equivalent trees.
33115169689Skan
33116169689Skan2005-01-29  Jeff Law  <law@redhat.com>
33117169689Skan
33118169689Skan	* gcse.c (insert_expr_in_table): Revamp handling of available
33119169689Skan	and anticipatable occurrence lists to avoid unnecessary list
33120169689Skan	walking.
33121169689Skan	(insert_set_in_table): Similarly.
33122169689Skan
33123169689Skan2005-01-29  Joseph S. Myers  <joseph@codesourcery.com>
33124169689Skan
33125169689Skan	* c-common.c (fix_string_type): Just use c_build_qualified_type to
33126169689Skan	build string type.
33127169689Skan	(c_build_qualified_type): Build qualified array types with
33128169689Skan	TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
33129169689Skan	* c-decl.c (c_make_fname_decl): Build unqualified array type
33130169689Skan	before qualified type.
33131169689Skan	(grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
33132169689Skan	type is qualified, not just if type itself is.  Don't apply
33133169689Skan	qualifiers to array type when declarator is processed.  Apply
33134169689Skan	qualifiers to field type whether or not it is an array type.
33135169689Skan	Don't handle array types specially for applying qualifiers to
33136169689Skan	variables.
33137169689Skan	* c-typeck.c (composite_type): Build unqualified element type and
33138169689Skan	array type when forming composite of array types.
33139169689Skan	(common_pointer_type, comptypes, comp_target_types,
33140169689Skan	type_lists_compatible_p, build_indirect_ref, build_array_ref,
33141169689Skan	convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
33142169689Skan	types.
33143169689Skan	(type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
33144169689Skan	(args2) in variables a1 and a2.
33145169689Skan
33146169689Skan2005-01-29  Kazu Hirata  <kazu@cs.umass.edu>
33147169689Skan
33148169689Skan	* cse.c (n_elements_made, max_elements_made): Remove.
33149169689Skan	(insert): Don't touch n_elements_made.
33150169689Skan	(cse_main): Don't touch n_elements_made or max_elements_made.
33151169689Skan
33152169689Skan2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
33153169689Skan
33154169689Skan	PR target/15384
33155169689Skan	* config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
33156169689Skan	configuration part of dp-bit.c to be lost.
33157169689Skan
33158169689Skan2005-01-28  Roger Sayle  <roger@eyesopen.com>
33159169689Skan
33160169689Skan	* expmed.c (expand_mult_highpart_optab): When attempting to use
33161169689Skan	a non-widening multiplication in a wider mode, the operands need
33162169689Skan	to be converted (zero or sign extended) to that mode.
33163169689Skan
33164169689Skan2005-01-28  Ian Lance Taylor  <ian@airs.com>
33165169689Skan
33166169689Skan	PR middle-end/16558
33167169689Skan	PR middle-end/19583
33168169689Skan	* gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
33169169689Skan	through if both operands fall through.
33170169689Skan
33171169689Skan2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
33172169689Skan
33173169689Skan	* cse.c (fold_rtx) <PC>: Don't optimize.
33174169689Skan
33175169689Skan2005-01-28  Jeff Law  <law@redhat.com>
33176169689Skan
33177169689Skan	* fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
33178169689Skan	(case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
33179169689Skan
33180169689Skan2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
33181169689Skan
33182169689Skan	* cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
33183169689Skan	cse_reg_info_used_list_end): Remove.
33184169689Skan	(cse_reg_info_list, cse_reg_info_list_free): New.
33185169689Skan	(get_cse_reg_info): When allocating an instance of
33186169689Skan	cse_reg_info, add it to the beginning of the cse_reg_info_list
33187169689Skan	list.  Remove code to maintain cse_reg_info_used_list.
33188169689Skan	(new_basic_block): Reset the free list to the beginning of
33189169689Skan	cse_reg_info_list.
33190169689Skan
33191169689Skan2005-01-28  Richard Sandiford  <rsandifo@redhat.com>
33192169689Skan
33193169689Skan	* config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
33194169689Skan	(frv_init_builtins): Change its prototype to take 4 uhalf arguments.
33195169689Skan	(frv_expand_mdpackh_builtin): New function.
33196169689Skan	(frv_expand_builtin): Use it to expand __MDPACKH.
33197169689Skan	* doc/extend.texi (__MDPACKH): Update documentation.
33198169689Skan
33199169689Skan2005-01-28  Uros Bizjak  <uros@kss-loka.si>
33200169689Skan
33201169689Skan	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
33202169689Skan	SSE_FLOAT_MODE_P for use_sse computation.
33203169689Skan
33204169689Skan2005-01-28  Ralf Corsepius  <ralf.corsepius@rtems.org>
33205169689Skan
33206169689Skan	PR target/19663
33207169689Skan	* config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
33208169689Skan
33209169689Skan2005-01-27  Richard Henderson  <rth@redhat.com>
33210169689Skan
33211169689Skan	* builtins.c (expand_builtin_copysign): New.
33212169689Skan	(expand_builtin): Call it.
33213169689Skan	* genopinit.c (optabs): Add copysign_optab.
33214169689Skan	* optabs.c (init_optabs): Initialize it.
33215169689Skan	(expand_copysign): New.
33216169689Skan	* optabs.h (OTI_copysign, copysign_optab): New.
33217169689Skan	(expand_copysign): Declare.
33218169689Skan
33219169689Skan	* config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
33220169689Skan	(copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
33221169689Skan
33222169689Skan	* config/i386/i386.c (ix86_build_signbit_mask): Split from ...
33223169689Skan	(ix86_expand_fp_absneg_operator): ... here.
33224169689Skan	(ix86_split_copysign): New.
33225169689Skan	* config/i386/i386-protos.h: Update.
33226169689Skan	* config/i386/i386.md (UNSPEC_COPYSIGN): New.
33227169689Skan	(copysignsf3, copysigndf3): New.
33228169689Skan
33229169689Skan	* config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
33230169689Skan	(copysignsf3, ncopysignsf3): New.
33231169689Skan	(copysigndf3, ncopysigndf3): New.
33232169689Skan	(copysignxf3, ncopysignxf3): New.
33233169689Skan	* config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
33234169689Skan
33235169689Skan2005-01-27  Arend Bayer  <arend.bayer@web.de>
33236169689Skan	    Kazu Hirata  <kazu@cs.umass.edu>
33237169689Skan
33238169689Skan	* cse.c: (find_best_addr): Don't call copy_rtx before calling
33239169689Skan	fold_rtx.  Save cost recomputation if fold_rtx did nothing.
33240169689Skan	(fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
33241169689Skan	NULL_RTX.
33242169689Skan
33243169689Skan2005-01-27  Jeff Law  <law@redhat.com>
33244169689Skan
33245169689Skan	* tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
33246169689Skan	definitions of SSA_NAMEs which are not being rewritten.
33247169689Skan	(rewrite_ssa_into_ssa): Only initialize the current definition
33248169689Skan	of an SSA_NAME if that SSA_NAME has been marked for rewriting.
33249169689Skan	If checking is enabled, assert that SSA_NAME_AUX is clear for all
33250169689Skan	SSA_NAMEs before returning.
33251169689Skan
33252169689Skan2005-01-27  Kazu Hirata  <kazu@cs.umass.edu>
33253169689Skan
33254169689Skan	* c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
33255169689Skan	cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
33256169689Skan	tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
33257169689Skan	config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
33258169689Skan	config/mips/iris6.h, config/sh/sh.c: Update copyright.
33259169689Skan
33260169689Skan2005-01-27  Steven Bosscher  <stevenb@suse.de>
33261169689Skan
33262169689Skan	PR middle-end/17278
33263169689Skan	* opts.c (decode_options): Move flag_thread_jumps from -O1 and
33264169689Skan	higher to -O2 and higher.  Likewise for tree PRE.
33265169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
33266169689Skan	and better.
33267169689Skan
33268169689Skan2005-01-27  Ian Lance Taylor  <ian@airs.com>
33269169689Skan
33270169689Skan	PR middle-end/19583
33271169689Skan	* gimple-low.c (try_catch_may_fallthru): New static function.
33272169689Skan	(block_may_fallthru): Handle TRY_CATCH_EXPR.
33273169689Skan	* tree-inline.c (expand_call_inline): Don't warn about reaching
33274169689Skan	the end of a non-void function being inlined if the function uses
33275169689Skan	a return slot.
33276169689Skan
33277169689Skan2005-01-27  Jakub Jelinek  <jakub@redhat.com>
33278169689Skan
33279169689Skan	* config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
33280169689Skan
33281169689Skan	PR c/18946
33282169689Skan	* c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
33283169689Skan	(pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
33284169689Skan	(implicitly_declare): Handle error_mark_node.
33285169689Skan
33286169689Skan2005-01-27  Richard Henderson  <rth@redhat.com>
33287169689Skan
33288169689Skan	PR tree-opt/14329
33289169689Skan	* tree.h (struct tree_decl): Add debug_expr_is_from.
33290169689Skan	(DECL_DEBUG_EXPR_IS_FROM): New.
33291169689Skan	(DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
33292169689Skan	* dwarf2out.c (dwarf2out_var_location): Update to match.
33293169689Skan	* tree-outof-ssa.c (create_temp): Likewise.
33294169689Skan	* var-tracking.c (track_expr_p): Likewise.
33295169689Skan	* tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
33296169689Skan	* c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
33297169689Skan	* toplev.c (default_tree_printer): Likewise.
33298169689Skan
33299169689Skan2005-01-27  Alexandre Oliva  <aoliva@redhat.com>
33300169689Skan
33301169689Skan	* config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
33302169689Skan	GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
33303169689Skan
33304169689Skan2005-01-27  Steven Bosscher  <stevenb@suse.de>
33305169689Skan
33306169689Skan	* tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
33307169689Skan	CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
33308169689Skan	ASM_CLOBBERS): Add tree checks.
33309169689Skan
33310169689Skan	* c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
33311169689Skan	(SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
33312169689Skan	* c-common.def (SWITCH_STMT): Update to match.
33313169689Skan	* c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
33314169689Skan	macros instead of SWITCH_EXPR ones.
33315169689Skan	* c-dump.c (c_dump_tree): Likewise.
33316169689Skan	* c-gimplify.c (gimplify_switch_stmt): Likewise.
33317169689Skan	* c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
33318169689Skan
33319169689Skan	* doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
33320169689Skan
33321169689Skan2005-01-27  Alan Modra  <amodra@bigpond.net.au>
33322169689Skan
33323169689Skan	* unwind-dw2.c (execute_stack_op): Add missing cases for
33324169689Skan	DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
33325169689Skan
33326169689Skan2005-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
33327169689Skan
33328169689Skan	* config.gcc (Obsolete configurations): Remove 'dummy', add
33329169689Skan	sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
33330169689Skan	sparc-*-openbsd*.
33331169689Skan
33332169689Skan2005-01-26  Diego Novillo  <dnovillo@redhat.com>
33333169689Skan
33334169689Skan	PR tree-optimization/19633
33335169689Skan	* tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
33336169689Skan	CALL_EXPRs.
33337169689Skan	(maybe_create_global_var): Do not create .GLOBAL_VAR if there
33338169689Skan	are no call-clobbered variables.
33339169689Skan	* tree-outof-ssa.c (check_replaceable): Return false for calls
33340169689Skan	with side-effects.
33341169689Skan
33342169689Skan2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
33343169689Skan
33344169689Skan	* dbxout.c (dbxout_symbol_location): Resolve constant pool references
33345169689Skan	even for variables with NULL DECL_INITIAL.
33346169689Skan
33347169689Skan2005-01-26  Stuart Hastings  <stuart@apple.com>
33348169689Skan
33349169689Skan	* gimplify.c (shortcut_cond_expr): Re-compute side-effects.
33350169689Skan
33351169689Skan2005-01-26  Richard Henderson  <rth@redhat.com>
33352169689Skan
33353169689Skan	PR middle-end/18008
33354169689Skan	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
33355169689Skan	field's type.
33356169689Skan	* expr.c (store_field): Strip conversions to odd-bit-sized types
33357169689Skan	if the destination field width matches.
33358169689Skan
33359169689Skan2005-01-26  Richard Henderson  <rth@redhat.com>
33360169689Skan
33361169689Skan	* c-decl.c, expmed.c, expr.c: Revert last change.
33362169689Skan
33363169689Skan2005-01-26  Richard Henderson  <rth@redhat.com>
33364169689Skan
33365169689Skan	PR middle-end/18008
33366169689Skan	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
33367169689Skan	field's type.
33368169689Skan	* expmed.c (store_fixed_bit_field): Create a paradoxical subreg
33369169689Skan	if we don't need the bits above those present in the current mode.
33370169689Skan	* expr.c (store_field): Strip conversions to odd-bit-sized types
33371169689Skan	if the destination field width matches.
33372169689Skan
33373169689Skan2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
33374169689Skan
33375169689Skan	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
33376169689Skan	either -ffast-math or -funsafe-math-optimizations is in use.
33377169689Skan
33378169689Skan2005-01-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
33379169689Skan
33380169689Skan	PR target/19293
33381169689Skan	PR target/19329
33382169689Skan	* config/avr/avr.c (notice_update_cc): Only set condition code for
33383169689Skan	ashrqi3 if shift count > 0.
33384169689Skan	(out_shift_with_cnt): Handle shift count <= 0 as a no-op.
33385169689Skan	(ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
33386169689Skan	ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
33387169689Skan	count <= 0 as a no-op, and shift count >= width by copying zero
33388169689Skan	or sign bit to all bits of the result.
33389169689Skan	* config/avr/avr.md (all shifts): Add alternatives for zero shift
33390169689Skan	count, with attribute "length" set to 0 and "cc" set to "none".
33391169689Skan
33392169689Skan2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
33393169689Skan
33394169689Skan	* doc/invoke.texi: Document -mTLS.
33395169689Skan
33396169689Skan	* testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
33397169689Skan	* testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
33398169689Skan	* testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
33399169689Skan	* testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
33400169689Skan	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
33401169689Skan	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
33402169689Skan	* testsuite/gcc.target/frv/all-tls-local-exec.c: New.
33403169689Skan	* testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
33404169689Skan
33405169689Skan	* configure.ac: Check for a TLS capable gas.
33406169689Skan
33407169689Skan	* configure: Regenerate.
33408169689Skan
33409169689Skan2005-01-26  Richard Henderson  <rth@redhat.com>
33410169689Skan
33411169689Skan	PR middle-end/18008
33412169689Skan	* combine.c (make_field_assignment): Simplify store to zero_extract
33413169689Skan	from a source with an overlapping mask.
33414169689Skan
33415169689Skan2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
33416169689Skan
33417169689Skan	2004-11-11  Eric Christopher  <echristo@redhat.com>
33418169689Skan
33419169689Skan	* config/frv/frv.md: Add fr400_integer automaton. Don't
33420169689Skan	allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
33421169689Skan	to TYPE_MACC.
33422169689Skan
33423169689Skan2005-01-26  Steven Bosscher  <stevenb@suse.de>
33424169689Skan
33425169689Skan	PR middle-end/16585
33426169689Skan	* cfgbuild.c (make_edges): Do not clear or set
33427169689Skan	current_function_has_computed_jump.
33428169689Skan	* function.h (struct function): Remove the has_computed_jump field.
33429169689Skan	(current_function_has_computed_jump): Do not define.
33430169689Skan	* sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
33431169689Skan	in a computed jump.  Ignore current_function_has_computed_jump.
33432169689Skan
33433169689Skan2005-01-26  Richard Henderson  <rth@redhat.com>
33434169689Skan
33435169689Skan	PR middle-end/19515
33436169689Skan	* expr.c (categorize_ctor_elements): New argument p_must_clear.
33437169689Skan	(categorize_ctor_elements_1): Likewise.  Detect a union that isn't
33438169689Skan	fully initialized.
33439169689Skan	(mostly_zeros_p): Update for new categorize_ctor_elements argument.
33440169689Skan	* gimplify.c (gimplify_init_constructor): Likewise.  Only shove
33441169689Skan	objects into static storage if they have more than one non-zero value.
33442169689Skan	* tree.h (categorize_ctor_elements): Update decl.
33443169689Skan
33444169689Skan2005-01-26  Steven Bosscher  <stevenb@suse.de>
33445169689Skan
33446169689Skan	PR middle-end/19616
33447169689Skan	* tree.h (CALL_EXPR_TAILCALL): Add comment.
33448169689Skan	* calls.c (check_sibcall_argument_overlap_1): Revert the change
33449169689Skan	to this function from 2004-07-10.
33450169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
33451169689Skan	the current function for tail call optimizations if the address
33452169689Skan	of one of it its arguments is taken.
33453169689Skan
33454169689Skan2005-01-26  Kazu Hirata  <kazu@cs.umass.edu>
33455169689Skan
33456169689Skan	* cse.c (fold_rtx): Call equiv_constant only when necessary.
33457169689Skan
33458169689Skan2005-01-26  Bernd Schmidt  <bernd.schmidt@analog.com>
33459169689Skan
33460169689Skan	* function.c (expand_function_end): If current_function_calls_alloca,
33461169689Skan	emit stack restore in a place that is reached when the function falls
33462169689Skan	through at the end.
33463169689Skan
33464169689Skan2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
33465169689Skan
33466169689Skan	* Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
33467169689Skan	rule to avoid matching inappropriate suffix rule.
33468169689Skan
33469169689Skan2005-01-26  Jan Hubicka  <jh@suse.cz>
33470169689Skan
33471169689Skan	PR tree-optimization/19241
33472169689Skan	* tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
33473169689Skan
33474169689Skan2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
33475169689Skan
33476169689Skan	* config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
33477169689Skan	-lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
33478169689Skan	of doubling.
33479169689Skan	(STARTFILE_SPEC): Add crti.o, before crtbegin.o.
33480169689Skan	<sim*>: Always use crt1.o, regardless of N in simN.
33481169689Skan	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
33482169689Skan	(ENDFILE_SPEC): Add crtn.o, after crtend.o.
33483169689Skan	(CRT_CALL_STATIC_FUNCTION): Remove.
33484169689Skan	* config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
33485169689Skan	use crt1.o, regardless of N in simN.
33486169689Skan	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
33487169689Skan	(LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
33488169689Skan	(CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
33489169689Skan	case isystem setting.
33490169689Skan	(MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
33491169689Skan
33492169689Skan2005-01-25  Ian Lance Taylor  <ian@airs.com>
33493169689Skan
33494169689Skan	* gimple-low.c (block_may_fallthru): Correct handling of
33495169689Skan	SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
33496169689Skan
33497169689Skan2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
33498169689Skan
33499169689Skan	* config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
33500169689Skan	handlers to match indentation; nested under the mtune=* handler.
33501169689Skan	Similar for mcpu= and march=.
33502169689Skan
33503169689Skan2005-01-25  Daniel Jacobowitz  <dan@codesourcery.com>
33504169689Skan
33505169689Skan	* config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
33506169689Skan	* config/mips/linux64.h (LIB_SPEC): Likewise.
33507169689Skan	* config/mn10300/linux.h (LIB_SPEC): Likewise.
33508169689Skan	* config/sh/linux.h (LIB_SPEC): Likewise.
33509169689Skan
33510169689Skan2005-01-25  Aldy Hernandez  <aldyh@redhat.com>
33511169689Skan
33512169689Skan	* config/frv/frv.c (frv_legitimize_tls_address): New.
33513169689Skan	(TARGET_HAVE_TLS): Define.
33514169689Skan	(FRV_SYMBOL_REF_TLS_P): Define.
33515169689Skan	(frv_override_options): Handle new register classes.
33516169689Skan	(frv_legitimate_address_p): Reject tls addresses.
33517169689Skan	(frv_legitimize_address): Handle TLS addresses.
33518169689Skan	(gen_inlined_tls_plt): New.
33519169689Skan	(gen_tlsmoff): New.
33520169689Skan	(frv_legitimize_tls_address): New.
33521169689Skan	(unspec_got_name): Add TLS entries.
33522169689Skan	(got12_operand): Add R_FRV_TLSMOFF12 case.
33523169689Skan	(frv_emit_move): Fixup TLS addresses.
33524169689Skan	(frv_emit_movsi): Legitimize TLS addresses.
33525169689Skan
33526169689Skan	* config/frv/frv.h (MASK_BIG_TLS): New.
33527169689Skan	(TARGET_BIG_TLS): New.
33528169689Skan	(HAVE_AS_TLS): Define.
33529169689Skan	(TARGET_SWITCHES): Add -mTLS and -mtls options.
33530169689Skan	(enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
33531169689Skan	(REG_CLASS_NAMES): Same.
33532169689Skan	(REG_CLASS_CONTENTS): Same.
33533169689Skan	(CONSTRAINT_LEN): New.
33534169689Skan	(REG_CLASS_FROM_CONSTRAINT): New.
33535169689Skan	(PREDICATE_CODES): Add symbolic_operand.
33536169689Skan
33537169689Skan	* config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
33538169689Skan	UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
33539169689Skan	UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
33540169689Skan	UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
33541169689Skan	R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
33542169689Skan	R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
33543169689Skan	R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
33544169689Skan	GR9_REG, GR14_REG, LRREG.
33545169689Skan	(type): Add load_or_call attribute.
33546169689Skan	("load_or_call"): New reservation.
33547169689Skan	("call_gettlsoff"): New.
33548169689Skan	("tls_indirect_call"): New.
33549169689Skan	("tls_load_gottlsoff12"): New.
33550169689Skan	("tlsoff_hilo"): New.
33551169689Skan	("tls_tlsdesc_ldd"): New.
33552169689Skan	("tls_tlsoff_ld"): New.
33553169689Skan	("tls_lddi"): New.
33554169689Skan
33555169689Skan	* config/frv/frv-protos.h (symbolic_operand): Protoize.
33556169689Skan
33557169689Skan	2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
33558169689Skan
33559169689Skan	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
33560169689Skan	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
33561169689Skan	* config/frv/frv.c (TLS_BIAS): Define.
33562169689Skan	(frv_output_dwarf_dtprel): New.
33563169689Skan
33564169689Skan2005-01-26  Jakub Jelinek  <jakub@redhat.com>
33565169689Skan
33566169689Skan	PR rtl-optimization/19579
33567169689Skan	* ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
33568169689Skan	both A and B, see if they don't clobber registers the other expr uses.
33569169689Skan
33570169689Skan2005-01-25  J"orn Rennecke <joern.rennecke@st.com>
33571169689Skan
33572169689Skan	* real.c (do_add): Initialize signalling and canonical members.
33573169689Skan
33574169689Skan	* real.c (real_from_integer): Zero out destination.
33575169689Skan
33576169689Skan2005-01-18  Jan Hubicka  <jh@suse.cz>
33577169689Skan
33578169689Skan	PR tree-optimize/19337
33579169689Skan	* tree-inline.c (initialize_inlined_parameters): Copy
33580169689Skan	saved_static_chain_decl only.
33581169689Skan
33582169689Skan2005-01-25  Richard Henderson  <rth@redhat.com>
33583169689Skan
33584169689Skan	PR target/19556
33585169689Skan	PR target/19584
33586169689Skan	* config/i386/i386.c (x86_inter_unit_moves): Zero.
33587169689Skan	(ix86_preferred_reload_class): Rewrite fp-constant section, with
33588169689Skan	80387 enabled, to return a proper subclass.  Return the subset that
33589169689Skan	overlaps with GENERAL_REGS for PLUS.
33590169689Skan	* config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
33591169689Skan
33592169689Skan2005-01-25  Richard Henderson  <rth@redhat.com>
33593169689Skan
33594169689Skan	PR middle-end/19609
33595169689Skan	* tree-complex.c (expand_complex_div_wide): Use the correct formulae.
33596169689Skan
33597169689Skan2005-01-25  Roger Sayle  <roger@eyesopen.com>
33598169689Skan
33599169689Skan	* expmed.c (choose_multiplier): Change interface to return the
33600169689Skan	multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
33601169689Skan	(expand_divmod): Update calls to choose_multiplier.
33602169689Skan
33603169689Skan2005-01-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
33604169689Skan
33605169689Skan	PR middle-end/19330
33606169689Skan	* expmed.c (extract_bit_field): Use adjust_address instead of
33607169689Skan	gen_lowpart when op0 is a MEM.
33608169689Skan
33609169689Skan2005-01-24  Steven Bosscher  <stevenb@suse.de>
33610169689Skan
33611169689Skan	* cfgexpand.c (expand_gimple_tailcall): Fix typo.
33612169689Skan
33613169689Skan2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
33614169689Skan
33615169689Skan	* config/mips/irix-csr.c: New file.
33616169689Skan	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
33617169689Skan	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
33618169689Skan	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
33619169689Skan	executables.
33620169689Skan
33621169689Skan2005-01-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
33622169689Skan
33623169689Skan	PR bootstrap/19364
33624169689Skan	* config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
33625169689Skan	sparc/elf.h, add sparc/sp-elf.h.
33626169689Skan	(sparc-*-rtems*): Likewise.
33627169689Skan	(sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
33628169689Skan	tm-dwarf2.h, add sparc/sp-elf.h.
33629169689Skan	(sparc86x-*-elf): Likewise.
33630169689Skan	(sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
33631169689Skan	* config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
33632169689Skan	TARGET_OS_CPP_BUILTINS.
33633169689Skan	* config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
33634169689Skan	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
33635169689Skan	Undefine it.
33636169689Skan	* config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
33637169689Skan	* config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
33638169689Skan	(SWITCH_TAKES_ARG): Likewise.
33639169689Skan	(LOCAL_LABEL_PREFIX): Likewise.
33640169689Skan	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
33641169689Skan	(TARGET_N_FORMAT_TYPES): Delete.
33642169689Skan	(TARGET_FORMAT_TYPES): Likewise.
33643169689Skan	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
33644169689Skan	* config/sparc/elf.h: Delete.
33645169689Skan	* config/sparc/sp-elf.h: New file.
33646169689Skan
33647169689Skan2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
33648169689Skan
33649169689Skan	* tree-flow-inline.h (phi_arg_from_edge): Remove.
33650169689Skan	* tree-flow.h: Remove the corresponding prototype.
33651169689Skan	* tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
33652169689Skan	tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
33653169689Skan
33654169689Skan2005-01-24  Jakub Jelinek  <jakub@redhat.com>
33655169689Skan
33656169689Skan	PR target/17751
33657169689Skan	* config/rs6000/rs6000.c (rs6000_file_start): Create toc section
33658169689Skan	for AIX ABI or ELF -fPIC.
33659169689Skan	(rs6000_emit_load_toc_table): Don't create toc_section here.
33660169689Skan	(rs6000_xcoff_file_start): Nor here.
33661169689Skan
33662169689Skan2005-01-24  J"orn Rennecke <joern.rennecke@st.com>
33663169689Skan
33664169689Skan	* sh.c (ra.h): Don't #include.
33665169689Skan	(hard_regs_intersect_p): New function, resurrected from ra.c.
33666169689Skan
33667169689Skan	* sh.c: Fix 1996 Copyright.
33668169689Skan
33669169689Skan2005-01-24  Richard Henderson  <rth@redhat.com>
33670169689Skan	    Aldy Hernandez  <aldyh@redhat.com>
33671169689Skan
33672169689Skan	* regrename.c (note_sets): Handle subregs.
33673169689Skan
33674169689Skan2005-01-24  Joseph S. Myers  <joseph@codesourcery.com>
33675169689Skan
33676169689Skan	PR bootstrap/18058
33677169689Skan	* genconditions.c (write_header, write_conditions): Elide file if
33678169689Skan	not GCC >= 3.0.1.
33679169689Skan
33680169689Skan2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
33681169689Skan
33682169689Skan	* c-opts.c, expmed.c, gengtype.c, tree-complex.c,
33683169689Skan	config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
33684169689Skan	Update copyright.
33685169689Skan
33686169689Skan2005-01-24  Jakub Jelinek  <jakub@redhat.com>
33687169689Skan
33688169689Skan	* builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
33689169689Skan	expand_builtin_printf, expand_builtin_fprintf,
33690169689Skan	expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
33691169689Skan	checking against POINTER_TYPE.
33692169689Skan	(validate_arglist): Handle POINTER_TYPE code by checking
33693169689Skan	POINTER_TYPE_P.
33694169689Skan
33695169689Skan2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
33696169689Skan
33697169689Skan	* rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
33698169689Skan	init_rtlanal): New.
33699169689Skan	(for_each_rtx): Call for_each_rtx_1.
33700169689Skan	* rtl.h (init_rtlanal): Declare.
33701169689Skan	* toplev.c (backend_init): Call init_rtlanal.
33702169689Skan
33703169689Skan2005-01-24  Jakub Jelinek  <jakub@redhat.com>
33704169689Skan
33705169689Skan	* flow.c (propagate_one_insn): Formatting.
33706169689Skan
33707169689Skan	PR middle-end/19551
33708169689Skan	* flow.c (libcall_dead_p): Be more conservative if unsure.
33709169689Skan	If there are any instructions between insn and call, see if they are
33710169689Skan	all dead before saying the libcall is dead.
33711169689Skan
33712169689Skan2005-01-24  Uros Bizjak  <uros@kss-loka.si>
33713169689Skan
33714169689Skan	* config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
33715169689Skan	operand constraint for operand 0.
33716169689Skan
33717169689Skan2005-01-23  Richard Henderson  <rth@redhat.com>
33718169689Skan
33719169689Skan	PR 19486
33720169689Skan	* tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
33721169689Skan	edges leading to join block.
33722169689Skan
33723169689Skan2005-01-23  Roger Sayle  <roger@eyesopen.com>
33724169689Skan
33725169689Skan	* expmed.c (expand_mult_highpart): Make static.  Change type of
33726169689Skan	constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
33727169689Skan	(expand_divmod): Updates calls to expand_mult_highpart by using
33728169689Skan	gen_int_mode to pass a CONST_INT rtx.
33729169689Skan	* rtl.h (expand_mult_highpart): Remove prototype.
33730169689Skan
33731169689Skan2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
33732169689Skan
33733169689Skan	* flow.c (regset_bytes, regset_size): Remove.
33734169689Skan
33735169689Skan	* cfganal.c: Fix a reference to Harvey's paper.
33736169689Skan
33737169689Skan2005-01-23  Steven Bosscher  <stevenb@suse.de>
33738169689Skan
33739169689Skan	PR rtl-optimization/19464
33740169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add one more
33741169689Skan	copyrename pass just before out-of-ssa.
33742169689Skan
33743169689Skan2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
33744169689Skan
33745169689Skan	PR bootstrap/18058
33746169689Skan	* recog.c (recog_memoized): Don't define if GENERATOR_FILE.
33747169689Skan	* ggc-none.c (ggc_free): Define.
33748169689Skan
33749169689Skan2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
33750169689Skan
33751169689Skan	* cse.c (max_reg, max_insn_uid): Remove.
33752169689Skan	(cse_main): Don't access max_reg or max_insn_uid.
33753169689Skan
33754169689Skan	* c-common.c (explicit_flag_signed_bitfields,
33755169689Skan	lang_statement_code_p, lang_expand_function_end): Remove.
33756169689Skan	* c-common.h: Remove the corresponding declarations.
33757169689Skan	* c-opts.c (c_common_handle_option): Remove all write access
33758169689Skan	to explicit_flag_signed_bitfields.
33759169689Skan
33760169689Skan	* cgraph.c (cgraph_varpool_n_nodes): Remove.
33761169689Skan	(cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
33762169689Skan	* cgraph.h: Remove the corresponding declaration.
33763169689Skan
33764169689Skan	* gcse.c (null_pointer_info): Remove.
33765169689Skan
33766169689Skan2005-01-23  Roger Sayle  <roger@eyesopen.com>
33767169689Skan	    Eric Botcazou  <ebotcazou@libertysurf.fr>
33768169689Skan
33769169689Skan	* combine.c (simplify_logical): Only simplify logical expressions
33770169689Skan	of the form ior(and(x,y),z) by the inverse distributive law if the
33771169689Skan	result is cheaper than the original.
33772169689Skan
33773169689Skan2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
33774169689Skan
33775169689Skan	* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
33776169689Skan	fold-const.c, gimplify.c, params.h, tree-data-ref.c,
33777169689Skan	tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
33778169689Skan	tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
33779169689Skan	config/freebsd-spec.h, config/arm/arm.h,
33780169689Skan	config/h8300/h8300.md, config/i386/i386.md,
33781169689Skan	config/i386/predicates.md, config/i386/sse.md,
33782169689Skan	config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
33783169689Skan	config/vax/vax.md: Fix comment typos.  Follow spelling
33784169689Skan	conventions.
33785169689Skan
33786169689Skan2005-01-23  Steven Bosscher  <stevenb@suse.de>
33787169689Skan
33788169689Skan	* gengtype.c (walk_type): Produce `not equal to' compares for loop
33789169689Skan	tests, instead of `less than'.
33790169689Skan
33791169689Skan2005-01-23  Richard Sandiford  <rsandifo@redhat.com>
33792169689Skan
33793169689Skan	* function.c (assign_parm_setup_block): When creating a new stack slot
33794169689Skan	for a parameter, get its alignment from the parameter's DECL_ALIGN
33795169689Skan	rather than the type's TYPE_ALIGN.  Make sure that the parameter
33796169689Skan	is at least word aligned.
33797169689Skan
33798169689Skan2005-01-22  Roger Sayle  <roger@eyesopen.com>
33799169689Skan
33800169689Skan	PR middle-end/19378
33801169689Skan	* config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
33802169689Skan
33803169689Skan2005-01-22  Richard Henderson  <rth@redhat.com>
33804169689Skan
33805169689Skan	PR target/19506
33806169689Skan	* config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
33807169689Skan	in both compare operands.
33808169689Skan	(movdfcc_1_sse_max): Likewise.
33809169689Skan	(movsfcc_1_sse): Likewise.  Add earlyclobber for scratch.
33810169689Skan	(movdfcc_1_sse): Likewise.
33811169689Skan	* config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
33812169689Skan	scratch register as needed.
33813169689Skan
33814169689Skan2005-01-22  Richard Henderson  <rth@redhat.com>
33815169689Skan
33816169689Skan	* config/i386/i386.md (smaxsf3): Fix mnemonic typo.
33817169689Skan
33818169689Skan	* config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
33819169689Skan
33820169689Skan2005-01-22  Richard Henderson  <rth@redhat.com>
33821169689Skan
33822169689Skan	* genopinit.c (optabs): Use smin/smax for floating point too.
33823169689Skan	* doc/md.texi: Update to match.  Clarify that floating point
33824169689Skan	results are undefined for +0/-0 and NaN.
33825169689Skan	* doc/rtl.texi: Likewise.
33826169689Skan	* rtl.def (SMIN, SMAX): Likewise
33827169689Skan	* tree.def (MIN_EXPR, MAX_EXPR): Likewise.
33828169689Skan
33829169689Skan	* config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
33830169689Skan	leading 's' to the name.
33831169689Skan	* config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
33832169689Skan	smaxxf3, sminxf3): Likewise.
33833169689Skan	* config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
33834169689Skan	Likewise.
33835169689Skan
33836169689Skan2005-01-22  Paul Brook  <paul@codesourcery.com>
33837169689Skan
33838169689Skan	* config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
33839169689Skan
33840169689Skan2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
33841169689Skan
33842169689Skan	* config/s390/s390.c (struct processor_costs): New fields
33843169689Skan	dlgr, dlr, dr, dsgfr, dsgr.
33844169689Skan	(z900_cost, z990_cost): Values for new fields.
33845169689Skan	(s390_rtx_costs): New cases MEM und COMPARE in switch
33846169689Skan	statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
33847169689Skan	DIV, MOD, UDIV, UMOD.
33848169689Skan
33849169689Skan2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
33850169689Skan
33851169689Skan	* config/s390/s390.md ("doloop_si64"): Reload input value directly
33852169689Skan	into the register being decremented.
33853169689Skan	("doloop_si31", "doloop_di"): Likewise.
33854169689Skan	("*doloop_si_long"): Adapt pattern.
33855169689Skan
33856169689Skan2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
33857169689Skan
33858169689Skan	* config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
33859169689Skan	access registers.
33860169689Skan	(CLASS_MAX_NREGS): Likewise.
33861169689Skan
33862169689Skan2005-01-21  Daniel Berlin  <dberlin@dberlin.org>
33863169689Skan
33864169689Skan	* doc/tree-ssa.texi (Statement Operands): Add example for new
33865169689Skan	must-def macro. Note deprecation of old operands interface.
33866169689Skan
33867169689Skan2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
33868169689Skan
33869169689Skan	PR tree-optimization/19484
33870169689Skan	* tree-cfg.c (remove_fallthru_edge): New function.
33871169689Skan	(cleanup_control_flow): Remove fallthru edges from calls that are
33872169689Skan	now known not to return.
33873169689Skan
33874169689Skan2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
33875169689Skan
33876169689Skan	Fix PR tree-optimization/19038
33877169689Skan	* tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
33878169689Skan	copies with loop variant ones.
33879169689Skan
33880169689Skan2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
33881169689Skan
33882169689Skan	* cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
33883169689Skan	config/alpha/alpha-protos.h, config/alpha/alpha.h,
33884169689Skan	config/alpha/alpha.md, config/alpha/predicates.md,
33885169689Skan	config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
33886169689Skan	config/sparc/sol2.h: Update copyright.
33887169689Skan
33888169689Skan	* tree-cfg.c (remove_forwarder_block_with_phi): Look at the
33889169689Skan	first label to see if it is a nonlocal label.
33890169689Skan
33891169689Skan2005-01-22  David Edelsohn  <edelsohn@gnu.org>
33892169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
33893169689Skan
33894169689Skan	PR target/19491
33895169689Skan	* config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
33896169689Skan	maximum number of GPRs.  Saturate n_fpr at maximum number of FPRs.
33897169689Skan
33898169689Skan2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
33899169689Skan
33900169689Skan	* config/rs6000/rtems.h: Update copyright.
33901169689Skan
33902169689Skan2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
33903169689Skan
33904169689Skan	PR target/19548
33905169689Skan	* config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
33906169689Skan	(CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
33907169689Skan	(SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
33908169689Skan
33909169689Skan2005-01-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
33910169689Skan
33911169689Skan	PR c/18809
33912169689Skan	* c-typeck.c (convert_arguments): Check for error_mark_node.
33913169689Skan
33914169689Skan2005-01-21  Ian Lance Taylor  <ian@airs.com>
33915169689Skan
33916169689Skan	PR tree-optimization/13000
33917169689Skan	* tree-inline.c: Include "tree-flow.h".
33918169689Skan	(expand_call_inline): If warn_return_type, warn if non-void inline
33919169689Skan	function falls through.
33920169689Skan	* tree-cfg.c (execute_warn_function_return): Don't warn about
33921169689Skan	control reaching end if TREE_NO_WARNING is set.  Set
33922169689Skan	TREE_NO_WARNING.
33923169689Skan	* gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
33924169689Skan	has been lowered.
33925169689Skan	* gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
33926169689Skan	branch if we don't need one.
33927169689Skan	* c-typeck.c: Include "tree-flow.h"
33928169689Skan	(c_finish_bc_stmt): Don't add a goto if the current statement
33929169689Skan	list doesn't fall through to the current point.
33930169689Skan
33931169689Skan2005-01-21  Roger Sayle  <roger@eyesopen.com>
33932169689Skan
33933169689Skan	PR rtl-optimization/576
33934169689Skan	* real.c (real_arithmetic): Change return type from void to bool
33935169689Skan	to return an indication that the result may be inexact.
33936169689Skan	* real.h (real_arithmeric): Update prototype.
33937169689Skan	* fold-const.c (const_binop): Don't constant fold floating
33938169689Skan	point expressions when the user specifies -frounding-math and
33939169689Skan	the result may depend upon the run-time rounding mode.
33940169689Skan	(fold_convert_const_real_from_real): Clean-up.
33941169689Skan	(fold_initializer): Ignore flag_rounding_math for initializers.
33942169689Skan	* simplify-rtx.c (simplify_binary_operation): Likewise, don't
33943169689Skan	constant fold FP operations with flag_rounding_math if the
33944169689Skan	result may depend upon the run-time rounding mode.
33945169689Skan
33946169689Skan2005-01-21  Tom Tromey  <tromey@redhat.com>
33947169689Skan
33948169689Skan	* c-cppbuiltin.c (define__GNUC__): Correct assertion.
33949169689Skan
33950169689Skan2005-01-21  Kazu Hirata  <kazu@cs.umass.edu>
33951169689Skan
33952169689Skan	* tree-cfg.c: Fix comment typos.
33953169689Skan
33954169689Skan2005-01-21  J"orn Rennecke <joern.rennecke@st.com>
33955169689Skan
33956169689Skan	* passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
33957169689Skan	around the call to rest_of_handle_branch_target_load_optimize.
33958169689Skan
33959169689Skan2005-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
33960169689Skan
33961169689Skan	* config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
33962169689Skan	(sparc64-*-openbsd*): Likewise.
33963169689Skan	(sparclite-*-elf*): Include tm-dwarf2.h.
33964169689Skan	(sparc86x-*-elf*): Likewise.
33965169689Skan	(sparc64-*-elf*): Likewise.
33966169689Skan	* config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
33967169689Skan	(DBX_DEBUGGING_INFO): Likewise.
33968169689Skan	* config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
33969169689Skan	(PREFERRED_DEBUGGING_TYPE): Likewise.
33970169689Skan	* config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
33971169689Skan	* config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
33972169689Skan	(PREFERRED_DEBUGGING_TYPE): Likewise.
33973169689Skan	* config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
33974169689Skan	(PREFERRED_DEBUGGING_TYPE): Likewise.
33975169689Skan	* config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
33976169689Skan
33977169689Skan2005-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
33978169689Skan
33979169689Skan	PR target/18701
33980169689Skan	* combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
33981169689Skan
33982169689Skan2005-01-20  Paul Brook  <paul@codesourcery.com>
33983169689Skan
33984169689Skan	* doc/rtl.texi: Document value extension requirements for CONST_INT.
33985169689Skan
33986169689Skan2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
33987169689Skan
33988169689Skan	* tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
33989169689Skan	label is first in a sequence of labels.
33990169689Skan
33991169689Skan	* tree-cfg.c (tree_verify_flow_info): Fix a typo.
33992169689Skan
33993169689Skan2005-01-20  Janis Johnson  <janis187@us.ibm.com>
33994169689Skan	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
33995169689Skan
33996169689Skan	* doc/sourcebuild.texi (Test Directives): New.
33997169689Skan
33998169689Skan2005-01-20  Roger Sayle  <roger@eyesopen.com>
33999169689Skan
34000169689Skan	* real.c (real_floor): Don't leave the result uninitialized when
34001169689Skan	mode is VOIDMode, but return the unrounded intermediate value.
34002169689Skan	(real_ceil): Likewise.
34003169689Skan
34004169689Skan2005-01-20  Paul Brook  <paul@codesourcery.com>
34005169689Skan
34006169689Skan	* config/arm/arm.md (insv): Use gen_int_mode.
34007169689Skan
34008169689Skan2005-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
34009169689Skan
34010169689Skan	* config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
34011169689Skan	* config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
34012169689Skan	* config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
34013169689Skan	* config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
34014169689Skan	* config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
34015169689Skan
34016169689Skan2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
34017169689Skan
34018169689Skan	Fix PR debug/19124
34019169689Skan	* dwarf2out.c (concat_loc_descriptor): We don't know we can use
34020169689Skan	fbreg, so we have to assume we can't.
34021169689Skan	(loc_descriptor_from_tree_1): Ditto.
34022169689Skan	(containing_function_has_frame_base): New function.
34023169689Skan	(add_location_or_const_value_attribute): Use it.
34024169689Skan	Also try to generate a frame_base from a single element location
34025169689Skan	list.
34026169689Skan
34027169689Skan2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
34028169689Skan
34029169689Skan	PR tree-optimization/15349
34030169689Skan	* timevar.def (TV_TREE_MERGE_PHI): New.
34031169689Skan	* tree-cfg.c (tree_forwarder_block_p): Add a new argument
34032169689Skan	PHI_WANTED.
34033169689Skan	(remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
34034169689Skan	calls to tree_forwarder_block_p.
34035169689Skan	(remove_forwarder_block_with_phi, merge_phi_nodes,
34036169689Skan	gate_merge_phi, pass_merge_phi): New.
34037169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
34038169689Skan	pass_merge_phi.
34039169689Skan	* tree-pass.h: Add an extern for pass_merge_phi;
34040169689Skan
34041169689Skan2005-01-20  Richard Henderson  <rth@redhat.com>
34042169689Skan
34043169689Skan	PR target/19418
34044169689Skan	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
34045169689Skan	(_mm_castps_pd, _mm_castps_si128): New.
34046169689Skan	(_mm_castsi128_ps, _mm_castsi128_pd): New.
34047169689Skan
34048169689Skan2005-01-20  Richard Henderson  <rth@redhat.com>
34049169689Skan
34050169689Skan	PR target/19530
34051169689Skan	* config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
34052169689Skan	__builtin_ia32_vec_init_v2si.
34053169689Skan	(_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
34054169689Skan	* config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
34055169689Skan	(ix86_init_mmx_sse_builtins): Create it.
34056169689Skan	(ix86_expand_builtin): Expand it.
34057169689Skan	(ix86_expand_vector_set): Handle V2SFmode and V2SImode.
34058169689Skan	* config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
34059169689Skan	(vec_extractv2si_0, vec_extractv2si_1): New.
34060169689Skan
34061169689Skan2005-01-20  Richard Henderson  <rth@redhat.com>
34062169689Skan
34063169689Skan	PR target/16533
34064169689Skan	* config/i386/i386.c (ix86_expand_push): New.
34065169689Skan	* config/i386/mmx.md (push<MMXMODE>1): New.
34066169689Skan	* config/i386/sse.md (push<SSEMODE>1): New.
34067169689Skan	* config/i386/i386-protos.h: Update.
34068169689Skan
34069169689Skan2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
34070169689Skan
34071169689Skan	* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
34072169689Skan	copyright.
34073169689Skan
34074169689Skan2005-01-20  Richard Henderson  <rth@redhat.com>
34075169689Skan
34076169689Skan	* rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
34077169689Skan	* rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
34078169689Skan
34079169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34080169689Skan
34081169689Skan	PR target/19350
34082169689Skan	* config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
34083169689Skan	to V4SFmode in SSE1 fallback load path.
34084169689Skan
34085169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34086169689Skan
34087169689Skan	* config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
34088169689Skan	in QImode expansion to ix86_expand_vector_set.
34089169689Skan	(ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
34090169689Skan
34091169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34092169689Skan
34093169689Skan	PR target/19511
34094169689Skan	* config/i386/i386.c (ix86_preferred_reload_class): Return a proper
34095169689Skan	subclass of the input class.
34096169689Skan	(ix86_secondary_memory_needed): Always true for cross-MMX classes.
34097169689Skan	Always true for cross-SSE1 classes.  Rationalize conditionals.
34098169689Skan	* config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
34099169689Skan	* config/i386/i386.md (movsi_1): Add MMX/SSE zeros.  Fix alternatives
34100169689Skan	for SSE1.  Don't check TARGET_INTER_UNIT_MOVES.
34101169689Skan	(movdi_2): Add MMX/SSE zeros.
34102169689Skan	(movdi_1_rex64): Likewise.  Don't check TARGET_INTER_UNIT_MOVES.
34103169689Skan	(movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
34104169689Skan	(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
34105169689Skan	(movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
34106169689Skan	(movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
34107169689Skan	(zero_extendsidi2_rex64_1): Remove.
34108169689Skan	(MOV0 peephole): Check GENERAL_REG_P.
34109169689Skan
34110169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34111169689Skan
34112169689Skan	PR target/19427
34113169689Skan	* config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
34114169689Skan	shufps elements.
34115169689Skan	(ix86_expand_vector_extract): Likewise.
34116169689Skan
34117169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34118169689Skan
34119169689Skan	PR middle-end/19304
34120169689Skan	* expr.c (emit_move_change_mode): New argument force; use
34121169689Skan	simplify_gen_subreg if true.
34122169689Skan	(emit_move_via_alt_mode): Merge into ...
34123169689Skan	(emit_move_via_integer): ... here.
34124169689Skan	(emit_move_ccmode): Use emit_move_change_mode directly.
34125169689Skan
34126169689Skan2005-01-19  Richard Henderson  <rth@redhat.com>
34127169689Skan
34128169689Skan	PR target/19518
34129169689Skan	* config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
34130169689Skan	(alpha_preferred_reload_class): Handle CONST_VECTOR.
34131169689Skan	(alpha_emit_set_const_1): Add no_output parameter; don't emit
34132169689Skan	rtl if true.
34133169689Skan	(alpha_emit_set_const): Likewise.  Make static.
34134169689Skan	(alpha_emit_set_long_const): Make static.
34135169689Skan	(alpha_extract_integer): Split out from alpha_expand_mov.
34136169689Skan	(alpha_split_const_mov): Likewise.
34137169689Skan	(alpha_expand_mov): Use them.  Handle CONST_VECTOR.
34138169689Skan	(alpha_legitimate_constant_p): New.
34139169689Skan	* config/alpha/alpha-protos.h: Update.
34140169689Skan	* config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
34141169689Skan	(LEGITIMATE_CONSTANT_P): Re-implement with a function.
34142169689Skan	* config/alpha/alpha.md (movsi): Add n alternative.
34143169689Skan	(movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
34144169689Skan	(mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
34145169689Skan	(splitters for all of the above): Use alpha_split_const_mov.
34146169689Skan	* config/alpha/predicates.md (non_add_const_operand): New.
34147169689Skan	(non_zero_const_operand): New.
34148169689Skan	(input_operand): Use alpha_legitimate_constant_p after reload.
34149169689Skan
34150169689Skan2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
34151169689Skan
34152169689Skan	PR tree-optimization/19038
34153169689Skan	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
34154169689Skan	(add_candidate): Add ivs with increment in latch only if
34155169689Skan	allow_ip_end_pos_p is true.
34156169689Skan	(determine_iv_cost): Use empty_block_p.
34157169689Skan
34158169689Skan2005-01-19  Daniel Berlin  <dberlin@dberlin.org>
34159169689Skan
34160169689Skan	* cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
34161169689Skan	(compute_dominance_frontiers): Ditto.
34162169689Skan
34163169689Skan2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
34164169689Skan
34165169689Skan	PR target/19529
34166169689Skan	* config/sh/t-rtems: New.
34167169689Skan	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
34168169689Skan
34169169689Skan2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
34170169689Skan
34171169689Skan	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
34172169689Skan	the offset of the selected field.
34173169689Skan
34174169689Skan2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
34175169689Skan
34176169689Skan	* tree-cfg.c (remove_forwarder_block): Fix the check to
34177169689Skan	prevent a nonlocal label from appearing in the middle of a
34178169689Skan	basic block.
34179169689Skan
34180169689Skan2005-01-19  Hans-Peter Nilsson  <hp@axis.com>
34181169689Skan
34182169689Skan	PR rtl-optimization/19462
34183169689Skan	* reorg.c (find_end_label): Create return insn only if
34184169689Skan	current_function_epilogue_delay_list is empty.
34185169689Skan
34186169689Skan2005-01-19  Paolo Bonzini  <bonzini@gnu.org>
34187169689Skan
34188169689Skan	* doc/passes.texi: Remove paragraph mentioning new-ra.
34189169689Skan
34190169689Skan2005-01-19  Jakub Jelinek  <jakub@redhat.com>
34191169689Skan
34192169689Skan	PR rtl-optimization/15139
34193169689Skan	* combine.c: Include params.h.
34194169689Skan	(count_rtxs): New function.
34195169689Skan	(record_value_for_reg): If replace_rtx would replace at least
34196169689Skan	2 occurrences of REG in VALUE and TEM is really large, replace REG with
34197169689Skan	(clobber (const_int 0)) instead of TEM.
34198169689Skan	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
34199169689Skan	* params.h (MAX_LAST_VALUE_RTL): New.
34200169689Skan	* Makefile.in (combine.o): Depend on $(PARAMS_H).
34201169689Skan	* doc/invoke.texi (--param max-last-value-rtl=N): Document.
34202169689Skan
34203169689Skan	PR c/17297
34204169689Skan	* c-typeck.c (digest_init): Only call build_vector if all constructor
34205169689Skan	elements are *_CST nodes.
34206169689Skan	* gimplify.c (gimplify_init_constructor): Likewise.
34207169689Skan
34208169689Skan	PR middle-end/19164
34209169689Skan	* c-typeck.c (digest_init): Only call build_vector if inside_init
34210169689Skan	is a CONSTRUCTOR.
34211169689Skan
34212169689Skan2005-01-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
34213169689Skan
34214169689Skan	* toplev.c (init_asm_output): Remove dead #ifdef.
34215169689Skan
34216169689Skan2005-01-18  Kaz Kojima  <kkojima@gcc.gnu.org>
34217169689Skan
34218169689Skan	* config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
34219169689Skan
34220169689Skan2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
34221169689Skan
34222169689Skan	* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
34223169689Skan	accessing DECL_FUNCTION_CODE.
34224169689Skan	* dojump.c (do_jump): Likewise.
34225169689Skan	* gimplify.c (gimplify_call_expr): Likewise.
34226169689Skan	* predict.c (expr_expected_value): Likewise.
34227169689Skan	(strip_builtin_expect): Likewise.
34228169689Skan	* tree-inline.c (estimate_num_insns_1): Likewise.
34229169689Skan	* tree-ssa-loop-im.c (stmt_cost): Likewise
34230169689Skan	* fold-const.c (fold): Test for BUILT_IN_NORMAL.
34231169689Skan	(tree_expr_nonnegative_p): Likewise.
34232169689Skan
34233169689Skan2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
34234169689Skan
34235169689Skan	* config/sparc/sparc.c (load_pic_register): Emit the appropriate
34236169689Skan	variant of the load_pcrel_sym pattern.
34237169689Skan	* config/sparc/sparc.md (P macro): Move to the top.
34238169689Skan	(load_pcrel_sym): Macroize using P.
34239169689Skan	(save_register_window): Likewise.
34240169689Skan
34241169689Skan2005-01-18  Aldy Hernandez  <aldyh@redhat.com>
34242169689Skan
34243169689Skan	* config/rs6000/rs6000.md ("sunordered"): Disable for e500.
34244169689Skan	("sordered"): Same.
34245169689Skan
34246169689Skan2005-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
34247169689Skan
34248169689Skan	PR C/19472
34249169689Skan	* c-typeck.c (build_asm_expr): Strip nops off
34250169689Skan	input memory operands.
34251169689Skan
34252169689Skan2005-01-18  David Edelsohn  <edelsohn@gnu.org>
34253169689Skan
34254169689Skan	* config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
34255169689Skan	_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
34256169689Skan	* config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
34257169689Skan	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
34258169689Skan
34259169689Skan2005-01-18  Joel Sherrill <joel.sherrill@oarcorp.com>
34260169689Skan
34261169689Skan	PR target/19379
34262169689Skan	* config/i386/i386.c (override_options): If the 80387 is disabled,
34263169689Skan	then do not return FP values using FP registers.
34264169689Skan
34265169689Skan2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
34266169689Skan
34267169689Skan	* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
34268169689Skan	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
34269169689Skan	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
34270169689Skan	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
34271169689Skan	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
34272169689Skan	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
34273169689Skan	output.h, postreload-gcse.c, postreload.c, recog.c,
34274169689Skan	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
34275169689Skan	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
34276169689Skan	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
34277169689Skan	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
34278169689Skan	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
34279169689Skan	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
34280169689Skan	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
34281169689Skan	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
34282169689Skan
34283169689Skan	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
34284169689Skan	config/alpha/alpha.c, config/arm/vfp.md,
34285169689Skan	config/i386/emmintrin.h, config/i386/i386-modes.def,
34286169689Skan	config/i386/i386-protos.h, config/i386/i386.h,
34287169689Skan	config/i386/pmmintrin.h, config/i386/ppro.md,
34288169689Skan	config/i386/predicates.md, config/i386/xmmintrin.h,
34289169689Skan	config/i860/i860.c, config/ia64/ia64-modes.def,
34290169689Skan	config/ia64/ia64-protos.h, config/ia64/ia64.h,
34291169689Skan	config/ia64/ia64.md, config/ia64/itanium1.md,
34292169689Skan	config/ia64/itanium2.md, config/ia64/predicates.md,
34293169689Skan	config/iq2000/iq2000.h, config/mips/linux64.h,
34294169689Skan	config/rs6000/aix41.h, config/rs6000/aix43.h,
34295169689Skan	config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
34296169689Skan	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
34297169689Skan	config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
34298169689Skan	config/sparc/linux64.h, config/sparc/litecoff.h,
34299169689Skan	config/sparc/sp64-elf.h, config/sparc/sparc.c,
34300169689Skan	config/sparc/sparc.h, config/sparc/sparc.md,
34301169689Skan	config/sparc/sysv4-only.h: Update copyright.
34302169689Skan
34303169689Skan2005-01-18  Richard Henderson  <rth@redhat.com>
34304169689Skan
34305169689Skan	PR target/19496
34306169689Skan	* config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
34307169689Skan
34308169689Skan2005-01-18  Marc Espie  <espie@openbsd.org>
34309169689Skan	* config/i386/openbsdelf.h: Typo.
34310169689Skan
34311169689Skan2005-01-18  Richard Henderson  <rth@redhat.com>
34312169689Skan
34313169689Skan	* config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
34314169689Skan	special case for sse.
34315169689Skan	* config/i386/predicates.md (sse_comparison_operator): Likewise.
34316169689Skan
34317169689Skan2005-01-18  Dorit Naishlos  <dorit@il.ibm.com>
34318169689Skan
34319169689Skan	* tree-inline.c (estimate_num_insns_1): Added cases for
34320169689Skan	ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
34321169689Skan
34322169689Skan2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
34323169689Skan
34324169689Skan	PR rtl-optimization/19296
34325169689Skan	* combine.c (simplify_comparison): Rewrite the condition under
34326169689Skan	which a non-paradoxical SUBREG of a PLUS can be lifted when
34327169689Skan	compared against a constant.
34328169689Skan
34329169689Skan2005-01-18  Andi Kleen <ak@muc.de>
34330169689Skan
34331169689Skan	* c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
34332169689Skan	* c.opt (-Wpointer-sign): Add.
34333169689Skan	* doc/invoke.texi: (-Wpointer-sign): Add.
34334169689Skan
34335169689Skan2005-01-18  Uros Bizjak  <uros@kss-loka.si>
34336169689Skan
34337169689Skan	* config/i386/i386.c (override_options): Revert 2004-11-24 change.
34338169689Skan	* config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
34339169689Skan	*tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
34340169689Skan	logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
34341169689Skan	exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
34342169689Skan	nearbyintsf2): Disable for TARGET_SSE_MATH.  Leave patterns enabled
34343169689Skan	for TARGET_MIX_SSE_I387.
34344169689Skan	(fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
34345169689Skan	sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
34346169689Skan	atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
34347169689Skan	log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
34348169689Skan	floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
34349169689Skan	(TARGET_SSE2 && TARGET_SSE_MATH).  Leave patterns enabled for
34350169689Skan	TARGET_MIX_SSE_I387.
34351169689Skan	(atan2sf3, atan2df3, atan2xf3): Remove register constraints
34352169689Skan	from expander.
34353169689Skan
34354169689Skan2005-01-18  Uros Bizjak  <uros@kss-loka.si>
34355169689Skan
34356169689Skan	PR target/19424
34357169689Skan	* config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
34358169689Skan	Add movaps alternative for xmm reg->reg move.
34359169689Skan
34360169689Skan2005-01-17  Jeff Law  <law@redhat.com>
34361169689Skan
34362169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
34363169689Skan	at the end of the main DOM loop rather than just before DOM exits.
34364169689Skan
34365169689Skan2005-01-17  Diego Novillo  <dnovillo@redhat.com>
34366169689Skan
34367169689Skan	PR tree-optimization/19121
34368169689Skan	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
34369169689Skan	adding aliases to a name tag, also add them to the pointer's
34370169689Skan	type tag.
34371169689Skan	* tree-ssa-copy.c (merge_alias_info): Do not merge flow
34372169689Skan	sensitive alias info at all.  Only check that the two pointers
34373169689Skan	have compatible pointed-to sets.
34374169689Skan	* tree-ssa.c (verify_name_tags): Verify that the alias set of
34375169689Skan	a pointer's type tag is a superset of the alias set of the
34376169689Skan	pointer's name tag.
34377169689Skan
34378169689Skan2005-01-17  James E Wilson  <wilson@specifixinc.com>
34379169689Skan
34380169689Skan	PR target/19357
34381169689Skan	* config/ia64/ia64.md (movxf): Handle general register source.  Adjust
34382169689Skan	comment to document why.
34383169689Skan
34384169689Skan2005-01-17  Richard Henderson  <rth@redhat.com>
34385169689Skan
34386169689Skan	* config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
34387169689Skan	sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
34388169689Skan	sse2_vmsmaxv2df3_finite, sminv2df3_finite,
34389169689Skan	sse2_vmsminv2df3_finite): New.
34390169689Skan	(smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
34391169689Skan	sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
34392169689Skan	Force op1 into register.
34393169689Skan
34394169689Skan2005-01-17  Kelley Cook  <kcook@gcc.gnu.org>
34395169689Skan
34396169689Skan	* Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
34397169689Skan	bubblestrap from always rebuilding build directory.
34398169689Skan
34399169689Skan2005-01-17  Ulrich Weigand  <uweigand@de.ibm.com>
34400169689Skan
34401169689Skan	* config/s390/s390.md ("*clc"): Remove incorrect '='.
34402169689Skan	("*cmpmem_short"): Likewise.
34403169689Skan
34404169689Skan2005-01-17  Steven Bosscher  <stevenb@suse.de>
34405169689Skan
34406169689Skan	* basic-block.h: Document BB_* flags.
34407169689Skan	* regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
34408169689Skan	use an sbitmap instead.
34409169689Skan	* sched-rgn.c (compute_trg_info): Likewise.
34410169689Skan
34411169689Skan2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
34412169689Skan
34413169689Skan	* config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
34414169689Skan	redundant target_cpu_default and extra_parts lines.  Use the default
34415169689Skan	"from-abi" ISA.
34416169689Skan	* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
34417169689Skan	(SUBTARGET_EXTRA_SPECS): Delete.
34418169689Skan	(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
34419169689Skan	(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
34420169689Skan	* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
34421169689Skan	and "n32" for -mabi=n32.
34422169689Skan
34423169689Skan2005-01-17  Ian Lance Taylor  <ian@airs.com>
34424169689Skan
34425169689Skan	PR c/5675
34426169689Skan	* c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
34427169689Skan	fold constant variables into initial values.
34428169689Skan
34429169689Skan2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
34430169689Skan
34431169689Skan	* tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
34432169689Skan
34433169689Skan	* tree-cfg.c (tree_forwarder_block_p): Speed up by walking
34434169689Skan	through the statements backward.
34435169689Skan
34436169689Skan2005-01-17  Ian Lance Taylor  <ian@airs.com>
34437169689Skan
34438169689Skan	PR middle-end/13127:
34439169689Skan	* tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
34440169689Skan	a variable set to the return value of the inlined function.
34441169689Skan
34442169689Skan2005-01-17  Mark Dettinger  <dettinge@de.ibm.com>
34443169689Skan
34444169689Skan	* rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
34445169689Skan	when modes are tieable.
34446169689Skan
34447169689Skan2005-01-17  Ranjit Mathew  <rmathew@hotmail.com>
34448169689Skan
34449169689Skan	* gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
34450169689Skan	of pthread_create to find out if threads are enabled.
34451169689Skan	* gthr-posix95.h (__gthread_active_p): Likewise.
34452169689Skan
34453169689Skan2005-01-17  Paolo Bonzini  <bonzini@gnu.org>
34454169689Skan
34455169689Skan	* common.opt (-fnew-ra): Remove.
34456169689Skan	* ra*.*: Remove.
34457169689Skan	* toplev.h (flag_new_regalloc): Remove.
34458169689Skan	* Makefile.in (ra*.*): Don't mention.
34459169689Skan	* passes.c (rest_of_handle_new_regalloc): Remove.
34460169689Skan	(rest_of_handle_combine, rest_of_compilation): Always consider
34461169689Skan	flag_new_regalloc as false.
34462169689Skan	* doc/invoke.texi: Don't document -fnew-ra.
34463169689Skan
34464169689Skan2005-01-17  Paolo Bonzini <bonzini@gnu.org>
34465169689Skan
34466169689Skan	* bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
34467169689Skan	last parameter to reg_scan.
34468169689Skan	* loop.c (loop_optimize): Likewise.
34469169689Skan	* passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
34470169689Skan	rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
34471169689Skan	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
34472169689Skan	rest_of_handle_gcse, rest_of_handle_loop_optimize,
34473169689Skan	rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
34474169689Skan	* regclass.c (reg_scan): Likewise, for the declaration.
34475169689Skan	* rtl.h (reg_scan): Likewise, for the prototype.
34476169689Skan
34477169689Skan2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
34478169689Skan
34479169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
34480169689Skan	mark_dfs_back_edges.
34481169689Skan
34482169689Skan2005-01-16  Daniel Berlin  <dberlin@dberlin.org>
34483169689Skan
34484169689Skan	* tree-ssa-pre.c (add_to_sets): s1 may be NULL.
34485169689Skan	(compute_avail): Uses don't go in tmp_gen.
34486169689Skan
34487169689Skan2005-01-16  Steven Bosscher  <stevenb@suse.de>
34488169689Skan
34489169689Skan	* ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
34490169689Skan	loop to look for a free slot in a page entry.
34491169689Skan
34492169689Skan2005-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
34493169689Skan
34494169689Skan	PR target/16304
34495169689Skan	* defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
34496169689Skan	* toplev.c (compile_file): Call process_pending_assemble_output_defs
34497169689Skan	just before targetm.asm_out.file_end.
34498169689Skan	* tree.h (process_pending_assemble_output_defs): Declare.
34499169689Skan	* varasm.c (assemble_output_def, process_pending_assemble_output_defs):
34500169689Skan	New functions.
34501169689Skan	(assemble_alias): Defer generation of assembly code for defines when
34502169689Skan	TARGET_DEFERRED_OUTPUT_DEFS is true.
34503169689Skan	* config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
34504169689Skan	* config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
34505169689Skan	* doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
34506169689Skan
34507169689Skan2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
34508169689Skan
34509169689Skan	PR target/19336
34510169689Skan	* pa.c (pa_scalar_mode_supported_p): New function.
34511169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
34512169689Skan	* pa.h (MIN_UNITS_PER_WORD): Add comment.
34513169689Skan
34514169689Skan	* pa-protos.h (prefetch_operand): Delete.
34515169689Skan	(prefetch_cc_operand, prefetch_nocc_operand): New declations.
34516169689Skan	* pa.c (prefetch_operand): Delete.
34517169689Skan	(prefetch_cc_operand, prefetch_nocc_operand): New functions.
34518169689Skan	* pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
34519169689Skan	(PREDICATE_CODES): Delete prefetch_operand.  Add prefetch_cc_operand
34520169689Skan	and prefetch_nocc_operand.
34521169689Skan	* pa.md (prefetch): Rework to avoid reload problems handling short
34522169689Skan	displacements when a cache control completer needs to be provided.
34523169689Skan	(prefetch_32, prefetch_64): Delete.
34524169689Skan	(prefetch_cc, prefetch_nocc): New patterns.
34525169689Skan
34526169689Skan2005-01-15  David Edelsohn  <edelsohn@gnu.org>
34527169689Skan
34528169689Skan	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
34529169689Skan
34530169689Skan2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
34531169689Skan
34532169689Skan	PR ada/19388
34533169689Skan	* pa.c (pa_asm_output_aligned_common): Warn if specified alignment
34534169689Skan	exceeds maximum alignment for global common data.
34535169689Skan	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
34536169689Skan	* som.h (MAX_OFILE_ALIGNMENT): Likewise.
34537169689Skan
34538169689Skan2004-01-15  Roger Sayle  <roger@eyesopen.com>
34539169689Skan
34540169689Skan	* tree-ssa-dom.c (extract_range_from_cond): Correct condition.
34541169689Skan
34542169689Skan2004-01-15  Roger Sayle  <roger@eyesopen.com>
34543169689Skan
34544169689Skan	* harg-reg-set.h (reg_class_names): Prototype global array.
34545169689Skan	* regclass.c (reg_class_names): Declare here and initialize to
34546169689Skan	REG_CLASS_NAMES.
34547169689Skan	(dump_regclass): Remove local declaration of reg_class_names.
34548169689Skan	(regclass): Likewise.
34549169689Skan	* cfg.c (dump_flow_info): Likewise.
34550169689Skan	* ra-debug.c (reg_class_names): Likewise.
34551169689Skan	* regrename.c (reg_class_names): Likewise.
34552169689Skan	* reload.c (reg_class_names): Likewise.
34553169689Skan	* reload1.c (spill_failure): Likewise.
34554169689Skan	* config/m68hc11/m68hc11.c (reg_class_names): Likewise.
34555169689Skan
34556169689Skan2005-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
34557169689Skan
34558169689Skan	* config/s390/s390.md ("reload_outti"): Remove predicate for
34559169689Skan	output operand.  Abort if operand is not a MEM.
34560169689Skan	("reload_outdi", "reload_outdf"): Likewise.
34561169689Skan
34562169689Skan2005-01-15  Marc Espie  <espie@openbsd.org>
34563169689Skan
34564169689Skan	* config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
34565169689Skan	(i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
34566169689Skan	* config/openbsd.h: Fix C++ includes for native configurations.
34567169689Skan	Add proper OS_CPP_BUILTINS.  Fix libspec for recent OpenBSD.
34568169689Skan	Add trampoline support.
34569169689Skan	* config/i386/openbsdelf.h: New.
34570169689Skan
34571169689Skan2005-01-15  Marc Espie  <espie@openbsd.org>
34572169689Skan
34573169689Skan	* collect2.c (main): Explicitly parse -dynamic-linker option.
34574169689Skan
34575169689Skan2005-01-15  Jakub Jelinek  <jakub@redhat.com>
34576169689Skan
34577169689Skan	PR tree-optimization/19060
34578169689Skan	* tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
34579169689Skan	Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
34580169689Skan	(simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
34581169689Skan	and handle extract_range_from_cond returning false.
34582169689Skan	* fold-const.c (fold): Optimize comparisons with min/max even for
34583169689Skan	width > HOST_BITS_PER_WIDE_INT.
34584169689Skan
34585169689Skan2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
34586169689Skan
34587169689Skan	* config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
34588169689Skan	* config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
34589169689Skan	Remove little endian multilib variants.
34590169689Skan	Add mips32 multilib variant.
34591169689Skan
34592169689Skan2005-01-15  Kazu Hirata  <kazu@cs.umass.edu>
34593169689Skan
34594169689Skan	* explow.c (copy_all_reg, stabilize): Remove.
34595169689Skan	* expr.h: Remove the corresponding prototypes.
34596169689Skan
34597169689Skan	* rtlanal.c (regs_set_between_p): Remove.
34598169689Skan	* rtl.h: Remove the corresponding prototype.
34599169689Skan
34600169689Skan2005-01-14  David Edelsohn  <edelsohn@gnu.org>
34601169689Skan
34602169689Skan	* config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
34603169689Skan	to rs6000_nonimmediate_operand.
34604169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Rename
34605169689Skan	rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
34606169689Skan	* config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
34607169689Skan	rs6000_nonimmediate_operand.
34608169689Skan	* config/rs6000/spe.md (movdf_e500_double): Rename predicate to
34609169689Skan	rs6000_nonimmediate_operand.
34610169689Skan
34611169689Skan2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
34612169689Skan
34613169689Skan	* tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
34614169689Skan
34615169689Skan2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
34616169689Skan
34617169689Skan	* config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
34618169689Skan	on e500v2.
34619169689Skan	(CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
34620169689Skan	(PREDICATE_CODES): Add rs6k_nonimmediate_operand.
34621169689Skan
34622169689Skan	* config/rs6000/rs6000.c (invalid_e500_subreg): New.
34623169689Skan	(rs6k_nonimmediate_operand): New.
34624169689Skan	(rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
34625169689Skan	correctly.
34626169689Skan	(legitimate_lo_sum_address_p): Same.
34627169689Skan	(rs6000_legitimize_address): Same.
34628169689Skan	(rs6000_legitimize_reload_address): Same.
34629169689Skan	(rs6000_legitimate_address): Same.
34630169689Skan	(spe_build_register_parallel): Pass DF and DC modes in a DI
34631169689Skan	register.
34632169689Skan
34633169689Skan	* config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
34634169689Skan	to rs6k_nonimmediate_operand.
34635169689Skan
34636169689Skan	* config/rs6000/spe.md ("*frob_df_di"): New.
34637169689Skan	("*frob_di_df"): New.
34638169689Skan	("*frob_di_df_2"): New.
34639169689Skan	("*mov_sidf_e500_subreg0"): New.
34640169689Skan	("*mov_sidf_e500_subreg4"): New.
34641169689Skan	("*movdf_e500_double"): Change predicate to
34642169689Skan	rs6k_nonimmediate_operand.
34643169689Skan
34644169689Skan2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
34645169689Skan
34646169689Skan	* postreload.c (move2add_note_store): Only call
34647169689Skan	trunc_int_for_mode on scalar integers.
34648169689Skan
34649169689Skan2005-01-14  Steven Bosscher  <stevenb@suse.de>
34650169689Skan
34651169689Skan	* tree-ssa-dce.c (visited_control_parents): New sbitmap to
34652169689Skan	replace BB_VISITED uses.
34653169689Skan	(find_obviously_necessary_stmts): Don't clear BB_VISITED.
34654169689Skan	(propagate_necessity): Check the bitmap instead of BB_VISITED.
34655169689Skan	(tree_dce_done): Free visited_control_parents.
34656169689Skan	(perform_tree_ssa_dce): Allocate and clear it.
34657169689Skan	* tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
34658169689Skan	(compute_antic): Iterate from here using a DFS.  Use an sbitmap
34659169689Skan	instead of BB_VISITED.
34660169689Skan
34661169689Skan2005-01-14  Kazu Hirata  <kazu@cs.umass.edu>
34662169689Skan
34663169689Skan	* c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
34664169689Skan	rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
34665169689Skan	Remove unused prototypes.
34666169689Skan
34667169689Skan2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
34668169689Skan
34669169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
34670169689Skan	64-bit register usage.
34671169689Skan	(spe_func_has_64bit_regs_p): Add FIXME note.
34672169689Skan
34673169689Skan2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
34674169689Skan
34675169689Skan	* config/rs6000/rs6000.c (rs6000_generate_compare): Replace
34676169689Skan	flag_finite_math_only with flag_unsafe_math_optimizations.
34677169689Skan
34678169689Skan2005-01-14  J. D. Johnston  <jjohnst@us.ibm.com>
34679169689Skan
34680169689Skan	* config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
34681169689Skan	end-of-stack check.
34682169689Skan	(__tpf_eh_return): Copy TPF private stack area from the module
34683169689Skan	boundary stack frame.  Add check for when module addresses are
34684169689Skan	equal, but no stub address is found.
34685169689Skan
34686169689Skan2005-01-14  Richard Earnshaw  <rearnsha@arm.com>
34687169689Skan
34688169689Skan	PR target/7525
34689169689Skan	* arm.h (struct machine_function): Add call_via field.
34690169689Skan	(thumb_call_via_label): Declare.
34691169689Skan	* arm.c (thumb_call_via_label): New variable.
34692169689Skan	(thumb_call_reg_needed): New variable.
34693169689Skan	(arm_output_function_epilogue): For Thumb code, output any per-function
34694169689Skan	call-indirect trampolines.
34695169689Skan	(thumb_call_via_reg): New function.
34696169689Skan	(arm_file_end): New function.
34697169689Skan	(TARGET_ASM_FILE_END): Call arm_file_end.
34698169689Skan	(aof_file_end): Likewise.
34699169689Skan	* arm-protos.h (thumb_call_via_reg): Declare.
34700169689Skan	* arm.md (call_reg_thumb, call_value_reg_thumb): Call
34701169689Skan	thumb_call_via_reg in normal case.
34702169689Skan
34703169689Skan2005-01-14  Jakub Jelinek  <jakub@redhat.com>
34704169689Skan
34705169689Skan	PR middle-end/19084
34706169689Skan	PR rtl-optimization/19348
34707169689Skan	* recog.c (peephole2_optimize): Do global life update if some peephole
34708169689Skan	decides it doesn't need at least one of its inputs and that change
34709169689Skan	influences liveness at the start of the basic block.
34710169689Skan
34711169689Skan	* basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
34712169689Skan	arguments instead of 1.
34713169689Skan
34714169689Skan2005-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
34715169689Skan
34716169689Skan	PR middle-end/18820
34717169689Skan	* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
34718169689Skan	zero for nested functions needing a static chain or functions
34719169689Skan	with a non-constant address.
34720169689Skan
34721169689Skan2005-01-13  Roger Sayle  <roger@eyesopen.com>
34722169689Skan
34723169689Skan	* simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
34724169689Skan	(and (sign_extend X) C) into (zero_extend (and X C)).
34725169689Skan
34726169689Skan2005-01-13  David O'Brien  <obrien@FreeBSD.org>
34727169689Skan
34728169689Skan	* config/freebsd-spec.h: Make KSE pthread lib logic the default.
34729169689Skan
34730169689Skan2005-01-13  Richard Henderson  <rth@redhat.com>
34731169689Skan
34732169689Skan	PR target/19009
34733169689Skan	PR target/19250
34734169689Skan	PR target/19252
34735169689Skan	* config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
34736169689Skan	bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
34737169689Skan	not just TARGET_SSE.
34738169689Skan	(cmpfp_i_387): Rename from cmpfp_i.  Move after sse patterns.
34739169689Skan	(cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
34740169689Skan	(cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
34741169689Skan	(cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
34742169689Skan	(fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
34743169689Skan	(fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
34744169689Skan	(fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
34745169689Skan	fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
34746169689Skan	(movdicc_c_rex64): Rename with '*'.
34747169689Skan	(movsfcc, movdfcc): Add checks for 387 and sse math to condition.
34748169689Skan	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
34749169689Skan	(movsfcc_1_387): Rename from movsfcc_1.
34750169689Skan	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
34751169689Skan	(movdfcc_1, movdfcc_1_rex64): Add check for 387.
34752169689Skan	(sminsf3, smaxsf3, smindf3, smaxdf3): New.
34753169689Skan	(minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
34754169689Skan	mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
34755169689Skan	maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
34756169689Skan	sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
34757169689Skan	sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
34758169689Skan	sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
34759169689Skan	sse_movdfcc_const0_4): Remove.
34760169689Skan	* config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
34761169689Skan	recognize min/max early.  Update for changed sse cmove patterns.
34762169689Skan	(ix86_split_sse_movcc): New.
34763169689Skan	* config/i386/i386-protos.h: Update.
34764169689Skan
34765169689Skan2005-01-13  Steven Bosscher  <stevenb@suse.de>
34766169689Skan
34767169689Skan	* tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
34768169689Skan	(fix_stmt_v_may_defs): Likewise.
34769169689Skan
34770169689Skan2005-01-13  Richard Henderson  <rth@redhat.com>
34771169689Skan
34772169689Skan	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
34773169689Skan	for converting the mask.
34774169689Skan
34775169689Skan2005-01-13  David Edelsohn  <edelsohn@gnu.org>
34776169689Skan
34777169689Skan	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
34778169689Skan	definition to 600.
34779169689Skan
34780169689Skan2005-01-13  Richard Henderson  <rth@redhat.com>
34781169689Skan
34782169689Skan	* config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
34783169689Skan	IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
34784169689Skan	IX86_BUILTIN_MOVDQ2Q): Remove.
34785169689Skan	(IX86_BUILTIN_VEC_EXT_V4SI): New.
34786169689Skan	(ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
34787169689Skan	(ix86_expand_vector_extract): For V4S[FI], extract element 0 after
34788169689Skan	shuffling.
34789169689Skan	* config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
34790169689Skan	(sse2_pextrw): Fix immediate constraint.
34791169689Skan	(sse2_loadq, sse2_loadq_rex64): Remove.
34792169689Skan	* config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
34793169689Skan	Use __builtin_ia32_vec_ext_<size>.
34794169689Skan	(_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
34795169689Skan
34796169689Skan2005-01-13  Aldy Hernandez  <aldyh@redhat.com>
34797169689Skan
34798169689Skan	* function.c (assign_parm_setup_block): Look inside original
34799169689Skan	entry_parm when inspecting PARALLEL.
34800169689Skan
34801169689Skan2005-01-13  Ralf Corsepius  <ralf.corsepius@rtems.org>
34802169689Skan	    Joel Sherrill  <joel@oarcorp.com>
34803169689Skan
34804169689Skan	PR target/19399
34805169689Skan	* gthr-rtems.h (__gthread_recursive_mutex_t): New type.
34806169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
34807169689Skan	rtems_gxx_recursive_mutex_init.
34808169689Skan	(__gthread_recursive_mutex_lock): New function.
34809169689Skan	(__gthread_recursive_mutex_trylock): Likewise.
34810169689Skan	(__gthread_recursive_mutex_unlock): Likewise.
34811169689Skan
34812169689Skan2005-01-13  Ralf Corsepius <ralf.corsepius@rtems.org>
34813169689Skan
34814169689Skan	* config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
34815169689Skan
34816169689Skan2005-01-13  Jan Beulich  <jbeulich@novell.com>
34817169689Skan
34818169689Skan	* config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
34819169689Skan	(ashrti3_internal): Indicate output is early clobber. Generate result
34820169689Skan	into output rather than first input. Use move for low word of output
34821169689Skan	if shift count is exactly 64.
34822169689Skan	(lshrti3_internal): Likewise.
34823169689Skan
34824169689Skan2005-01-13  Hans-Peter Nilsson  <hp@bitrange.com>
34825169689Skan
34826169689Skan	PR target/18329
34827169689Skan	PR target/18330
34828169689Skan	* reload1.c (delete_output_reload): Don't delete an output reload
34829169689Skan	if the pseudo lives longer than a single basic block.  Adjust and
34830169689Skan	improve wording of comment.
34831169689Skan
34832169689Skan2005-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
34833169689Skan
34834169689Skan	PR target/19334
34835169689Skan	* config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
34836169689Skan	of TYPE_SIZE where we mean the number of bytes.
34837169689Skan
34838169689Skan2005-01-12  Aldy Hernandez  <aldyh@redhat.com>
34839169689Skan
34840169689Skan	* function.c (assign_parm_setup_block): Relax condition on
34841169689Skan	multi-register optimization.
34842169689Skan
34843169689Skan2005-01-12  Nick Clifton  <nickc@redhat.com>
34844169689Skan
34845169689Skan	* config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
34846169689Skan	an "in_delay_slot" attribute of "no" to prevent them being used in
34847169689Skan	delay slots.  This is forbidden because they might generate
34848169689Skan	exceptions.
34849169689Skan
34850169689Skan2005-01-12  Alan Modra  <amodra@bigpond.net.au>
34851169689Skan
34852169689Skan	PR target/19389
34853169689Skan	* config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
34854169689Skan	with r->Y and Y->r.
34855169689Skan
34856169689Skan2005-01-12  Nick Clifton  <nickc@redhat.com>
34857169689Skan
34858169689Skan	* config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
34859169689Skan	passed on to GAS) but do not define, as GAS no longer supports or
34860169689Skan	needs the -m2000 option.
34861169689Skan
34862169689Skan2005-01-11  Roger Sayle  <roger@eyesopen.com>
34863169689Skan
34864169689Skan	* builtins.c (fold_builtin_fabs): Convert argument to the appropriate
34865169689Skan	type as args of unprototyped builtins aren't automatically promoted.
34866169689Skan	(fold_builtin_abs): Likewise.
34867169689Skan
34868169689Skan2005-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
34869169689Skan
34870169689Skan	* Makefile.in: Set a `build-warn' variable.
34871169689Skan
34872169689Skan2005-01-11  Zdenek Dvorak  <dvorakz@suse.cz>
34873169689Skan
34874169689Skan	PR tree-optimization/17949
34875169689Skan	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
34876169689Skan	(find_interesting_uses_address): Use it.
34877169689Skan
34878169689Skan2005-01-11  Aldy Hernandez  <aldyh@redhat.com>
34879169689Skan
34880169689Skan	* regrename.c (kill_value): Handle subreg's that won't simplify.
34881169689Skan
34882169689Skan2005-01-11  Richard Henderson  <rth@redhat.com>
34883169689Skan
34884169689Skan	PR target/13366
34885169689Skan	* config/i386/i386.h (enum ix86_builtins): Move ...
34886169689Skan	* config/i386/i386.c: ... here.
34887169689Skan	(IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
34888169689Skan	IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
34889169689Skan	IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
34890169689Skan	IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
34891169689Skan	IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD,  IX86_BUILTIN_STOREHPD,
34892169689Skan	IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
34893169689Skan	IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
34894169689Skan	IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
34895169689Skan	IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
34896169689Skan	IX86_BUILTIN_LOADDDUP): Remove.
34897169689Skan	(IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
34898169689Skan	IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
34899169689Skan	IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
34900169689Skan	IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
34901169689Skan	IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
34902169689Skan	(ix86_init_builtins): Make static.
34903169689Skan	(ix86_init_mmx_sse_builtins): Update for changed builtins.
34904169689Skan	(ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
34905169689Skan	if all the modes match.  Otherwise, fake it.
34906169689Skan	(get_element_number, ix86_expand_vec_init_builtin,
34907169689Skan	ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
34908169689Skan	(ix86_expand_builtin): Make static.  Update for changed builtins.
34909169689Skan	(ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
34910169689Skan	operand instead of sse2_loadsd.  Cast sse1 fallback to V4SFmode.
34911169689Skan	(ix86_expand_vector_init_duplicate): New.
34912169689Skan	(ix86_expand_vector_init_low_nonzero): New.
34913169689Skan	(ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
34914169689Skan	Split out from ix86_expand_vector_init; handle integer modes.
34915169689Skan	(ix86_expand_vector_init): Use them.
34916169689Skan	(ix86_expand_vector_set, ix86_expand_vector_extract): New.
34917169689Skan	* config/i386/i386-protos.h: Update.
34918169689Skan	* config/i386/predicates.md (reg_or_0_operand): New.
34919169689Skan	* config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
34920169689Skan	(movv2sf_internal): Likewise.  And a splitter to match them all.
34921169689Skan	(vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
34922169689Skan	vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
34923169689Skan	vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
34924169689Skan	vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
34925169689Skan	(mmx_pinsrw): Fix operand ordering.
34926169689Skan	* config/i386/sse.md (movv4sf splitter): Use direct pattern,
34927169689Skan	rather than sse_loadss expander.
34928169689Skan	(movv2df splitter): Similarly.
34929169689Skan	(sse_loadss, sse_loadlss): Remove.
34930169689Skan	(vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
34931169689Skan	(vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
34932169689Skan	(vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
34933169689Skan	(sse3_movddup): Rename with '*'.
34934169689Skan	(sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
34935169689Skan	(sse2_loadsd): Remove.
34936169689Skan	(vec_dupv2df_sse3): Rename from sse3_loadddup.
34937169689Skan	(vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
34938169689Skan	(sse2_pinsrw): Fix argument ordering.
34939169689Skan	(sse2_loadld, sse2_loadq): Add sse1 alternatives.
34940169689Skan	(sse2_stored): Remove 'r' destination.
34941169689Skan	(vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
34942169689Skan	vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
34943169689Skan	vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
34944169689Skan	vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
34945169689Skan	vec_extractv16qi, vec_initv16qi): New.
34946169689Skan
34947169689Skan	* config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
34948169689Skan	(_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
34949169689Skan	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
34950169689Skan	constructor form.
34951169689Skan	(_mm_load_pd, _mm_store_pd): Use plain dereference.
34952169689Skan	(_mm_load_si128, _mm_store_si128): Likewise.
34953169689Skan	(_mm_load1_pd): Use _mm_set1_pd.
34954169689Skan	(_mm_load_sd): Use _mm_set_sd.
34955169689Skan	(_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
34956169689Skan	(_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
34957169689Skan	(_mm_set_epi64): Use _mm_set_epi64x.
34958169689Skan	(_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
34959169689Skan	_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
34960169689Skan	_mm_setr_epi8): Use _mm_set_foo form.
34961169689Skan	(_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
34962169689Skan	(_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
34963169689Skan	(_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
34964169689Skan	(_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
34965169689Skan	* config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
34966169689Skan	(_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
34967169689Skan	(_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
34968169689Skan	(_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
34969169689Skan	(_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
34970169689Skan	* config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
34971169689Skan	(_mm_movedup_pd): Use _mm_shuffle_pd.
34972169689Skan	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
34973169689Skan	_mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
34974169689Skan	(_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
34975169689Skan	_mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
34976169689Skan	Use _mm_setzero_ps.
34977169689Skan	(_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
34978169689Skan	(_mm_load_ps, _mm_loadr_ps): Use raw dereference.
34979169689Skan	(_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
34980169689Skan	(_mm_store_ps): Use raw dereference.
34981169689Skan	(_mm_store1_ps): Use _mm_storeu_ps.
34982169689Skan	(_mm_storer_ps): Use _mm_store_ps.
34983169689Skan	(_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
34984169689Skan	(_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
34985169689Skan
34986169689Skan2005-01-11  Stan Shebs  <shebs@apple.com>
34987169689Skan
34988169689Skan	* config/rs6000/rs6000.c (machopic_output_stub): Issue
34989169689Skan	ldu instead of lwzu if 64-bit -mdynamic-no-pic.
34990169689Skan
34991169689Skan2005-01-11  Andrew Pinski  <pinskia@physics.uc.edu>
34992169689Skan
34993169689Skan	PR target/18761
34994169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
34995169689Skan	Skip all DECLs except for FIELD_DECLs.
34996169689Skan
34997169689Skan2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
34998169689Skan
34999169689Skan	* config/s390/s390.c (override_options): Return error if
35000169689Skan	-mbackchain, -mpacked-stack and -mhard-float are used together.
35001169689Skan	(s390_va_start): Remove the backchain && packed-stack special case.
35002169689Skan	(s390_gimplify_va_arg): Likewise.
35003169689Skan	* doc/invoke.texi: Remove the ABI incompatibility note.
35004169689Skan
35005169689Skan2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
35006169689Skan
35007169689Skan	* config/s390/s390.c (struct s390_frame_layout): Remove
35008169689Skan	save_backchain_p.
35009169689Skan	(s390_frame_info, s390_emit_prologue): Replace occurrences of
35010169689Skan	save_backchain_p with TARGET_BACKCHAIN.
35011169689Skan
35012169689Skan2005-01-11  Alan Modra  <amodra@bigpond.net.au>
35013169689Skan
35014169689Skan	PR target/18916
35015169689Skan	* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
35016169689Skan	* expr.h (struct locate_and_pad_arg_data): Add "boundary".
35017169689Skan	* function.c (locate_and_pad_parm): Set new field.
35018169689Skan	(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
35019169689Skan	Tweak where_pad test to include "none".  Always set mem align for
35020169689Skan	stack_parm.
35021169689Skan	(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
35022169689Skan	not sufficient for type.
35023169689Skan	(assign_parm_setup_block): If stack_parm is zero on entry, always
35024169689Skan	make a new stack local.  Block move old stack parm if necessary
35025169689Skan	to new aligned stack local.
35026169689Skan	(assign_parm_setup_stack): Use a block move to handle
35027169689Skan	potentially misaligned entry_parm.
35028169689Skan	(assign_parms_unsplit_complex): Specify required alignment when
35029169689Skan	creating stack local.
35030169689Skan	* calls.c (compute_argument_addresses): Override alignment of stack
35031169689Skan	arg calculated from its type with the alignment given by
35032169689Skan	FUNCTION_ARG_BOUNDARY.
35033169689Skan	(store_one_arg): Likewise.
35034169689Skan
35035169689Skan2005-01-11  Jan Beulich  <jbeulich@novell.com>
35036169689Skan
35037169689Skan	* config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
35038169689Skan	Change respective itanium_class attribute to ialu.
35039169689Skan	(shladdp4_internal): New.
35040169689Skan	* config/ia64/predicates.md (shladd_log2_operand): New.
35041169689Skan
35042169689Skan2005-01-11  Richard Henderson  <rth@redhat.com>
35043169689Skan
35044169689Skan	* expr.c (store_constructor): Use rtvec_alloc instead of
35045169689Skan	alloca+gen_rtvec_v, and an incorrect number passed to alloca.
35046169689Skan
35047169689Skan2005-01-11  Kazu Hirata  <kazu@cs.umass.edu>
35048169689Skan
35049169689Skan	* config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
35050169689Skan
35051169689Skan2005-01-11  Alan Modra  <amodra@bigpond.net.au>
35052169689Skan
35053169689Skan	* varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
35054169689Skan	* config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
35055169689Skan	(TARGET_RWRELOC): Define.
35056169689Skan	(ia64_rwreloc_section_type_flags): Delete.
35057169689Skan	(ia64_section_type_flags): New function.
35058169689Skan	* config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
35059169689Skan	(TARGET_RWRELOC): Define.
35060169689Skan
35061169689Skan2005-01-10  David Mosberger  <davidm@hpl.hp.com>
35062169689Skan
35063169689Skan	PR target/18987
35064169689Skan	* config/ia64/ia64.c (process_set): For alloc insn, only call
35065169689Skan	process_epilogue is !frame_pointer_needed.
35066169689Skan
35067169689Skan2005-01-10  Roger Sayle  <roger@eyesopen.com>
35068169689Skan
35069169689Skan	PR c++/19355
35070169689Skan	* c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
35071169689Skan	unary operator and can't be treated as a binary/comparison operator.
35072169689Skan
35073169689Skan2005-01-10  Richard Henderson  <rth@redhat.com>
35074169689Skan
35075169689Skan	* config/i386/i386.c (ix86_function_value): Use type_natural_mode.
35076169689Skan	(ix86_return_in_memory): Likewise.
35077169689Skan	(function_arg_advance): Likewise.  Mirror structure in function_arg
35078169689Skan	for choosing register to advance.
35079169689Skan
35080169689Skan2005-01-10  Kazu Hirata  <kazu@cs.umass.edu>
35081169689Skan
35082169689Skan	* tree-vectorizer.c, tree.def: Fix comment typos.
35083169689Skan
35084169689Skan2005-01-10  Mark Dettinger  <dettinge@de.ibm.com>
35085169689Skan
35086169689Skan	* config/s390/s390.c (struct processor_costs): 4 new fields:
35087169689Skan	ddbr, ddr, debr, der.
35088169689Skan	(s390_rtx_costs): More precise handling of divide instructions.
35089169689Skan
35090169689Skan2005-01-10  David Edelsohn  <edelsohn@gnu.org>
35091169689Skan
35092169689Skan	* config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
35093169689Skan
35094169689Skan2005-01-10  Jan Beulich  <jbeulich@novell.com>
35095169689Skan
35096169689Skan	* config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
35097169689Skan	names resulting from -ffunction-sections/-fdata-sections and linkonce
35098169689Skan	ones.
35099169689Skan	* varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
35100169689Skan	based on the section name. Rearrange the section name comparison logic
35101169689Skan	slightly so that each section name is compared against at most once.
35102169689Skan
35103169689Skan2005-01-10  Ben Elliston  <bje@au.ibm.com>
35104169689Skan
35105169689Skan	* doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
35106169689Skan	targets for which -fPIC reduces limitations on the GOT size.
35107169689Skan
35108169689Skan2005-01-09  Falk Hueffner  <falk@debian.org>
35109169689Skan
35110169689Skan	* fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
35111169689Skan	X/C1 cmpop C2.
35112169689Skan
35113169689Skan2005-01-09  David Edelsohn  <edelsohn@gnu.org>
35114169689Skan
35115169689Skan	PR target/18720
35116169689Skan	* collect2.c (main): Set aixrtl_flag for -brtl option.
35117169689Skan	(resolve_lib_name): Search for .so file extension before .a
35118169689Skan	if aixrtl_flag set.
35119169689Skan
35120169689Skan2005-01-09  Dorit Naishlos  <dorit@il.ibm.com>
35121169689Skan
35122169689Skan	* tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
35123169689Skan	(vect_analyze_data_refs_alignment): Add dump prints.
35124169689Skan
35125169689Skan2005-01-09  Ira Rosen  <irar@il.ibm.com>
35126169689Skan
35127169689Skan	* tree-vectorizer.c (vect_analyze_offset_expr): Use
35128169689Skan	expr_invariant_in_loop_p.
35129169689Skan	Initialize outputs first thing in the function.
35130169689Skan	(vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
35131169689Skan	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
35132169689Skan	(vect_analyze_pointer_ref_access): Check that the initial condition of
35133169689Skan	the access function is loop invariant.
35134169689Skan
35135169689Skan2005-01-09  Richard Henderson  <rth@redhat.com>
35136169689Skan
35137169689Skan	* config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
35138169689Skan	(ix86_expand_builtin): Likewise.  Frob MASKMOVQ wrt the input mem
35139169689Skan	just like MASKMOVDQU.  Return plain zero for MMX_ZERO.
35140169689Skan	* config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
35141169689Skan	mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
35142169689Skan	movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
35143169689Skan	movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
35144169689Skan	sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
35145169689Skan	ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
35146169689Skan	mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
35147169689Skan	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
35148169689Skan	sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
35149169689Skan	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
35150169689Skan	mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
35151169689Skan	gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
35152169689Skan	ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
35153169689Skan	mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
35154169689Skan	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
35155169689Skan	mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
35156169689Skan	eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
35157169689Skan	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
35158169689Skan	pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
35159169689Skan	pswapdv2sf2): Move to mmx.md; rename as necessary with leading
35160169689Skan	mmx_ prefix.
35161169689Skan	(mmx_clrdi, pavgusb): Remove.
35162169689Skan	(ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
35163169689Skan	with leading sse_ prefix.
35164169689Skan	* config/i386/sse.md: Receive them.
35165169689Skan	* config/i386/mmx.md: New file.
35166169689Skan	(MMXMODE12, MMXMODE24, mmxvecsize): New.
35167169689Skan	(subrv2sf3): Turn into expander for normal subtraction.
35168169689Skan	(mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
35169169689Skan	mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
35170169689Skan	mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
35171169689Skan	mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
35172169689Skan	commutative; use ix86_binary_operator_ok.
35173169689Skan	(mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
35174169689Skan	mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
35175169689Skan	mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
35176169689Skan	mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
35177169689Skan	mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
35178169689Skan	Macroize from existing patterns; use ix86_binary_operator_ok.
35179169689Skan	(mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
35180169689Skan	(mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
35181169689Skan	mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise.  Model
35182169689Skan	with vec_select+vec_concat.
35183169689Skan	(mmx_pshufw, mmx_pshufw_1): Likewise.
35184169689Skan	(mmx_uavgv8qi3): Merge pavgusb.  Model correcty.
35185169689Skan	(mmx_uavgv4hi3): Model correctly.
35186169689Skan	* config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
35187169689Skan	_mm_xor_si64): Remove casts.
35188169689Skan
35189169689Skan2005-01-09  Zdenek Dvorak  <dvorakz@suse.cz>
35190169689Skan
35191169689Skan	PR tree-optimization/19224
35192169689Skan	* tree-scalar-evolution.c (get_instantiated_value,
35193169689Skan	set_instantiated_value): New functions.
35194169689Skan	(instantiate_parameters_1): Cache the results.
35195169689Skan	(instantiate_parameters, resolve_mixers): Initialize and free
35196169689Skan	the cache.
35197169689Skan
35198169689Skan2005-01-08  David Edelsohn  <edelsohn@gnu.org>
35199169689Skan
35200169689Skan	* config/i386/i386.md (addhi_4): Correct reference in comment.
35201169689Skan	(addqi_4): Same.
35202169689Skan
35203169689Skan2005-01-08  Richard Henderson  <rth@redhat.com>
35204169689Skan
35205169689Skan	* config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
35206169689Skan	(_mm_cvtsi128_si64x): Likewise.
35207169689Skan	(_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
35208169689Skan	_mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
35209169689Skan	the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
35210169689Skan	* config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
35211169689Skan	* config/i386/i386-protos.h: Update.
35212169689Skan	* config/i386/i386.c (print_operand): Add 'H'.
35213169689Skan	(ix86_fixup_binary_operands): Split out from ...
35214169689Skan	(ix86_expand_binary_operator): ... here.
35215169689Skan	(ix86_fixup_binary_operands_no_copy): New.
35216169689Skan	(ix86_expand_fp_absneg_operator): Handle vector mode results.
35217169689Skan	(bdesc_2arg): Update names for sse{,2,3}_ prefixes.
35218169689Skan	(ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
35219169689Skan	(safe_vector_operand): Use CONST0_RTX.
35220169689Skan	(ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
35221169689Skan	(ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
35222169689Skan	CODE_FOR_sse2_maskmovdqu.  Special case SSE version of MASKMOVDQU
35223169689Skan	expansion.  Update names for sse{,2,3}_ prefixes.  Remove *maskncmp*
35224169689Skan	special cases.
35225169689Skan	* config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
35226169689Skan	(IX86_BUILTIN_CMPNGESS): New.
35227169689Skan	* config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
35228169689Skan	(attr type): Add sselog1.
35229169689Skan	(attr unit, attr memory): Handle it.
35230169689Skan	(movti, movti_internal, movti_rex64): Move near other integer moves.
35231169689Skan	(movtf, movtf_internal): Move near other fp moves.
35232169689Skan	(SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
35233169689Skan	vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
35234169689Skan	movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
35235169689Skan	movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
35236169689Skan	sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
35237169689Skan	sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
35238169689Skan	sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
35239169689Skan	mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
35240169689Skan	rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
35241169689Skan	sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
35242169689Skan	sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
35243169689Skan	sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
35244169689Skan	vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
35245169689Skan	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
35246169689Skan	cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
35247169689Skan	cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
35248169689Skan	vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
35249169689Skan	vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
35250169689Skan	sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
35251169689Skan	sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
35252169689Skan	cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
35253169689Skan	cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
35254169689Skan	cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
35255169689Skan	cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
35256169689Skan	ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
35257169689Skan	subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
35258169689Skan	smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
35259169689Skan	sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
35260169689Skan	sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
35261169689Skan	sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
35262169689Skan	gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
35263169689Skan	ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
35264169689Skan	ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
35265169689Skan	sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
35266169689Skan	sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
35267169689Skan	sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
35268169689Skan	sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
35269169689Skan	sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
35270169689Skan	sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
35271169689Skan	sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
35272169689Skan	mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
35273169689Skan	addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
35274169689Skan	movsldup, lddqu, loadddup, movddup): Move to sse.md.  Any with
35275169689Skan	non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
35276169689Skan	same time.
35277169689Skan	(SSEPUSH, push<SSEPUSH>): Remove.
35278169689Skan	(MMXPUSH, push<MMXPUSH>): Remove.
35279169689Skan	(sse_movaps, sse_movaps_1, sse_movups): Remove.
35280169689Skan	(sse2_movapd, sse2_movdqa, sse2_movq): Remove.
35281169689Skan	(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
35282169689Skan	(sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
35283169689Skan	(maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
35284169689Skan	(maskncmpv2df3, vmmaskncmpv2df3): Remove.
35285169689Skan	(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
35286169689Skan	(lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
35287169689Skan	* config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
35288169689Skan	(athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
35289169689Skan	* config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
35290169689Skan	(ppro_sse_log_V4SF_load): Similarly.  Handle sselog1.
35291169689Skan	(ppro_sse_log_V4SF): Handle sselog1.
35292169689Skan	* config/i386/predicates.md (const_0_to_1_operand): New.
35293169689Skan	(const_0_to_255_mul_8_operand): New.
35294169689Skan	(const_1_to_31_operand): Rename from const_int_1_31_operand.
35295169689Skan	(const_2_to_3_operand, const_4_to_7_operand): New.
35296169689Skan	* config/i386/sse.md: New file.
35297169689Skan	(SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
35298169689Skan	(sse_movups): Rename from sse_movups_1.
35299169689Skan	(sse_loadlss): Rename from sse_loadss_1.
35300169689Skan	(andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
35301169689Skan	from the name.
35302169689Skan	(negv4sf2): Use ix86_expand_fp_absneg_operator.
35303169689Skan	(absv4sf2, negv2df, absv2df): New.
35304169689Skan	(addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
35305169689Skan	(subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
35306169689Skan	iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
35307169689Skan	smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
35308169689Skan	umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
35309169689Skan	(sse3_addsubv4sf3): Model correctly.
35310169689Skan	sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
35311169689Skan	sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
35312169689Skan	(sse_movhlps): Model with vec_select+vec_concat.
35313169689Skan	(sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
35314169689Skan	sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
35315169689Skan	sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
35316169689Skan	sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
35317169689Skan	sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
35318169689Skan	sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
35319169689Skan	sse2_pshufhw_1): Likewise.
35320169689Skan	(neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
35321169689Skan	(add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
35322169689Skan	sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
35323169689Skan	ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
35324169689Skan	sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
35325169689Skan	ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
35326169689Skan	(addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
35327169689Skan	sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
35328169689Skan	mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
35329169689Skan	sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
35330169689Skan	sminv8hi3): Mark commutative
35331169689Skan	operands.  Use ix86_binary_operator_ok.
35332169689Skan	(sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
35333169689Skan	sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
35334169689Skan	sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
35335169689Skan	sse2_punpcklqdq): Allow operand2 in memory.
35336169689Skan	(sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
35337169689Skan	sse2_movsd): Add memory alternatives.
35338169689Skan	(sse_storelps): Turn expander into an insn; split after reload.
35339169689Skan	(sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
35340169689Skan	(sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
35341169689Skan
35342169689Skan2005-01-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
35343169689Skan
35344169689Skan	* configure.ac (DWARF-2 debug_line): Use objdump.
35345169689Skan	* configure: Regenerate.
35346169689Skan
35347169689Skan2005-01-08  Jeff Law  <law@redhat.com>
35348169689Skan	    Diego Novillo  <dnovillo@redhat.com>
35349169689Skan
35350169689Skan	PR tree-optimization/18241
35351169689Skan	* tree-nrv.c (tree_nrv): Ignore volatile return values.
35352169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
35353169689Skan	statements with volatile operands.
35354169689Skan	* tree-ssa-operands.c (add_stmt_operand): Do add volatile
35355169689Skan	operands after marking a statement with has_volatile_ops.
35356169689Skan
35357169689Skan2005-01-08  Roger Sayle  <roger@eyesopen.com>
35358169689Skan
35359169689Skan	* tree.c (int_fits_type_p): Always honor integer constant
35360169689Skan	TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
35361169689Skan
35362169689Skan2005-01-08  Roger Sayle  <roger@eyesopen.com>
35363169689Skan
35364169689Skan	* ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
35365169689Skan	the latent bug in rtl_delete_block has been resolved.
35366169689Skan
35367169689Skan2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
35368169689Skan
35369169689Skan	* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
35370169689Skan	(MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
35371169689Skan
35372169689Skan2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
35373169689Skan
35374169689Skan	* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
35375169689Skan	library as @multilib_dir@/$(SHLIB_SONAME).
35376169689Skan
35377169689Skan2005-01-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
35378169689Skan
35379169689Skan	* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
35380169689Skan	* configure: Regenerate.
35381169689Skan
35382169689Skan2005-01-07  Jakub Jelinek  <jakub@redhat.com>
35383169689Skan
35384169689Skan	* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
35385169689Skan	TYPE_MODE.
35386169689Skan
35387169689Skan2005-01-07  David Edelsohn  <edelsohn@gnu.org>
35388169689Skan
35389169689Skan	PR target/13674
35390169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
35391169689Skan	Convert non-word aligned offset address using ld/std into
35392169689Skan	indirect address.
35393169689Skan
35394169689Skan2005-01-07  Richard Henderson  <rth@redhat.com>
35395169689Skan
35396169689Skan	* config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
35397169689Skan
35398169689Skan2005-01-07  Richard SAndiford  <rsandifo@redhat.com>
35399169689Skan
35400169689Skan	* tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
35401169689Skan
35402169689Skan2005-01-07  Jakub Jelinek  <jakub@redhat.com>
35403169689Skan
35404169689Skan	PR tree-optimization/19283
35405169689Skan	* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
35406169689Skan	is not shorter than the original type.
35407169689Skan
35408169689Skan	PR rtl-optimization/19012
35409169689Skan	* config/i386/i386.md (addqi_1_slp): Set memory attribute.
35410169689Skan
35411169689Skan	PR rtl-optimization/18861
35412169689Skan	* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
35413169689Skan	(FULL_STATE): Define.
35414169689Skan	(mark_tablejump_edge): New function.
35415169689Skan	(purge_dead_tablejump_edges): New function.
35416169689Skan	(find_bb_boundaries): Use it.
35417169689Skan
35418169689Skan	PR tree-optimization/18828
35419169689Skan	* builtins.c (expand_builtin_next_arg): Remove argument and all
35420169689Skan	the argument checking.
35421169689Skan	(expand_builtin): Adjust caller.
35422169689Skan	(expand_builtin_va_start): Likewise.  Remove error for too many
35423169689Skan	arguments.
35424169689Skan	(fold_builtin_next_arg): Issue error for too many arguments.
35425169689Skan	After checking arguments, replace them with magic arguments that
35426169689Skan	prevent further checking of the args.
35427169689Skan
35428169689Skan2005-01-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
35429169689Skan
35430169689Skan	* pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
35431169689Skan
35432169689Skan2005-01-06  Roger Sayle  <roger@eyesopen.com>
35433169689Skan
35434169689Skan	PR target/6077
35435169689Skan	* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
35436169689Skan	and %{.S:...} (and their negative variants) to test whether the
35437169689Skan	input file is assembler or pre-processed-assembler independent of
35438169689Skan	the actual filename extension.
35439169689Skan
35440169689Skan2005-01-06  Roger Sayle  <roger@eyesopen.com>
35441169689Skan
35442169689Skan	* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
35443169689Skan	of sign or zero extended values.
35444169689Skan
35445169689Skan2005-01-06  Geoffrey Keating  <geoffk@apple.com>
35446169689Skan
35447169689Skan	* c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
35448169689Skan	for IBM long double format correctly.
35449169689Skan
35450169689Skan2005-01-06  Daniel Berlin <dberlin@dberlin.org>
35451169689Skan
35452169689Skan	Fix PR tree-optimization/18792
35453169689Skan
35454169689Skan	* tree-data-ref.c (build_classic_dist_vector): Change first_loop
35455169689Skan	to first_loop_depth, and use loop depth instead of loop number.
35456169689Skan	(build_classic_dir_vector): Ditto.
35457169689Skan	(compute_data_dependences_for_loop): Use depth, not loop number.
35458169689Skan	* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
35459169689Skan	number. Pass in loops, instead of loop numbers.
35460169689Skan	(gather_interchange_stats): Ditto.
35461169689Skan	(linear_transform_loops): Ditto.
35462169689Skan
35463169689Skan2005-01-06  Richard Sandiford  <rsandifo@redhat.com>
35464169689Skan
35465169689Skan	PR rtl-opt/13299
35466169689Skan	* loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
35467169689Skan	biv_fits_mode_p, extension_within_bounds_p): New functions.
35468169689Skan	(check_ext_dependent_givs): Use them.
35469169689Skan
35470169689Skan2005-01-06  Roger Sayle  <roger@eyesopen.com>
35471169689Skan
35472169689Skan	* cfgrtl.c (rtl_delete_block): A basic block may be followed by
35473169689Skan	more than one barrier, in which case we should delete them all.
35474169689Skan
35475169689Skan2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
35476169689Skan
35477169689Skan	* gcc.c (process_command): Change year in 'gcc --version' to 2005.
35478169689Skan
35479169689Skan2005-01-05  Daniel Berlin  <dberlin@dberlin.org>
35480169689Skan
35481169689Skan	Fix PR middle-end/19286
35482169689Skan	Fix PR debug/19267
35483169689Skan	* dwarf2out.c (gen_subprogram_die): If we've already tried to
35484169689Skan	output this subprogram, simply ignore this attempt to do it again.
35485169689Skan	(add_abstract_origin_attribute): Don't abort trying to add the abstract
35486169689Skan	origin attribute if it's not possible.
35487169689Skan	(gen_block_die): Don't ignore subblocks of "unused" blocks.
35488169689Skan	(decls_for_scope): Ditto.
35489169689Skan	* gimple-low.c (mark_blocks_with_used_subblocks): Remove.
35490169689Skan	(mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
35491169689Skan
35492169689Skan2005-01-05  Richard Henderson  <rth@redhat.com>
35493169689Skan
35494169689Skan	PR target/11327
35495169689Skan	* config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
35496169689Skan	(bdesc_2arg): Use it.
35497169689Skan	(ix86_expand_binop_builtin): Force operands into registers
35498169689Skan	when optimizing.
35499169689Skan	(ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
35500169689Skan	ix86_expand_sse_compare, ix86_expand_sse_comi,
35501169689Skan	ix86_expand_builtin): Likewise.
35502169689Skan
35503169689Skan2005-01-05  Richard Henderson  <rth@redhat.com>
35504169689Skan
35505169689Skan	* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
35506169689Skan	and VEC_SELECT.
35507169689Skan	* config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
35508169689Skan	(mulv4hi3): Set itanium_class mmmul.
35509169689Skan	(fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
35510169689Skan	(fpack): Rename from fpack_sfsf.
35511169689Skan
35512169689Skan2005-01-05  Richard Henderson  <rth@redhat.com>
35513169689Skan
35514169689Skan	PR rtl-opt/10692
35515169689Skan	* reload1.c (do_input_reload): Restrict the optimization deleteing
35516169689Skan	a previous output reload to RELOAD_FOR_INPUT.
35517169689Skan
35518169689Skan2005-01-05  Steven Bosscher  <stevenb@suse.de>
35519169689Skan
35520169689Skan	* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
35521169689Skan	comment that we fall through after case.
35522169689Skan	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
35523169689Skan	(distribute_links): Likewise.
35524169689Skan	* cse.c (cse_insn): Likewise.
35525169689Skan	* cselib.c (cselib_invalidate_mem): Likewise.
35526169689Skan	* df.c: Update comments at the top of the file.
35527169689Skan	(read_modify_subreg_p): Update comments here too.
35528169689Skan	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
35529169689Skan	* flow.c (mark_set_1): Likewise.
35530169689Skan	(mark_used_regs): Likewise.
35531169689Skan	* gcse.c (mems_conflict_for_gcse_p): Likewise.
35532169689Skan	(canon_list_insert): Likewise.
35533169689Skan	(mark_set): Likewise.
35534169689Skan	(try_replace_reg): Likewise.
35535169689Skan	(store_killed_in_insn): Likewise.
35536169689Skan	* loop.c (count_one_set): Likewise.
35537169689Skan	(basic_induction_var): Likewise.
35538169689Skan	* postreload-gcse.c (find_mem_conflicts): Likewise.
35539169689Skan	* postreload.c (reload_combine_note_store): Likewise.
35540169689Skan	(move2add_note_store): Likewise.
35541169689Skan	* reload.c (find_equiv_reg): Likewise.
35542169689Skan	(mark_referenced_resources): Likewise.
35543169689Skan	* rtlanal.c (set_noop_p): Likewise.
35544169689Skan	(note_stores): Likewise.
35545169689Skan	(note_uses): Likewise.
35546169689Skan	* sched-deps.c (sched_analyze_1): Likewise.
35547169689Skan	* sched-rgn.c (check_live_1): Likewise.
35548169689Skan	(update_live_1): Likewise.
35549169689Skan	* config/i860/i860.c: Likewise.
35550169689Skan
35551169689Skan	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
35552169689Skan	an lvalue.
35553169689Skan	(ZERO_EXTRACT): Mention that this one can be an lvalue.
35554169689Skan
35555169689Skan	* doc/rtl.texi: Update documentation for bit-fields and SET.
35556169689Skan
35557169689Skan2005-01-05  Roger Sayle  <roger@eyesopen.com>
35558169689Skan
35559169689Skan	* ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
35560169689Skan
35561169689Skan2005-01-05  Jan Hubicka  <jh@suse.cz>
35562169689Skan	    Richard Henderson  <rth@redhat.com>
35563169689Skan
35564169689Skan	PR target/18910
35565169689Skan	* config/i386/i386.c (ix86_expand_move): Handle tls symbols
35566169689Skan	with an offset.
35567169689Skan
35568169689Skan2005-01-05  Richard Henderson  <rth@redhat.com>
35569169689Skan
35570169689Skan	PR target/12902
35571169689Skan	* config/i386/i386.md (sse_movhps, sse_movlps): Remove.
35572169689Skan	(sse_shufps): Change operand 3 to const_int_operand.
35573169689Skan	(sse2_storelps): Fix typo in template.
35574169689Skan	(sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
35575169689Skan	* config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
35576169689Skan	(ix86_expand_builtin): Likewise.
35577169689Skan
35578169689Skan2005-01-05  Julian Brown  <julian@codesourcery.com>
35579169689Skan
35580169689Skan	* config/arm/arm.c (arm_return_in_memory): Treat complex types
35581169689Skan	as aggregates for AAPCS ABIs.
35582169689Skan
35583169689Skan2005-01-05  Stan Shebs  <shebs@apple.com>
35584169689Skan
35585169689Skan	* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
35586169689Skan	Mach-O getters if ppc64.
35587169689Skan	* config/darwin.c (darwin_asm_output_dwarf_delta): Obey
35588169689Skan	size argument.
35589169689Skan	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
35590169689Skan	signed four-byte field for global code case.
35591169689Skan	(STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
35592169689Skan
35593169689Skan2005-01-05  Roger Sayle  <roger@eyesopen.com>
35594169689Skan
35595169689Skan	PR middle-end/19100
35596169689Skan	* c-common.c: Include real.h.
35597169689Skan	(c_common_truthvalue_conversion): Avoid destructively modifying expr.
35598169689Skan	Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
35599169689Skan	Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
35600169689Skan	* Makefile.in (c-common.o): Update dependencies.
35601169689Skan
35602169689Skan2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
35603169689Skan
35604169689Skan	* c-parse.in (asm_string): Add trailing semicolon.
35605169689Skan
35606169689Skan2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
35607169689Skan
35608169689Skan	* c-parse.in (asm_string): New.  Don't allow wide strings in
35609169689Skan	'asm'.
35610169689Skan	(simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
35611169689Skan	asm_string instead of STRING.
35612169689Skan
35613169689Skan2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
35614169689Skan
35615169689Skan	* c-typeck.c (constructor_no_implicit): Remove.
35616169689Skan	(set_designator, process_init_element): Don't check
35617169689Skan	constructor_no_implicit.
35618169689Skan
35619169689Skan2005-01-05  J"orn Rennecke <joern.rennecke@st.com>
35620169689Skan	    Kaz Kojima  <kkojima@gcc.gnu.org>
35621169689Skan
35622169689Skan	PR target/16482
35623169689Skan	* lcm.c (create_pre_exit): New.
35624169689Skan	(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
35625169689Skan	ENTRY_EXIT_EXTRA to 3.  Use create_pre_exit.
35626169689Skan
35627169689Skan2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
35628169689Skan
35629169689Skan	* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
35630169689Skan	-msoft-float in target_float_switch.
35631169689Skan	* arm.c (arm_override_options): Fix processing of target_float_switch.
35632169689Skan
35633169689Skan2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
35634169689Skan
35635169689Skan	* arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
35636169689Skan	preferencing.
35637169689Skan
35638169689Skan2004-01-05  Uros Bizjak  <uros@kss-loka.si>
35639169689Skan
35640169689Skan	* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
35641169689Skan	Replace i387 with 'i386 compiler' in -mfpmath=sse option.
35642169689Skan
35643169689Skan2005-01-04  Roger Sayle  <roger@eyesopen.com>
35644169689Skan
35645169689Skan	* ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
35646169689Skan	if deleting the then-block allows the test-block to fallthru to the
35647169689Skan	else-block.
35648169689Skan
35649169689Skan2005-01-04  Andrew Pinski  <pinskia@physics.uc.edu>
35650169689Skan
35651169689Skan	PR c/19152
35652169689Skan	* c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
35653169689Skan	after the full declaration if the are in two different TUs.
35654169689Skan
35655169689Skan2005-01-04  Richard Henderson  <rth@redhat.com>
35656169689Skan
35657169689Skan	PR tree-opt/19158
35658169689Skan	* tree-sra.c (generate_one_element_init): Just
35659169689Skan	call gimplify_and_add.
35660169689Skan	(generate_element_init): Record the
35661169689Skan	new referenced variables and mark them for renaming
35662169689Skan	and split out to ...
35663169689Skan	(generate_element_init_1): This.
35664169689Skan	(scalarize_init): Don't call push_gimplify_context/
35665169689Skan	pop_gimplify_context.
35666169689Skan
35667169689Skan2005-01-04  Geoffrey Keating  <geoffk@apple.com>
35668169689Skan
35669169689Skan	* toplev.c (get_src_pwd): Handle failure of getpwd().
35670169689Skan
35671169689Skan2005-01-04  Roger Sayle  <roger@eyesopen.com>
35672169689Skan
35673169689Skan	* fold-const.c (fold_single_bit_test): Delete unreachable handling
35674169689Skan	of TRUTH_NOT_EXPR.
35675169689Skan	(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
35676169689Skan	all the cases handled by it are inverted by invert_truthvalue.
35677169689Skan
35678169689Skan2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
35679169689Skan
35680169689Skan	* config/sparc/sparc.md (save_register_windowdi): Add missing mode.
35681169689Skan	(save_register_windowsi): Likewise.
35682169689Skan
35683169689Skan2005-01-04  Richard Henderson  <rth@redhat.com>
35684169689Skan
35685169689Skan	* tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
35686169689Skan
35687169689Skan2005-01-04  Uros Bizjak  <uros@kss-loka.si>
35688169689Skan
35689169689Skan	PR middle-end/17767
35690169689Skan	* cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
35691169689Skan	any simplifications of vector mode comparison operators.
35692169689Skan	* simplify-rtx.c (simplify_relational_operation): Fix variable name.
35693169689Skan
35694169689Skan2005-01-04  Paolo Bonzini  <bonzini@gnu.org>
35695169689Skan	    Devang Patel  <dpatel@apple.com>
35696169689Skan
35697169689Skan	PR tree-optimization/18308
35698169689Skan	* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
35699169689Skan	the operands before creating a new expression.
35700169689Skan	* dojump.c (do_jump): Make drop_through_label available
35701169689Skan	for all cases.  Add expansion of COND_EXPR.
35702169689Skan
35703169689Skan2005-01-04  Ira Rosen  <irar@il.ibm.com>
35704169689Skan
35705169689Skan	* tree-vectorizer.c (vect_analyze_offset_expr): Test for
35706169689Skan	INTEGER_CST instead of TREE_CONSTANT.
35707169689Skan	(vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
35708169689Skan	instead of TREE_CONSTANT.
35709169689Skan	(vect_analyze_pointer_ref_access): Test for INTEGER_CST
35710169689Skan	instead of TREE_CONSTANT.
35711169689Skan
35712169689Skan2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
35713169689Skan
35714169689Skan	* tree-eh.c (replace_goto_queue): Return early if the queue is empty.
35715169689Skan
35716169689Skan2005-01-04  Uros Bizjak  <uros@kss-loka.si>
35717169689Skan
35718169689Skan	PR target/19240
35719169689Skan	* config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
35720169689Skan	(*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
35721169689Skan
35722169689Skan2005-01-03  Richard Henderson  <rth@redhat.com>
35723169689Skan
35724169689Skan	* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
35725169689Skan	(fold_convert_const_int_from_int, fold_convert_const_int_from_real,
35726169689Skan	fold_convert_const_real_from_real): Split out from ...
35727169689Skan	(fold_convert_const): ... here.
35728169689Skan
35729169689Skan2005-01-03  Richard Henderson  <rth@redhat.com>
35730169689Skan
35731169689Skan	PR target/19235
35732169689Skan	* config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
35733169689Skan	(mov<MMXMODEI>_internal): Likewise.
35734169689Skan	(movdf_nointeger): Prefer Y while not preferring, but allowing, x.
35735169689Skan	Add V2SF case; use it for SSE1; don't use TI.
35736169689Skan	(movdf_integer): Likewise.
35737169689Skan	(mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
35738169689Skan
35739169689Skan2005-01-03  Ira Rosen  <irar@il.ibm.com>
35740169689Skan
35741169689Skan	* tree-vectorizer.c (vect_strip_conversions): New function.
35742169689Skan	(vect_analyze_offset_expr): Call vect_strip_conversions. Add
35743169689Skan	check for binary class.
35744169689Skan
35745169689Skan2005-01-03  Daniel Berlin  <dberlin@dberlin.org>
35746169689Skan
35747169689Skan	Fix PR debug/17924
35748169689Skan	Fix PR debug/19191
35749169689Skan	* dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
35750169689Skan	is a decl.
35751169689Skan	* gimple-low.c (mark_blocks_with_used_vars): New function.
35752169689Skan	(mark_blocks_with_used_subblocks): Ditto.
35753169689Skan	(mark_used_blocks): Ditto.
35754169689Skan	(pass_mark_used_blocks): New pass.
35755169689Skan	* tree-inline.c: Include debug.h.
35756169689Skan	(expand_call_inline): Call outlining_inline_function here.
35757169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
35758169689Skan	pass_mark_used_blocks.
35759169689Skan	* tree-pass.h (pass_mark_used_blocks): New.
35760169689Skan	* Makefile.in (tree-inline.o): Add debug.h dependency.
35761169689Skan
35762169689Skan2005-01-03  Geoffrey Keating  <geoffk@apple.com>
35763169689Skan
35764169689Skan	* config/darwin.c (darwin_handle_weak_import_attribute): Permit
35765169689Skan	VAR_DECLs to have weak_import attribute.
35766169689Skan
35767169689Skan	* config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
35768169689Skan	'struct ucontext'.
35769169689Skan
35770169689Skan2004-01-03  Steven Bosscher  <stevenb@suse.de>
35771169689Skan
35772169689Skan	* passes.c (rest_of_compilation): Don't run regmove if only
35773169689Skan	flag_expensive_optimizations, require flag_regmove instead.
35774169689Skan
35775169689Skan2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
35776169689Skan
35777169689Skan	* config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
35778169689Skan	register "sparc".
35779169689Skan	* config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
35780169689Skan	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
35781169689Skan	* config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
35782169689Skan	* config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
35783169689Skan
35784169689Skan2005-01-03  Richard Henderson  <rth@redhat.com>
35785169689Skan
35786169689Skan	* config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
35787169689Skan	(ia64_const_ok_for_letter_p): New.
35788169689Skan	(ia64_const_double_ok_for_letter_p): New.
35789169689Skan	(ia64_extra_constraint): New.
35790169689Skan	(ia64_expand_vecint_compare): New.
35791169689Skan	(ia64_expand_vcondu_v2si): New.
35792169689Skan	(ia64_expand_vecint_cmov): New.
35793169689Skan	(ia64_expand_vecint_minmax): New.
35794169689Skan	(ia64_print_operand): Add 'v'.
35795169689Skan	(ia64_preferred_reload_class): New.
35796169689Skan	(ia64_vector_mode_supported_p): New.
35797169689Skan	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
35798169689Skan	(PREFERRED_RELOAD_CLASS): Move to function.
35799169689Skan	(CONST_OK_FOR_LETTER_P): Move to function.
35800169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
35801169689Skan	(CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
35802169689Skan	(CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
35803169689Skan	(EXTRA_CONSTRAINT): Move to function.
35804169689Skan	* config/ia64/ia64.md: Include vect.md.
35805169689Skan	(itanium_class): Add mmalua.
35806169689Skan	(type): Handle it.
35807169689Skan	* config/ia64/itanium1.md (1_mmalua): New.  Add it to bypasses.
35808169689Skan	(1b_mmalua): New.
35809169689Skan	* config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
35810169689Skan	* config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
35811169689Skan	CONST0_RTX.
35812169689Skan	(const_int_2bit_operand): New.
35813169689Skan	(fr_reg_or_0_operand): New.
35814169689Skan	* config/ia64/ia64-modes.def: Add vector modes.
35815169689Skan	* config/ia64/ia64-protos.h: Update.
35816169689Skan	* config/ia64/vect.md: New file.
35817169689Skan
35818169689Skan2005-01-03  Richard Henderson  <rth@redhat.com>
35819169689Skan
35820169689Skan	* simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
35821169689Skan
35822169689Skan2005-01-03  Uros Bizjak  <uros@kss-loka.si>
35823169689Skan
35824169689Skan	PR target/19236
35825169689Skan	* config/i386/i386.c (log1psf2): Change mode of operands[0,1]
35826169689Skan	to SFmode.
35827169689Skan	(log1pdf2): Change mode of operands[0,1] to DFmode.
35828169689Skan
35829169689Skan2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
35830169689Skan
35831169689Skan	* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
35832169689Skan	* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
35833169689Skan	* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
35834169689Skan	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
35835169689Skan	SPARC_RELAXED_ORDERING.
35836169689Skan
35837169689Skan2005-01-03  Richard Henderson  <rth@redhat.com>
35838169689Skan	    Uros Bizjak  <uros@kss-loka.si>
35839169689Skan
35840169689Skan	PR target/14631
35841169689Skan	* config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
35842169689Skan	IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
35843169689Skan	* config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
35844169689Skan	handling.
35845169689Skan	(*mmx_pinsrw, *sse2_pinsrw): New patterns.
35846169689Skan	* config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
35847169689Skan	const_pow2_1_to_128_operand): New predicates.
35848169689Skan
35849169689Skan2005-01-02  Greg McGary  <greg@mcgary.org>
35850169689Skan
35851169689Skan	* tree-mudflap.c (mf_varname_tree): decl_printable_name handles
35852169689Skan	anonymous decls.
35853169689Skan	(mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
35854169689Skan	object.  [ptr_type]: Remove unused variable.
35855169689Skan	Remember nearest addressable array-element or record-component
35856169689Skan	when checking bitfield components.  Tolerate empty BIND_EXPR.
35857169689Skan
35858169689Skan2005-01-01  Richard Henderson  <rth@redhat.com>
35859169689Skan
35860169689Skan	* tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
35861169689Skan	that don't narrow the value.  Fail for other conversions.
35862169689Skan
35863169689Skan2005-01-01  Richard Henderson  <rth@redhat.com>
35864169689Skan
35865169689Skan	PR c/19031
35866169689Skan	* c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
35867169689Skan	* c-lang.c (finish_file): Don't do it here.
35868169689Skan	* objc/objc-act.c (objc_finish_file): Likewise.
35869169689Skan
35870169689Skan	* cgraph.c (decl_assembler_name_equal): New.
35871169689Skan	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
35872169689Skan	(cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
35873169689Skan	* cgraph.h (struct cgraph_varpool_node): Add next.
35874169689Skan	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
35875169689Skan	* varasm.c (assemble_alias): Mark the target as needed.
35876169689Skan
35877169689Skan2005-01-01  Andrew Pinski  <pinskia@physics.uc.edu>
35878169689Skan
35879169689Skan	PR middle-end/19221
35880169689Skan	* function.c (get_arg_pointer_save_area): Use entry_of_function
35881169689Skan	instead of get_insns.
35882169689Skan
35883169689Skan2005-01-01  Roger Sayle  <roger@eyesopen.com>
35884169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
35885169689Skan	    James E. Wilson  <wilson@specifixinc.com>
35886169689Skan
35887169689Skan	PR rtl-optimization/12092
35888169689Skan	* loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
35889169689Skan	is zero.
35890169689Skan
35891169689Skan2005-01-01  Roger Sayle  <roger@eyesopen.com>
35892169689Skan	    Olivier Hainque  <hainque@act-europe.fr>
35893169689Skan
35894169689Skan	* tree.c (int_fits_type_p): A narrower type always fits in a
35895169689Skan	wider one, except for negative values into unsigned types.
35896169689Skan
35897169689Skan2005-01-01  Roger Sayle  <roger@eyesopen.com>
35898169689Skan
35899169689Skan	* tree.c (int_fits_type_p): Compare the result of force_fit_type
35900169689Skan	with the original constant rather than require TREE_OVERFLOW.
35901169689Skan
35902169689Skan2005-01-01  Steven Bosscher  <stevenb@suse.de>
35903169689Skan
35904169689Skan	PR middle-end/17544
35905169689Skan	* c-decl.c (finish_function): If compiling C99, annotate the
35906169689Skan	compiler generated return with the current file name and line 0.
35907169689Skan	* tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
35908169689Skan	the source line is greater than 0.
35909169689Skan	(remove_bb): Likewise.
35910