1169689Skan2004-12-31  Richard Henderson  <rth@redhat.com>
2169689Skan
3169689Skan	PR tree-opt/19042
4169689Skan	* tree-sra.c (decide_block_copy): Force use_block_copy false
5169689Skan	for complex values.
6169689Skan
7169689Skan2004-12-31  Richard Henderson  <rth@redhat.com>
8169689Skan
9169689Skan	PR middle-end/17799
10169689Skan	* function.c (use_register_for_decl): Check DECL_IGNORED_P instead
11169689Skan	of DECL_ARTIFICIAL.
12169689Skan	(assign_parms_augmented_arg_list): Set DECL_IGNORED_P.
13169689Skan	* c-decl.c (build_compound_literal): Likewise.
14169689Skan	* dwarf2asm.c (dw2_force_const_mem): Likewise.
15169689Skan	* gimplify.c (create_artificial_label): Likewise.
16169689Skan	* tree-inline.c (expand_call_inline): Likewise.
17169689Skan	* var-tracking.c (vt_initialize): Likewise.
18169689Skan	* tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P.
19169689Skan
20169689Skan2004-12-31  Andrew Pinski  <pinskia@physics.uc.edu>
21169689Skan
22169689Skan	PR target/19211
23169689Skan	* config/darwin.c (machopic_legitimize_pic_address): If the orig
24169689Skan	is subregister return orig.
25169689Skan
26169689Skan2004-12-31  Zdenek Dvorak  <dvorakz@suse.cz>
27169689Skan
28169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1): Copy the
29169689Skan	expression only if needed.
30169689Skan
31169689Skan2004-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
32169689Skan
33169689Skan	* pa-hpux.h (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Define.
34169689Skan
35169689Skan2004-12-31  Hans-Peter Nilsson  <hp@bitrange.com>
36169689Skan
37169689Skan	PR target/18701
38169689Skan	* combine.c (combine_simplify_rtx): Do not allow paradoxical
39169689Skan	subregs of MEM.
40169689Skan
41169689Skan	PR target/18701
42169689Skan	* combine.c (gen_lowpart_for_combine): When stripping SUBREG of
43169689Skan	MEM, adjust imode and isize.
44169689Skan
45169689Skan2004-12-30  Richard Henderson  <rth@redhat.com>
46169689Skan
47169689Skan	* config/ia64/ia64.c (hfa_element_mode): Return false for
48169689Skan	zero-sized top-level aggregates.
49169689Skan
50169689Skan2004-12-30  Jan Hubicka  <jh@suse.cz>
51169689Skan
52169689Skan	PR target/18019
53169689Skan	* i386.md (movqi_1): Fix -Os instruction choice.
54169689Skan
55169689Skan2004-12-30  Steven Bosscher  <stevenb@suse.de>
56169689Skan
57169689Skan	* global.c (regclass_intersect): Remove.
58169689Skan	(mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead.
59169689Skan
60169689Skan2004-12-30  Richard Henderson  <rth@redhat.com>
61169689Skan
62169689Skan	* config/ia64/ia64.c (ia64_function_value): Use PARALLEL for
63169689Skan	aggregates with XF/XCmode.
64169689Skan
65169689Skan2004-12-29  Richard Henderson  <rth@redhat.com>
66169689Skan
67169689Skan	* target.h (targetm.calls.arg_partial_bytes): New.
68169689Skan	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
69169689Skan	* calls.c (store_unaligned_arguments_into_pseudos): Update for
70169689Skan	partial in bytes.
71169689Skan	(load_register_parameters): Likewise.
72169689Skan	(store_one_arg): Likewise.
73169689Skan	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
74169689Skan	(emit_library_call_value_1): Likewise.
75169689Skan	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
76169689Skan	(emit_push_insn): Update for partial in bytes.
77169689Skan	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
78169689Skan	* function.c (assign_parm_find_entry_rtl): Use
79169689Skan	targetm.calls.arg_partial_bytes.  Update for result in bytes.
80169689Skan	(locate_and_pad_parm): Update for partial in bytes.
81169689Skan	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
82169689Skan	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
83169689Skan	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
84169689Skan	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
85169689Skan	FUNCTION_ARG_PARTIAL_NREGS.
86169689Skan
87169689Skan	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
88169689Skan	config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
89169689Skan	config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h,
90169689Skan	config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
91169689Skan
92169689Skan	* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
93169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
94169689Skan	* config/alpha/alpha.h, config/alpha/unicosmk.h,
95169689Skan	config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
96169689Skan
97169689Skan	* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
98169689Skan	* config/arm/arm.c (arm_arg_partial_bytes): ... here.
99169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
100169689Skan
101169689Skan	* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
102169689Skan	* config/cris/cris.c (cris_arg_partial_bytes): ... here.
103169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
104169689Skan
105169689Skan	* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
106169689Skan	* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
107169689Skan	fr30_function_arg_partial_nregs.  Adjust to return bytes.
108169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
109169689Skan	* config/fr30/fr30-protos.h: Update.
110169689Skan
111169689Skan	* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
112169689Skan	* config/frv/frv.c (frv_arg_partial_bytes): Rename from
113169689Skan	frv_function_arg_partial_nregs.  Adjust to return bytes.
114169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
115169689Skan	* config/frv/frv-protos.h: Update.
116169689Skan
117169689Skan	* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
118169689Skan	* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
119169689Skan	ia64_function_arg_partial_nregs.  Adjust to return bytes.
120169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
121169689Skan	* config/ia64/ia64-protos.h: Update.
122169689Skan
123169689Skan	* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
124169689Skan	* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
125169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
126169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
127169689Skan	* config/iq2000/iq2000-protos.h: Update.
128169689Skan
129169689Skan	* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
130169689Skan	* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
131169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
132169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
133169689Skan	* config/m32r/m32r-protos.h: Update.
134169689Skan
135169689Skan	* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
136169689Skan	* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
137169689Skan	mcore_function_arg_partial_nregs.  Adjust to return bytes.
138169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
139169689Skan	* config/mcore/mcore-protos.h: Update.
140169689Skan
141169689Skan	* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
142169689Skan	* config/mips/mips.c (mips_arg_partial_bytes): Rename from
143169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
144169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
145169689Skan	* config/mips/mips-protos.h: Update.
146169689Skan
147169689Skan	* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
148169689Skan	* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from
149169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
150169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
151169689Skan	* config/mn10300/mn10300-protos.h: Update.
152169689Skan
153169689Skan	* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
154169689Skan	* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
155169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
156169689Skan
157169689Skan	* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
158169689Skan	* config/pa/pa.c (pa_arg_partial_bytes): Rename from
159169689Skan	function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
160169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
161169689Skan	* config/pa/pa-protos.h: Update.
162169689Skan
163169689Skan	* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
164169689Skan	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from
165169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
166169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
167169689Skan	* config/rs6000/rs6000-protos.h: Update.
168169689Skan
169169689Skan	* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
170169689Skan	* config/sh/sh.c (sh_arg_partial_bytes): ... here.
171169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
172169689Skan
173169689Skan	* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
174169689Skan	* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
175169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
176169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
177169689Skan	* config/sparc/sparc-protos.h: Update.
178169689Skan
179169689Skan	* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
180169689Skan	* config/v850/v850.c (v850_arg_partial_bytes): Rename from
181169689Skan	function_arg_partial_nregs.  Adjust to return bytes.
182169689Skan	(TARGET_ARG_PARTIAL_BYTES): New.
183169689Skan	* config/v850/v850-protos.h: Update.
184169689Skan
185169689Skan2004-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
186169689Skan
187169689Skan	* config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
188169689Skan	* config/mmix/mmix.c (mmix_asm_output_internal_label): New
189169689Skan	function.
190169689Skan	* config/mmix/mmix-protos.h (mmix_asm_output_internal_label):
191169689Skan	Prototype.
192169689Skan
193169689Skan2003-12-29  Richard Henderson  <rth@redhat.com>
194169689Skan
195169689Skan	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
196169689Skan
197169689Skan2004-12-29  Jeff Law  <law@redhat.com>
198169689Skan
199169689Skan	* tree-outof-ssa.c (insert_backedge_copies): New function.
200169689Skan	(rewrite_out_of_ssa): Use it.
201169689Skan
202169689Skan2004-12-29  Ira Rosen  <irar@il.ibm.com>
203169689Skan
204169689Skan	PR tree-optimization/18179
205169689Skan	* tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
206169689Skan	and vect_analyze_offset_expr.
207169689Skan	(vect_create_addr_base_for_vector_ref): Build address_base by combining
208169689Skan	base and initial_offset fields of vect_stmt_info.
209169689Skan	(vect_update_inits_of_dr): Update offset of data-ref instead of its
210169689Skan	access-fn. Remove argument.
211169689Skan	(vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
212169689Skan	arguments.
213169689Skan	(vect_compute_data_ref_alignment): Check misalignment info in
214169689Skan	vect_stmt_info. Remove argument.
215169689Skan	(vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
216169689Skan	with correct argument.
217169689Skan	(vect_analyze_data_ref_access): Check access info in vect_stmt_info.
218169689Skan	(vect_analyze_pointer_ref_access): Update step and initial_offset fields
219169689Skan	of vect_stmt_info.
220169689Skan	(vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the
221169689Skan	fields of stmt_vec_info.
222169689Skan	(vect_analyze_data_refs): Find vectype and pass it to
223169689Skan	vect_get_memtag_and_dr.
224169689Skan	(vect_get_first_index): Remove.
225169689Skan	(vect_compute_array_base_alignment): Remove.
226169689Skan	(vect_compute_array_ref_alignment): Remove
227169689Skan	(vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
228169689Skan	(vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead
229169689Skan	host_integerp.
230169689Skan	(vectorizable_load): Use size arithmetics.
231169689Skan
232169689Skan2004-12-29  Ira Rosen  <irar@il.ibm.com>
233169689Skan
234169689Skan	PR tree-optimization/18179
235169689Skan	* tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name
236169689Skan	vect_get_base_and_bit_offset).
237169689Skan	(vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr).
238169689Skan
239169689Skan2004-12-29  Ira Rosen  <irar@il.ibm.com>
240169689Skan
241169689Skan	PR tree-optimization/18179
242169689Skan	* tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
243169689Skan	initial_offset, step, misalignment and base_aligned_p and macros
244169689Skan	to access them.
245169689Skan	* tree-vectorizer.c (vect_analyze_offset_expr): New function.
246169689Skan	(new_stmt_vec_info): Initialize the new fields of stmt_vec_info.
247169689Skan
248169689Skan	(vect_create_data_ref_ptr): Fix printings.
249169689Skan
250169689Skan2004-12-29  Ira Rosen  <irar@il.ibm.com>
251169689Skan
252169689Skan	PR tree-optimization/18179
253169689Skan	* tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag
254169689Skan	retrieval.
255169689Skan	(vect_analyze_data_refs): Remove memtag retrieval.
256169689Skan
257169689Skan2004-12-28  Richard Henderson  <rth@redhat.com>
258169689Skan
259169689Skan	PR inline-asm/15740
260169689Skan	* gimplify.c (gimplify_asm_expr): Move resolve asm names ...
261169689Skan	* c-typeck.c (build_asm_expr): ... here.  Validate input
262169689Skan	constraints.  Mark memory inputs addressable.
263169689Skan
264169689Skan2004-12-28  Hans-Peter Nilsson  <hp@bitrange.com>
265169689Skan
266169689Skan	PR target/18321
267169689Skan	* config/mmix/mmix.c (mmix_expand_epilogue): Change type of
268169689Skan	variable offset to HOST_WIDE_INT.  Remove obsolete comment.  Fix
269169689Skan	spacing.
270169689Skan
271169689Skan2004-12-28  Andrew Pinski  <pinskia@physics.uc.edu>
272169689Skan
273169689Skan	* fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
274169689Skan	we only need a cleanup point expression when the expression on the
275169689Skan	left hand side of the MODIFIY_EXPR inside the return has side
276169689Skan	effects.
277169689Skan
278169689Skan2004-12-28  Dorit Naishlos  <dorit@il.ibm.com>
279169689Skan
280169689Skan	* tree-vectorizer.c (vect_mark_relevant) First argument changed from
281169689Skan	varray_type to varray_type*.
282169689Skan	(vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
283169689Skan	when calling vect_mark_relevant.
284169689Skan
285169689Skan2004-12-28  Alan Modra  <amodra@bigpond.net.au>
286169689Skan
287169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
288169689Skan	generate non-offsettable DImode lo_sum addresses.
289169689Skan
290169689Skan2004-12-28  Zdenek Dvorak  <dvorakz@suse.cz>
291169689Skan
292169689Skan	PR rtl-optimization/19103
293169689Skan	* loop-iv.c (iv_number_of_iterations): Fix typo.
294169689Skan
295169689Skan2004-12-28  Andreas Jaeger  <aj@suse.de>
296169689Skan
297169689Skan	* genrecog.c (compute_predicate_codes): Avoid warning.
298169689Skan
299169689Skan2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
300169689Skan
301169689Skan	* vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
302169689Skan	(vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
303169689Skan
304169689Skan2004-12-27  Jeff Law  <law@redhat.com>
305169689Skan
306169689Skan	* tree-ssa-dom.c (thread_across_edge): Remove broken code to
307169689Skan	avoid threading into a loop.
308169689Skan
309169689Skan2004-12-27  Richard Henderson  <rth@redhat.com>
310169689Skan
311169689Skan	PR target/17406
312169689Skan	* config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
313169689Skan	note for allocate_stack_worker insn.
314169689Skan
315169689Skan2004-12-27  Jason Merrill  <jason@redhat.com>
316169689Skan
317169689Skan	* doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
318169689Skan	* target.h (struct gcc_target): Add relaxed_ordering field.
319169689Skan	* target-def.h (TARGET_RELAXED_ORDERING): Define default.
320169689Skan	(TARGET_INITIALIZER): Add it.
321169689Skan	* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
322169689Skan	* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
323169689Skan	* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
324169689Skan	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
325169689Skan
326169689Skan2004-12-27  Roger Sayle  <roger@eyesopen.com>
327169689Skan
328169689Skan	PR driver/16118
329169689Skan	* doc/invoke.texi: Document the interaction between -save-temps
330169689Skan	and -x.
331169689Skan
332169689Skan2004-12-27  David Edelsohn  <edelsohn@gnu.org>
333169689Skan
334169689Skan	* config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
335169689Skan	Do not break apart constant pool addresses.
336169689Skan	(rs6000_emit_move): Only force source into REG if target is MEM.
337169689Skan
338169689Skan2004-12-27  Mark Mitchell  <mark@codesourcery.com>
339169689Skan
340169689Skan	PR c++/19148
341169689Skan	* gimplify.c (gimplify_cond_expr): Add post_p parameter.
342169689Skan	(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
343169689Skan	(gimplify_expr): Likewise.
344169689Skan
345169689Skan2004-12-27  Richard Henderson  <rth@redhat.com>
346169689Skan
347169689Skan	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
348169689Skan
349169689Skan2004-12-26  Richard Henderson  <rth@redhat.com>
350169689Skan
351169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
352169689Skan	of type_natural_mode to examine_argument.
353169689Skan
354169689Skan	* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
355169689Skan	(movv2sf_internal_rex64): New.
356169689Skan	(mov<MMXMODEI>_internal): Use no register preferences at all.
357169689Skan	(movv2sf_internal): Likewise.
358169689Skan
359169689Skan2004-12-26  Richard Henderson  <rth@redhat.com>
360169689Skan
361169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Don't simplify
362169689Skan	plus/minus across EQ for floating-point.
363169689Skan
364169689Skan2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
365169689Skan
366169689Skan	PR target/17643
367169689Skan	* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
368169689Skan	generating code for the portable runtime.
369169689Skan
370169689Skan2004-12-25  Richard Henderson  <rth@redhat.com>
371169689Skan
372169689Skan	* expr.c (clear_storage): Validate CONST0_RTX extant.  Special case
373169689Skan	complex modes.
374169689Skan
375169689Skan2004-12-25  Zdenek Dvorak  <dvorakz@suse.cz>
376169689Skan
377169689Skan	PR rtl-optimization/19078
378169689Skan	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic,
379169689Skan	determine_use_iv_cost_outer): Fix computing of cost for the original
380169689Skan	bivs.
381169689Skan	(dump_use): Handle case related_cands == NULL.
382169689Skan
383169689Skan2004-12-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
384169689Skan
385169689Skan	PR target/19059
386169689Skan	* config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4
387169689Skan	to avr2.
388169689Skan	* config/avr/avr.h (LINK_SPEC): Ditto.
389169689Skan	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
390169689Skan
391169689Skan2004-12-25  Alan Modra  <amodra@bigpond.net.au>
392169689Skan
393169689Skan	PR target/19137
394169689Skan	* config/rs6000/rs6000.md (movti_power, movti_string): Relax
395169689Skan	operand[1] predicate to input_operand, and add r<-n alternative.
396169689Skan	Move TImode const_double_operand splitter to where it belongs.
397169689Skan
398169689Skan2004-12-25  Alan Modra  <amodra@bigpond.net.au>
399169689Skan
400169689Skan	PR target/19147
401169689Skan	* config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
402169689Skan
403169689Skan2004-12-24  Uros Bizjak  <uros@kss-loka.si>
404169689Skan
405169689Skan	* config/i386/i386.md (*fix_trunc{d,s,h}i_1):
406169689Skan	Rename to *fix_trunc{d,s,h}i_i387.
407169689Skan	(fix_trunc{d,s}fdi2): Reorder tests.
408169689Skan
409169689Skan2004-12-24  Daniel Berlin  <dberlin@dberlin.org>
410169689Skan
411169689Skan	Fix PR debug/14638
412169689Skan
413169689Skan	* tree.h (DECL_DEBUG_ALIAS_OF): New macro.
414169689Skan	* var-tracking.c (track_expr_p): Don't disqualify tracking of variables
415169689Skan	that are aliases of variables we want to track, unless the
416169689Skan	original variable is also ignored for debugging purposes.
417169689Skan	(VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic.
418169689Skan	* tree-outof-ssa.c (create_temp): Note who we are a debug alias of.
419169689Skan	* dwarf2out.c (dwarf2out_var_location): Add us to the location of
420169689Skan	the decl we are an alias of.
421169689Skan
422169689Skan2004-12-24  Alan Modra  <amodra@bigpond.net.au>
423169689Skan
424169689Skan	PR target/19142
425169689Skan	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
426169689Skan	DFmode for 32-bit again.
427169689Skan
428169689Skan2004-12-23  Roger Sayle  <roger@eyesopen.com>
429169689Skan
430169689Skan	* reload.c (regno_clobbered_p): Add a gcc_assert that regno
431169689Skan	refers to a hard register.
432169689Skan
433169689Skan2004-12-23  Mark Mitchell  <mark@codesourcery.com>
434169689Skan
435169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
436169689Skan
437169689Skan2004-12-23  DJ Delorie  <dj@redhat.com>
438169689Skan
439169689Skan	* genrecog.c (did_you_mean_codes): New.
440169689Skan	(compute_predicate_codes): Fail unmatched codes.
441169689Skan
442169689Skan2004-12-23  Eric Christopher  <echristo@redhat.com>
443169689Skan
444169689Skan	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add
445169689Skan	assert for machine=mips for !TARGET_IRIX.
446169689Skan	* config/mips/linux.h: Remove machine=mips assert.
447169689Skan	* config/mips/netbsd.h: Ditto.
448169689Skan	* config/mips/openbsd.h: Ditto.
449169689Skan
450169689Skan2004-12-23  Dale Johannesen  <dalej@apple.com>
451169689Skan
452169689Skan	* tree.c (iterative_hash_expr): Canonicalize builtins.
453169689Skan
454169689Skan2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
455169689Skan
456169689Skan	PR target/16819
457169689Skan	* calls.c (load_register_parameters): Don't call use_regs when
458169689Skan	nregs is zero.
459169689Skan
460169689Skan2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
461169689Skan
462169689Skan	PR middle-end/17746
463169689Skan	* expr.c (get_inner_reference): Add 'keep_aligning' parameter.
464169689Skan	Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
465169689Skan	platforms only if keep_aligning is true.
466169689Skan	(expand_assignment): Adjust call to get_inner_reference.
467169689Skan	(expand_expr_addr_expr_1): Likewise.
468169689Skan	(expand_expr_real_1): Likewise.
469169689Skan	* dojump.c (do_jump): Likewise.
470169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
471169689Skan	* fold-const.c (optimize_bit_field_compare): Likewise.
472169689Skan	(decode_field_reference): Likewise.
473169689Skan	(split_address_to_core_and_offset): Likewise.
474169689Skan	* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
475169689Skan	* tree.h (get_inner_reference): Adjust prototype.
476169689Skan
477169689Skan2004-12-23  Richard Henderson  <rth@redhat.com>
478169689Skan
479169689Skan	* config/i386/i386.c (override_options): Revert last change
480169689Skan	wrt fancy 387 math.
481169689Skan
482169689Skan2004-12-23  Richard Henderson  <rth@redhat.com>
483169689Skan
484169689Skan	* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
485169689Skan	ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
486169689Skan	vector operate patterns.
487169689Skan
488169689Skan2004-12-23  Richard Henderson  <rth@redhat.com>
489169689Skan
490169689Skan	* config/i386/i386.c (ix86_expand_vector_move): Tidy.
491169689Skan	(ix86_expand_vector_move_misalign): New.
492169689Skan	(ix86_misaligned_mem_ok): Remove.
493169689Skan	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
494169689Skan	* config/i386/i386-protos.h: Update.
495169689Skan	* config/i386/i386.md (SSEMODEI): Rename from SSEINT16.
496169689Skan	(MMXMODEI): Rename from MMXINT8.
497169689Skan	(SSEMODE, MMXMODE, movmisalign<mode>): New.
498169689Skan
499169689Skan2004-12-23  Mark Mitchell  <mark@codesourcery.com>
500169689Skan
501169689Skan	PR c++/16405
502169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Handle
503169689Skan	INDIRECT_REF/ADDR_EXPR combinations.
504169689Skan
505169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
506169689Skan
507169689Skan	* config/alpha/alpha.c (alpha_expand_mov): Split out ...
508169689Skan	(alpha_expand_movmisalign): ... misaligned vector support.
509169689Skan	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
510169689Skan	* config/alpha/alpha-protos.h: Update.
511169689Skan	* config/alpha/alpha.md (VEC): New macro.
512169689Skan	(movv8qi, movv4hi, movv2si): Compress with VEC.
513169689Skan	(movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise.
514169689Skan	(movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise.
515169689Skan	(movmisalign<mode>): New.
516169689Skan
517169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
518169689Skan
519169689Skan	* optabs.h (OTI_movmisalign, movmisalign_optab): New.
520169689Skan	* optabs.c (init_optabs): Create it.
521169689Skan	* genopinit.c (optabs): Initialize it.
522169689Skan	* expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it.
523169689Skan	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
524169689Skan	* target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
525169689Skan	* target.h (vectorize.misaligned_mem_ok): Remove.
526169689Skan	* targhooks.c (default_vect_misaligned_mem_ok): Remove.
527169689Skan	* doc/md.texi (movmisalign): New.
528169689Skan	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
529169689Skan
530169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
531169689Skan
532169689Skan	* config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg
533169689Skan	to __v2si.
534169689Skan	(_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise.
535169689Skan	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or
536169689Skan	const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
537169689Skan	__builtin_ia32_storehpd, __builtin_ia32_storelpd.
538169689Skan	(ix86_expand_builtin): Update to match.
539169689Skan	(ix86_expand_vector_init): Use sse2_loadlpd.
540169689Skan	* config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd.
541169689Skan	(vec_extractv2df): Use sse2_storelpd, sse2_storehpd.
542169689Skan	(sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New.
543169689Skan	(sse2_movhpd): Remove.
544169689Skan
545169689Skan2004-12-23  Alan Modra  <amodra@bigpond.net.au>
546169689Skan
547169689Skan	PR target/18751
548169689Skan	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return
549169689Skan	false for anything larger than 32 bits in 32-bit code.
550169689Skan
551169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
552169689Skan
553169689Skan	* config/i386/i386.md (btsq, btrq, btcq): Fix modes.
554169689Skan	(bt peepholes): Likewise.
555169689Skan
556169689Skan	* varasm.c (force_const_mem): Call set_mem_align.
557169689Skan
558169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
559169689Skan
560169689Skan	* config/i386/predicates.md (sse_comparison_operator): Fix
561169689Skan	typo in ieee test.
562169689Skan	(arith_or_logical_operator): Downcase codes.
563169689Skan
564169689Skan2004-12-23  Kaz Kojima  <kkojima@gcc.gnu.org>
565169689Skan
566169689Skan	PR target/18511
567169689Skan	* reload1.c (emit_output_reload_insns): Check if OLD is a hard
568169689Skan	register before calling regno_clobbered_p.
569169689Skan	* reload.c: Update comment for regno_clobbered_p.
570169689Skan
571169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
572169689Skan
573169689Skan	* config/i386/i386.c (override_options): Respect user disable of
574169689Skan	fancy 387 math, sse, mmx.
575169689Skan	(construct_container): Generate error if we need an sse regster
576169689Skan	and sse has been disabled.
577169689Skan	* config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
578169689Skan	later sse generations.  Disabling mmx also disables 3dnow.
579169689Skan
580169689Skan2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
581169689Skan
582169689Skan	* tree-inline.c (struct inline_data): Remove inlined_fns.
583169689Skan	(expand_call_inline): Remove dead code setting
584169689Skan	inlined_fns.
585169689Skan	(optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
586169689Skan	* tree.h (struct tree_decl): Remove inlined_fns.
587169689Skan
588169689Skan2004-12-22  Roger Sayle  <roger@eyesopen.com>
589169689Skan
590169689Skan	* tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
591169689Skan
592169689Skan2004-12-23  Alan Modra  <amodra@bigpond.net.au>
593169689Skan
594169689Skan	PR target/18896
595169689Skan	* function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P
596169689Skan	for real and imaginary parts if the parm is addressable.
597169689Skan	(assign_parms_unsplit_complex): If parm addressable, save real
598169689Skan	and imaginary parts to a stack temp.  Pass assign_parm_data_all.
599169689Skan	(assign_parms): Adjust assign_parms_unsplit_complex call.
600169689Skan
601169689Skan2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
602169689Skan
603169689Skan	* tree.h (DECL_PTA_ALIASVAR): Dead.
604169689Skan	(struct tree_decl): Remove alias_var field.
605169689Skan
606169689Skan2004-12-22  Nathan Sidwell  <nathan@codesourcery.com>
607169689Skan
608169689Skan	* system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
609169689Skan	* tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.
610169689Skan
611169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
612169689Skan	    Uros Bizjak  <uros@kss-loka.si>
613169689Skan
614169689Skan	* config/i386/i386.md (truncdfsf2): Don't create stack temp when
615169689Skan	using sse math only.  Use truncdfsf2_with_temp.
616169689Skan	(truncdfsf2_with_temp): New.
617169689Skan	(truncdfsf_fast_i387): Rename from truncdfsf2_noop.  Add memory
618169689Skan	output alternative.
619169689Skan	(truncdfsf_mixed): Rename from truncdfsf2_1_sse.  Compress duplicate
620169689Skan	alternatives.
621169689Skan	(truncdfsf_fast_sse): Rename from truncdfsf2_2.  Remove f alternative.
622169689Skan	(truncdfsf2_3, truncdfsf2_sse_only): Remove.
623169689Skan	(truncdfsf_i387): Rename from truncdfsf2_1.  Compress duplicates.
624169689Skan	(truncdfsf_fast_mixed): New.
625169689Skan	(truncdfsf splitters): Remove all except the 387 load/store split.
626169689Skan	(truncxfsf2_1, truncxfdf2_1): Unify enable constraint with
627169689Skan	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and
628169689Skan	TARGET_MIX_SSE_I387.
629169689Skan	(*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed.
630169689Skan	(truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop.
631169689Skan	(*truncxf{s,d}f2_i387): New patterns.
632169689Skan	(*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1.
633169689Skan	(truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2,
634169689Skan	rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2,
635169689Skan	nearbyint{s,d}f2): Use renamed patterns.
636169689Skan
637169689Skan2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
638169689Skan
639169689Skan	* tree.h (TYPE_SIZES_GIMPLIFIED): New.
640169689Skan	* function.c (gimplify_parm_type): Don't gimplify type if already done.
641169689Skan	* gimplify.c (gimplify_decl_expr): Likewise.
642169689Skan	(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED.  Examine nested
643169689Skan	array types.
644169689Skan
645169689Skan2004-12-22  Richard Henderson  <rth@redhat.com>
646169689Skan
647169689Skan	* gimplify.c (eval_save_expr): Remove.
648169689Skan	(gimplify_one_sizepos): Unshare expr before gimplifying.
649169689Skan	* stor-layout.c (variable_size): Revert 2004-12-19 change.
650169689Skan	(layout_decl): Revert 2004-12-18 change.
651169689Skan	(layout_type): Revert 2004-12-21 change.
652169689Skan
653169689Skan2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
654169689Skan
655169689Skan	* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
656169689Skan
657169689Skan2004-12-22  Mark Mitchell  <mark@codesourcery.com>
658169689Skan
659169689Skan	* Makefile.in (install-common): Remove special-case code for when
660169689Skan	SPECS is defined.
661169689Skan
662169689Skan2004-12-22  Jan Beulich  <jbeulich@novell.com>
663169689Skan
664169689Skan	* config.gcc: Add dbxelf.h to NetWare's tm_file.
665169689Skan	* config/i386/netware-crt0.c: Prototype __init_environment and
666169689Skan	__deinit_environment prior to their definition.
667169689Skan	(__init_environment): Correct invokation of constructor function.
668169689Skan	* config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
669169689Skan	builtin_define_std rather than builtin_define on IAPX386.
670169689Skan	* config/i386/nwld.h: Disable stabs debugging info with the linker
671169689Skan	this file supports.
672169689Skan	* config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
673169689Skan	the output. Add -posix to the options as that is the more compatible
674169689Skan	mode.
675169689Skan	* gthr-nks.h: Formatting.
676169689Skan	(__gthread_mutex_init_function): Kill the dubious use of
677169689Skan	NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
678169689Skan	were not meant to be recursive.
679169689Skan	(__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
680169689Skan	__gthread_recursive_mutex_init_function,
681169689Skan	__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
682169689Skan	__gthread_recursive_mutex_unlock): New.
683169689Skan
684169689Skan2004-12-22  Alexandre Oliva  <aoliva@redhat.com>
685169689Skan
686169689Skan	* config/mips/t-linux64: Remove code that messed with $(SPECS).
687169689Skan	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move
688169689Skan	n32 to the front.
689169689Skan	(MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
690169689Skan	Removed.
691169689Skan	* config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle
692169689Skan	-mabi-fake-default.
693169689Skan	(SUBTARGET_TARGET_SWITCHES): Likewise.
694169689Skan
695169689Skan2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
696169689Skan
697169689Skan	PR c++/18984
698169689Skan	* pointer-set.c (pointer_set_contains): Add back.
699169689Skan	* pointer-set.h (pointer_set_contains): Add back.
700169689Skan
701169689Skan2004-12-21  Richard Henderson  <rth@redhat.com>
702169689Skan
703169689Skan	* gimplify.c (eval_save_expr): New.
704169689Skan	(gimplify_one_sizepos): Use it.
705169689Skan	* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
706169689Skan
707169689Skan2004-12-21  Nathan Sidwell  <nathan@codesourcery.com>
708169689Skan
709169689Skan	* system.c (IN_RANGE): Use plain unsigned, not unsigned
710169689Skan	HOST_WIDE_INT.
711169689Skan	* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
712169689Skan	VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
713169689Skan	POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
714169689Skan	FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
715169689Skan	QUAL_UNION_TYPE): Reorder for better code efficiency.
716169689Skan	(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
717169689Skan	(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
718169689Skan	* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
719169689Skan	(IS_EXPR_CODE_CLASS): Use IN_RANGE.
720169689Skan	(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
721169689Skan	optimization.
722169689Skan
723169689Skan2004-12-21  David O'Brien  <obrien@FreeBSD.org>
724169689Skan
725169689Skan	* config/freebsd-spec.h: Use KSE pthread lib for -pthread.
726169689Skan
727169689Skan2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
728169689Skan
729169689Skan	PR c/18963
730169689Skan	* c-decl.c (pushdecl): Remove block trying to merge static function
731169689Skan	declarations at block scope to file scope declarations.
732169689Skan
733169689Skan2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
734169689Skan
735169689Skan	PR c/18596
736169689Skan	* c-parse.in (initdcl): Don't process a declaration if start_decl fails.
737169689Skan	(notype_initdcl): Don't process a declaration if start_decl fails.
738169689Skan	* c-decl.c (start_decl): Fail if grokdeclarator fails.
739169689Skan	(grokdeclarator): Fail if a function definition has an invalid storage
740169689Skan	class.
741169689Skan	* c-typeck.c (start_init): Treat error_mark_node the same as 0.
742169689Skan
743169689Skan2004-12-21  Richard Henderson  <rth@redhat.com>
744169689Skan
745169689Skan	* config/i386/i386.c (x86_sse_split_regs): Rename from
746169689Skan	x86_sse_partial_regs.
747169689Skan	* config/i386/i386.h (x86_sse_split_regs): Likewise.
748169689Skan	(TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS.
749169689Skan	* config/i386/i386.md (*): Update to match.  Remove two
750169689Skan	floatsisf splitters that use it.
751169689Skan
752169689Skan	* config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove.
753169689Skan
754169689Skan	* config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
755169689Skan	* config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove.
756169689Skan	* config/i386/i386.md (truncdfsf2_1_sse): Don't test it.
757169689Skan	(truncdfsf2_2, truncdfsf2_sse_only): Likewise.
758169689Skan	(truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove.
759169689Skan	(truncdfsf2_sse_only_nooverlap): Remove.
760169689Skan
761169689Skan	* config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.
762169689Skan
763169689Skan2004-12-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
764169689Skan
765169689Skan	* expr.c (emit_group_load_1): Return the source if the move
766169689Skan	is a regular move between complex values.
767169689Skan
768169689Skan2004-12-20  Roger Sayle  <roger@eyesopen.com>
769169689Skan
770169689Skan	PR middle-end/18683
771169689Skan	* config/rs6000/rs6000.c (current_file_function_operand): Only check
772169689Skan	current_function_decl's DECL_RTL if it has already been set.
773169689Skan
774169689Skan2004-12-20  Roger Sayle  <roger@eyesopen.com>
775169689Skan
776169689Skan	PR middle-end/18683
777169689Skan	* function.c (pop_function_context_from): Don't reset reg_renumber.
778169689Skan
779169689Skan2004-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
780169689Skan
781169689Skan	PR middle-end/18776
782169689Skan	* expr.c (write_complex_part): Use a subreg if the original object
783169689Skan	is a hard reg that spans an even number of regs or a MEM.
784169689Skan	(read_complex_part): Likewise.
785169689Skan
786169689Skan2004-12-20  Mark Mitchell  <mark@codesourcery.com>
787169689Skan
788169689Skan	* Makefile.in (install-common): Do not install the specs file
789169689Skan	unless SPECS is defined.
790169689Skan
791169689Skan2004-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
792169689Skan
793169689Skan	PR rtl-optimization/18942
794169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Simplify
795169689Skan	x + cst1 == cst2 to x == cst2 - cst1.  Made static.
796169689Skan
797169689Skan2004-12-20  Matt Austern  <austern@apple.com>
798169689Skan
799169689Skan	PR c++/19044
800169689Skan	* c-common.c (set_builtin_user_assembler_name): New.
801169689Skan	* c-common.h (set_builtin_user_assembler_name): Declare.
802169689Skan	* c-decl.c (finish_decl): Use set_builtin_user_assembler_name
803169689Skan
804169689Skan2004-12-20  Diego Novillo  <dnovillo@redhat.com>
805169689Skan
806169689Skan	PR tree-optimization/19080
807169689Skan
808169689Skan	Merge from tree-cleanup-branch
809169689Skan
810169689Skan	* tree-flow-inline.h (clear_call_clobbered): New function.
811169689Skan	* tree-ssa-alias.c (init_alias_info): Call it.
812169689Skan
813169689Skan2004-12-20  Richard Henderson  <rth@redhat.com>
814169689Skan
815169689Skan	* config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok
816169689Skan	check.
817169689Skan
818169689Skan2004-12-20  Steven Bosscher  <stevenb@suse.de>
819169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
820169689Skan
821169689Skan	PR middle-end/18191
822169689Skan	PR middle-end/18965
823169689Skan	PR middle-end/18999
824169689Skan	* expr.c (categorize_ctor_elements_1): Count the total number
825169689Skan	of elements in the constructor.
826169689Skan	(categorize_ctor_elements): Return it in a new argument.
827169689Skan	* tree.h (categorize_ctor_elements): Adjust prototype.
828169689Skan	* gimplify.c (gimplify_init_ctor_eval_range): New.
829169689Skan	(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
830169689Skan	(gimplify_init_constructor): Block clear the object if the
831169689Skan	constructor has fewer elements than the object type.  Only try
832169689Skan	to add assignments to individual elements when we have to.
833169689Skan
834169689Skan2004-12-20  Richard Henderson  <rth@redhat.com>
835169689Skan
836169689Skan	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
837169689Skan	long_long_integer_type_node in building V2DI_type_node.
838169689Skan
839169689Skan	* config/i386/emmintrin.h: Use __vector_size__ instead of vector_size.
840169689Skan	* config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise.
841169689Skan
842169689Skan2004-12-20  Ben Elliston  <bje@au.ibm.com>
843169689Skan
844169689Skan	* doc/md.texi (Expander Definitions): Use @emph instead of @strong
845169689Skan	around Note: text to workaround a limitation of the Info format.
846169689Skan	* doc/cpp.texi (Invocation): Likewise.
847169689Skan	* doc/cppopts.texi: Likewise.
848169689Skan
849169689Skan2004-12-19  Dale Johannesen  <dalej@apple.com>
850169689Skan
851169689Skan	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Don't
852169689Skan	reference operand 1 of ADDR_EXPRs.
853169689Skan
854169689Skan2004-12-19  Mark Mitchell  <mark@codesourcery.com>
855169689Skan
856169689Skan	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
857169689Skan	* output.h (assemble_name_raw): Declare it.
858169689Skan	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it.
859169689Skan	* varasm.c (assemble_name_raw): New function.
860169689Skan	(assemble_name): Use it.
861169689Skan	(default_internal_label): Likewise.
862169689Skan	* config/darwin.c (darwin_asm_output_dwarf_delta): Likewise.
863169689Skan	* doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document.
864169689Skan
865169689Skan2004-12-19  Richard Henderson  <rth@redhat.com>
866169689Skan
867169689Skan	PR 18067
868169689Skan	* stor-layout.c (variable_size): Force creation of a SAVE_EXPR.
869169689Skan
870169689Skan2003-12-19  Steven Bosscher  <stevenb@suse.de>
871169689Skan
872169689Skan	* config/i386/i386.c (ix86_split_to_parts): Use an array with
873169689Skan	four elements for decoding a CONST_DOUBLE on 64 bits targets.
874169689Skan
875169689Skan2004-12-19  Bernardo Innocenti  <bernie@develer.com>
876169689Skan
877169689Skan	* config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant
878169689Skan	definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS.
879169689Skan
880169689Skan2004-12-18  Daniel Berlin  <dberlin@dberlin.org>
881169689Skan
882169689Skan	* lambda-code.c (can_convert_to_perfect_nest): Make checking
883169689Skan	match up with what perfect_nestify can actually handle.
884169689Skan	(perfect_nestify): Don't return false in the phi node loop.
885169689Skan
886169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
887169689Skan
888169689Skan	* config/i386/i386.md (SSEINT16): New.
889169689Skan	(movv16qi, movv8hi, movv4si, movv2di): Compress via macros.
890169689Skan	(movv16qi_internal, movv8hi_internal, movv4si_internal,
891169689Skan	movv2di_internal): Compress via macros.  Add SSE zero alternative.
892169689Skan	Fix pure SSE alternatives to use 'x' instead of 'Y'.
893169689Skan	(MMXINT8): New.
894169689Skan	(movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal,
895169689Skan	movv2si_internal): Compress via macros.
896169689Skan	(SSEPUSH, MMXPUSH): New.
897169689Skan	(pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df,
898169689Skan	pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros.
899169689Skan
900169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
901169689Skan
902169689Skan	PR middle-end/16417
903169689Skan	* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
904169689Skan	comment.
905169689Skan	* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
906169689Skan	checks.
907169689Skan	* c-tree.h (struct lang_decl): Remove pending_sizes.
908169689Skan	* function.c: Include tree-gimple.h
909169689Skan	(assign_parm_setup_reg): Remove callee-copies code.
910169689Skan	(gimplify_parm_type, gimplify_parameters): New functions.
911169689Skan	(expand_pending_sizes): Remove.
912169689Skan	(expand_function_start): Don't call it.
913169689Skan	* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
914169689Skan	(gimplify_body): Add do_parms argument.  Use gimplify_parameters.
915169689Skan	(gimplify_function_tree): Setup cfun.  Update gimplify_body call.
916169689Skan	* tree-gimple.h (gimplify_body): Update decl.
917169689Skan	* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
918169689Skan	call.
919169689Skan	* tree.h (gimplify_parameters): Declare.
920169689Skan	* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
921169689Skan
922169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
923169689Skan
924169689Skan	* c-decl.c (finish_struct): Add DECL_EXPR for variable sized
925169689Skan	structures seen inside functions.
926169689Skan
927169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
928169689Skan
929169689Skan	* c-decl.c (grokdeclarator): Save variable array size before
930169689Skan	subtracting 1, rather than after.
931169689Skan
932169689Skan2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
933169689Skan
934169689Skan	PR middle-end/15486
935169689Skan	* varasm.c (asm_emit_uninitialised): Return early if
936169689Skan	a custom section is requested.
937169689Skan	(assemble_variable): Revert 2002-03-15 patch.
938169689Skan
939169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
940169689Skan
941169689Skan	* stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr.
942169689Skan
943169689Skan2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
944169689Skan
945169689Skan	PR tree-optimization/18800
946169689Skan	* params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
947169689Skan	* tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
948169689Skan	(ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
949169689Skan	(iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
950169689Skan	(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
951169689Skan	New functions.
952169689Skan	(iv_ca_extend): Return number of candidates in the set.
953169689Skan	(try_add_cand_for): Add argument to iv_ca_extend calls.
954169689Skan	(try_improve_iv_set): Use iv_ca_prune.
955169689Skan	* doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
956169689Skan
957169689Skan2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
958169689Skan
959169689Skan	PR rtl-optimization/19001
960169689Skan	* loop-iv.c (iv_number_of_iterations): Record assumptions for loops
961169689Skan	with power of two step to 'infinite' field.
962169689Skan
963169689Skan2004-12-18  Roger Sayle  <roger@eyesopen.com>
964169689Skan
965169689Skan	* Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
966169689Skan	(tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h.
967169689Skan	(tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h.
968169689Skan	(tree-mudflap.o): Depend upon gt-tree-mudflap.h.
969169689Skan	(expr.o): Depend upon gt-expr.h.
970169689Skan	(regclass.o): Depend upon gt-regclass.h.
971169689Skan	(bitmap.o): Depend upon gt-bitmap.h.
972169689Skan	(lists.o): Depend upon gt-lists.h.
973169689Skan
974169689Skan	(cfgexpand.o): Don't depend upon gt-tree-cfg.h.
975169689Skan
976169689Skan	(GTFILES): Remove fold-const.c.
977169689Skan	(gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h):
978169689Skan	Remove rules.
979169689Skan
980169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
981169689Skan
982169689Skan	* stor-layout.c (layout_decl): Unshare size expressions copied
983169689Skan	from the type.
984169689Skan
985169689Skan	* fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when
986169689Skan	BOTTOM is a power of two.
987169689Skan
988169689Skan2004-12-18  Richard Henderson  <rth@redhat.com>
989169689Skan
990169689Skan	* tree-nested.c (save_tmp_var): New.
991169689Skan	(struct walk_stmt_info): Add is_lhs.
992169689Skan	(walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of
993169689Skan	val_only; set is_lhs.
994169689Skan	(convert_nonlocal_reference): Use save_tmp_var when is_lhs;
995169689Skan	clear is_lhs when appropriate.
996169689Skan	(convert_local_reference): Likewise.
997169689Skan
998169689Skan2004-12-18  Richard Earnshaw  <rearnsha@arm.com>
999169689Skan
1000169689Skan	* arm/ieee754-sf.S (floatdisf): Fix label definition in FPA
1001169689Skan	compatibility code.
1002169689Skan
1003169689Skan2004-12-18  Roger Sayle  <roger@eyesopen.com>
1004169689Skan
1005169689Skan	* ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
1006169689Skan	Take a max_cost argument to avoid scanning large blocks, by returning
1007169689Skan	a Boolean instead of a total.  Include the cost of a "fstp %st(0)"
1008169689Skan	instruction required to pop dead values off of a register stack.
1009169689Skan
1010169689Skan2004-12-18  Roger Sayle  <roger@eyesopen.com>
1011169689Skan
1012169689Skan	PR middle-end/18548
1013169689Skan	* expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
1014169689Skan	and op1 are all registers (or constants) before expanding the RTL
1015169689Skan	comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
1016169689Skan
1017169689Skan2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1018169689Skan
1019169689Skan	PR rtl-optimization/16968
1020169689Skan	* loop.c (scan_loop): Stop scanning the loop for movable
1021169689Skan	insns as soon as an optimization barrier is encountered.
1022169689Skan
1023169689Skan2004-12-17  Zack Weinberg  <zack@codesourcery.com>
1024169689Skan
1025169689Skan	PR 18897
1026169689Skan	* toplev.c (compile_file): Call process_pending_assemble_externals
1027169689Skan	just before targetm.asm_out.file_end.
1028169689Skan
1029169689Skan2004-12-17  Diego Novillo  <dnovillo@redhat.com>
1030169689Skan
1031169689Skan	tree-optimization/18501
1032169689Skan	* tree-optimize.c (init_tree_optimization_passes): Run
1033169689Skan	pass_late_warn_uninitialized before the last DCE run.
1034169689Skan
1035169689Skan2004-12-17  Richard Henderson  <rth@redhat.com>
1036169689Skan
1037169689Skan	* config/i386/i386.c (x86_64_reg_class_name): Re-indent.
1038169689Skan	(classify_argument, examine_argument, construct_container,
1039169689Skan	merge_classes): Remove prototypes.
1040169689Skan	(type_natural_mode): Split out from ...
1041169689Skan	(function_arg): ... here.
1042169689Skan	(gen_reg_or_parallel): Remove alt_mode argument.  Update callers.
1043169689Skan	Use orig_mode unless it's BLKmode.
1044169689Skan	(construct_container): Add orig_mode argument.  Update callers.
1045169689Skan	Use gen_reg_or_parallel for SSE registers.
1046169689Skan	(ix86_function_value): Use type_natural_mode.
1047169689Skan	(ix86_gimplify_va_arg): Likewise.
1048169689Skan	(ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in
1049169689Skan	SSE registers; always accept all MMX, 3DNOW modes in MMX registers.
1050169689Skan	* config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
1051169689Skan	VALID_MMX_REG_MODE.
1052169689Skan	* config/i386/i386.md (attribute mode): Add V1DF.
1053169689Skan	(movsi_1): Use 'x' instead of 'Y' constraints.
1054169689Skan	(movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise.
1055169689Skan	(movdi_1_rex64_nointerunit): Likewise.
1056169689Skan	(movdf_nointeger, movdf_integer): Likewise.  Handle SSE1.
1057169689Skan	(movsf_1, movsf_1_nointerunit): Line up constraint alternatives.
1058169689Skan	(swapsf): Use fp_register_operand, don't disable for TARGET_SSE.
1059169689Skan	(swapdf): Likewise.
1060169689Skan	(swapxf): Enable only for TARGET_80387.
1061169689Skan	(movv2sf, movv2sf_internal, pushv2sf): Enable for MMX.
1062169689Skan	(movtf): Remove double-check for TARGET_64BIT.
1063169689Skan	(movv2df_internal): Enable for SSE1.
1064169689Skan	(movv8hi_internal, movv16qi_internal): Likewise.
1065169689Skan	(movv2df, movv8hi, movv16qi): Likewise.
1066169689Skan	(pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise.
1067169689Skan	(pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal,
1068169689Skan	movv8qi_internal, movv4hi_internal, movv2sf_internal,
1069169689Skan	movv2df_internal, movv8hi_internal, movv16qi_internal,
1070169689Skan	movti_internal): Add leading '*' to name.
1071169689Skan
1072169689Skan2004-12-17  Dale Johannesen  <dalej@apple.com>
1073169689Skan
1074169689Skan	* c-decl.c (diagnose_mismatched_decls): Accept mismatched
1075169689Skan	function types: void with previous implicit int.
1076169689Skan
1077169689Skan2004-12-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1078169689Skan
1079169689Skan	* config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
1080169689Skan	s390_sr_alias_set.
1081169689Skan
1082169689Skan2004-12-17  Jan Beulich  <jbeulich@novell.com>
1083169689Skan
1084169689Skan	PR target/17603
1085169689Skan	* config/i386/i386.c (enum x86_64_reg_class): Define
1086169689Skan	X86_64_COMPLEX_X87_CLASS.
1087169689Skan	(x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
1088169689Skan	(merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
1089169689Skan	(classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
1090169689Skan	(examine_argument): X86_64_COMPLEX_X87_CLASS requires two
1091169689Skan	registers when dealing with a return value.
1092169689Skan	(construct_container): Handle X86_64_COMPLEX_X87_CLASS.
1093169689Skan	Eliminate impossible case of two X87/X87UP pairs (this now is
1094169689Skan	being expressed by a single COMPLEX_X87).
1095169689Skan	(x86_libcall_value): XCmode gets returned in st0/st1.
1096169689Skan
1097169689Skan2004-12-17  Steven Bosscher  <stevenb@suse.de>
1098169689Skan
1099169689Skan	* tree.c (type_contains_placeholder_1): Always return false
1100169689Skan	for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
1101169689Skan
1102169689Skan2004-12-17  Uros Bizjak  <uros@kss-loka.si>
1103169689Skan
1104169689Skan	* config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
1105169689Skan	*extendsfdf2_1_sse_only): Unify enable constraint with
1106169689Skan	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
1107169689Skan	and TARGET_MIX_SSE_I387.
1108169689Skan	(*extendsfdf2_i387): New insn pattern.
1109169689Skan	(*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
1110169689Skan	register constraint for operand 0.
1111169689Skan	(*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
1112169689Skan	(*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
1113169689Skan
1114169689Skan2004-12-16  Andrew Pinski  <pinskia@physics.uc.edu>
1115169689Skan
1116169689Skan	PR target/19041
1117169689Skan	* config/darwin.c (machopic_symbol_defined_p): Return false
1118169689Skan	if the binds local and is a common symbol.
1119169689Skan
1120169689Skan2004-12-16  Richard Henderson  <rth@redhat.com>
1121169689Skan
1122169689Skan	* config/i386/i386.md (extv, extzv, insv): Revalidate the
1123169689Skan	operand with ext_register_operand.
1124169689Skan
1125169689Skan2004-12-16  Kazu Hirata  <kazu@cs.umass.edu>
1126169689Skan
1127169689Skan	* global.c: Fix a comment typo.
1128169689Skan
1129169689Skan2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
1130169689Skan	    Roger Sayle  <roger@eyesopen.com>
1131169689Skan
1132169689Skan	PR tree-optimization/18707
1133169689Skan	* cfgloopmanip.c (create_preheader): Move the preheader
1134169689Skan	only if the latch was falling through to the header.
1135169689Skan
1136169689Skan2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
1137169689Skan
1138169689Skan	PR target/18997
1139169689Skan	* config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
1140169689Skan
1141169689Skan2004-12-16  Richard Henderson  <rth@redhat.com>
1142169689Skan	    Aldy Hernandez  <aldyh@redhat.com>
1143169689Skan
1144169689Skan	* simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
1145169689Skan	hard registers.
1146169689Skan
1147169689Skan2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
1148169689Skan
1149169689Skan	PR other/18508
1150169689Skan	* config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
1151169689Skan	to back up the existing shared library.
1152169689Skan	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
1153169689Skan	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1154169689Skan	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1155169689Skan	* config/sh/t-linux (SHLIB_LINK): Likewise.
1156169689Skan	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1157169689Skan	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1158169689Skan	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1159169689Skan	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1160169689Skan
1161169689Skan	* config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
1162169689Skan	file.
1163169689Skan
1164169689Skan2004-12-16  Richard Henderson  <rth@redhat.com>
1165169689Skan
1166169689Skan	* Makefile.in (MD_DEPS, s-mddeps): New.
1167169689Skan	(s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
1168169689Skan	s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
1169169689Skan	s-preds): Depend on MD_DEPS instead of md_file.
1170169689Skan	(genobjnames): Add genmddeps.o
1171169689Skan	(build/genmddeps, build/genmddeps.o): New.
1172169689Skan	(mostlyclean): Remove mddeps.mk.
1173169689Skan	* genmddeps.c: New file.
1174169689Skan	* gensupport.c (include_callback): New.
1175169689Skan	(process_include): Call it.
1176169689Skan	* gensupport.h (include_callback): Declare.
1177169689Skan
1178169689Skan2004-12-16  Nathan Sidwell  <nathan@codesourcery.com>
1179169689Skan
1180169689Skan	* local-alloc.c (block_alloc): Replace IN_RANGE with simple
1181169689Skan	comparison.
1182169689Skan
1183169689Skan	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
1184169689Skan
1185169689Skan2004-12-16  Mark Dettinger  <dettinge@de.ibm.com>
1186169689Skan
1187169689Skan	* config/s390/s390.c (struct processor_costs): Two new fields:
1188169689Skan	madbr, maebr.
1189169689Skan	(s390_rtx_costs): Added handling of multipy and add in SFmode.
1190169689Skan	More precise values for cost of multiply and add.
1191169689Skan
1192169689Skan2004-12-15  Richard Henderson  <rth@redhat.com>
1193169689Skan
1194169689Skan	PR target/19028
1195169689Skan	* config/i386/i386.md (sse compare splitter): Test for SF and DFmode
1196169689Skan	explicitly instead of using VALID_SSE_REG_MODE.
1197169689Skan
1198169689Skan2004-12-15  Richard Henderson  <rth@redhat.com>
1199169689Skan
1200169689Skan	PR target/19005
1201169689Skan	* config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
1202169689Skan	optimize_size.
1203169689Skan	(swapqi_1): Rename from swapqi.  Enable only for no partial reg
1204169689Skan	stall and optimize_size.
1205169689Skan	(swapqi_2): New.
1206169689Skan	(swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
1207169689Skan	(swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
1208169689Skan
1209169689Skan2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1210169689Skan
1211169689Skan	* config/i386/i386.md (*floathisf2_i387, *floathidf2_i387):
1212169689Skan	Also enable for TARGET_MIX_SSE_I387.
1213169689Skan
1214169689Skan2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1215169689Skan
1216169689Skan	* config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only,
1217169689Skan	sqrt{s,d}f2_i387): Unify enable constraint with respect to
1218169689Skan	TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387,
1219169689Skan	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1220169689Skan	(sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed.
1221169689Skan	(sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse.
1222169689Skan	(sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387.
1223169689Skan	(*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387.
1224169689Skan	(*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387.
1225169689Skan
1226169689Skan2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1227169689Skan
1228169689Skan	* config/i386/i386.md (*fop_?f_comm_{,sse,nosse},
1229169689Skan	*fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable
1230169689Skan	constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2,
1231169689Skan	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1232169689Skan	(*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed.
1233169689Skan	(*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387.
1234169689Skan	(*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387.
1235169689Skan
1236169689Skan2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
1237169689Skan
1238169689Skan	PR target/18153
1239169689Skan	* configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
1240169689Skan	-Bstatic/-Bdynamic option.
1241169689Skan	* config.in: Regenerated.
1242169689Skan	* configure: Likewise.
1243169689Skan
1244169689Skan	* gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
1245169689Skan	-lunwind if possible.
1246169689Skan
1247169689Skan2004-12-15  Daniel Berlin  <dberlin@dberlin.org>
1248169689Skan
1249169689Skan	* cfgloop.c (flow_loops_dump): Don't print out levels.
1250169689Skan	(flow_loops_find): Don't set loop->levels.
1251169689Skan	(flow_loops_level_compute): Make void.
1252169689Skan	* cfgloop.h (struct loops): Remove levels member.
1253169689Skan	Add comment about loops in parray possibly being NULL.
1254169689Skan
1255169689Skan2004-12-15  Alexandre Oliva  <aoliva@redhat.com>
1256169689Skan
1257169689Skan	* reload.c (SMALL_REGISTER_CLASS_P): New.
1258169689Skan	(push_secondary_reload, find_reusable_reload, find_reloads): Use
1259169689Skan	it instead of testing only the class size.
1260169689Skan
1261169689Skan2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1262169689Skan
1263169689Skan	PR c++/17972
1264169689Skan	* tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
1265169689Skan	on the STMT_EXPR wrapping up the inlined body.
1266169689Skan
1267169689Skan2004-12-15  Vladimir Makarov  <vmakarov@redhat.com>
1268169689Skan	    Steven Bosscher  <stevenb@suse.de>
1269169689Skan	PR middle end/17340
1270169689Skan
1271169689Skan	* global.c: Update comments in a few places.
1272169689Skan	(check_earlyclobber): Return true if there are early clobber
1273169689Skan	classes.
1274169689Skan	(calculate_local_reg_bb_info): Do not try to mark earlyclobber
1275169689Skan	regs if there are none.
1276169689Skan	(bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
1277169689Skan	make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
1278169689Skan	live_pavout.
1279169689Skan	(modify_bb_reg_pav): Remove.
1280169689Skan	(calculate_reg_pav): Use code from modify_bb_reg_pav.
1281169689Skan	(temp_bitmap): New variable.
1282169689Skan	(calculate_reg_pav): Allocate/deallocate temp_bitmap.
1283169689Skan
1284169689Skan2004-12-15  Richard Henderson  <rth@redhat.com>
1285169689Skan
1286169689Skan	PR target/19010
1287169689Skan	* config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
1288169689Skan	for TImode vectors.
1289169689Skan	(gen_reg_or_parallel): New.
1290169689Skan	(function_arg): Use it.
1291169689Skan	(ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
1292169689Skan	MMX and 3DNOW separately.
1293169689Skan	(ix86_rtx_costs): Simplify FLOAT_EXTEND case.
1294169689Skan	(ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
1295169689Skan	* config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
1296169689Skan	(VALID_SSE_REG_MODE): ... here.
1297169689Skan
1298169689Skan2004-12-15  David Edelsohn  <edelsohn@gnu.org>
1299169689Skan
1300169689Skan	* xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
1301169689Skan
1302169689Skan2004-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
1303169689Skan
1304169689Skan	* config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
1305169689Skan	COMPARE of MULT.
1306169689Skan	* config/arm/arm.md (mulsi3_compare0): Don't check
1307169689Skan	arm_arch_xscale.
1308169689Skan	(mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
1309169689Skan	(mulsi3addsi_compare0_scratch): Likewise.
1310169689Skan
1311169689Skan2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1312169689Skan
1313169689Skan	PR other/18665
1314169689Skan	* libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
1315169689Skan	Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
1316169689Skan	* libgcc2.c (__addvsi3): Rename to __addvSI3.
1317169689Skan	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1318169689Skan	(__addvdi3): Rename to __addvDI3.
1319169689Skan	(__subvsi3): Rename to __subvSI3.  Use word type for the result.
1320169689Skan	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1321169689Skan	(__subvdi3): Rename to __subvDI3.
1322169689Skan	(_mulvsi3): Rename to _mulvSI3.
1323169689Skan	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1324169689Skan	(_mulvdi3): Rename to _mulvDI3.
1325169689Skan	(__negvsi2): Rename to __negvSI2.
1326169689Skan	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1327169689Skan	(__negvdi2): Rename to __negvDI2.
1328169689Skan	(__absvsi2): Rename to __absvSI2.
1329169689Skan	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1330169689Skan	(__absvdi2): Rename to __absvDI2.
1331169689Skan	* libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1332169689Skan	(__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
1333169689Skan	__addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
1334169689Skan	symbol and declare.
1335169689Skan	(__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
1336169689Skan	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1337169689Skan
1338169689Skan2004-12-15  Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
1339169689Skan
1340169689Skan	* config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
1341169689Skan	Use DWARF2_DEBUG.
1342169689Skan
1343169689Skan	* config/m32r.c (m32r_legitimize_pic_address): Changed
1344169689Skan	to support GOTOFF relocation.
1345169689Skan	* config/m32r.md (UNSPEC_GOTOFF): New.
1346169689Skan	(gotoff_load_addr): New.
1347169689Skan
1348169689Skan2004-12-15  Richard Sandiford  <rsandifo@redhat.com>
1349169689Skan
1350169689Skan	* config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
1351169689Skan	decide whether an argument is double-word aligned.
1352169689Skan
1353169689Skan2004-12-15  Richard Henderson  <rth@redhat.com>
1354169689Skan
1355169689Skan	* config/i386/i386.md: Fix missing modes on cmove splitters.
1356169689Skan
1357169689Skan2004-12-15 Jan Beulich  <jbeulich@novell.com>
1358169689Skan
1359169689Skan	* mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
1360169689Skan
1361169689Skan2004-12-15  Uros Bizjak  <uros@kss-loka.si>
1362169689Skan
1363169689Skan	* config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
1364169689Skan	*floatsisf2_i387, *floatsisf2_sse, floatdisf2,
1365169689Skan	*floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
1366169689Skan	floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
1367169689Skan	floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
1368169689Skan	*floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
1369169689Skan	Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
1370169689Skan	TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1371169689Skan	(*float?i?f_i387): Rename to *float?i?f2_mixed.
1372169689Skan	(*float?i?f2_1): Rename to *float?i?f2_i387.
1373169689Skan	(*float?i?f2_i387_only): Rename to *float?i?f2_i387.
1374169689Skan	(float?ixf2): Penalize integer register operand.
1375169689Skan
1376169689Skan2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1377169689Skan
1378169689Skan	PR c++/17242
1379169689Skan	* configure.ac: Add GAS check for HP-UX .nsubspa comdat.
1380169689Skan	* configure, config.in: Rebuilt.
1381169689Skan	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
1382169689Skan	defines.
1383169689Skan	* config/pa/pa.c (pa_select_section): Allow uninitialized variables in
1384169689Skan	one-only (comdat) subspaces.
1385169689Skan	* config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
1386169689Skan	(SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
1387169689Skan	true.
1388169689Skan	(MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
1389169689Skan
1390169689Skan2004-12-14  Ian Lance Taylor  <ian@wasabisystems.com>
1391169689Skan
1392169689Skan	* combine.c (combine_validate_cost): Consider cost of
1393169689Skan	undobuf.other_insn rather than always allowing the recombination
1394169689Skan	if it is set.
1395169689Skan
1396169689Skan2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1397169689Skan
1398169689Skan	* pa-host.c (MAP_FAILED): Define if not defined.
1399169689Skan	(pa_gt_pch_use_address): Handle short reads.
1400169689Skan
1401169689Skan2004-12-14  Richard Henderson  <rth@redhat.com>
1402169689Skan
1403169689Skan	PR target/17990
1404169689Skan	* config/i386/i386.c (x86_use_bt): New.
1405169689Skan	(ix86_expand_unary_operator): Use MEM_P.
1406169689Skan	(ix86_expand_fp_absneg_operator): New.
1407169689Skan	* config/i386/i386.h (x86_use_bt): Declare.
1408169689Skan	(TARGET_USE_BT): New.
1409169689Skan	* config/i386/i386-protos.h: Update.
1410169689Skan	* config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
1411169689Skan	(negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
1412169689Skan	(negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
1413169689Skan	negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
1414169689Skan	abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
1415169689Skan	absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
1416169689Skan	(absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
1417169689Skan	absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
1418169689Skan	neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
1419169689Skan	(negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
1420169689Skan	(btsq, btrq, btcq): New.  Add peepholes as well.
1421169689Skan	(movv4sf_internal splitter): Postpone til after reload.
1422169689Skan	(movv2di_internal splitter): Likewise.
1423169689Skan	* config/i386/predicates.md (const_0_to_63_operand): New.
1424169689Skan	(absneg_operator): New.
1425169689Skan
1426169689Skan2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1427169689Skan
1428169689Skan	* pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
1429169689Skan	Check register number and that reg_renumber is nonzero before using it.
1430169689Skan
1431169689Skan2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1432169689Skan
1433169689Skan	* doc/invoke.texi (IA-64 options): Add existing options that
1434169689Skan	weren't already listed.
1435169689Skan
1436169689Skan2004-12-14  Jeff Law  <law@redhat.com>
1437169689Skan
1438169689Skan	* tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
1439169689Skan	partition to conflict_graph_merge_regs.
1440169689Skan
1441169689Skan2004-12-14  Uttam Pawar  <uttamp@us.ibm.com>
1442169689Skan	    Janis Johnson  <janis187@us.ibm.com>
1443169689Skan
1444169689Skan	* rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
1445169689Skan	for vector types with invalid component types.
1446169689Skan
1447169689Skan2004-12-14  Jakub Jelinek  <jakub@redhat.com>
1448169689Skan
1449169689Skan	PR middle-end/18951
1450169689Skan	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
1451169689Skan	expand_builtin_mathfn_3): Avoid using arguments passed to
1452169689Skan	save_expr after that call.
1453169689Skan
1454169689Skan	* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
1455169689Skan	LOAD_EXTEND_OP is not defined.
1456169689Skan	(fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.
1457169689Skan
1458169689Skan2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1459169689Skan
1460169689Skan	* tree.def, doc/c-tree.texi: Correctly document restrictions on the
1461169689Skan	shift width.
1462169689Skan
1463169689Skan2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
1464169689Skan
1465169689Skan	* expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
1466169689Skan
1467169689Skan2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
1468169689Skan
1469169689Skan	PR target/18973
1470169689Skan	arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
1471169689Skan	(arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
1472169689Skan	property to flags.
1473169689Skan
1474169689Skan2004-12-14  Diego Novillo  <dnovillo@redhat.com>
1475169689Skan
1476169689Skan	* tree-gimple.c (get_base_address): Update documentation.
1477169689Skan
1478169689Skan2004-12-13  Richard Henderson  <rth@redhat.com>
1479169689Skan
1480169689Skan	PR middle-end/17930
1481169689Skan	* passes.c (rest_of_clean_state): Fix computation of
1482169689Skan	preferred_incoming_stack_boundary.
1483169689Skan
1484169689Skan2004-12-13  Wolfgang Bangerth <bangerth@dealii.org>
1485169689Skan
1486169689Skan	* reload.h: Remove struct needs and its only use.
1487169689Skan
1488169689Skan2004-12-13  Roger Sayle  <roger@eyesopen.com>
1489169689Skan
1490169689Skan	PR rtl-optimization/18928
1491169689Skan	* simplify_rtx.c (plus_minus_operand_p): New function to encode
1492169689Skan	the test for suitable operands for calls to simplify_plus_minus.
1493169689Skan	Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
1494169689Skan	(simplify_binary_operation): Use plus_minus_operand_p.
1495169689Skan
1496169689Skan2004-12-13  Alexandre Oliva  <aoliva@redhat.com>
1497169689Skan
1498169689Skan	PR tree-opt/16951
1499169689Skan	* tree-inline.c (setup_one_parameter): Don't directly map a
1500169689Skan	parameter to the address of another variable of the same
1501169689Skan	function.
1502169689Skan
1503169689Skan2004-13-12  Steven Bosscher  <stevenb@suse.de>
1504169689Skan
1505169689Skan	* basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
1506169689Skan	can never create autoinc insns after reload.
1507169689Skan
1508169689Skan2004-12-13  Jeff Law  <law@redhat.com>
1509169689Skan	    Kazu Hirata  <kazu@cs.umass.edu>
1510169689Skan
1511169689Skan	PR tree-optimization/18694
1512169689Skan	* tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
1513169689Skan	PHI argument is set from a PHI_RESULT in the same block and the
1514169689Skan	PHI argument is not the same as the PHI result.
1515169689Skan
1516169689Skan2004-12-13  David Edelsohn  <edelsohn@gnu.org>
1517169689Skan
1518169689Skan	* xcoffout.c (xcoffout_declare_function): Always strip storage
1519169689Skan	class encoding.
1520169689Skan
1521169689Skan2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
1522169689Skan
1523169689Skan	PR target/18964
1524169689Skan	* config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
1525169689Skan	problem, adding a space at the end of the string before concatenation.
1526169689Skan
1527169689Skan2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
1528169689Skan
1529169689Skan	* c-common.c (fname_as_string): Free namep if we are returning
1530169689Skan	cstr.text.
1531169689Skan
1532169689Skan	* tree-ssa-dom.c (record_edge_info): Fix memory leak.
1533169689Skan
1534169689Skan2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
1535169689Skan
1536169689Skan	* tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
1537169689Skan
1538169689Skan2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
1539169689Skan
1540169689Skan	* tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
1541169689Skan	doing a pointer comparison.
1542169689Skan
1543169689Skan	* tree-ssa-dom.c (record_equivalences_from_phis): Add a
1544169689Skan	comment.
1545169689Skan
1546169689Skan	* defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
1547169689Skan	typos.
1548169689Skan
1549169689Skan2004-12-13  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1550169689Skan
1551169689Skan	* config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
1552169689Skan	the list rather than replacing the existing value.
1553169689Skan
1554169689Skan2004-12-13  Richard Henderson  <rth@redhat.com>
1555169689Skan
1556169689Skan	* cfg.c (dump_flow_info): Don't dump pseudo info after reload.
1557169689Skan
1558169689Skan2004-12-13  Richard Henderson  <rth@redhat.com>
1559169689Skan
1560169689Skan	* Makefile.in (insn-preds.o): Depend on REGS_H.
1561169689Skan	* genpreds.c (write_insn_preds_c): Include regs.h.
1562169689Skan	* config/i386/predicates.md (index_register_operand): Use
1563169689Skan	REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
1564169689Skan
1565169689Skan	* config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
1566169689Skan	* config/i386/i386.md (lea_general_1, lea_general_1_zext,
1567169689Skan	lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
1568169689Skan	adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
1569169689Skan	ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
1570169689Skan	ashlqi3_1_lea): Use 'l' for index register operand.
1571169689Skan	(ashldi3_1_rex64 splitter): Use index_register_operand.
1572169689Skan	(ashlsi3_1 splitter): Be more careful with modes.
1573169689Skan
1574169689Skan2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
1575169689Skan
1576169689Skan	PR target/18459
1577169689Skan	* defaults.h (TARGET_USE_JCR_SECTION): New macro.
1578169689Skan	* doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
1579169689Skan	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
1580169689Skan	default.
1581169689Skan
1582169689Skan2004-12-13 Uros Bizjak <uros@kss-loka.si>
1583169689Skan
1584169689Skan	PR target/14941
1585169689Skan	PR target/18503
1586169689Skan	* config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
1587169689Skan	Fix wrong vec_merge selector bitmask.
1588169689Skan
1589169689Skan2004-12-12  Richard Henderson  <rth@redhat.com>
1590169689Skan
1591169689Skan	PR rtl-opt/17186
1592169689Skan	* reg-stack.c (move_nan_for_stack_reg): New.
1593169689Skan	(subst_stack_regs_pat): Use it.
1594169689Skan	(move_for_stack_reg): Handle source register not live with a nan.
1595169689Skan
1596169689Skan2004-12-12  Richard Henderson  <rth@redhat.com>
1597169689Skan
1598169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
1599169689Skan	errors across operations.
1600169689Skan
1601169689Skan2004-12-12  Di-an Jan  <dianj@freeshell.org>
1602169689Skan
1603169689Skan	* doc/passes.texi (Pass Manager): Correct list of source files.
1604169689Skan
1605169689Skan2004-12-12  Richard Henderson  <rth@redhat.com>
1606169689Skan
1607169689Skan	* expr.c (emit_move_change_mode): New.
1608169689Skan	(emit_move_via_alt_mode): Use it.
1609169689Skan
1610169689Skan2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1611169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1612169689Skan
1613169689Skan	PR middle-end/17564
1614169689Skan	* dojump.c (do_compare_and_jump): Only canonicalize function pointers
1615169689Skan	in a comparison if both sides are function pointers.
1616169689Skan
1617169689Skan2004-12-12  Richard Henderson  <rth@redhat.com>
1618169689Skan
1619169689Skan	PR target/18932
1620169689Skan	* config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
1621169689Skan	and compare_operator to propagate the input CC mode to the output.
1622169689Skan	* config/i386/predicates.md (compare_operator): New.
1623169689Skan
1624169689Skan2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
1625169689Skan
1626169689Skan	PR tree-opt/18040
1627169689Skan	* expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
1628169689Skan	CONVERT_EXPR cases.
1629169689Skan	(handled_component_p): Likewise.
1630169689Skan
1631169689Skan2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1632169689Skan
1633169689Skan	* reg-stack.c (convert_regs_2): Free stack.
1634169689Skan
1635169689Skan	* tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
1636169689Skan	comment typos.
1637169689Skan
1638169689Skan2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
1639169689Skan
1640169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
1641169689Skan	* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
1642169689Skan	inner loop.
1643169689Skan
1644169689Skan2004-12-12  Diego Novillo  <dnovillo@redhat.com>
1645169689Skan
1646169689Skan	* tree-gimple.c (get_base_address): Update documentation.
1647169689Skan
1648169689Skan2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1649169689Skan
1650169689Skan	* lcm.c (optimize_mode_switching): Free ptr even when mode_set
1651169689Skan	is NULL_RTX.
1652169689Skan
1653169689Skan2004-12-12  Roger Sayle  <roger@eyesopen.com>
1654169689Skan
1655169689Skan	* reg-stack.c (change_stack): Avoid placing the new top-of-stack in
1656169689Skan	its correct location during popping if we need to permute the stack
1657169689Skan	afterwards.  Attempt to preserve the original stack ordering.
1658169689Skan
1659169689Skan2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1660169689Skan
1661169689Skan	* lcm.c (optimize_mode_switching): Free insert and delete in
1662169689Skan	the "for" loop.
1663169689Skan
1664169689Skan2004-12-11  David Edelsohn  <edelsohn@gnu.org>
1665169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
1666169689Skan
1667169689Skan	PR target/18641
1668169689Skan	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
1669169689Skan	constants into all register classes intersecting with FLOAT_REGS
1670169689Skan	via memory.
1671169689Skan	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
1672169689Skan	* config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
1673169689Skan	choosing register preferences.
1674169689Skan	(movdi_internal64): Same.
1675169689Skan
1676169689Skan2004-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1677169689Skan
1678169689Skan	* tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
1679169689Skan	before we release an SSA_NAME.
1680169689Skan
1681169689Skan2004-12-11  Roger Sayle  <roger@eyesopen.com>
1682169689Skan
1683169689Skan	PR middle-end/18921
1684169689Skan	* fold-const.c (fold_unwidened_comparison): Use omit_one_operand
1685169689Skan	instead of constant_boolean_node as arg0 may have side-effects.
1686169689Skan
1687169689Skan2004-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1688169689Skan
1689169689Skan	* pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
1690169689Skan	file to anonymous private map.
1691169689Skan
1692169689Skan2004-12-10  Roger Sayle  <roger@eyesopen.com>
1693169689Skan
1694169689Skan	PR target/18002
1695169689Skan	PR middle-end/18424
1696169689Skan	* dojump.c (do_jump): When attempting to reverse the effects of
1697169689Skan	fold_single_bit_test, we need to STRIP_NOPS and narrowing type
1698169689Skan	conversions, and handle BIT_XOR_EXPR that's used to invert the
1699169689Skan	sense of the single bit test.
1700169689Skan
1701169689Skan2004-12-10  Devang Patel  <dpatel@apple.com>
1702169689Skan
1703169689Skan	PR 18732
1704169689Skan	* gcc.c (main): Do not break out of loop when error is reported while
1705169689Skan	processing one source file.
1706169689Skan
1707169689Skan2004-12-10  Diego Novillo  <dnovillo@redhat.com>
1708169689Skan
1709169689Skan	* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
1710169689Skan	(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
1711169689Skan	don't need any operands rewritten.
1712169689Skan	(rewrite_stmt): Ignore statements that don't need to be
1713169689Skan	rewritten.
1714169689Skan	(rewrite_operand): Validate that an existing SSA_NAME is
1715169689Skan	identical to the current reaching definition of the operand.
1716169689Skan
1717169689Skan2004-12-10  Diego Novillo  <dnovillo@redhat.com>
1718169689Skan
1719169689Skan	* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
1720169689Skan	* tree-vectorizer.c (vectorizable_load): Call it.
1721169689Skan	* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
1722169689Skan	* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
1723169689Skan
1724169689Skan2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1725169689Skan
1726169689Skan	* regmove.c (combine_stack_adjustments_for_block): Free
1727169689Skan	memlist if it hasn't been freed.
1728169689Skan
1729169689Skan2004-12-10  Ziemowit Laski  <zlaski@apple.com>
1730169689Skan
1731169689Skan	* c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
1732169689Skan	pointer field is set before dereferencing it.
1733169689Skan
1734169689Skan2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>
1735169689Skan
1736169689Skan	PR middle-end/18903
1737169689Skan	* tree-cfg.c (remove_bb): Put the moved label at the beginning
1738169689Skan	of the basic block.
1739169689Skan
1740169689Skan2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1741169689Skan
1742169689Skan	* tree-data-ref.c (free_data_refs): Free each data_reference
1743169689Skan	object.
1744169689Skan
1745169689Skan	* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
1746169689Skan	call to is_gimple_min_invariant if we know the result.
1747169689Skan
1748169689Skan2004-12-10  Jeff Law  <law@redhat.com>
1749169689Skan
1750169689Skan	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
1751169689Skan	redundant test of v_ann->mem_tag_kind.
1752169689Skan
1753169689Skan	* tree-ssa-operands.c (get_indirect_ref_operands): Remove
1754169689Skan	redundant conditional clearing opf_kill_def.
1755169689Skan
1756169689Skan2004-12-10  Richard Sandiford  <rsandifo@redhat.com>
1757169689Skan
1758169689Skan	* config/frv/frv-modes.def: Fix comment typos.
1759169689Skan	(CC_NZ): Define new mode.
1760169689Skan	* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
1761169689Skan	(condexec_intop_cmp_operator): Delete.
1762169689Skan	* config/frv/frv.c (comparison_string): New function.
1763169689Skan	(frv_print_operand): Use it to handle 'c' and 'C'.
1764169689Skan	(relational_operator): Redefine in terms of integer_relational_operator
1765169689Skan	and float_relational_operator.
1766169689Skan	(signed_relational_operator, unsigned_relational_operator): Delete.
1767169689Skan	(integer_relational_operator): New predicate, combining the above.
1768169689Skan	Check the mode of the first operand but leave frv.md to check the rest.
1769169689Skan	(float_relational_operator): Just check the mode of the first operand
1770169689Skan	and leave frv.md to check the rest.
1771169689Skan	(intop_compare_operator): Assume the result is compared with zero
1772169689Skan	in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
1773169689Skan	the operand predicates.
1774169689Skan	(condexec_intop_cmp_operator): Delete.
1775169689Skan	(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
1776169689Skan	(frv_hard_regno_mode_ok): Handle CC_NZmode.
1777169689Skan	(frv_select_cc_mode): New function.
1778169689Skan	* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
1779169689Skan	(REVERSIBLE_CC_MODE): Include CC_NZmode.
1780169689Skan	(PREDICATE_CODES): Replace entries for signed_relational_operand and
1781169689Skan	unsigned_relational_operator with one for integer_relational_operator.
1782169689Skan	Delete entry for condexec_intop_cmp_operator.
1783169689Skan	* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
1784169689Skan	(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
1785169689Skan	(*combo_intop_compare2, *combo_intop_compare4): Delete.
1786169689Skan	(*combo_intop_compare1): Change mode to CC_NZ.
1787169689Skan	(*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
1788169689Skan	(branch_{un,}signed_true, branch_{un,}signed_false)
1789169689Skan	(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
1790169689Skan	(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
1791169689Skan	(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
1792169689Skan	(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
1793169689Skan	(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
1794169689Skan	(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
1795169689Skan	pattern pairs.  Use integer_relational_operator.  Remove mode from
1796169689Skan	icc_operand.
1797169689Skan
1798169689Skan2004-12-10  Mark Dettinger  <dettinge@de.ibm.com>
1799169689Skan
1800169689Skan	* config/s390/s390.c (struct processor_costs): New fields ml,
1801169689Skan	sqdbr, sqebr.
1802169689Skan	(s390_rtx_costs): Added the missing handling of multiply & add,
1803169689Skan	square root, and umulsidi.
1804169689Skan
1805169689Skan2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1806169689Skan
1807169689Skan	* expmed.c (synth_mult): Initialize new_limit.latency before
1808169689Skan	making a recursive call.
1809169689Skan
1810169689Skan2004-12-10  Nick Clifton  <nickc@redhat.com>
1811169689Skan
1812169689Skan	* config/mn10300/mn10300.c (legitimate_address_p): Reject address
1813169689Skan	whose index is itself the sum of two other parts.
1814169689Skan
1815169689Skan2004-12-10  Alan Modra  <amodra@bigpond.net.au>
1816169689Skan
1817169689Skan	* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
1818169689Skan
1819169689Skan2004-12-10  Uros Bizjak  <uros@kss-loka.si>
1820169689Skan
1821169689Skan	* config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
1822169689Skan
1823169689Skan2004-12-09  Richard Henderson  <rth@redhat.com>
1824169689Skan
1825169689Skan	PR c/18282
1826169689Skan	* attribs.c (decl_attributes): Use relayout_decl.
1827169689Skan	* c-common.c (handle_mode_attribute): Copy all relevant type
1828169689Skan	parameters from the new underlying integral type.
1829169689Skan
1830169689Skan2004-12-09  Richard Henderson  <rth@redhat.com>
1831169689Skan
1832169689Skan	* c-common.c (shorten_compare): Don't special-case min/maxval
1833169689Skan	for C enumerations.
1834169689Skan
1835169689Skan2004-12-09  Richard Sandiford  <rsandifo@redhat.com>
1836169689Skan
1837169689Skan	* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
1838169689Skan	the request subreg is entirely contained in the requested component.
1839169689Skan	(simplify_gen_subreg): Return null for CONCATs that are rejected
1840169689Skan	by simplify_subreg.
1841169689Skan	* expmed.c (store_bit_field): Create a temporary when changing the
1842169689Skan	value to an integer mode.
1843169689Skan
1844169689Skan2004-12-09  David Edelsohn  <edelsohn@gnu.org>
1845169689Skan
1846169689Skan	* real.c (ibm_extended): Correct comment.
1847169689Skan
1848169689Skan2004-12-09  Stan Shebs  <shebs@apple.com>
1849169689Skan
1850169689Skan	* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
1851169689Skan	formerly in darwin-tramp.asm.
1852169689Skan	* config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
1853169689Skan	* config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
1854169689Skan	* config/rs6000/t-darwin: Add dependencies.
1855169689Skan
1856169689Skan2004-12-09  Richard Henderson  <rth@redhat.com>
1857169689Skan
1858169689Skan	PR target/17025
1859169689Skan	* config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
1860169689Skan	(test_qi_1, andqi_2): Do not promote to simode.
1861169689Skan
1862169689Skan2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>
1863169689Skan
1864169689Skan	PR tree-opt/18904
1865169689Skan	* tree-chrec.c (chrec_convert): Use fold_convert
1866169689Skan	instead of convert.
1867169689Skan
1868169689Skan2004-12-09  Matt Rice  <ratmice@yahoo.com>
1869169689Skan
1870169689Skan	PR preprocessor/18102
1871169689Skan	* c-incpath.c (remove_duplicates): Check for construct
1872169689Skan	equality.
1873169689Skan
1874169689Skan2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>
1875169689Skan
1876169689Skan	* genopinit.c (vec_realign_store_optab): Initialization removed.
1877169689Skan	* optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
1878169689Skan	* optabs.h (optab_index): OTI_vec_realign_store Removed.
1879169689Skan	(vec_realign_store_optab): Removed.
1880169689Skan	* target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
1881169689Skan	* target.h (builtin_mask_for_store): Removed.
1882169689Skan	* tree.def (REALIGN_STORE_EXPR): Removed.
1883169689Skan	* config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
1884169689Skan	(altivec_builtin_mask_for_store): Removed.
1885169689Skan	(altivec_init_builtins): Removed initialization of
1886169689Skan	altivec_builtin_mask_for_store.
1887169689Skan
1888169689Skan	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
1889169689Skan	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
1890169689Skan
1891169689Skan2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1892169689Skan
1893169689Skan	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
1894169689Skan
1895169689Skan	* tree.def (SET_TYPE): Remove.
1896169689Skan	(CONSTRUCTOR): Update description.
1897169689Skan	* builtins.c (type_to_class) Remove SET_TYPE case.
1898169689Skan	* dbxout.c (dbxout_type): Likewise.
1899169689Skan	* dwarf2out.c (is_base_type): Likewise.
1900169689Skan	(gen_set_type_die): Remove.
1901169689Skan	(gen_type_die): Remove SET_TYPE case.
1902169689Skan	* expr.c (count_type_elements): Likewise.
1903169689Skan	(mostly_zeroes_p): Likewise.
1904169689Skan	(store_constructor): Likewise.
1905169689Skan	* print_tree.c (print_node): Likewise.
1906169689Skan	* stor-layout.c (layout_type): Likewise.
1907169689Skan	* tree-browser.c (browse_tree): Likewise.
1908169689Skan	* tree-inline.c (remap_type): Likewise.
1909169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
1910169689Skan	* tree.c (type_contains_plaeholder_1, type_hash_eq,
1911169689Skan	variably_modified_type_p, initializer_zerop): Likewise.
1912169689Skan	* tree.h (SET_OR_ARRAY_CHECK): Remove.
1913169689Skan	(AGGREGATE_TYPE_P): Remove SET_TYPE check.
1914169689Skan	(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
1915169689Skan	* typeclass.h (enum type_class): Remove set_type_class.
1916169689Skan	* varasm.c (const_hash_1): Remove SET_TYPE case.
1917169689Skan	(compare_constant, copy_constant, output_constant): Likewise.
1918169689Skan	* config/i386/i386.c (classify_argument): Likewise.
1919169689Skan	* config/ia64/ia64.c (hfa_element_mode): Likewise.
1920169689Skan	* config/sparc/sparc.c (sparc_type_code): Likewise.
1921169689Skan
1922169689Skan	PR c++/16681
1923169689Skan	* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
1924169689Skan
1925169689Skan2004-12-08  Richard Henderson  <rth@redhat.com>
1926169689Skan
1927169689Skan	* config/i386/i386.md: Use FLAGS_REG everywhere.
1928169689Skan
1929169689Skan2004-12-08  Eric Christopher  <echristo@redhat.com>
1930169689Skan
1931169689Skan	* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
1932169689Skan	to avoid call to default function.
1933169689Skan
1934169689Skan2004-12-08  Zack Weinberg  <zack@codesourcery.com>
1935169689Skan
1936169689Skan	PR 17982
1937169689Skan	* varasm.c (pending_assemble_externals): New static.
1938169689Skan	(assemble_external_real): Meat of assemble_external split out
1939169689Skan	to this new function.
1940169689Skan	(process_pending_assemble_externals): New function.
1941169689Skan	(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
1942169689Skan	is true and the basic test passes, merely cons the decl onto
1943169689Skan	the pending list to be handled later.
1944169689Skan	* tree.h: Declare process_pending_assemble_externals.
1945169689Skan	* cgraphunit.c (cgraph_optimize): Call it.
1946169689Skan
1947169689Skan	* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
1948169689Skan
1949169689Skan2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
1950169689Skan
1951169689Skan	* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
1952169689Skan	and simplifying FOR_EACH_EDGE.
1953169689Skan
1954169689Skan2004-12-08  Richard Sandiford  <rsandifo@redhat.com>
1955169689Skan
1956169689Skan	* config/frv/frv.c (frv_sort_insn_group): Always initialize
1957169689Skan	packet_group->nop.
1958169689Skan
1959169689Skan2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
1960169689Skan
1961169689Skan	PR c++/18672
1962169689Skan	* gimplify.c (canonicalize_addr_expr): Cope with array of
1963169689Skan	incomplete type.
1964169689Skan	(gimplify_conversion): Remove redundant checks.
1965169689Skan
1966169689Skan	* doc/trouble.texi (Non-bugs): Clarify empty loop removal.
1967169689Skan
1968169689Skan2004-12-08  Uros Bizjak  <uros@kss-loka.si>
1969169689Skan
1970169689Skan	* config/i386/i386.c (output_387_binary_op,
1971169689Skan	ix86_prepare_fp_compare_args): Fix is_sse condition.
1972169689Skan
1973169689Skan2004-12-07  Uros Bizjak  <uros@kss-loka.si>
1974169689Skan
1975169689Skan	* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
1976169689Skan	argument.
1977169689Skan
1978169689Skan	* config/i386/i386.c (output_fp_compare): Fix is_sse condition.
1979169689Skan	Use EFLAGS_P only when fcomi insn should be used. Fix handling
1980169689Skan	of eflags_p variable. Change alt table accordingly. For non-fcomi
1981169689Skan	compare insn always use trailing fnstsw insn. Fix intmode
1982169689Skan	calculation for ficom insn.
1983169689Skan	(ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
1984169689Skan	ix86_free_from_memory when "pushed" is specified.
1985169689Skan	(ix86_expand_branch): Change call to ix86_split_fp_branch.
1986169689Skan
1987169689Skan	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
1988169689Skan	Change eflags_p parameter in call to output_fp_compare.
1989169689Skan	(*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
1990169689Skan	(*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
1991169689Skan	*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.	Change eflags_p
1992169689Skan	parameter in call to output_fp_compare.
1993169689Skan	(*cmpfp_2_u): Remove.
1994169689Skan	(*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
1995169689Skan	in call to output_fp_compare.
1996169689Skan	(*ficom_1): Remove insn definition and corresponding define_split.
1997169689Skan	(*cmpfp_si): New insn definition.
1998169689Skan	(*fp_jcc_8): New insn definition. Add new splitters for
1999169689Skan	"memory_operand" and "register_operand".
2000169689Skan	(define_split): Add new parameter in call to ix86_split_fp_branch.
2001169689Skan
2002169689Skan	config/i386/predicates.md (float_operator): New predicate.
2003169689Skan
2004169689Skan2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
2005169689Skan
2006169689Skan	* c-common.c (verify_tree): Don't check code length if we know
2007169689Skan	we are handling tcc_unary.
2008169689Skan	* print_tree.c (print_node): Remove code to handle RTL
2009169689Skan	appearing as a part of a tree node.
2010169689Skan	* tree-gimple.c (recalculate_side_effects): Rename fro as len.
2011169689Skan	* tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
2012169689Skan	(PROCESS_ARG): Don't refer to fro.
2013169689Skan	(build2_stat, build3_stat, build4_stat): Don't compute fro.
2014169689Skan
2015169689Skan2004-12-07  Roger Sayle  <roger@eyesopen.com>
2016169689Skan
2017169689Skan	PR middle-end/18293
2018169689Skan	* expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
2019169689Skan	(expand_mult): Special case powers of two to avoid synth_mult.
2020169689Skan	* loop.c (product_cheap_p): Handle case where expand_mult does
2021169689Skan	require/generate any instructions (i.e. multiplication by zero).
2022169689Skan
2023169689Skan2004-12-07  Richard Henderson  <rth@redhat.com>
2024169689Skan
2025169689Skan	* tree-pretty-print.c (dump_array_domain): Split out from
2026169689Skan	dump_generic_node; fix off-by-one error on zero-based array bounds.
2027169689Skan	(dump_generic_node): Use it.
2028169689Skan	(print_declaration): Likewise.
2029169689Skan
2030169689Skan2004-12-08  Richard Guenther <richard.guenther@uni-tuebingen.de>
2031169689Skan
2032169689Skan	* doc/invoke.texi: Adjust default values for
2033169689Skan	large-function-growth and inline-unit-growth to match
2034169689Skan	params.def.  Clarify used algorithm.
2035169689Skan
2036169689Skan2004-12-07  David Mosberger  <davidm@hpl.hp.com>
2037169689Skan
2038169689Skan	PR target/18443
2039169689Skan	* config/ia64/ia64.c (ia64_assemble_integer): Add support for
2040169689Skan	emitting unaligned pointer-sized integers.
2041169689Skan
2042169689Skan2004-12-07  Steven Bosscher  <stevenb@suse.de>
2043169689Skan
2044169689Skan	PR c/18867
2045169689Skan	* c-typeck.c (c_start_case): Set orig_type to error_mark_node
2046169689Skan	when the type of the controlling expression is not a valid type.
2047169689Skan
2048169689Skan2004-12-07  Steven Bosscher  <stevenb@suse.de>
2049169689Skan
2050169689Skan	PR tree-optimization/17340
2051169689Skan	* tree-ssa-pre.c (compute_antic): Fix comment.
2052169689Skan	(compute_avail): Do not recurse, instead do a DFS using a stack
2053169689Skan	and a loop.
2054169689Skan	(execute_pre): Adjust.
2055169689Skan
2056169689Skan2004-12-07  Ziemowit Laski  <zlaski@apple.com>
2057169689Skan
2058169689Skan	* c-tree.h (struct lang_type): Rename 'objc_protocols' field
2059169689Skan	to 'objc_info'.
2060169689Skan
2061169689Skan2004-12-07  Eric Christopher  <echristo@redhat.com>
2062169689Skan
2063169689Skan	PR target/16317
2064169689Skan	* config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
2065169689Skan
2066169689Skan2004-12-07  Eric Christopher  <echristo@redhat.com>
2067169689Skan
2068169689Skan	* config/mips/mips-protos.h (mips_valid_pointer_mode): Move
2069169689Skan	prototype...
2070169689Skan	* config/mips/mips.c: ... here. Make static.
2071169689Skan
2072169689Skan2004-12-07  Eric Christopher  <echristo@redhat.com>
2073169689Skan
2074169689Skan	PR target/18442
2075169689Skan	* config/mips/mips.c (mips_vector_mode_supported_p): New function.
2076169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
2077169689Skan
2078169689Skan2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
2079169689Skan
2080169689Skan	* c-common.c, expr.c, fold-const.c, print-tree.c,
2081169689Skan	tree-gimple.c, tree-inline.c, tree-pretty-print.c,
2082169689Skan	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
2083169689Skan	first_rtl_op with TREE_CODE_LENGTH.
2084169689Skan	* tree.c (first_rtl_op): Remove.
2085169689Skan	Replace uses of first_rtl_op with TREE_CODE_LENGTH.
2086169689Skan	* tree.h: Remove the prototype for first_rtl_op.
2087169689Skan
2088169689Skan2004-12-07  David Edelsohn  <edelsohn@gnu.org>
2089169689Skan
2090169689Skan	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
2091169689Skan	Revert 2004-12-01 change.
2092169689Skan
2093169689Skan2004-12-06  Ziemowit Laski  <zlaski@apple.com>
2094169689Skan
2095169689Skan	* c-tree.h (struct lang_type): Add 'objc_protocols' field.
2096169689Skan
2097169689Skan2004-12-06  DJ Delorie  <dj@redhat.com>
2098169689Skan
2099169689Skan	* reload.c (find_valid_class): Fix logic to test inner mode as well.
2100169689Skan	(push_reload): Pass inner mode.
2101169689Skan
2102169689Skan2004-12-06  Eric Christopher  <echristo@redhat.com>
2103169689Skan
2104169689Skan	* doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
2105169689Skan
2106169689Skan2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
2107169689Skan
2108169689Skan	* config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
2109169689Skan
2110169689Skan2004-12-06  Zdenek Dvorak  <dvorakz@suse.cz>
2111169689Skan	    Kazu Hirata  <kazu@cs.umass.edu>
2112169689Skan
2113169689Skan	PR tree-optimization/18601
2114169689Skan	* tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
2115169689Skan	(tree_forwarder_block_p): Do not consider blocks that are its own
2116169689Skan	successors forwarders.
2117169689Skan	(cleanup_forwarder_blocks, remove_forwarder_block): New functions.
2118169689Skan	(cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
2119169689Skan	thread_jumps.
2120169689Skan	* tree-flow.h (bb_ann_d): Remove forwardable.
2121169689Skan
2122169689Skan2004-12-06  Kazu Hirata  <kazu@cs.umass.edu>
2123169689Skan
2124169689Skan	* expr.c (expand_expr_real_1): Remove an "if" whose condition
2125169689Skan	is always false.
2126169689Skan
2127169689Skan2004-12-06  Roger Sayle  <roger@eyesopen.com>
2128169689Skan
2129169689Skan	* c-gimplify.c (gimplify_c_loop): Improve initial implementations
2130169689Skan	for loops whose conditions are known at compile-time.
2131169689Skan	* gimplify.c (append_to_statement_list_1): Remove side_effects
2132169689Skan	parameter, this function should never be called if its false.
2133169689Skan	(append_to_statement_list): Only call append_to_statement_list_1
2134169689Skan	if t is non-NULL tree with side-effects.
2135169689Skan	(append_to_statement_list_force): Likewise, if t is not NULL.
2136169689Skan
2137169689Skan2004-12-06  J"orn Rennecke <joern.rennecke@st.com>
2138169689Skan
2139169689Skan	* bt-load.c (btr_def_s): New member own_end;
2140169689Skan	(add_btr_to_live_range): Add second parameter.  Changed caller.
2141169689Skan	(clear_btr_from_live_range): Clear btrs_live_at_end bit
2142169689Skan	for the register its definition basic block if own_end is set.
2143169689Skan	(augment_live_range): Also take btrs_live_at_end into account.
2144169689Skan	(combine_btr_defs): Don't bother with
2145169689Skan	other_def->other_btr_uses_after_use if it pertains to a different
2146169689Skan	register.
2147169689Skan	(move_btr_def): Set def->other_btr_uses_before_def after
2148169689Skan	calling combine_btr_defs."
2149169689Skan
2150169689Skan	* bt-load.c (augment_live_range): New argument full_range.
2151169689Skan	Changed all callers.
2152169689Skan
2153169689Skan	* bt-load.c (move_tr_def): Set other_tr_uses_before_def
2154169689Skan	taking new btr assignment into account.
2155169689Skan
2156169689Skan2004-12-05  Daniel Berlin <dberlin@dberlin.org>
2157169689Skan
2158169689Skan	* tree-ssa-alias.c (create_global_var): Use void_type_node,
2159169689Skan	not size_type_node.
2160169689Skan
2161169689Skan2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
2162169689Skan
2163169689Skan	* expr.c (expand_expr_real_1): Abort on COND_EXPR of
2164169689Skan	VOID_TYPE.
2165169689Skan
2166169689Skan2004-12-05  Richard Henderson  <rth@redhat.com>
2167169689Skan
2168169689Skan	PR target/18841
2169169689Skan	* config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
2170169689Skan	(builtin_setjmp_receiver_er_sl_1): Use it.
2171169689Skan	(builtin_setjmp_receiver_er_1): Likewise.
2172169689Skan	(builtin_setjmp_receiver_er, exception_receiver_er): Remove.
2173169689Skan	(builtin_setjmp_receiver): Don't split for explicit relocs until
2174169689Skan	after reload.
2175169689Skan	(exception_receiver): Likewise.
2176169689Skan
2177169689Skan2004-12-05  Andrew Pinski  <pinskia@physics.uc.edu>
2178169689Skan
2179169689Skan	* mklibgcc.in (vis_hide): Add the prototype for the test.
2180169689Skan
2181169689Skan2004-12-05  Roger Sayle  <roger@eyesopen.com>
2182169689Skan
2183169689Skan	* c-typeck.c (c_finish_loop): Improve initial implementations
2184169689Skan	for loops whose conditions are known at compile-time.
2185169689Skan
2186169689Skan2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
2187169689Skan
2188169689Skan	* builtins.c: Fix comment typos.
2189169689Skan
2190169689Skan2004-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2191169689Skan
2192169689Skan	PR middle-end/18730
2193169689Skan	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
2194169689Skan	the first/last insn is a sequence, return the first/last insn of the
2195169689Skan	sequence.
2196169689Skan
2197169689Skan	PR bootstrap/18804
2198169689Skan	* mklibgcc.in (vis_hide): Use implementation instead of declaration
2199169689Skan	for test function.
2200169689Skan
2201169689Skan2004-12-04  Richard Henderson  <rth@redhat.com>
2202169689Skan
2203169689Skan	* config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
2204169689Skan	use ofs in BWX two byte special case.
2205169689Skan	(alpha_expand_unaligned_store): Likewise.
2206169689Skan
2207169689Skan2004-12-04  Kazu Hirata  <kazu@cs.umass.edu>
2208169689Skan
2209169689Skan	* gcse.c (gcse_main): Add a comment.
2210169689Skan
2211169689Skan2004-12-04  Andrew  Pinski  <pinskia@physics.uc.edu>
2212169689Skan
2213169689Skan	PR middle-end/17909
2214169689Skan	* builtins.c (fold_builtin_next_arg): Export and return true
2215169689Skan	when there is a warning or an error.
2216169689Skan	(expand_builtin_va_start): When fold_builtin_next_arg returns true,
2217169689Skan	return const0_rtx.
2218169689Skan	(expand_builtin): Likewise.
2219169689Skan	* gimplify.c (gimplify_call_expr): Error out if there is not
2220169689Skan	enough arguments to va_start. Call fold_builtin_next_arg also
2221169689Skan	on the second argument.
2222169689Skan	* tree.h (fold_builtin_next_arg): Prototype.
2223169689Skan
2224169689Skan2004-12-04  Alan Modra  <amodra@bigpond.net.au>
2225169689Skan
2226169689Skan	* mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
2227169689Skan	Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
2228169689Skan	SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
2229169689Skan	* config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
2230169689Skan	shlib_dir and shlib_so_name.
2231169689Skan	* config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
2232169689Skan	* config/t-libunwind-elf (SHLIB_NAME): Likewise.
2233169689Skan	* config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
2234169689Skan	* config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
2235169689Skan	* config/t-slibgcc-sld (SHLIB_NAME): Likewise.
2236169689Skan	(SHLIB_LINK): Don't use shlib_dir when creating symlink.
2237169689Skan
2238169689Skan2004-12-03  Roger Sayle  <roger@eyesopen.com>
2239169689Skan
2240169689Skan	* doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
2241169689Skan
2242169689Skan2004-12-03  Richard Henderson  <rth@redhat.com>
2243169689Skan
2244169689Skan	* alias.c (component_uses_parent_alias_set): Rename from
2245169689Skan	can_address_p.  Return bool.  Reverse the sense of the result.
2246169689Skan	Reinstate the check for alias set zero.
2247169689Skan	(get_alias_set): Update to match.
2248169689Skan	* alias.h (component_uses_parent_alias_set): Likewise.
2249169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2250169689Skan	* expr.c (expand_assignment): Likewise.
2251169689Skan	* expr.h: Remove commented out prototypes that were moved to alias.h.
2252169689Skan
2253169689Skan2004-12-03  Richard Henderson  <rth@redhat.com>
2254169689Skan
2255169689Skan	* doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
2256169689Skan	(TARGET_CANNOT_FORCE_CONST_MEM): New.
2257169689Skan
2258169689Skan2004-12-04  Alan Modra  <amodra@bigpond.net.au>
2259169689Skan
2260169689Skan	PR middle end/18718
2261169689Skan	* sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
2262169689Skan	in pairs.
2263169689Skan	* sched-ebb.c (schedule_ebb): Likewise.
2264169689Skan
2265169689Skan2004-12-03  Andreas Schwab  <schwab@suse.de>
2266169689Skan
2267169689Skan	* Makefile.in (HOSTHOOKS_DEF_H): Define.
2268169689Skan	(ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
2269169689Skan	(host-default.o): Likewise.
2270169689Skan
2271169689Skan2004-12-03  Eric Christopher  <echristo@redhat.com>
2272169689Skan
2273169689Skan	* config/stormy16/stormy16.md (pushqi, popqi, pushhi,
2274169689Skan	pophi): Add number of arguments to name so that the
2275169689Skan	pattern is recognized as a named pattern.
2276169689Skan
2277169689Skan2004-12-03  Janis Johnson  <janis187@us.ibm.com>
2278169689Skan
2279169689Skan	* doc/extend.texi (AltiVec Builtins): Fix info about signedness.
2280169689Skan
2281169689Skan2004-12-03  Andreas Tobler  <a.tobler@schweiz.ch>
2282169689Skan
2283169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Protect
2284169689Skan	darwin_one_byte_bool with #if.
2285169689Skan
2286169689Skan2004-12-03  Paolo Bonzini  <bonzini@gnu.org>
2287169689Skan
2288169689Skan	* doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
2289169689Skan
2290169689Skan2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
2291169689Skan
2292169689Skan	* mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
2293169689Skan
2294169689Skan2004-12-03  Richard Sandiford  <rsandifo@redhat.com>
2295169689Skan
2296169689Skan	* configure.ac: Move TL_AC_GCC_VERSION into initialization section.
2297169689Skan	Set libstdcxx_incdir directly.
2298169689Skan	* configure: Regenerate.
2299169689Skan
2300169689Skan2004-12-03  Kazu Hirata  <kazu@cs.umass.edu>
2301169689Skan
2302169689Skan	* tree-ssa-dom.c (record_equivalences_from_phis): Remove an
2303169689Skan	"if" whose condition is always true.
2304169689Skan
2305169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
2306169689Skan	INSN_P.
2307169689Skan
2308169689Skan2004-12-02  Stan Shebs  <shebs@apple.com>
2309169689Skan
2310169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
2311169689Skan	Darwin default to one-byte bools.
2312169689Skan
2313169689Skan2004-12-02  Richard Henderson  <rth@redhat.com>
2314169689Skan
2315169689Skan	PR 18774
2316169689Skan	* simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
2317169689Skan
2318169689Skan2004-12-03  Ben Elliston  <bje@au.ibm.com>
2319169689Skan
2320169689Skan	* doc/cfg.texi (Edges): Update. Document the edge_iterator data
2321169689Skan	type and its methods.
2322169689Skan
2323169689Skan2004-12-02  Richard Henderson  <rth@redhat.com>
2324169689Skan
2325169689Skan	* expr.c (write_complex_part): Use simplify_gen_subreg when the
2326169689Skan	submode is at least as large as a word.
2327169689Skan	(read_complex_part): Likewise.
2328169689Skan
2329169689Skan2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
2330169689Skan
2331169689Skan	PR bootstrap/18532
2332169689Skan	* mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
2333169689Skan	multilib at a time. Don't build the default set. Don't add
2334169689Skan	EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
2335169689Skan	filter for shared libunwind and libgcc.
2336169689Skan
2337169689Skan2004-12-02  Roger Sayle  <roger@eyesopen.com>
2338169689Skan
2339169689Skan	PR target/18759
2340169689Skan	* config/i386/i386.c (override_options): If -fomit-frame-pointer has
2341169689Skan	already been specified, ignore the -momit-leaf-frame-pointer option.
2342169689Skan
2343169689Skan2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
2344169689Skan
2345169689Skan	* varasm.c (make_decl_rtl): Add the missing `;'.
2346169689Skan
2347169689Skan2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
2348169689Skan
2349169689Skan	* tree.c (is_attribute_p): Split out to ..
2350169689Skan	(is_attribute_with_length_p): Here.  Use IDENTIFIER_LENGTH instead
2351169689Skan	of strlen and compare the string lengths before calling strcmp.
2352169689Skan	(lookup_attribute): Call is_attribute_with_length_p instead of
2353169689Skan	is_attribute_p.
2354169689Skan
2355169689Skan2004-12-02  Devang Patel  <dpatel@apple.com>
2356169689Skan
2357169689Skan	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
2358169689Skan	* config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
2359169689Skan	* config/i386/darwin.h (CC1_SPEC): Same.
2360169689Skan
2361169689Skan2004-12-02  Richard Henderson  <rth@redhat.com>
2362169689Skan
2363169689Skan	* optabs.c (lowpart_subreg_maybe_copy): New.
2364169689Skan	(expand_unop, expand_abs_nojump): Use it.
2365169689Skan
2366169689Skan2004-12-02  J"orn Rennecke <joern.rennecke@st.com>
2367169689Skan
2368169689Skan	* sh.md (extv, extzv): Add pattern predicate.
2369169689Skan
2370169689Skan2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2371169689Skan
2372169689Skan	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
2373169689Skan	is not null.
2374169689Skan
2375169689Skan	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
2376169689Skan	is not null.
2377169689Skan
2378169689Skan	* tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
2379169689Skan
2380169689Skan2004-12-02  Jeff Law  <law@redhat.com>
2381169689Skan
2382169689Skan	* tree-eh.c: Revert yesterday's change.
2383169689Skan
2384169689Skan2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
2385169689Skan
2386169689Skan	* varasm.c (decode_reg_name): Revert change to check for zero
2387169689Skan	length strings.
2388169689Skan	(make_decl_rtl): Make sure that we call decode_reg_name only
2389169689Skan	when needed.
2390169689Skan
2391169689Skan2004-12-02  Dorit Naishlos  <dorit@il.ibm.com>
2392169689Skan
2393169689Skan	PR tree-opt/18716
2394169689Skan	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
2395169689Skan	then and else labels.
2396169689Skan
2397169689Skan2004-12-02  Andreas Schwab  <schwab@suse.de>
2398169689Skan
2399169689Skan	* Makefile.in (WERROR_FLAGS): Renamed from WERROR.
2400169689Skan	(STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
2401169689Skan	(STAGE2_FLAGS_TO_PASS): Likewise.
2402169689Skan
2403169689Skan	* config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
2404169689Skan
2405169689Skan2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2406169689Skan
2407169689Skan	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.  Remove
2408169689Skan	now-redundant AC_SUBSTs.
2409169689Skan	* aclocal.m4: Include ../config/gcc-version.m4.
2410169689Skan	* configure: Regenerate.
2411169689Skan
2412169689Skan2004-12-02  Alan Modra  <amodra@bigpond.net.au>
2413169689Skan
2414169689Skan	* config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
2415169689Skan	#ifdef RELOCATABLE_NEEDS_FIXUP.
2416169689Skan
2417169689Skan2004-12-01  Roger Sayle  <roger@eyesopen.com>
2418169689Skan
2419169689Skan	PR target/9908
2420169689Skan	* config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
2421169689Skan	Intel assembler syntax by using %A1 instead of %*%1.
2422169689Skan
2423169689Skan2004-12-01  Richard Henderson  <rth@redhat.com>
2424169689Skan
2425169689Skan	* expr.c (expand_assignment): Handle CONCAT both as a final
2426169689Skan	destination and as a middle point.
2427169689Skan
2428169689Skan2004-12-01  Jeff Law  <law@redhat.com>
2429169689Skan
2430169689Skan	* tree-eh.c (save_eptr, save_filt): Now file scoped statics.
2431169689Skan	(honor_protect_cleanup_actions): Only create save_eptr and
2432169689Skan	save_filt if they do not already exist.
2433169689Skan	(lower_eh_constructs): Wipe all knowledge of save_eptr and
2434169689Skan	save_filt before returning.
2435169689Skan
2436169689Skan2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2437169689Skan
2438169689Skan	* tree-phinodes.c (remove_phi_arg_num): Fix a comment.
2439169689Skan
2440169689Skan2004-12-02  Alan Modra  <amodra@bigpond.net.au>
2441169689Skan
2442169689Skan	PR target/16952
2443169689Skan	* config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
2444169689Skan	#ifdef RELOCATABLE_NEEDS_FIXUP with if.
2445169689Skan	* config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
2446169689Skan	of target_flags_explicit.
2447169689Skan	* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
2448169689Skan	case.  Define as 0 for non-biarch.
2449169689Skan
2450169689Skan2004-12-01  Zack Weinberg  <zack@codesourcery.com>
2451169689Skan
2452169689Skan	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
2453169689Skan	Change temporary file tag from a prefix to an infix.
2454169689Skan
2455169689Skan2004-12-02  Andreas Schwab  <schwab@suse.de>
2456169689Skan
2457169689Skan	* gcc.c (struct option_map): Add entry for "--pass-exit-codes".
2458169689Skan
2459169689Skan2004-12-01  Andrew Pinski  <pinskia@physics.uc.edu>
2460169689Skan
2461169689Skan	PR tree-opt/18763
2462169689Skan	PR tree-opt/18746
2463169689Skan	* tree-ssa-alias.c (init_alias_info): Get statement operands for all
2464169689Skan	the statements if aliases_computed_p is true.
2465169689Skan
2466169689Skan2004-12-01  Mark Mitchell  <mark@codesourcery.com>
2467169689Skan
2468169689Skan	* Makefile.in (WERROR): New variable.
2469169689Skan	(STRICT2_WARN): Use it.
2470169689Skan	(STAGE2_FLAGS_TO_PASS): Likewise.
2471169689Skan	* config/i386/x-mingw32 (WERROR): Add -Wno-format.
2472169689Skan
2473169689Skan2004-12-01  Richard Henderson  <rth@redhat.com>
2474169689Skan
2475169689Skan	* expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
2476169689Skan	offsetting.
2477169689Skan
2478169689Skan2004-12-01  Diego Novillo  <dnovillo@redhat.com>
2479169689Skan
2480169689Skan	PR tree-optimization/18291
2481169689Skan	* tree-ssa-copy.c (merge_alias_info): Fix merging of
2482169689Skan	flow-sensitive alias information.  If the new pointer has no
2483169689Skan	name tag, copy it from the original pointer.  Otherwise, make
2484169689Skan	sure that the pointed-to sets have a common intersection.
2485169689Skan
2486169689Skan2004-12-01  Richard Henderson  <rth@redhat.com>
2487169689Skan
2488169689Skan	PR rtl-opt/15289
2489169689Skan	* emit-rtl.c (gen_complex_constant_part): Remove.
2490169689Skan	(gen_realpart, gen_imagpart): Remove.
2491169689Skan	* rtl.h (gen_realpart, gen_imagpart): Remove.
2492169689Skan	* expmed.c (extract_bit_field): Remove CONCAT hack catering to
2493169689Skan	gen_realpart/gen_imagpart.
2494169689Skan	* expr.c (write_complex_part, read_complex_part): New.
2495169689Skan	(emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
2496169689Skan	emit_move_complex_push, emit_move_complex, emit_move_ccmode,
2497169689Skan	emit_move_multi_word): Split out from ...
2498169689Skan	(emit_move_insn_1): ... here.
2499169689Skan	(expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
2500169689Skan	<REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
2501169689Skan	* function.c (assign_parm_setup_reg): Hard-code transformations
2502169689Skan	instead of using gen_realpart/gen_imagpart.
2503169689Skan
2504169689Skan	* expr.c (optimize_bitfield_assignment_op): Split out from ...
2505169689Skan	(expand_assignment): ... here.  Use handled_component_p to gate
2506169689Skan	get_inner_reference code.  Simplify MEM handling.  Special case
2507169689Skan	CONCAT destinations.
2508169689Skan
2509169689Skan	* expmed.c (store_bit_field): Use simplify_gen_subreg instead
2510169689Skan	of gen_rtx_SUBREG directly.
2511169689Skan
2512169689Skan2004-12-01  David Edelsohn  <edelsohn@gnu.org>
2513169689Skan	    Nathan Sidwell  <nathan@codesourcery.com>
2514169689Skan
2515169689Skan	PR target/17107
2516169689Skan	* config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
2517169689Skan	(sgt): Same.
2518169689Skan	(sle): Same.
2519169689Skan	(slt): Same.
2520169689Skan
2521169689Skan2004-12-01  Nathan Sidwell  <nathan@codesourcery.com>
2522169689Skan
2523169689Skan	PR middle-end/18667
2524169689Skan	* params.c (set_param_value): Add range check.
2525169689Skan	* params.def: Add min and max values. Reformat long strings.
2526169689Skan	* params.h (struct param_info): Add min and max fields.
2527169689Skan	(enum compiler_param): Adjust DEFPARAM.
2528169689Skan	* toplev.c (lang_independent_params): Likewise.
2529169689Skan
2530169689Skan2004-12-01  Alan Modra  <amodra@bigpond.net.au>
2531169689Skan
2532169689Skan	PR target/12817
2533169689Skan	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
2534169689Skan
2535169689Skan2004-12-01  Joseph S. Myers  <joseph@codesourcery.com>
2536169689Skan
2537169689Skan	* doc/standards.texi: Update for C99 TC2.
2538169689Skan
2539169689Skan2004-11-30  Jeff Law  <law@redhat.com>
2540169689Skan
2541169689Skan	* sbitmap.c (sbitmap_any_common_bits): New function.
2542169689Skan	* sbitmap.h (sbitmap_any_common_bits): Prototype.
2543169689Skan	* modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits
2544169689Skan	No longer allocate/free "psp", "pss" sbitmaps.
2545169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for
2546169689Skan	the "res" sbitmap.
2547169689Skan	(group_aliases): Similarly.
2548169689Skan
2549169689Skan2004-11-30  Nathan Sidwell  <nathan@codesourcery.com>
2550169689Skan
2551169689Skan	* tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
2552169689Skan	uninitialized variable.
2553169689Skan
2554169689Skan2004-11-30  Eric Christopher  <echristo@redhat.com>
2555169689Skan
2556169689Skan	* fold-const.c (fold_widened_comparison): Make sure that we're
2557169689Skan	passing an INTEGER_TYPE to int_fits_type_p.
2558169689Skan	(fold): Clean up comment.
2559169689Skan
2560169689Skan2004-11-30  Zack Weinberg  <zack@codesourcery.com>
2561169689Skan
2562169689Skan	* mklibgcc.in: Correct calculation of libgcc_s_soname and
2563169689Skan	libunwind_soname.  Use $out, not $outS, in commands for
2564169689Skan	no-shared-library case.  Move EXTRA_MULTILIB_PARTS rules above
2565169689Skan	library build rules, make $libunwind_so and $libgcc_s_so
2566169689Skan	depend on them in the normal fashion, and filter those objects
2567169689Skan	out of @shlib_objs@.
2568169689Skan
2569169689Skan2004-11-30  Janis Johnson  <janis187@us.ibm.com>
2570169689Skan
2571169689Skan	* config/rs6000/altivec.h (vec_step_help): Support const vector types.
2572169689Skan
2573169689Skan2004-11-30  Andrew Pinski  <pinskia@physics.uc.edu>
2574169689Skan
2575169689Skan	PR tree-opt/18298
2576169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add a may_alias
2577169689Skan	pass right after fold builtins.
2578169689Skan
2579169689Skan2004-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
2580169689Skan
2581169689Skan	* config/s390/s390-modes.def: Added cc modes documentation.
2582169689Skan	* config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode,
2583169689Skan	s390_expand_addcc): Added cc mode comments.
2584169689Skan	* config/s390/s390.md: Removed old cc mode documentation.
2585169689Skan
2586169689Skan2004-11-30  Mark Dettinger  <dettinge@de.ibm.com>
2587169689Skan
2588169689Skan	* config/s390/s390.c (struct processor_costs): New data type.
2589169689Skan	(s390_cost, z900_cost, z990_cost): New global variables.
2590169689Skan	(override_options): Initialize s390_cost.
2591169689Skan	(s390_rtx_costs): Reimplement.
2592169689Skan
2593169689Skan2004-11-29  Daniel Berlin  <dberlin@dberlin.org>
2594169689Skan
2595169689Skan	Fix PR tree-optimization/18673
2596169689Skan
2597169689Skan	* tree-ssa-pre.c: Remove splay-tree.h include.
2598169689Skan	(bitmap_value_replace_in_set): Fix to add if it does not exist.
2599169689Skan	(find_or_generate_expression): Remove now-wrong condition.
2600169689Skan	(create_expression_by_pieces): Fix condition and comment reason
2601169689Skan	for it.
2602169689Skan	(insert_aux): Fix condition and comment reasons for it.
2603169689Skan	Factor insertion code from here.
2604169689Skan	(insert_into_preds_of_block): To here.  Fix conditions in factored
2605169689Skan	function and comment reasons for them.
2606169689Skan
2607169689Skan2004-11-30  Ira Rosen  <irar@il.ibm.com>
2608169689Skan
2609169689Skan	PR tree-opt/18607
2610169689Skan	* tree-vectorizer.c (vect_analyze_data_refs): Use temporary
2611169689Skan	variable for data_reference when looking for memtag.
2612169689Skan
2613169689Skan2004-11-30  Jakub Jelinek  <jakub@redhat.com>
2614169689Skan
2615169689Skan	* c-opts.c (check_deps_environment_vars): If spec != NULL, set
2616169689Skan	deps_seen.
2617169689Skan
2618169689Skan2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
2619169689Skan
2620169689Skan	* tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use
2621169689Skan	tree_low_cst instead of TREE_INT_CST_LOW.
2622169689Skan
2623169689Skan2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
2624169689Skan
2625169689Skan	PR target/18173
2626169689Skan	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
2627169689Skan	decls that are assembled before vectorization takes place.
2628169689Skan	(vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
2629169689Skan
2630169689Skan2004-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
2631169689Skan
2632169689Skan	* passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
2633169689Skan	if local_alloc modified jumps.
2634169689Skan
2635169689Skan2004-11-30  Alan Modra  <amodra@bigpond.net.au>
2636169689Skan
2637169689Skan	* varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL
2638169689Skan	on TLS symbols.
2639169689Skan	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS
2640169689Skan	check.
2641169689Skan
2642169689Skan2004-11-30  Zack Weinberg  <zack@codesourcery.com>
2643169689Skan
2644169689Skan	* gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
2645169689Skan	* unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
2646169689Skan
2647169689Skan	* mklibgcc.in: Drastic restructure for comprehensibility.
2648169689Skan	Remove the old hidden-directive hack.
2649169689Skan	Eliminate support for .txt files in LIB2ADD etc (never used).
2650169689Skan	Eliminate support for assembly source files in LIB2ADDEH* and
2651169689Skan	LIBUNWIND (also never used).
2652169689Skan	Build up dependency lists for libraries incrementally.
2653169689Skan	If we have SHLIB_LINK, compile each file twice, once for the
2654169689Skan	static and once for the shared library; also probe for
2655169689Skan	-fvisibility=hidden in the generated libgcc.mk.  If found,
2656169689Skan	pass that and -DHIDE_EXPORTS to the compilation of every C
2657169689Skan	source file going into the static library.  If found, generate
2658169689Skan	hidden-directive lists for every assembly source file going
2659169689Skan	into the static library, but incorporate them with -include
2660169689Skan	instead of ld -r.
2661169689Skan	Write comments into generated libgcc.mk to facilitate debugging.
2662169689Skan	* Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
2663169689Skan	* config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
2664169689Skan
2665169689Skan	* config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
2666169689Skan	-Zdynamiclib case.
2667169689Skan
2668169689Skan2004-11-29  Richard Henderson  <rth@redhat.com>
2669169689Skan
2670169689Skan	* expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
2671169689Skan	(handled_component_p): Likewise.
2672169689Skan	* alias.c (can_address_p): Reformat and simplify.  Handle
2673169689Skan	REAL/IMAGPART_EXPR.  Do not disable addressability based on
2674169689Skan	alias set zero.
2675169689Skan	* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
2676169689Skan	check for REAL/IMAGPART_EXPR.
2677169689Skan	* gimplify.c (gimplify_compound_lval): Likewise.
2678169689Skan	* tree-cfg.c (verify_expr): Likewise.
2679169689Skan	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
2680169689Skan	* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
2681169689Skan	(convert_local_reference): Likewise.
2682169689Skan	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
2683169689Skan
2684169689Skan2004-11-30  Alan Modra  <amodra@bigpond.net.au>
2685169689Skan
2686169689Skan	* expr.c (emit_group_load_1): Don't die on const_int orig_src.
2687169689Skan
2688169689Skan2004-11-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2689169689Skan
2690169689Skan	PR pch/14940
2691169689Skan	* config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
2692169689Skan	* config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
2693169689Skan	and host_xmake_file using new host configuration files.
2694169689Skan
2695169689Skan2004-11-29  Roger Sayle  <roger@eyesopen.com>
2696169689Skan
2697169689Skan	* reg-stack.c (change_stack): Improve algorithm used to pop regs
2698169689Skan	off the stack to maximize ffreep usage and reduce fxch count.
2699169689Skan
2700169689Skan2004-11-30  James A. Morrison  <phython@gcc.gnu.org>
2701169689Skan
2702169689Skan	PR middle-end/18596
2703169689Skan	* c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node
2704169689Skan	on errors.
2705169689Skan
2706169689Skan2004-11-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2707169689Skan
2708169689Skan	* expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
2709169689Skan	REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
2710169689Skan
2711169689Skan2004-11-30  Ben Elliston  <bje@au.ibm.com>
2712169689Skan
2713169689Skan	* Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
2714169689Skan
2715169689Skan2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
2716169689Skan
2717169689Skan	PR c/18479
2718169689Skan	* c-common.c (handle_visibility_attribute): When the type decl
2719169689Skan	is really a identifier node, warn about being ignored and return.
2720169689Skan
2721169689Skan2004-11-29  Richard Henderson  <rth@redhat.com>
2722169689Skan
2723169689Skan	* tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
2724169689Skan
2725169689Skan2004-11-29  Steven Bosscher  <stevenb@suse.de>
2726169689Skan
2727169689Skan	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
2728169689Skan	Remove CASE_DROPS_THROUGH checks, it is never defined.
2729169689Skan	* cfglyout.c (fixup_reorder_chain): Likewise.
2730169689Skan	* cfgrtl.c (rtl_verify_flow_info): Likewise.
2731169689Skan	* stmt.c (expand_case): Likewise.
2732169689Skan	* cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
2733169689Skan	it is now always 0.
2734169689Skan	* system.h (CASE_DROPS_THROUGH): Poison.
2735169689Skan	* doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
2736169689Skan	* doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
2737169689Skan
2738169689Skan	* config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
2739169689Skan
2740169689Skan2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
2741169689Skan
2742169689Skan	PR middle-end/18725
2743169689Skan	* tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
2744169689Skan	shared always.
2745169689Skan
2746169689Skan2004-11-29  Diego Novillo  <dnovillo@redhat.com>
2747169689Skan
2748169689Skan	PR tree-optimization/18712
2749169689Skan	* tree-into-ssa.c (insert_phi_nodes_for): Pass argument
2750169689Skan	WORK_STACK by reference.
2751169689Skan	Call VEC_safe_push instead of VEC_quick_push.
2752169689Skan	Update all users.
2753169689Skan
2754169689Skan2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
2755169689Skan
2756169689Skan	PR c/7544
2757169689Skan	* Makefile.in (c-lang.o): Update dependencies.
2758169689Skan	* c-lang.c: Include "c-pragma.h".
2759169689Skan	(finish_file): Call maybe_apply_pending_pragma_weaks.
2760169689Skan	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
2761169689Skan	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
2762169689Skan
2763169689Skan2004-11-29  Richard Henderson  <rth@redhat.com>
2764169689Skan
2765169689Skan	PR target/17224
2766169689Skan	* config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
2767169689Skan	outside the referenced object.
2768169689Skan
2769169689Skan2004-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2770169689Skan
2771169689Skan	* tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
2772169689Skan	EDGE_PRED instead of PHI_ARG_EDGE.
2773169689Skan	* tree-ssa-live.c: Likewise.
2774169689Skan	* tree-ssa-loop-manip.c: Likewise.
2775169689Skan	* tree-ssa.c: Likewise.
2776169689Skan
2777169689Skan	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
2778169689Skan	simplifying edge manipulation.
2779169689Skan
2780169689Skan	* cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
2781169689Skan	EDGE_COUNT.
2782169689Skan
2783169689Skan	* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
2784169689Skan	only when needed.
2785169689Skan
2786169689Skan	* cfg.c (flow_obstack): Remove.
2787169689Skan	(flow_firstobj): Likewise.
2788169689Skan	(init_flow): Remove all uses of flow_obstack.
2789169689Skan
2790169689Skan2004-11-29  Alan Modra  <amodra@bigpond.net.au>
2791169689Skan
2792169689Skan	* varasm.c (default_elf_select_section_1): Only pass DECL_P decl
2793169689Skan	to named_section.
2794169689Skan
2795169689Skan2004-11-29  Nathan Sidwell  <nathan@codesourcery.com>
2796169689Skan
2797169689Skan	* opts.c (decode_options): Do not set max-inline-insns-rtl.
2798169689Skan	(common_handle_option): Likewise.
2799169689Skan	* params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
2800169689Skan	* params.h (MAX_INLINE_INSNS_RTL): Remove.
2801169689Skan	* doc/invoke.texi (max-inline-insns-rtl): Remove.
2802169689Skan
2803169689Skan2004-11-29  Alan Modra  <amodra@bigpond.net.au>
2804169689Skan
2805169689Skan	PR target/9571
2806169689Skan	* varasm.c (default_elf_select_section_1): Pass decl to named_section.
2807169689Skan
2808169689Skan2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
2809169689Skan
2810169689Skan	PR middle-end/18164
2811169689Skan	* gimplify.c (gimplify_asm_expr): If the length of an output operand
2812169689Skan	is zero, do not process it, just let it go through.
2813169689Skan
2814169689Skan2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2815169689Skan	    Diego Novillo  <dnovillo@redhat.com>
2816169689Skan
2817169689Skan	PR/18662, also backported from tree-cleanup-branch.
2818169689Skan	* tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
2819169689Skan	always call maybe_clean_eh_stmt and modify_stmt.
2820169689Skan
2821169689Skan2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2822169689Skan
2823169689Skan	PR/18664
2824169689Skan	* tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
2825169689Skan	Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
2826169689Skan	* tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
2827169689Skan	add an inverse VIEW_CONVERT_EXPR to const_val.
2828169689Skan
2829169689Skan	PR/18657
2830169689Skan	* tree-nested.c (check_for_nested_with_variably_modified): New.
2831169689Skan	(create_nesting_tree): Call it.
2832169689Skan
2833169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
2834169689Skan	special code for assigning to non-pointer.
2835169689Skan	(is_escape_site): If RHS is a conversion between pointer and integer
2836169689Skan	types,	this is an escape site.
2837169689Skan
2838169689Skan	* gcse.c (insert_store): Error if try to insert store on abnormal edge.
2839169689Skan	(store_motion): Don't move store if any edge we'd want to move it
2840169689Skan	to is abnormal.
2841169689Skan
2842169689Skan	* expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
2843169689Skan	non-zero lower bound.
2844169689Skan
2845169689Skan	* expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
2846169689Skan
2847169689Skan2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
2848169689Skan
2849169689Skan	PR diagnostic/17594
2850169689Skan	* opts.c (find_opt): Require that the input match a switch exactly
2851169689Skan	or that the switch take a joined option to be interpreted as a
2852169689Skan	match for another language.
2853169689Skan
2854169689Skan2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
2855169689Skan
2856169689Skan	* timevar.def (TV_TREE_REDPHI): New timevar.
2857169689Skan	* tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
2858169689Skan
2859169689Skan2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2860169689Skan
2861169689Skan	PR preprocessor/17651
2862169689Skan	* c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
2863169689Skan	flag_no_line_commands.
2864169689Skan	* c-ppoutput.c (pp_file_change): Remove now-redundant check of
2865169689Skan	flag_no_output.
2866169689Skan
2867169689Skan2004-11-28  Theodore A. Roth  <troth@openavr.org>
2868169689Skan
2869169689Skan	* config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
2870169689Skan	warning if the function name does not begin with "__vector" and the
2871169689Skan	function has either the 'signal' or 'interrupt' attribute.
2872169689Skan
2873169689Skan2004-11-28  Theodore A. Roth  <troth@openavr.org>
2874169689Skan
2875169689Skan	* config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
2876169689Skan	atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
2877169689Skan	atmega325, atmega3250, atmega645 and atmega6450.
2878169689Skan	* config/avr/avr.h (LINK_SPEC): Ditto.
2879169689Skan	(LIB_SPEC): Ditto.
2880169689Skan	(LIBGCC_SPEC): Ditto.
2881169689Skan	(CRT_BINUTILS_SPECS): Ditto.
2882169689Skan	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
2883169689Skan
2884169689Skan2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2885169689Skan
2886169689Skan	PR preprocessor/17610
2887169689Skan	* testsuite/gcc.dg/cpp/empty-include.c: New testcase.
2888169689Skan
2889169689Skan2004-11-28  Jeff Law  <law@redhat.com>
2890169689Skan
2891169689Skan	* tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
2892169689Skan	(pass_maybe_create_global_var): New.
2893169689Skan	* tree-pass.h (pass_maybe_create_global_var): Declare.
2894169689Skan	* tree-optimize.c (init_tree_optimization_passes): Link in
2895169689Skan	pass_maybe_create_global_var.
2896169689Skan
2897169689Skan2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2898169689Skan
2899169689Skan	* tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
2900169689Skan
2901169689Skan2004-11-28  Ulrich Weigand  <uweigand@de.ibm.com>
2902169689Skan
2903169689Skan	PR rtl-optimization/18420
2904169689Skan	* simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
2905169689Skan
2906169689Skan2004-11-28  Steven Bosscher  <stevenb@suse.de>
2907169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2908169689Skan
2909169689Skan	* config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
2910169689Skan	* config/vax/vax.md (casesi): Emit a test-and-branch to make sure
2911169689Skan	that the case is in range, to make sure the casesi insn is always
2912169689Skan	in range and never falls through.
2913169689Skan	(casesi1): Add comment to explain why casesi never falls through.
2914169689Skan	Remove the unnamed special case casesi pattern.
2915169689Skan
2916169689Skan2004-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
2917169689Skan
2918169689Skan	PR target/18331
2919169689Skan	* config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
2920169689Skan	"*movdicc_real".  Only match reversible comparisons.
2921169689Skan	("*movdicc_real_nonreversible"): New pattern, split from
2922169689Skan	"*movdicc_real".  Match only nonreversible comparisons.  Exclude
2923169689Skan	reversed alternatives.
2924169689Skan	("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
2925169689Skan	Similar.
2926169689Skan
2927169689Skan2004-11-27  Richard Henderson  <rth@redhat.com>
2928169689Skan
2929169689Skan	* config/ia64/ia64.md: Move all define_predicate's ...
2930169689Skan	* config/ia64/predicates.md: ... here.  New file.
2931169689Skan
2932169689Skan2004-11-27  Per Bothner  <per@bothner.com>
2933169689Skan
2934169689Skan	PR bootstrap/18142
2935169689Skan	Re-applied following, with two modifications: add a URL for the
2936169689Skan	fixed cctools; only exit if $build = $target.
2937169689Skan
2938169689Skan	2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2939169689Skan	* configure.ac (powerpc-*-darwin*): Require assembler to support
2940169689Skan	.machine directive.
2941169689Skan	* configure: Regenerate.
2942169689Skan
2943169689Skan2004-11-28  David Edelsohn  <edelsohn@gnu.org>
2944169689Skan
2945169689Skan	PR target/16800
2946169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
2947169689Skan	EQ, GTU, and LTU costs.  Add costs for GT, LT, and UNORDERED.
2948169689Skan	Distinguish between SImode and DImode CONST_INT.
2949169689Skan
2950169689Skan2004-11-28  Andreas Fischer <a_fisch@gmx.de>
2951169689Skan	    Alan Modra  <amodra@bigpond.net.au>
2952169689Skan
2953169689Skan	PR target/16343
2954169689Skan	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
2955169689Skan	functions, strings and thread-local vars.
2956169689Skan
2957169689Skan2004-11-28  Alan Modra  <amodra@bigpond.net.au>
2958169689Skan
2959169689Skan	* config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
2960169689Skan	* config/rs6000/darwin.h (WORLD_SAVE_P): Define.
2961169689Skan	* config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
2962169689Skan	to allow non-darwin ABIs to optimize away code.
2963169689Skan	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
2964169689Skan
2965169689Skan2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2966169689Skan
2967169689Skan	* tree.c (operand_equal_for_phi_arg_p): New.
2968169689Skan	* tree.h: Add a prototype for operand_equal_for_phi_arg_p.
2969169689Skan	* tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
2970169689Skan	Replace operand_equal_p with operand_for_phi_arg_p
2971169689Skan	appropriately.
2972169689Skan
2973169689Skan	* bb-reorder.c (find_traces_1_round): Speed up by using
2974169689Skan	EDGE_COUNT instead of FOR_EACH_EDGE.
2975169689Skan
2976169689Skan	* fold-const.c, config/i386/linux64.h: Fix comment typos.
2977169689Skan
2978169689Skan2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2979169689Skan
2980169689Skan	PR pch/14940
2981169689Skan	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
2982169689Skan
2983169689Skan2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2984169689Skan
2985169689Skan	* config/i386/linux.h: Fix a comment typo.
2986169689Skan	* doc/extend.texi: Fix a typo.
2987169689Skan
2988169689Skan2004-11-27  Jeff Law  <law@redhat.com>
2989169689Skan
2990169689Skan	* tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
2991169689Skan	are merged.
2992169689Skan
2993169689Skan2004-11-27  Jakub Jelinek  <jakub@redhat.com>
2994169689Skan
2995169689Skan	* config/i386/linux64.h (REG_NAME): Define.
2996169689Skan
2997169689Skan2004-11-27  Jakub Jelinek  <jakub@redhat.com>
2998169689Skan
2999169689Skan	* fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
3000169689Skan	unsigned and type signed, build ABS_EXPR with signed_type (ctype)
3001169689Skan	and only afterwards convert to ctype.
3002169689Skan
3003169689Skan2004-11-27  Richard Sandiford  <rsandifo@redhat.com>
3004169689Skan
3005169689Skan	* config/mips/mips-protos.h (function_arg_boundary): Declare.
3006169689Skan	* config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
3007169689Skan	(STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
3008169689Skan	(FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
3009169689Skan	* config/mips/mips.c (function_arg_boundary): New function.
3010169689Skan	Impose a maximum alignment of STACK_BOUNDARY.
3011169689Skan
3012169689Skan2004-11-27  Jakub Jelinek  <jakub@redhat.com>
3013169689Skan
3014169689Skan	PR rtl-optimization/17825
3015169689Skan	* combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
3016169689Skan	or not.
3017169689Skan
3018169689Skan2004-11-27  Alan Modra  <amodra@bigpond.net.au>
3019169689Skan
3020169689Skan	PR target/12769
3021169689Skan	* config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
3022169689Skan	from rs6000_default_long_calls for libcalls.
3023169689Skan
3024169689Skan2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3025169689Skan
3026169689Skan	* expmed.c (extract_bit_field): When extracting from non-integer mode,
3027169689Skan	force a SUBREG into a register because we may be taking a further
3028169689Skan	SUBREG of it.
3029169689Skan
3030169689Skan2004-11-27  Di-an Jan  <dianj@freeshell.org>
3031169689Skan
3032169689Skan	* doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
3033169689Skan
3034169689Skan2004-11-26  Robert Millan  <robertmh@gnu.org>
3035169689Skan
3036169689Skan	Changes for k*bsd-gnu support.
3037169689Skan	* config/i386/linux.h: Define REG_NAME to allow overriding of
3038169689Skan	register names in sc structure.
3039169689Skan	* config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
3040169689Skan	of sc->reg.
3041169689Skan	* config.gcc: Detect x86_64-k*bsd-gnu systems.
3042169689Skan
3043169689Skan2004-11-26  Jeff Law  <law@redhat.com>
3044169689Skan
3045169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): Don't
3046169689Skan	retrieve annotations or pointer info before it's necessary.
3047169689Skan	Reorder tests for early continue of the loop.  Manually CSE
3048169689Skan	SSA_NAME_VAR.
3049169689Skan
3050169689Skan2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
3051169689Skan
3052169689Skan	* target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
3053169689Skan	* target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
3054169689Skan	(TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
3055169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
3056169689Skan	to a fixed reg if the source is the Return Address register.
3057169689Skan	Implement new Rule 15.
3058169689Skan	* doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
3059169689Skan	* config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
3060169689Skan	sparc_dwarf_handle_frame_unspec.
3061169689Skan	(gen_save_register_window): New function.
3062169689Skan	(emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
3063169689Skan	(emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
3064169689Skan	(expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
3065169689Skan	Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
3066169689Skan	(sparc_asm_function_prologue): Do not emit call frame debugging info.
3067169689Skan	(emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
3068169689Skan	(sparc_expand_epilogue): Likewise.
3069169689Skan	(sparc_dwarf_handle_frame_unspec): New function.
3070169689Skan	* config/sparc/sparc.md (save_register_window): Remove.
3071169689Skan	(save_register_windowdi): Rewrite modelled on the callframe debug info.
3072169689Skan	(save_register_windowsi): Likewise.
3073169689Skan
3074169689Skan2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
3075169689Skan
3076169689Skan	* config/frv/frv-protos.h: Guard ifcvt functions declarations with
3077169689Skan	BB_HEAD, not BLOCK_HEAD.
3078169689Skan
3079169689Skan2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
3080169689Skan
3081169689Skan	* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
3082169689Skan	scratch insns that set a register live at the join point.
3083169689Skan
3084169689Skan2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3085169689Skan
3086169689Skan	* cse.c, tree-ssa-operands.c: Fix comment typos.
3087169689Skan
3088169689Skan	* tree-cfg.c (tree_split_edge): Speed up by using find_edge.
3089169689Skan
3090169689Skan2004-11-26  James A. Morrison  <phython@gcc.gnu.org>
3091169689Skan
3092169689Skan	PR target/18510
3093169689Skan	* doc/extend.texi (SPARC VIS Built-in Functions): New section.
3094169689Skan
3095169689Skan2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3096169689Skan
3097169689Skan	* cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
3098169689Skan	check that tests if all edges go to the same destination.
3099169689Skan
3100169689Skan	* bitmap.c (bitmap_find_bit): Speed up by traversing from
3101169689Skan	head->first if that seems profitable.
3102169689Skan
3103169689Skan2004-11-25  Jeff Law  <law@redhat.com>
3104169689Skan
3105169689Skan	* timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
3106169689Skan	* tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
3107169689Skan	(pass_loop_done): Use TV_TREE_LOOP_FINI.
3108169689Skan
3109169689Skan2004-11-26  Alan Modra  <amodra@bigpond.net.au>
3110169689Skan
3111169689Skan	PR rtl-optimization/16356
3112169689Skan	* config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
3113169689Skan	separate output register and one less jump.  Enable for powerpc64.
3114169689Skan	(floatdisf2): Adjust for above.
3115169689Skan
3116169689Skan2004-11-25  Bob Wilson  <bob.wilson@acm.org>
3117169689Skan
3118169689Skan	* config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
3119169689Skan	(GCC_DRIVER_HOST_INITIALIZATION): Define.
3120169689Skan
3121169689Skan2004-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
3122169689Skan
3123169689Skan	PR middle-end/17957
3124169689Skan	* tree-complex.c (vector_inner_type): New variable moved from
3125169689Skan	build_word_mode_vector_type.
3126169689Skan	(vector_last_type): Likewise.
3127169689Skan	(vector_last_nunits): Likewise.
3128169689Skan	(build_word_mode_vector_type): Use the new variables.
3129169689Skan	* Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
3130169689Skan	(GTFILES): Add tree-complex.c.
3131169689Skan	(gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
3132169689Skan
3133169689Skan2004-11-25  Bob Wilson  <bob.wilson@acm.org>
3134169689Skan
3135169689Skan	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
3136169689Skan	__XTENSA_WINDOWED_ABI__.
3137169689Skan
3138169689Skan2004-11-25  Richard Henderson  <rth@redhat.com>
3139169689Skan
3140169689Skan	* dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument.  Save
3141169689Skan	args_size adjustments for calls even with cfa as stack pointer.
3142169689Skan	Search calls for stack adjustments after the insn is issued.
3143169689Skan	(dwarf2out_frame_debug): Add after_p argument; pass it on.
3144169689Skan	* dwarf2out.h (dwarf2out_frame_debug): Update to match.
3145169689Skan	* final.c (final_start_function, final_scan_insn): Likewise.
3146169689Skan
3147169689Skan2004-11-25  Richard Henderson  <rth@redhat.com>
3148169689Skan
3149169689Skan	PR c++/6764
3150169689Skan	* reload1.c (set_initial_eh_label_offset): New.
3151169689Skan	(set_initial_label_offsets): Use it.
3152169689Skan
3153169689Skan2004-11-25  Kaz Kojima  <kkojima@gcc.gnu.org>
3154169689Skan
3155169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
3156169689Skan	before calling life_analysis and release them after.
3157169689Skan
3158169689Skan2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
3159169689Skan
3160169689Skan	* tree-ssa-forwprop.c (substitute_single_use_vars): Remove
3161169689Skan	duplicate code.
3162169689Skan
3163169689Skan2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
3164169689Skan
3165169689Skan	* bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
3166169689Skan	BITMAP_OBSTACK_ALLOC.
3167169689Skan	(BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
3168169689Skan
3169169689Skan2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
3170169689Skan
3171169689Skan	parts of PR rtl-opt/18463, rtl-opt/17647
3172169689Skan	* cse.c (canon_for_address): New function.
3173169689Skan	(find_best_addr): Call canon_for_address before getting the
3174169689Skan	address's cost when checking if we should take that address.
3175169689Skan
3176169689Skan2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
3177169689Skan
3178169689Skan	* tree-phinodes.c (add_phi_arg): Take "tree" instead of
3179169689Skan	"tree *" as the first argument.
3180169689Skan	* tree-flow.h: Update the prototype of add_phi_arg.
3181169689Skan	* lambda-code.c, tree-cfg.c, tree-into-ssa.c,
3182169689Skan	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
3183169689Skan	tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
3184169689Skan	tree-vectorizer.c: Update all call sites of add_phi_arg.
3185169689Skan
3186169689Skan2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3187169689Skan
3188169689Skan	* bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
3189169689Skan	* bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
3190169689Skan	(BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
3191169689Skan	(BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
3192169689Skan
3193169689Skan2004-11-25  Andrew MacLeod  <amacleod@redhat.com>
3194169689Skan
3195169689Skan	PR tree-optimization/18587
3196169689Skan	* tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
3197169689Skan	call clobbered caches as invalid.
3198169689Skan	* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
3199169689Skan	indicating whether the call clobbered operand cache is valid.
3200169689Skan	(ssa_ro_call_cache_valid): New.  Flag indicating whether the
3201169689Skan	pure/const call operand cache is valid.
3202169689Skan	(clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached
3203169689Skan	list of operands for cached call virtual operands.
3204169689Skan	(clobbered_aliased_loads, clobbered_aliased_stores,
3205169689Skan	ro_call_aliased_load): New.  flags caching whether alias bits are
3206169689Skan	to be set in call stmt's.
3207169689Skan	(fini_ssa_operands): Remove call operand caches if present.
3208169689Skan	(get_expr_operands, get_asm_expr_operands,
3209169689Skan	get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
3210169689Skan	(get_call_expr_operands): Add call clobbered variables first.
3211169689Skan	(add_stmt_operand): Take stmt annotation rather than stmt as a param.
3212169689Skan	(add_call_clobber_ops, add_call_read_ops): Use the call operand cache
3213169689Skan	if it is valid, otherise fill the cache.
3214169689Skan	* tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
3215169689Skan	* tree-flow.h (struct var_ann_d): Add in_vuse_list and
3216169689Skan	in_v_may_def_list bits.
3217169689Skan	* tree-ssa-operands.c (cleanup_v_may_defs): New.  Clear the
3218169689Skan	in_list bits for the v_may_def elements and empty the operand
3219169689Skan	build array
3220169689Skan	(finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
3221169689Skan	VUSES by checking the in_v_may_def_list bit.
3222169689Skan	(append_v_may_def, append_vuse): Use the in_list bit rather than
3223169689Skan	scanning the array for duplicates.
3224169689Skan
3225169689Skan2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
3226169689Skan
3227169689Skan	* config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
3228169689Skan	displacements are not short.
3229169689Skan
3230169689Skan2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
3231169689Skan
3232169689Skan	* config/s390/s390.c (legitimize_pic_address): Use s390_load_address
3233169689Skan	to load addresses.
3234169689Skan
3235169689Skan2004-11-25  Mark Mitchell  <mark@codesourcery.com>
3236169689Skan
3237169689Skan	PR c++/18001
3238169689Skan	* c-common.h (lvalue_use): Move here from c-ctypeck.c.
3239169689Skan	(lvalue_or_else): Declare.
3240169689Skan	* c-common.c (lvalue_or_else): Move here from c-typeck.c.
3241169689Skan	* c-typeck.c (lvalue_use): Remove.
3242169689Skan	(lvalue_or_else): Remove.
3243169689Skan
3244169689Skan	PR c++/18556
3245169689Skan	* toplev.c (check_global_declarations): Set DECL_IGNORED_P on
3246169689Skan	unemitted variables with static storage duration.
3247169689Skan
3248169689Skan2004-11-25  Gerald Pfeifer  <gerald@pfeifer.com>
3249169689Skan
3250169689Skan	* tree-cfg.c (tree_verify_flow_info): Do not terminate error()
3251169689Skan	message with \n.
3252169689Skan
3253169689Skan2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3254169689Skan
3255169689Skan	* config/rs6000/altivec.md (VIshort): New mode macro.
3256169689Skan	(altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
3257169689Skan	with ...
3258169689Skan	(altivec_vaddu<VI_char>s): ... this.
3259169689Skan	(altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
3260169689Skan	with ...
3261169689Skan	(altivec_vadds<VI_char>s): ... this.
3262169689Skan	(altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
3263169689Skan	with ...
3264169689Skan	(altivec_vsubu<VI_char>s): ... this.
3265169689Skan	(altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
3266169689Skan	with ...
3267169689Skan	(altivec_vsubs<VI_char>s): ... this.
3268169689Skan	(altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
3269169689Skan	with ...
3270169689Skan	(altivec_vavgu<VI_char>): ... this.
3271169689Skan	(altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
3272169689Skan	with ...
3273169689Skan	(altivec_vavgs<VI_char>): ... this.
3274169689Skan	(altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
3275169689Skan	(altivec_vmsumu<VI_char>m): ... this.
3276169689Skan	(altivec_vmsummbm, altivec_vmsummhm): Replace
3277169689Skan	with ...
3278169689Skan	(altivec_vmsumm<VI_char>m): ... this.
3279169689Skan	(altivec_vandc): Remove.
3280169689Skan	(*andc<mode>3): Renamed to ...
3281169689Skan	(andc<mode>3): ... here. Swap operand 1 and 2 numbering.
3282169689Skan	(altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
3283169689Skan	with ...
3284169689Skan	(altivec_vrl<VI_char>): ... this.
3285169689Skan	(altivec_vslb, altivec_vslh, altivec_vslw): Replace
3286169689Skan	with ...
3287169689Skan	(altivec_vsl<VI_char>): ... this.
3288169689Skan	(altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
3289169689Skan	with ...
3290169689Skan	(altivec_vsr<VI_char>): ... this.
3291169689Skan	(altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
3292169689Skan	with ...
3293169689Skan	(altivec_vsra<VI_char>): ... this.
3294169689Skan	(altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
3295169689Skan	(altivec_vsum4s<VI_char>s): ... this.
3296169689Skan	(altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
3297169689Skan	with ...
3298169689Skan	(altivec_vperm_<mode>): ... this.
3299169689Skan	(altivec_vsel_4sf): Rename to ...
3300169689Skan	(altivec_vsel_v4sf): ... here.
3301169689Skan	(altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
3302169689Skan	with ...
3303169689Skan	(altivec_vsel_<mode>): ... this.
3304169689Skan	(altivec_vsldoi_4si, altivec_vsldoi_8hi,
3305169689Skan	altivec_vsldoi_16qi): Rename to ...
3306169689Skan	(altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
3307169689Skan	altivec_vsldoi_v16qi): ... here.
3308169689Skan	(altivec_vsldoi_4sf): Rename to ...
3309169689Skan	(altivec_vsldoi_v4sf): ... here.
3310169689Skan	(altivec_predicate_v4si, altivec_predicate_v8hi,
3311169689Skan	altivec_predicate_v16qi): Replace with ...
3312169689Skan	(altivec_predicate_<mode>): ... this.
3313169689Skan	(altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
3314169689Skan	with ...
3315169689Skan	(altivec_lve<VI_char>x): ... this.
3316169689Skan	(altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
3317169689Skan	with ...
3318169689Skan	(altivec_stve<VI_char>x): ... this.
3319169689Skan	(absv16qi2, absv8hi2, absv4si2): Replace
3320169689Skan	with ...
3321169689Skan	(abs<mode>2): ... this.
3322169689Skan	(altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
3323169689Skan	with ...
3324169689Skan	(altivec_abss_<mode>): ... this.
3325169689Skan	(vec_realign_load_v16qi, vec_realign_load_v8hi,
3326169689Skan	vec_realign_load_v4si): Replace with ...
3327169689Skan	(vec_realign_load_<mode>): ... this.
3328169689Skan	* config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
3329169689Skan	insn names.
3330169689Skan	(rs6000_expand_ternop_builtin): Likewise.
3331169689Skan
3332169689Skan2004-11-25  Andrew Haley  <aph@redhat.com>
3333169689Skan
3334169689Skan	* gcc.c (process_command): Don't supply -v to linker.
3335169689Skan
3336169689Skan2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
3337169689Skan
3338169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
3339169689Skan	instead of `%s' in diagnostic.
3340169689Skan
3341169689Skan2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3342169689Skan
3343169689Skan	* basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
3344169689Skan	(FREE_REG_SET): Adjust.
3345169689Skan	* bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
3346169689Skan	* bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
3347169689Skan	(BITMAP_ALLOC): ... here.
3348169689Skan	(BITMAP_OBSTACK_FREE): Rename to ...
3349169689Skan	(BITMAP_FREE): Don't check for NULL bitmap here.
3350169689Skan	* tree-ssa-pre.c (value_insert_into_set_bitmap,
3351169689Skan	bitmap_set_new): Use new names.
3352169689Skan
3353169689Skan	* bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
3354169689Skan	* df.c (df_free): Likewise.
3355169689Skan	* ra-build.c (ra_build_free, ra_build_free_all): Likewise.
3356169689Skan	* tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
3357169689Skan
3358169689Skan	* basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
3359169689Skan	(ALLOC_REG_SET): ... here.
3360169689Skan	(FREE_REG_SET): Adjust.
3361169689Skan	(XMALLOC_REG_SET, XFREE_REG_SET): Remove.
3362169689Skan	* bb-reorder.c (fix_crossing_conditional_branches): Adjust.
3363169689Skan	* cfglayout.c (cfg_layout_duplicate_bb): Adjust.
3364169689Skan	* cfgrtl.c (rtl_split_block, rtl_split_edge,
3365169689Skan	safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
3366169689Skan	* flow.c (update_life_info, calculate_global_regs_live,
3367169689Skan	allocate_bb_life_data, init_propagate_block_info): Adjust.
3368169689Skan	* global.c (build_insn_chain): Adjust.
3369169689Skan	* ifcvt.c (dead_or_predicable): Adjust.
3370169689Skan	* loop-iv.c (simplify_using_initial_values): Adjust.
3371169689Skan	* recog.c (peephole2_optimize): Adjust.
3372169689Skan	* sched-deps.c (init_deps_global): Adjust.
3373169689Skan
3374169689Skan2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
3375169689Skan
3376169689Skan	* config.gcc (avr-*-rtems*): Fix typo.
3377169689Skan
3378169689Skan2004-11-25  J"orn Rennecke <joern.rennecke@st.com>
3379169689Skan
3380169689Skan	* sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
3381169689Skan
3382169689Skan2004-11-24  Jeff Law  <law@redhat.com>
3383169689Skan
3384169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
3385169689Skan	the number of queries to random elements in the ai->written_vars
3386169689Skan	bitmap.
3387169689Skan
3388169689Skan2004-11-24  Roger Sayle  <roger@eyesopen.com>
3389169689Skan
3390169689Skan	* config/i386/i386.c (override_options): Disable x87 fancy math
3391169689Skan	intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
3392169689Skan
3393169689Skan2004-11-24  Roger Sayle  <roger@eyesopen.com>
3394169689Skan
3395169689Skan	* configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
3396169689Skan	system header conflict on AIX 5.2.
3397169689Skan	* configure: Regenerate.
3398169689Skan
3399169689Skan2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3400169689Skan
3401169689Skan	* tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
3402169689Skan	instead of calling phi_arg_from_edge.
3403169689Skan
3404169689Skan	* tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
3405169689Skan	with e->dest_idx.
3406169689Skan
3407169689Skan2004-11-24  Ben Elliston  <bje@au.ibm.com>
3408169689Skan
3409169689Skan	* config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
3410169689Skan	* config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
3411169689Skan	* config/i386/i386-protos.h (i386_dwarf_output_addr_const):
3412169689Skan	Likewise.
3413169689Skan
3414169689Skan2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3415169689Skan
3416169689Skan	* tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
3417169689Skan
3418169689Skan	* tree-inline.c (copy_body_r): Explicitly copy a constant if the
3419169689Skan	type will be remapped.
3420169689Skan
3421169689Skan2004-11-24  Steven Bosscher  <stevenb@suse.de>
3422169689Skan
3423169689Skan	* c-opts.c (c_common_post_options): Don't clear
3424169689Skan	flag_inline_functions.
3425169689Skan	* dojump.c (clear_pending_stack_adjust): Remove check on
3426169689Skan	flag_inline_functions, it's always true.
3427169689Skan	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
3428169689Skan	that can never trigger.
3429169689Skan	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
3430169689Skan	flag_inline_trees, now that flag_inline_functions is never
3431169689Skan	cleared.
3432169689Skan	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
3433169689Skan	flag_inline_functions at optimization levels greater than
3434169689Skan	or equal to 3.  This is already done by default.
3435169689Skan
3436169689Skan2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3437169689Skan
3438169689Skan	* tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
3439169689Skan	instead to find the PHI argument.  Do not take I as an
3440169689Skan	argument.
3441169689Skan	(eliminate_phi): Adjust the call to eliminate_build.  Do not
3442169689Skan	take I as an argument.
3443169689Skan	(rewrite_trees): Adjust the call to eliminate_phi.
3444169689Skan
3445169689Skan2004-11-24  Richard Sandiford  <rsandifo@redhat.com>
3446169689Skan
3447169689Skan	* optabs.h (force_expand_binop): Declare.
3448169689Skan	* optabs.c (force_expand_binop): Export.
3449169689Skan	* stmt.c (shift_return_value): Delete.
3450169689Skan	(expand_return): Don't call it.
3451169689Skan	* expr.h (shift_return_value): Declare.
3452169689Skan	* calls.c (shift_returned_value): Delete in favor of...
3453169689Skan	(shift_return_value): ...this new function.  Leave the caller to check
3454169689Skan	for non-BLKmode values passed in the msb of a register.  Take said mode
3455169689Skan	and a shift direction as argument.  Operate on the hard function value,
3456169689Skan	not a pseudo.
3457169689Skan	(expand_call): Adjust accordingly.
3458169689Skan	* function.c (expand_function_start): If a non-BLKmode return value
3459169689Skan	is padded at the last significant end of the return register, use the
3460169689Skan	return value's natural mode for the DECL_RESULT, not the mode of the
3461169689Skan	padded register.
3462169689Skan	(expand_function_end): Shift the same sort of return values left by
3463169689Skan	the appropriate amount.
3464169689Skan
3465169689Skan2004-11-24  Matt Austern  <austern@apple.com>
3466169689Skan
3467169689Skan	* recog.c (recog_memoized_1): Remove.
3468169689Skan	* recog.h (recog_memoized_1): Remove declaration.
3469169689Skan	(recog_memoized): Change from macro to inline function.
3470169689Skan
3471169689Skan2004-11-24  Devang Patel  <dpatel@apple.com>
3472169689Skan
3473169689Skan	PR/18555
3474169689Skan	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
3475169689Skan	* config/darwin-c.c (darwin_register_frameworks): Use sysroot.
3476169689Skan
3477169689Skan2004-11-24  Devang Patel  <dpatel@apple.com>
3478169689Skan
3479169689Skan	* gcc.c (process_command): Supply -v to linker.
3480169689Skan
3481169689Skan2004-11-24  David Edelsohn  <edelsohn@gnu.org>
3482169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
3483169689Skan
3484169689Skan	* config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
3485169689Skan	vector modes without ALTIVEC_ABI.  Use GCC vector instead of
3486169689Skan	synthetic vector.
3487169689Skan	(rs6000_pass_by_reference): Split conditional into pieces.  Use
3488169689Skan	GCC vector instead of synthetic vector.
3489169689Skan
3490169689Skan2004-11-24  Aldy Hernandez  <aldyh@redhat.com>
3491169689Skan
3492169689Skan	* tree.c (recompute_tree_invarant_for_addr_expr): The address of a
3493169689Skan	thread-local variable is invariant.
3494169689Skan
3495169689Skan2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3496169689Skan
3497169689Skan	* tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
3498169689Skan	Handle TYPE_REF_CAN_ALIAS_ALL.
3499169689Skan	(print_declaration): Print array dimensions like dump_generic_node.
3500169689Skan
3501169689Skan	* fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
3502169689Skan	ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
3503169689Skan
3504169689Skan2004-11-24  Nathan Sidwell  <nathan@codesourcery.com>
3505169689Skan
3506169689Skan	* bitmap.c (INLINE): Do not define.
3507169689Skan	(bitmap_elem_to_freelist, bitmap_element_free,
3508169689Skan	bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
3509169689Skan	bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
3510169689Skan
3511169689Skan2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3512169689Skan
3513169689Skan	* tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
3514169689Skan	find the index of a PHI argument.  Use e->dest_idx instead.
3515169689Skan	Replace hint with index.
3516169689Skan
3517169689Skan	* tree-ssa-dom.c (cprop_into_successor_phis): Replace index
3518169689Skan	with indx.
3519169689Skan
3520169689Skan2004-11-24  Diego Novillo  <dnovillo@redhat.com>
3521169689Skan
3522169689Skan	* tree-ssa-alias.c (merge_pointed_to_info): Fix comment
3523169689Skan	regarding PT_MALLOC.
3524169689Skan
3525169689Skan2004-11-24  Joseph Myers  <joseph@codesourcery.com>
3526169689Skan
3527169689Skan	* config/i386/i386.c (optimization_options): Use
3528169689Skan	SUBTARGET_OPTIMIZATION_OPTIONS.
3529169689Skan	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
3530169689Skan	(TARGET_SUBTARGET_DEFAULT): Don't include
3531169689Skan	MASK_OMIT_LEAF_FRAME_POINTER.
3532169689Skan
3533169689Skan2004-11-24  Mark Mitchell  <mark@codesourcery.com>
3534169689Skan
3535169689Skan	* config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
3536169689Skan	Define to false.
3537169689Skan
3538169689Skan2004-11-24  Joseph Myers  <joseph@codesourcery.com>
3539169689Skan
3540169689Skan	* config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
3541169689Skan	Use amd64 instead of 64.
3542169689Skan
3543169689Skan2004-11-24  Mark Mitchell  <mark@codesourcery.com>
3544169689Skan	    Joseph Myers  <joseph@codesourcery.com>
3545169689Skan
3546169689Skan	* crtstuff.c (IN_LIBGCC2): Define it.
3547169689Skan	(EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
3548169689Skan	instead of HAVE_LD_RO_RW_SECTION_MIXING.
3549169689Skan	* defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
3550169689Skan	* dwarf2out.c (named_section_eh_frame_section): Check
3551169689Skan	EH_TABLES_CAN_BE_READ_ONLY.
3552169689Skan	* except.c (default_exception_section): Likewise.
3553169689Skan	* config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
3554169689Skan	* doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
3555169689Skan
3556169689Skan2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3557169689Skan
3558169689Skan	* tree-ssa-pre.c (phi_translate): Use find_edge to find the
3559169689Skan	index of a PHI argument.
3560169689Skan
3561169689Skan	* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use
3562169689Skan	find_edge to find the index of a PHI argument.
3563169689Skan
3564169689Skan2004-11-24  Steven Bosscher  <stevenb@suse.de>
3565169689Skan
3566169689Skan	* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
3567169689Skan	and LABELED_BLOCK_EXPR.
3568169689Skan	* gimplify.c (gimplify_labeled_block_expr): Remove.
3569169689Skan	(gimplify_exit_block_expr): Remove.
3570169689Skan	(gimplify_expr): Don't call them.
3571169689Skan	* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
3572169689Skan	and LABELED_BLOCK_EXPR.
3573169689Skan	(estimate_num_insns_1): Likewise.
3574169689Skan	(walk_tree): Likewise.
3575169689Skan	* tree-pretty-print.c (dump_generic_node): Don't handle
3576169689Skan	EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
3577169689Skan	* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
3578169689Skan	(LABELED_BLOCK_EXPR): Likewise.
3579169689Skan	* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
3580169689Skan	(LABELED_BLOCK_BODY): Likewise.
3581169689Skan	(EXIT_BLOCK_LABELED_BLOCK): Likewise.
3582169689Skan	(EXIT_BLOCK_RETURN): Removed.
3583169689Skan
3584169689Skan2004-11-24  Steven Bosscher  <stevenb@suse.de>
3585169689Skan
3586169689Skan	* cfgrtl.c (rtl_delete_block): Fix comment.
3587169689Skan	* emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG
3588169689Skan	or BLOCK_END insn notes.
3589169689Skan	* jump.c (squeeze_notes): Likewise.
3590169689Skan	* haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and
3591169689Skan	EH_REGION_END notes, we never have them to begin with.
3592169689Skan	* sched-deps.c (sched_analyze_insn): When updating loop notes,
3593169689Skan	verify that we have indeed only recorded loop notes.
3594169689Skan	(sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes.
3595169689Skan	Only record loop notes.
3596169689Skan
3597169689Skan	* cfgexpand.c (tree_expand_cfg): Fix comment.
3598169689Skan
3599169689Skan	* passes.c (rest_of_compilation): Don't do a second call to
3600169689Skan	convert_from_eh_region_ranges from here, it's already called
3601169689Skan	from cfgexpand.c.
3602169689Skan	* except.c (resolve_fixup_regions): Remove.
3603169689Skan	(remove_fixup_regions): Remove.
3604169689Skan	(convert_from_eh_region_ranges_1): Remove.
3605169689Skan	(convert_from_eh_region_ranges): Remove the case where EH is
3606169689Skan	not already lowered at the tree level.  We always lower there.
3607169689Skan
3608169689Skan2004-11-24  Paolo Bonzini  <bonzini@gnu.org>
3609169689Skan
3610169689Skan	PR c++/16882
3611169689Skan	* tree.c (make_vector_type): Move qualifiers to the vector type,
3612169689Skan	use the inner type's main variant and build a main variant for
3613169689Skan	the vector type if necessary.
3614169689Skan	(type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS.
3615169689Skan
3616169689Skan2004-11-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
3617169689Skan
3618169689Skan	* target.h (late_rtl_prologue_epilogue): Remove.
3619169689Skan	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
3620169689Skan	* system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
3621169689Skan	* passes.c (rest_of_handle_prologue_epilogue): Remove and move
3622169689Skan	remaining bits to...
3623169689Skan	(rest_of_handle_flow2): ...here.
3624169689Skan	(rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
3625169689Skan	* doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
3626169689Skan
3627169689Skan2004-11-23  Mark Mitchell  <mark@codesourcery.com>
3628169689Skan
3629169689Skan	* hwint.h (HOST_LONG_LONG_FORMAT): New macro.  Use it throughout.
3630169689Skan	* config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
3631169689Skan	* doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
3632169689Skan
3633169689Skan2004-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
3634169689Skan
3635169689Skan	* config/i386/i386.c (override_options): Move
3636169689Skan	SUBTARGET_OVERRIDE_OPTIONS before defaulting
3637169689Skan	flag_omit_frame_pointer.
3638169689Skan
3639169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3640169689Skan
3641169689Skan	* rtl.h (validate_subreg): Declare.
3642169689Skan	* emit-rtl.c (validate_subreg): New.
3643169689Skan	(gen_rtx_SUBREG): Use it.
3644169689Skan	* simplify-rtx.c (simplify_subreg): Likewise.
3645169689Skan	(simplify_gen_subreg): Likewise.  Remove duplicate asserts.
3646169689Skan	* expr.c (emit_move_insn_1): Tidy complex move code.  Use memory
3647169689Skan	fallback whenever gen_realpart/gen_imagpart would not be able to
3648169689Skan	create SUBREGs.
3649169689Skan
3650169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3651169689Skan
3652169689Skan	* expmed.c (extract_bit_field): Use simplify_gen_subreg instead of
3653169689Skan	hard-coding avoiding calls to gen_rtx_SUBREG.  Split complex return
3654169689Skan	modes to CONCAT.
3655169689Skan
3656169689Skan2004-11-23  Diego Novillo  <dnovillo@redhat.com>
3657169689Skan
3658169689Skan	PR tree-optimization/18618
3659169689Skan	* tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare.
3660169689Skan	(insert_phi_nodes_for): Change third argument to VEC(basic_block).
3661169689Skan	* tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap).
3662169689Skan	Update all users.
3663169689Skan	(stmts_to_rescan): Likewise.
3664169689Skan	(const_and_copies_stack): Likewise.
3665169689Skan	(nonzero_vars_stack): Likewise.
3666169689Skan	(vrp_variables_stack): Likewise.
3667169689Skan
3668169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3669169689Skan
3670169689Skan	* cse.c (record_jump_cond_subreg): New.
3671169689Skan	(record_jump_cond): Use it instead of gen_lowpart.
3672169689Skan
3673169689Skan2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
3674169689Skan	    Joseph Myers  <joseph@codesourcery.com>
3675169689Skan
3676169689Skan	* config/sol2-c.c (solaris_register_pragmas): Use
3677169689Skan	c_register_pragma_with_expansion.
3678169689Skan	* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
3679169689Skan	* c-pragma.c (c_register_pragma): Update call to
3680169689Skan	cpp_register_pragma.
3681169689Skan	(c_register_pragma_with_expansion): New function.
3682169689Skan	(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
3683169689Skan	* c-pragma.h (c_register_pragma_with_expansion): New prototype.
3684169689Skan	* doc/extend.texi (Solaris Pragmas): Mention macro expansion for
3685169689Skan	#pragma align.
3686169689Skan	* doc/tm.texi (c_register_pragma_with_expansion,
3687169689Skan	HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
3688169689Skan
3689169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3690169689Skan
3691169689Skan	* combine.c (gen_lowpart_for_combine): Factor out mode of x as well
3692169689Skan	as mode sizes into local temporaries.  Unify failure path.
3693169689Skan
3694169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3695169689Skan
3696169689Skan	* emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
3697169689Skan	* caller-save.c (mark_set_regs): Use subreg_regno instead.
3698169689Skan	* final.c (alter_subreg): Likewise.
3699169689Skan	* local-alloc.c (reg_is_born): Likewise.
3700169689Skan
3701169689Skan2004-11-23  Richard Henderson  <rth@redhat.com>
3702169689Skan
3703169689Skan	* simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
3704169689Skan	instead of using a SUBREG temporary.
3705169689Skan
3706169689Skan2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
3707169689Skan
3708169689Skan	* tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
3709169689Skan	two checks.
3710169689Skan
3711169689Skan2004-11-23  Zack Weinberg  <zack@codesourcery.com>
3712169689Skan
3713169689Skan	* function.h (struct function): Remove calls_longjmp.
3714169689Skan	(current_function_calls_longjmp): Delete.
3715169689Skan	* tree.h (ECF_LONGJMP): Delete.
3716169689Skan	(ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
3717169689Skan	(ECF_LIBCALL_BLOCK): Everybody slide down one.
3718169689Skan	(ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
3719169689Skan	* builtins.c (expand_builtin_longjmp): Don't set
3720169689Skan	current_function_calls_longjmp.
3721169689Skan	* calls.c (special_function_p): Mark longjmp and siglongjmp
3722169689Skan	with ECF_NORETURN, not ECF_LONGJMP.
3723169689Skan	(emit_call_1, expand_call, emit_library_call_value_1):
3724169689Skan	Don't check for ECF_LONGJMP.
3725169689Skan	* tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
3726169689Skan	(need_fake_edge_p): Likewise.
3727169689Skan
3728169689Skan	* config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
3729169689Skan	* system.h: Poison NON_SAVING_SETJMP.
3730169689Skan	* function.c (use_register_for_decl)
3731169689Skan	* gcse.c (compute_hash_table_work, compute_store_table)
3732169689Skan	* postreload-gcse.c (record_opr_changes)
3733169689Skan	* reload.c (find_equiv_reg)
3734169689Skan	* reload1.c (reload)
3735169689Skan	* config/i386/i386.c (ix86_can_use_return_insn_p):
3736169689Skan	Remove code conditional on NON_SAVING_SETJMP.
3737169689Skan	* doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
3738169689Skan
3739169689Skan	* config/i386/sysv3.h: Delete file.
3740169689Skan	* config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
3741169689Skan
3742169689Skan2004-11-23  Dorit Naishlos  <dorit@il.ibm.com>
3743169689Skan
3744169689Skan	* tree-vectorizer.c (vect_analyze_operations): Don't vectorize if
3745169689Skan	the vectorization factor is greater than the iteration count.
3746169689Skan	(vect_gen_niters_for_prolog_loop): No need to calculate min if the
3747169689Skan	iteration count is known.
3748169689Skan
3749169689Skan	(vect_build_symbol_bound): Removed. Its functionality moved to
3750169689Skan	vect_generate_tmps_on_preheader.
3751169689Skan	(vect_generate_tmps_on_preheader): Moved content of
3752169689Skan	vect_build_symbol_bound here instead of calling it.  Changed some
3753169689Skan	variables names.
3754169689Skan
3755169689Skan	(vect_build_loop_niters): We don't expect a new_bb to be generated -
3756169689Skan	use gcc_assert.
3757169689Skan	(vect_gen_niters_for_prolog_loop): Likewise.
3758169689Skan	(vect_gen_niters_for_prolog_loo): Likewise.
3759169689Skan
3760169689Skan	(slpeel_make_loop_iterate_ntimes): Use buildN instead of build.
3761169689Skan	(slpeel_add_loop_guard): Likewise.
3762169689Skan	(slpeel_tree_peel_loop_to_edge): Likewise.
3763169689Skan	(vect_do_peeling_for_alignment): Likewise.
3764169689Skan
3765169689Skan	(vect_get_first_index): Missing space.
3766169689Skan
3767169689Skan2004-11-23  Ulrich Weigand  <uweigand@de.ibm.com>
3768169689Skan
3769169689Skan	* config/s390/s390.md ("*iordi3"): Mark commutative.
3770169689Skan	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
3771169689Skan
3772169689Skan2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
3773169689Skan
3774169689Skan	* tree-phinode.c (resize_phi_node): Abort when LEN is strictly
3775169689Skan	greater than PHI_ARG_CAPACITY.
3776169689Skan	(reserve_phi_args_for_new_edge): Initialize the new PHI
3777169689Skan	argument to NULL_TREE.  Increment PHI_NUM_ARGS.
3778169689Skan	(add_phi_arg): Add a PHI argument to the slot given by
3779169689Skan	E->dest_idx.
3780169689Skan	(remove_phi_arg_num): Do not write to PHI_ARG_EDGE.
3781169689Skan	* tree-flow-inline (phi_arg_from_edge): Return E->dest_idx.
3782169689Skan	* tree-ssa.c (ssa_redirect_edge): Check for a missing PHI
3783169689Skan	argument by looking at PHI_ARG_DEF.
3784169689Skan	(verify_phi_args): Check for a missing PHI argument.  Remove
3785169689Skan	the check for duplicate PHI arguments.
3786169689Skan	* tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED.
3787169689Skan	(phi_arg_d): Remove e.
3788169689Skan
3789169689Skan	* tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up
3790169689Skan	by restricting to the case with two outgoing edges.
3791169689Skan
3792169689Skan2004-11-23  Andreas Krebbel  <krebbel1@de.ibm.com>
3793169689Skan
3794169689Skan	* config/s390/s390.c (s390_backchain_string): Removed.
3795169689Skan	(s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info)
3796169689Skan	(s390_emit_prologue, s390_va_start, s390_gimplify_va_arg):
3797169689Skan	Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and
3798169689Skan	TARGET_KERNEL_BACKCHAIN to reflect the new options.
3799169689Skan	* config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros.
3800169689Skan	(TARGET_KERNEL_BACKCHAIN): Removed.
3801169689Skan	(TARGET_BACKCHAIN): Former triple state option change to a target flag.
3802169689Skan	(TARGET_PACKED_STACK): New macro.
3803169689Skan	(TARGET_SWITCHES): New switches added.
3804169689Skan	(TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain"
3805169689Skan	removed.
3806169689Skan	(DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK.
3807169689Skan	* config/s390/s390.md ("allocate_stack", "restore_stack_block")
3808169689Skan	("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect
3809169689Skan	the change in target switch semantics.
3810169689Skan	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed.
3811169689Skan	(TARGET_DEFAULT): MASK_BACKCHAIN added.
3812169689Skan	* doc/invoke.texi: Added documentation for the new/changed options.
3813169689Skan
3814169689Skan2004-11-23  Uros Bizjak  <uros@kss-loka.si>
3815169689Skan
3816169689Skan	PR rtl-optimization/18614
3817169689Skan	* simplify-rtx.c (simplify_binary_operation): Do not
3818169689Skan	simplify inner elements of constant arguments of
3819169689Skan	VEC_CONCAT insn.
3820169689Skan
3821169689Skan2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
3822169689Skan
3823169689Skan	* gthr-solaris.h (__gthread_recursive_mutex_init_function): Use
3824169689Skan	0 instead of NULL.
3825169689Skan
3826169689Skan2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
3827169689Skan
3828169689Skan	* tree-phinode.c (make_phi_node): Use a new variable,
3829169689Skan	capacity, to receive the return value of ideal_phi_node_len.
3830169689Skan
3831169689Skan2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
3832169689Skan
3833169689Skan	* gthr-solaris.h (__gthread_recursive_mutex_t): New type.
3834169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
3835169689Skan	__gthread_recursive_mutex_init_function.
3836169689Skan	(__gthread_key_create): Properly cast -1.
3837169689Skan	(__gthread_recursive_mutex_init_function): New function.
3838169689Skan	(__gthread_recursive_mutex_lock): Rewrite.
3839169689Skan	(__gthread_recursive_mutex_trylock): Likewise.
3840169689Skan	(__gthread_recursive_mutex_unlock): Likewise.
3841169689Skan
3842169689Skan2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
3843169689Skan
3844169689Skan	* config/c4x/t-rtems: New.
3845169689Skan	* config.gcc: Reflect having added c4x/t-rtems.
3846169689Skan
3847169689Skan2004-11-23  Dorit Naishlos <dorit@il.ibm.com>
3848169689Skan
3849169689Skan	PR tree-opt/18403
3850169689Skan	PR tree-opt/18505
3851169689Skan	* tree-vectorizer.c (vect_create_data_ref_ptr): Use
3852169689Skan	lang_hooks.types.type_for_size instead of integer_type_node for the
3853169689Skan	type of ptr_update.
3854169689Skan
3855169689Skan2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
3856169689Skan
3857169689Skan	* config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
3858169689Skan
3859169689Skan2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
3860169689Skan
3861169689Skan	* config/arm/t-rtems: New.
3862169689Skan	* config.gcc: Reflect having added arm/t-rtems.
3863169689Skan
3864169689Skan2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
3865169689Skan
3866169689Skan	* tree-cfg.c (tree_execute_on_growing_pred): New.
3867169689Skan	(tree_cfg_hooks): Add tree_execute_on_growing_pred.
3868169689Skan	* tree-flow.h: Add a prototype for
3869169689Skan	reserve_phi_args_for_new_edge.
3870169689Skan	* tree-phinodes.c (reserve_phi_args_for_new_edge): New.
3871169689Skan	(add_phi_arg): Don't resize a PHI array.
3872169689Skan
3873169689Skan2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
3874169689Skan
3875169689Skan	* config.gcc: Add avr-*-rtems*.
3876169689Skan	* config/avr/t-rtems: New.
3877169689Skan	* config/avr/rtems.h: New.
3878169689Skan
3879169689Skan2004-11-22  Daniel Berlin  <dberlin@dberlin.org>
3880169689Skan
3881169689Skan	* df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's
3882169689Skan	always the same as op1.  Use bitmap_ior_into and bitmap_and_into.
3883169689Skan	Add comment to function.
3884169689Skan
3885169689Skan2004-11-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3886169689Skan
3887169689Skan	PR pch/14940
3888169689Skan	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__.
3889169689Skan
3890169689Skan	PR rtl-optimization/14838
3891169689Skan	* emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
3892169689Skan	note.
3893169689Skan	(get_last_nonnote_insn): Don't assume last insn is a note.
3894169689Skan
3895169689Skan2004-11-22  Roger Sayle  <roger@eyesopen.com>
3896169689Skan
3897169689Skan	* fold-const.c (nondestructive_fold_binary_to_constant): Rename
3898169689Skan	to fold_binary_to_constant.
3899169689Skan	(nondestructive_fold_unary_to_constant): Likewise, rename to
3900169689Skan	fold_unary_to_constant.
3901169689Skan	(fold_relational_hi_lo): Update call to fold_binary_to_constant.
3902169689Skan	* tree.h (nondestructive_fold_binary_to_constant): Update prototype.
3903169689Skan	(nondestructive_fold_unary_to_constant): Likewise.
3904169689Skan	* tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant
3905169689Skan	and fold_binary_to_constant.
3906169689Skan	* tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
3907169689Skan	(inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY
3908169689Skan	and EXEC_UNARY with calls to fold_*nary_to_constant.
3909169689Skan	* tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
3910169689Skan	(idx_find_step): Replace uses of EXEC_BINARY with calls to
3911169689Skan	fold_binary_to_constant.
3912169689Skan
3913169689Skan2004-11-22  Nick Clifton  <nickc@redhat.com>
3914169689Skan
3915169689Skan	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
3916169689Skan	initialisation of 'e'.
3917169689Skan
3918169689Skan2004-11-22  Roger Sayle  <roger@eyesopen.com>
3919169689Skan
3920169689Skan	* config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro.
3921169689Skan	* config/i386/i386.c (override_options): Set MASK_NO_FANCY_MATH_387
3922169689Skan	automatically for targets without TARGET_80387.
3923169689Skan	* config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2,
3924169689Skan	sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2,
3925169689Skan	*sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3,
3926169689Skan	fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2,
3927169689Skan	*sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2,
3928169689Skan	*cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3,
3929169689Skan	*tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2,
3930169689Skan	atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2,
3931169689Skan	atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2,
3932169689Skan	acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2,
3933169689Skan	log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2,
3934169689Skan	fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2,
3935169689Skan	logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2,
3936169689Skan	expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2,
3937169689Skan	exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2,
3938169689Skan	rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2,
3939169689Skan	floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2,
3940169689Skan	frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2,
3941169689Skan	frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2):
3942169689Skan	Simplify conditionals using TARGET_USE_FANCY_MATH_387.
3943169689Skan
3944169689Skan2004-11-22  Dale Johannesen  <dalej@apple.com>
3945169689Skan
3946169689Skan	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Conditionalize
3947169689Skan	properly and comment.
3948169689Skan
3949169689Skan2004-11-22  James A. Morrison  <phython@gcc.gnu.org
3950169689Skan
3951169689Skan	* config/sparc/sparc.c: Include insn-codes.h and langhooks.h.
3952169689Skan	(sparc_init_builtins): New function.
3953169689Skan	(sparc_init_vis_builtins): Create builtin functions for VIS
3954169689Skan	instructions.
3955169689Skan	(sparc_expand_builtin): Expand builtin functions for VIS instructions.
3956169689Skan	(TARGET_INIT_BUILTINS): Define to sparc_init_builtins.
3957169689Skan	(TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin.
3958169689Skan	(def_builtin): New macro for creating builtin functions.
3959169689Skan	* config/sparc/sparc.md (P): New mode macro for pointer types.
3960169689Skan	(UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND,
3961169689Skan	UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL,
3962169689Skan	UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants.
3963169689Skan	(fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis,
3964169689Skan	fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
3965169689Skan	fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis,
3966169689Skan	faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns.
3967169689Skan
3968169689Skan2004-11-22  Devang Patel  <dpatel@apple.com>
3969169689Skan
3970169689Skan	* tree-if-conv.c (clean_predicate_lists): Clean all basic blocks.
3971169689Skan
3972169689Skan2004-11-22  Devang Patel  <dpatel@apple.com>
3973169689Skan
3974169689Skan	* tree-if-conv.c (if_convertable_phi_p): Rename to ...
3975169689Skan	(if_convertible_phi_p): ... new name.
3976169689Skan	(if_convertable_modify_expr_p): Rename to ...
3977169689Skan	(if_convertible_modify_expr_p): ... new name.
3978169689Skan	(if_convertable_stmt_p): Rename to ...
3979169689Skan	(if_convertible_stmt_p): ... new name.
3980169689Skan	(if_convertable_bb_p): Rename to ...
3981169689Skan	(if_convertible_bb_p): ... new name.
3982169689Skan	(if_convertable_loop_p): Rename to ...
3983169689Skan	(if_convertible_loop_p): ... new name.
3984169689Skan
3985169689Skan2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
3986169689Skan
3987169689Skan	PR target/18444
3988169689Skan	* configure.ac (threading): Accept 'posix95'.
3989169689Skan	* configure: Regenerate.
3990169689Skan	* config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6,
3991169689Skan	include sol26.h and default to posix95 threads if have_pthread_h.
3992169689Skan	(sparc-*-solaris2*): Likewise.
3993169689Skan	* gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined.
3994169689Skan	* gthr-posix95.h: New file.
3995169689Skan	* config/sol26.h: New file.
3996169689Skan	* doc/install.texi (--enable-threads): Document 'posix95'.
3997169689Skan
3998169689Skan2004-11-23  Ben Elliston  <bje@au.ibm.com>
3999169689Skan
4000169689Skan	* pointer-set.h (pointer_set_contains): Remove.
4001169689Skan	* pointer-set.c (pointer_set_contains): Likewise.
4002169689Skan
4003169689Skan2004-11-22  Dale Johannesen  <dalej@apple.com>
4004169689Skan
4005169689Skan	* calls.c (expand_call): Do not call preserve_temp_slots.
4006169689Skan
4007169689Skan2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4008169689Skan
4009169689Skan	* tree-flow.h: Remove the prototype for remove_phi_arg.
4010169689Skan	Add a prototype for remove_phi_args.
4011169689Skan	* tree-phinodes.c (remove_phi_arg): Remove.
4012169689Skan	(remove_phi_args): New.
4013169689Skan	* tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead
4014169689Skan	of remove_phi_arg.
4015169689Skan
4016169689Skan	* cfg.c (unchecked_make_edge): Call execute_on_growing_pred
4017169689Skan	after making an edge.
4018169689Skan	(remove_edge): Call execute_on_shrinking_pred before removing
4019169689Skan	an edge.
4020169689Skan	(redirect_edge_succ): Call execute_on_growing_pred and
4021169689Skan	execute_on_shrinking_pred.
4022169689Skan	* cfghooks.c (execute_on_growing_pred): New.
4023169689Skan	(execute_on_shrinking_pred): Likewise.
4024169689Skan	* cfghooks.h (cfg_hooks): Add execute_on_growing_pred and
4025169689Skan	execute_on_shrinking_pred.
4026169689Skan	Add prototypes for execute_on_growing_pred and
4027169689Skan	execute_on_shrinking_pred.
4028169689Skan	* cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to
4029169689Skan	execute_on_growing_pred and execute_on_shrinking_pred.
4030169689Skan	(cfg_layout_rtl_cfg_hook): Likewise.
4031169689Skan	* tree-cfg.c (tree_cfg_hooks): Likewise.
4032169689Skan
4033169689Skan	* tree-cfg.c (tree_execute_on_shrinking_pred): New.
4034169689Skan	(tree_cfg_hooks): Use it.
4035169689Skan	* tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args.
4036169689Skan	(ssa_redirect_edge): Don't call remove_phi_arg_num.
4037169689Skan
4038169689Skan	* tree-phinodes.c (remove_phi_arg_num): Make it static.
4039169689Skan	* tree-flow.h: Remove the corresponding prototype.
4040169689Skan
4041169689Skan	* tree-ssa.c (ssa_remove_edge): Remove.
4042169689Skan	* tree-flow.h: Remove the corresponding prototype.
4043169689Skan	* tree-cfg.c: Replace ssa_remove_edge with remove_edge.
4044169689Skan	* basic-block.h: Likewise.
4045169689Skan	* tree-if-conv.c: Likewise.
4046169689Skan	* tree-ssa-threadupdate.c: Likewise.
4047169689Skan
4048169689Skan2004-11-23  Ben Elliston  <bje@au.ibm.com>
4049169689Skan
4050169689Skan	* doc/cfg.texi (Maintaining the CFG): Use @ftable instead of
4051169689Skan	@table to list the BSI methods.  Use individual @findex directives
4052169689Skan	instead of one with a comma-separated list of index entries.
4053169689Skan
4054169689Skan2004-11-22  Zdenek Dvorak  <dvorakz@suse.cz>
4055169689Skan
4056169689Skan	PR tree-optimization/18529
4057169689Skan	* fold-const.c (fold_to_nonsharp_ineq_using_bound): New function.
4058169689Skan	(simple_operand_p): Use STRIP_NOPS.  Consider SSA names simple.
4059169689Skan	(fold): Call fold_to_nonsharp_ineq_using_bound.
4060169689Skan	* tree-ssa-loop-niter.c (simplify_replace_tree): New function.
4061169689Skan	(number_of_iterations_cond): Fold the expressions before futher
4062169689Skan	processing.
4063169689Skan	(tree_simplify_using_condition): Handle case when cond or expr is
4064169689Skan	an EQ_EXPR specially.
4065169689Skan
4066169689Skan2004-11-22 Daniel Berlin  <dberlin@dberlin.org>
4067169689Skan
4068169689Skan	* tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
4069169689Skan	SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes.
4070169689Skan
4071169689Skan2004-11-22  David Edelsohn  <edelsohn@gnu.org>
4072169689Skan	    Fariborz Jahanian  <fjahanian@apple.com>
4073169689Skan
4074169689Skan	* config/rs6000/rs6000.c (rs6000_return_in_memory): Test
4075169689Skan	TARGET_ALTIVEC_ABI.
4076169689Skan	(function_arg_boundary): Align 8 to 16 byte vectors like SPE.
4077169689Skan	Align 16 byte and larger vectors like Altivec.
4078169689Skan	(function_arg_advance): Pass any 16 byte vector like Altivec vector.
4079169689Skan	(function_arg): Same.
4080169689Skan	(rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI.
4081169689Skan
4082169689Skan2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
4083169689Skan
4084169689Skan	PR tree-opt/18572
4085169689Skan	* tree-sra.c (scalarize_init): Unshare the rhs before gimplifying
4086169689Skan	it.
4087169689Skan
4088169689Skan2004-11-22  Richard Henderson  <rth@redhat.com>
4089169689Skan
4090169689Skan	* function.c (assign_parm_setup_block): Revert 11-13 change to
4091169689Skan	forcably re-mode a (possibly BLKmode) hard register.
4092169689Skan
4093169689Skan2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4094169689Skan
4095169689Skan	* config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN.
4096169689Skan
4097169689Skan2004-11-22  David Edelsohn  <edelsohn@gnu.org>
4098169689Skan
4099169689Skan	* config/rs6000/power4.md: Remove delay between dispatch and issue
4100169689Skan	associated with dispatch group slots 3 and 4.
4101169689Skan	* config/rs6000/power5.md: Same.
4102169689Skan
4103169689Skan2004-11-21  Jeff Law  <law@redhat.com>
4104169689Skan
4105169689Skan	* cfg.c (cached_make_edge): Use find_edge rather than an inlined
4106169689Skan	variant.
4107169689Skan	* cfgbuild.c (make_edges): Likewise.
4108169689Skan	* cfghooks.c (can_duplicate_block_p): Likewise.
4109169689Skan	* cfgloop.c (loop_latch_edge): Likewise.
4110169689Skan	* cfgloopmanip.c (force_single_succ_latches): Likewise.
4111169689Skan	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
4112169689Skan	* predict.c (predict_loops, propagate_freq): Likewise.
4113169689Skan	* tracer.c (tail_duplicate): Likewise.
4114169689Skan	* tree-cfg.c (disband_implicit_edges): Likewise.
4115169689Skan	(tree_forwarder_block_p, tree_flow_call_edges_add): Likewise.
4116169689Skan
4117169689Skan2004-11-22  Nick Clifton  <nickc@redhat.com>
4118169689Skan
4119169689Skan	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
4120169689Skan	initialisation of 'e'.
4121169689Skan
4122169689Skan2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4123169689Skan
4124169689Skan	PR rtl-optimization/18599
4125169689Skan	* regrename.c (copyprop_hardreg_forward): Speed up by putting
4126169689Skan	BB_VISITED flags on basic blocks as we process them.
4127169689Skan
4128169689Skan2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
4129169689Skan
4130169689Skan	PR target/18531
4131169689Skan	* config/rs6000/altivec.md (VI_char): New mode attribute.
4132169689Skan	(addv16qi3, addv8hi3, addv4ai3): Replace with ...
4133169689Skan	(add<mode>3): ... this.
4134169689Skan	(subv16qi3, subv8hi3, subv4ai3): Replace with ...
4135169689Skan	(sub<mode>3): ... this.
4136169689Skan	(smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ...
4137169689Skan	(smax<mode>3): ... this.
4138169689Skan	(sminv16qi3, sminv8hi3, sminv4ai3): Replace with ...
4139169689Skan	(smin<mode>3): ... this.
4140169689Skan	(umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ...
4141169689Skan	(umax<mode>3): ... this.
4142169689Skan	(uminv16qi3, uminv8hi3, uminv4ai3): Replace with ...
4143169689Skan	(umin<mode>3): ... this.
4144169689Skan	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
4145169689Skan	(and<mode>3): ... this.
4146169689Skan	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
4147169689Skan	(ior<mode>3): ... this.
4148169689Skan	(xorv16qi3, xorv8hi3, xorv4ai3): Replace with ...
4149169689Skan	(xor<mode>3): ... this.
4150169689Skan	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
4151169689Skan	(and<mode>3): ... this.
4152169689Skan	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
4153169689Skan	(ior<mode>3): ... this.
4154169689Skan	(altivec_vnor): Replace with ...
4155169689Skan	(altivec_nor<mode>): ... this.
4156169689Skan	(one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ...
4157169689Skan	(one_cmpl<mode>2): ... this.
4158169689Skan	(altivec_vandc): New expander.
4159169689Skan	(*andc<mode>3): New insn.
4160169689Skan	* config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names.
4161169689Skan
4162169689Skan2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
4163169689Skan
4164169689Skan	PR tree-opt/18536
4165169689Skan	* tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
4166169689Skan	creating iv instead of integer_type.
4167169689Skan	(vect_build_loop_niters): Remove redundant code.
4168169689Skan	(vect_transform_loop_bound): Removed (duplicates functionality of
4169169689Skan	make_loop_iterate_ntimes.
4170169689Skan	(vect_gen_niters_for_prolog_loop): Add documentation. Call
4171169689Skan	lang_hooks.types.type_for_size to create a type of the required size.
4172169689Skan	Use that type instead of integer_type. Remove redundant code.
4173169689Skan	(vect_update_niters_after_peeling): Use type of niters instead of
4174169689Skan	integer_type.
4175169689Skan	(vect_transform_loop): Unify handling of known and unknown loop bound
4176169689Skan	cases. Call make_loop_iterate_ntimes instead of
4177169689Skan	vect_transform_loop_bound.
4178169689Skan
4179169689Skan2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
4180169689Skan
4181169689Skan	PR target/18217
4182169689Skan	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to
4183169689Skan	(LIB2ADDEH): Here.
4184169689Skan
4185169689Skan2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
4186169689Skan
4187169689Skan	PR tree-opt/18544
4188169689Skan	* tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
4189169689Skan
4190169689Skan2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4191169689Skan
4192169689Skan	* config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
4193169689Skan	m32r*linux.
4194169689Skan	* config/m32r/t-linux (SHLIB_MAPFILES): Override to use
4195169689Skan	m32r/libgcc-glibc.ver.
4196169689Skan	* config/m32r/libgcc-glibc.ver: Add New file.
4197169689Skan
4198169689Skan2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
4199169689Skan
4200169689Skan	* bitmap.h (struct bitmap_obstack): New obstack type.
4201169689Skan	(struct bitmap_head_def): Replace using_obstack with obstack
4202169689Skan	pointer.
4203169689Skan	(bitmap_default_obstack): New.
4204169689Skan	(bitmap_initialize): Make inline, does not do allocation.
4205169689Skan	(bitmap_release_memory): Remove.
4206169689Skan	(bitmap_obstack_initialize, bitmap_obstack_release): Declare.
4207169689Skan	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
4208169689Skan	bitmap_obstack_free, bitmap_malloc_free): Declare.
4209169689Skan	(BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
4210169689Skan	(BITMAP_FREE): Replace with ...
4211169689Skan	(BITMAP_OBSTACK_FREE): ... this.
4212169689Skan	(BITMAP_XFREE): Adjust.
4213169689Skan	(BITMAP_INIT_ONCE): Remove.
4214169689Skan	* bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
4215169689Skan	(bitmap_default_obstack): New.
4216169689Skan	(bitmap_elem_to_freelist): Adjust.
4217169689Skan	(bitmap_element_allocate): Adjust. Break initialization into ...
4218169689Skan	(bitmap_obstack_initialize): ... here.
4219169689Skan	(bitmap_release_memory): Replace with ...
4220169689Skan	(bitmap_obstack_release): ... this.
4221169689Skan	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
4222169689Skan	bitmap_obstack_free, bitmap_malloc_free): New.
4223169689Skan	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
4224169689Skan	bitmap_initialize.
4225169689Skan	(bitmap_initialize): Move to bitmap.h.
4226169689Skan	* gengtype.c (open_base_files): Add obstack.h to ifiles.
4227169689Skan	* Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
4228169689Skan	* basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
4229169689Skan	(INITIALIZE_REG_SET): Remove.
4230169689Skan	(FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
4231169689Skan	(INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
4232169689Skan	(flow_obstack): Do not declare.
4233169689Skan	(reg_obstack): Declare.
4234169689Skan	* regs.h: Include obstack.h.
4235169689Skan	* tree-optimize.c (tree_rest_of_compilation): Initialize and
4236169689Skan	release bitmap obstack here.
4237169689Skan	* bb-reorder.c: #include regs, not basic-block.
4238169689Skan	(fix_crossing_conditional_branches): Allocate regsets from
4239169689Skan	reg_obstack.
4240169689Skan	* bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
4241169689Skan	obstack.h.
4242169689Skan	* caller-save.c: Include regs.h earlier.
4243169689Skan	* cfg.c: Do not include basic-block.h or obstack.h.
4244169689Skan	(reg_obstack): Define.
4245169689Skan	* cfganal.c: Include obstack.h
4246169689Skan	* cfgcleanyp.c: Do not include basic-block.h. Include regs.h
4247169689Skan	earlier.
4248169689Skan	* cfglayout.c: Do not include obstack.h.
4249169689Skan	(flow_obstack): Remove declaration.
4250169689Skan	(cfg_layout_duplicate_bb): Use reg_obstack.
4251169689Skan	* cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
4252169689Skan	* cfgrtl.c (rtl_split_block): Use reg_obstack.
4253169689Skan	(force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
4254169689Skan	(safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
4255169689Skan	(cfg_layout_split_edge): Use reg_obstack.
4256169689Skan	* cse.c: Include regs.h earlier.
4257169689Skan	* ddg.c: Do not include basic-block.h.
4258169689Skan	* dominance.c: Inlude obstack.h.
4259169689Skan	* flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
4260169689Skan	(calculate_global_regs_live): Likewise.
4261169689Skan	(allocate_bb_life_data): Use reg_obstack.
4262169689Skan	(init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
4263169689Skan	* global.c: Do not include basic-block.h.
4264169689Skan	(build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
4265169689Skan	* graph.c: Include obstack.h.
4266169689Skan	* haifa-sched.c: Do not include basic-block.h.
4267169689Skan	* ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
4268169689Skan	* local-alloc.c: Do not include basic-block.h.
4269169689Skan	* loop-init.c, loop-invariant.c: Include obstack.h.
4270169689Skan	* loop-iv.c: Likewise.
4271169689Skan	(simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
4272169689Skan	adjust.
4273169689Skan	* loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
4274169689Skan	* modulo-sched.c: Do not include basic-block.h.
4275169689Skan	* passes.c (rest_of_handle_final): Do not call
4276169689Skan	regset_release_memory.
4277169689Skan	* ra-debug.c: Include regs.h earlier. Do not include
4278169689Skan	basic-block.h.
4279169689Skan	* recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
4280169689Skan	* regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
4281169689Skan	(allocate_reg_info): Do not call MAX_REGNO_REG_SET.
4282169689Skan	(regset_release_memory): Remove.
4283169689Skan	* resource.c: Do not include basic-block.h.
4284169689Skan	* rtlanal.c: Do not include basic-block.h.
4285169689Skan	* sbitmap.c: Include obstack.h.
4286169689Skan	* sched-deps.c: Do not include basic-block.h.
4287169689Skan	(reg_pending_sets_head, reg_pending_clobbers_head,
4288169689Skan	reg_pending_uses_head): Remove.
4289169689Skan	(init_deps_global): Use OBSTACK_ALLOC_REG_SET.
4290169689Skan	* sched-ebb.c: Do not include basic-block.h.
4291169689Skan	* sched-rgn.c: Likewise.
4292169689Skan	* tree-if-conv.c (get_loop_body_in_if_conv_order): Use
4293169689Skan	BITMAP_XFREE.
4294169689Skan	* tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
4295169689Skan	* tree-sra.c (decide_instantiations): Adjust bitmap
4296169689Skan	initialization.
4297169689Skan	* tree-ssa-dce.c: Include obstack.h.
4298169689Skan	* tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
4299169689Skan	(value_insert_into_set_bitmap): Remove useless bitmap_clear.
4300169689Skan	(bitmap_set_new): Likewise.
4301169689Skan	(init_pre): Initialize bitmap obstack.
4302169689Skan	(fini_pre): Release bitmap obstack.
4303169689Skan	* tree-ssanames.c (ssa_names_to_rewrite): Make static.
4304169689Skan	(marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
4305169689Skan	(mark_for_rewrite, unmark_for_rewrite): Likewise.
4306169689Skan	(marked_ssa_names): Likewise.
4307169689Skan	(init_ssanames): Use BITMAP_XMALLOC.
4308169689Skan	(fini_ssanames): Use BITMAP_XFREE.
4309169689Skan	* web.c: Include obstack.h
4310169689Skan
4311169689Skan2004-11-22  Nick Clifton  <nickc@redhat.com>
4312169689Skan
4313169689Skan	* sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge
4314169689Skan	predecessor in the first for-loop.
4315169689Skan
4316169689Skan2004-11-21  Stan Shebs  <shebs@apple.com>
4317169689Skan
4318169689Skan	* config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add
4319169689Skan	UNION_TYPE case.
4320169689Skan	(function_arg): Move darwin test up, sniff mode first for
4321169689Skan	efficiency, test for union type.
4322169689Skan
4323169689Skan2004-11-21  Dale Johannesen  <dalej@apple.com>
4324169689Skan
4325169689Skan	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
4326169689Skan
4327169689Skan2004-11-21  Jeff Law  <law@redhat.com>
4328169689Skan
4329169689Skan	* tree-ssa.c (verify_use): Fix comment.
4330169689Skan	(verify_phi_args): Check that the number of incoming edges matches
4331169689Skan	the number of PHI arguments.  Check that each PHI argument is
4332169689Skan	either an SSA_NAME or an invariant.  Coalesce tests for PHIs for
4333169689Skan	dead or duplicated edges.  Clear e->aux earlier and avoid separate
4334169689Skan	loop to clear e->aux and test for missed edges.
4335169689Skan	(verify_ssa): Remove first walk over statements.  Move checking
4336169689Skan	of PHI args into verify_phi_args.  Move checking of statements
4337169689Skan	with aliased stores and V_MAY_DEFS into the remaining loop over
4338169689Skan	the statements.  Register defs by walking through the formal
4339169689Skan	SSA_NAME table.
4340169689Skan
4341169689Skan2004-11-21  Roger Sayle  <roger@eyesopen.com>
4342169689Skan
4343169689Skan	PR middle-end/18520
4344169689Skan	* dojump.c (compare_from_rtx): Clarify mode argument in function
4345169689Skan	description.  Correct order of mode/cmp_mode arguments in call to
4346169689Skan	simplify_relational_operation.  Check "tem" for COMPARISON_P.
4347169689Skan
4348169689Skan2004-11-21  Paolo Bonzini  <bonzini@gnu.org>
4349169689Skan	    David Edelsohn  <edelsohn@gnu.org>
4350169689Skan
4351169689Skan	PR target/17836
4352169689Skan	* config/rs6000/rs6000.c (rs6000_return_in_memory): Return
4353169689Skan	synthetic vectors in memory.
4354169689Skan	(function_arg_boundary): Align large synthetic vectors.
4355169689Skan	(rs6000_pass_by_reference): Pass synthetic vectors in memory.
4356169689Skan
4357169689Skan2004-11-21  Jeff Law  <law@redhat.com>
4358169689Skan
4359169689Skan	* cfg.c (update_bb_profile_for_threading): Do not rescale the
4360169689Skan	successor probabilities if they are not going to change.  Pull
4361169689Skan	division out of loop if we do need to rescale successor probabilities.
4362169689Skan
4363169689Skan	* tree-ssa-threadupdate.c (redirection_data_hash): Use the
4364169689Skan	index of the destination block for the hash value rather than
4365169689Skan	hashing a pointer.
4366169689Skan
4367169689Skan2004-11-20  Joseph S. Myers  <joseph@codesourcery.com>
4368169689Skan
4369169689Skan	* c-typeck.c (build_array_ref): Don't check for index == 0.  Make
4370169689Skan	checks for neither argument being an array or pointer (swapping
4371169689Skan	the arguments if necessary), the array argument being a pointer to
4372169689Skan	or array of functions and for -Wchar-subscripts warnings upfront.
4373169689Skan
4374169689Skan2004-11-20  Jeff Law  <law@redhat.com>
4375169689Skan
4376169689Skan	* regrename.c (copyprop_hardreg_forward): Only search for a
4377169689Skan	previously processed block if the current block only has one
4378169689Skan	predecessor.
4379169689Skan
4380169689Skan2004-11-20  Kazu Hirata  <kazu@cs.umass.edu>
4381169689Skan
4382169689Skan	* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
4383169689Skan	typos.
4384169689Skan	* config/arm/arm.c: Follow spelling conventions.
4385169689Skan
4386169689Skan2004-11-20  Richard Earnshaw  <rearnsha@arm.com>
4387169689Skan
4388169689Skan	* arm.c (arm_override_options): Use arm_ld_sched rather than testing
4389169689Skan	a bit in tune_flags.
4390169689Skan	(const_double_needs_minipool): Likewise.  Split most of the code out
4391169689Skan	into ...
4392169689Skan	(arm_const_double_inline_cost): ... new function here.
4393169689Skan	* arm-protos.h (arm_const_double_inline_cost): Add prototype.
4394169689Skan	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
4395169689Skan	word constants of length 2, 3 and 4 insns respectively.
4396169689Skan	(CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
4397169689Skan	* arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
4398169689Skan	constraints.  Set insn lenghts accordingly.
4399169689Skan
4400169689Skan2004-11-19  Jeff Law  <law@redhat.com>
4401169689Skan
4402169689Skan	* tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
4403169689Skan	a hash table.  Extensive modifications throughout to support
4404169689Skan	that change.
4405169689Skan	(struct el): New.
4406169689Skan	(struct local_info): New.
4407169689Skan	(struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
4408169689Skan	fields.
4409169689Skan	(redirection_data): Now a hashtable.
4410169689Skan	(redirection_data_hash, redirection_data_eq): New.
4411169689Skan	(lookup_redirection_data, create_duplicates): New.
4412169689Skan	(create_edge_and_update_destionation_phis): New.
4413169689Skan	(fixup_template_block, redirect_edges): New.
4414169689Skan	(thread_block): Use hash table traversals instead of loops over
4415169689Skan	varray entries or incoming edge vectors.
4416169689Skan
4417169689Skan2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4418169689Skan
4419169689Skan	* basic-block.h (edge_def): Add dest_idx.
4420169689Skan	* cfg.c (unchecked_make_edge): Initialize dest_idx.
4421169689Skan	(remove_edge): Simplify the disconnection of an edge from its
4422169689Skan	destination.
4423169689Skan	(redirect_edge_succ): Likewise.
4424169689Skan	* cfghooks.c (verify_flow_info): Check the consistency of
4425169689Skan	dest_idx for each edge.
4426169689Skan
4427169689Skan2004-11-19  Aldy Hernandez  <aldyh@redhat.com>
4428169689Skan
4429169689Skan	* simplify-rtx.c (simplify_ternary_operation): Use
4430169689Skan	gen_int_mode.
4431169689Skan
4432169689Skan2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4433169689Skan
4434169689Skan	* tree-cfg.c (reinstall_phi_args): New.
4435169689Skan	(tree_split_edge): Use it after redirecting an edge.  Don't
4436169689Skan	modify PHI_ARG_EDGE.
4437169689Skan
4438169689Skan2004-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
4439169689Skan
4440169689Skan	* tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
4441169689Skan	if checking is enabled.
4442169689Skan
4443169689Skan2004-11-19  Joseph S. Myers  <joseph@codesourcery.com>
4444169689Skan
4445169689Skan	* c-decl.c (push_scope): Remove "\n" from end of diagnostic for
4446169689Skan	too many nested scopes.
4447169689Skan
4448169689Skan2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
4449169689Skan
4450169689Skan	PR tree-opt/18181
4451169689Skan	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
4452169689Skan	changed to suppoer uses-after-loop and to void creating flow paths
4453169689Skan	that shouldn't exist.
4454169689Skan	(slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
4455169689Skan	Modified to fit the new peeling scheme. Avoid quadratic behavior.
4456169689Skan	(slpeel_add_loop_guard): Takes additional argument.
4457169689Skan	(slpeel_verify_cfg_after_peeling): New function.
4458169689Skan	(vect_update_ivs_after_vectorizer): Takes additional argument. Updated
4459169689Skan	documentation. Use 'exit-bb' instead of creating 'new-bb'.
4460169689Skan	(rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
4461169689Skan	the new peeling scheme.
4462169689Skan	(copy_phi_nodes): Function removed. Its functionality moved to
4463169689Skan	update_phis_for_duplicate_loop.
4464169689Skan	(slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
4465169689Skan	moved here. Added documentation. Modified to fit the new peeling scheme.
4466169689Skan	(slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
4467169689Skan	needed - done in slpeel_tree_peel_loop_to_edge.
4468169689Skan	(slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
4469169689Skan	(vect_do_peeling_for_loop_bound): Add documentation. Call
4470169689Skan	slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
4471169689Skan	with additional argument.
4472169689Skan	(vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.
4473169689Skan
4474169689Skan	(vect_finish_stmt_generation): Avoid 80 column oveflow.
4475169689Skan
4476169689Skan2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
4477169689Skan
4478169689Skan	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
4479169689Skan	arguments removed.
4480169689Skan	(slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
4481169689Skan	without last two arguments. Update single_exit of loops.
4482169689Skan	(vect_update_niters_after_peeling): Removed. Its functionality was
4483169689Skan	moved to vect_do_peeling_for_alignment.
4484169689Skan	(vect_do_peeling_for_loop_bound): New name for function previously
4485169689Skan	called vect_transform_for_unknown_loop_bound.
4486169689Skan	(vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
4487169689Skan	instead of code that duplicates the same functionality.
4488169689Skan	(vect_do_peeling_for_alignment): Functionality of
4489169689Skan	vect_update_niters_after_peeling moved here.
4490169689Skan	(vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
4491169689Skan	previously named vect_transform_for_unknown_loop_bound - for both known
4492169689Skan	and unknown loop bound cases.
4493169689Skan
4494169689Skan2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
4495169689Skan
4496169689Skan	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
4497169689Skan	previously called verify_loop_for_duplication. All conditions compacted
4498169689Skan	into one compound condition. Removed debug dumps.
4499169689Skan	(vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
4500169689Skan	functionality moved to vect_can_advance_ivs_p, and some to
4501169689Skan	vect_analyze_loop_form.
4502169689Skan	(vect_can_advance_ivs_p): New function. Contains functionality that was
4503169689Skan	taken out of vect_analyze_loop_with_symbolic_num_of_iters.
4504169689Skan	(slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
4505169689Skan	(vect_analyze_operations): Call vect_can_advance_ivs_p and
4506169689Skan	slpeel_can_duplicate_loop_p.
4507169689Skan	(vect_get_loop_niters): Added documentation.
4508169689Skan	(vect_analyze_loop_form): Check the loop entry always - not only in case
4509169689Skan	of unknown loop bound. Create preheader and exit bb if necessary. Apply
4510169689Skan	a check that used to take place in
4511169689Skan	vect_analyze_loop_with_symbolic_num_of_iters.
4512169689Skan	(vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
4513169689Skan	Remove redundant call to rewrite_into_loop_closed_ssa.
4514169689Skan	(vect_compute_data_refs_alignment): Removed obsolete comment.
4515169689Skan
4516169689Skan2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
4517169689Skan
4518169689Skan	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
4519169689Skan	function previously called tree_duplicate_loop_to_edge.
4520169689Skan	(slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
4521169689Skan	previously called tree_duplicate_loop_to_edge_cfg.
4522169689Skan	(slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
4523169689Skan	function name.
4524169689Skan	(slpeel_update_phi_nodes_for_guard): Likewise.
4525169689Skan	(slpeel_make_loop_iterate_ntimes): Likewise.
4526169689Skan	(slpeel_add_loop_guard): Likewise.
4527169689Skan	(allocate_new_names, free_new_names): Function declaration moved to top
4528169689Skan	of file.
4529169689Skan	(rename_use_op, rename_def_op): Likewise.
4530169689Skan	(rename_variables_in_bb, rename_variables_in_loop): Likewise.
4531169689Skan	(vect_generate_tmps_on_preheader): Function declaration moved.
4532169689Skan	(vect_transform_for_unknown_loop_bound): Added missing function
4533169689Skan	declaration.
4534169689Skan
4535169689Skan2004-11-19  Andrew Pinski  <pinskia@physics.uc.edu>
4536169689Skan
4537169689Skan	PR tree-opt/18507
4538169689Skan	* tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree).
4539169689Skan	Define a VEC(tree_on_heap) for head.
4540169689Skan	(register_new_def): Change second argument to be a VEC(tree_on_heap).
4541169689Skan	* tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap).
4542169689Skan	(tree_ssa_dominator_optimize): Initialize block_defs_stack with
4543169689Skan	the VEC(tree_on_heap) function.  Also free it before returning.
4544169689Skan	(dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
4545169689Skan	for block_defs_stack.
4546169689Skan	(restore_currdefs_to_original_value): Use VEC_length instead of
4547169689Skan	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
4548169689Skan	(dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
4549169689Skan	for block_defs_stack.
4550169689Skan	* tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap).
4551169689Skan	(rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
4552169689Skan	for block_defs_stack.
4553169689Skan	(ssa_register_new_def): Likewise.
4554169689Skan	(ssa_rewrite_initialize_block): Likewise.
4555169689Skan	(rewrite_finalize_block): Use VEC_length instead of
4556169689Skan	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
4557169689Skan	(ssa_rewrite_finalize_block): Likewise.
4558169689Skan	(register_new_def): Change second argument to be a VEC(tree_on_heap).
4559169689Skan	Use VEC_safe_push instead of VARRAY_PUSH_TREE.
4560169689Skan	(rewrite_blocks): Initialize block_defs_stack with
4561169689Skan	the VEC(tree_on_heap) function.  Also free it before returning.
4562169689Skan	(rewrite_ssa_into_ssa): Likewise.
4563169689Skan
4564169689Skan2004-11-19  Fariborz Jahanian <fjahanian@apple.com>
4565169689Skan
4566169689Skan	* config/darwin.c (machopic_data_defined_p): return 1 for
4567169689Skan	MACHOPIC_DEFINED_FUNCTION.
4568169689Skan
4569169689Skan2004-11-19  Jeff Law  <law@redhat.com>
4570169689Skan
4571169689Skan	* tree-ssa.c (verify_ssa): Remove redundant checking of PHI
4572169689Skan	arguments.
4573169689Skan
4574169689Skan2004-11-19  Paul Brook  <paul@codesourcery.com>
4575169689Skan
4576169689Skan	PR target/17735
4577169689Skan	* varasm.c (default_assemble_integer): Allow pointer-sized values.
4578169689Skan	Expand comment.
4579169689Skan
4580169689Skan2004-11-19  Nick Clifton  <nickc@redhat.com>
4581169689Skan
4582169689Skan	* config/stormy16/stormy16.c (combine_bnp): Add code to handle
4583169689Skan	zero_extension and lshiftrt insns.
4584169689Skan	Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()
4585169689Skan	where appropriate.
4586169689Skan	* config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns
4587169689Skan	to handle bp and bn insn patterns with a zero_extend rtx
4588169689Skan	inside them.
4589169689Skan
4590169689Skan2004-11-19  Ian Lance Taylor  <ian@wasabisystems.com>
4591169689Skan
4592169689Skan	* config/arm/arm.md (generic_sched): Make const.
4593169689Skan
4594169689Skan2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4595169689Skan
4596169689Skan	* emit-rtl.c (classify_insn): Make it static.
4597169689Skan	* rtl.h: Remove the corresponding prototype.
4598169689Skan
4599169689Skan	* integrate.c (has_func_hard_reg_initial_val,
4600169689Skan	get_func_hard_reg_initial_val): Make them static.
4601169689Skan	* integrate.h: Remove the corresponding prototypes.
4602169689Skan
4603169689Skan2004-11-19  Ben Elliston  <bje@au.ibm.com>
4604169689Skan
4605169689Skan	* dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
4606169689Skan	(dw2_asm_output_delta_sleb128): Likewise.
4607169689Skan	* dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
4608169689Skan	(dw2_asm_output_delta_sleb128): Likewise.
4609169689Skan
4610169689Skan2004-11-19  Adam Nemet  <anemet@lnxw.com>
4611169689Skan
4612169689Skan	* tree-ssa-alias.c: Fix comment.
4613169689Skan
4614169689Skan2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4615169689Skan
4616169689Skan	* tree-outof-ssa.c: Fix a comment typo.
4617169689Skan
4618169689Skan2004-11-19  Ben Elliston  <bje@au.ibm.com>
4619169689Skan
4620169689Skan	* predict.h (predict_insn): Remove extern declaration.
4621169689Skan	* predict.c (predict_insn): Make static.
4622169689Skan
4623169689Skan2004-11-19  Alan Modra  <amodra@bigpond.net.au>
4624169689Skan
4625169689Skan	* config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs.
4626169689Skan
4627169689Skan2004-11-18  Nicolas Pitre <nico@cam.org>
4628169689Skan
4629169689Skan	* config/arm/arm.c (const_double_needs_minipool): New function to
4630169689Skan	determine if a CONST_DOUBLE should be pushed to the minipool.
4631169689Skan	(note_invalid_constants): Use it.
4632169689Skan
4633169689Skan2004-11-18  Paul Brook  <paul@codesourcery.com>
4634169689Skan
4635169689Skan	* config/arm/arm.c (target_float_switch): New variable..
4636169689Skan	(arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
4637169689Skan	target_float_switch.
4638169689Skan	* config/arm/arm.h (target_float_switch): Declare.
4639169689Skan	(ARM_FLAG_SOFT_FLOAT): Remove.
4640169689Skan	(TARGET_SWITCHES): Remove hard-float and soft-float.
4641169689Skan	(TARGET_OPTIONS): Add hard-float and soft-float.
4642169689Skan	(TARGET_DEFAULT_FLOAT_ABI): Define.
4643169689Skan	* config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
4644169689Skan	(TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
4645169689Skan	* config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
4646169689Skan	* config/arm/netbsd-elf.h: Ditto.
4647169689Skan	* config/arm/netbsd.h: Ditto.
4648169689Skan	* config/arm/pe.h: Ditto.
4649169689Skan	* config/arm/unknown-elf.h: Ditto.
4650169689Skan	* config/arm/wince-pe.h: Ditto.
4651169689Skan	* config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
4652169689Skan	* config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
4653169689Skan	* config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
4654169689Skan
4655169689Skan2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
4656169689Skan
4657169689Skan	* config/rs6000/altivec.md (VI, VF, V): New mode macros.
4658169689Skan	(altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi,
4659169689Skan	altivec_lvx_4sf): Rename and replace with ...
4660169689Skan	(altivec_lvx_<mode>): ... mode macro version.
4661169689Skan	(altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
4662169689Skan	altivec_stvx_4sf): Rename and replace with ...
4663169689Skan	(altivec_stvx_<mode>): ... mode macro version.
4664169689Skan	(movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
4665169689Skan	(mov<mode>): ... mode macro version.
4666169689Skan	(*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1,
4667169689Skan	*movv4sf_internal1): Replace with ...
4668169689Skan	(*mov<mode>_internal): ... mode macro version.
4669169689Skan	(get_vrsave_internal, *set_vrsave_internal, *save_world,
4670169689Skan	*restore_world): Unquote output statements.
4671169689Skan	* config/rs6000/rs6000.c (altivec_expand_ld_builtin,
4672169689Skan	altivec_expand_st_builtin): Adjust insn names.
4673169689Skan
4674169689Skan2004-11-18  Aldy Hernandez  <aldyh@redhat.com>
4675169689Skan
4676169689Skan	* config/rs6000/rs6000.c (rs6000_complex_function_value): Revert
4677169689Skan	previous change.
4678169689Skan	(rs6000_override_options): Likewise.
4679169689Skan	(spe_build_register_parallel): Handle complex doubles on e500v2.
4680169689Skan	(rs6000_spe_function_arg): Likewise.
4681169689Skan	(function_arg): Likewise.
4682169689Skan	(rs6000_function_value): Likewise.
4683169689Skan	(rs6000_libcall_value): Likewise.
4684169689Skan
4685169689Skan2004-11-18  Andrew Pinski  <pinskia@physics.uc.edu>
4686169689Skan
4687169689Skan	* ifcvt.c (find_if_block): Move the check for the number of edges
4688169689Skan	above the loops checking for complex edges.
4689169689Skan	Remove the counting of edges as we use EDGE_COUNT now.
4690169689Skan
4691169689Skan2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
4692169689Skan
4693169689Skan	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
4694169689Skan	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
4695169689Skan
4696169689Skan2004-11-18  Andreas Schwab  <schwab@suse.de>
4697169689Skan
4698169689Skan	* config/i386/i386.md (define_peephole2): Revert last change.
4699169689Skan
4700169689Skan2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
4701169689Skan
4702169689Skan	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
4703169689Skan	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
4704169689Skan
4705169689Skan2004-11-18  Diego Novillo  <dnovillo@redhat.com>
4706169689Skan
4707169689Skan	* tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
4708169689Skan	of FOR_EACH_BB.
4709169689Skan
4710169689Skan2004-11-18  Jon Grimm <jgrimm2@us.ibm.com>
4711169689Skan
4712169689Skan	* Makefile.in (macro_list): Depend on s-macro_list.
4713169689Skan	(s-macro_list): New target.
4714169689Skan
4715169689Skan2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
4716169689Skan
4717169689Skan	PR target/17107
4718169689Skan	* fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
4719169689Skan	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
4720169689Skan	(fold_range_test): Adjust.
4721169689Skan	(fold_truthop): Use it.
4722169689Skan	* config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
4723169689Skan	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
4724169689Skan
4725169689Skan2004-11-18  Uros Bizjak  <uros@kss-loka.si>
4726169689Skan
4727169689Skan	* configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
4728169689Skan	insn split constraint.
4729169689Skan	(define_peephole2): Remove unneeded "&& 1" from peephole2
4730169689Skan	constraints.
4731169689Skan
4732169689Skan2004-11-18  Ben Elliston  <bje@au.ibm.com>
4733169689Skan
4734169689Skan	* doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
4735169689Skan	element for bsi_prev; use @findex instead.
4736169689Skan
4737169689Skan2004-11-18  Ben Elliston  <bje@au.ibm.com>
4738169689Skan
4739169689Skan	* opts.h (add_input_filename): Remove extern declaration.
4740169689Skan	* opts.c (add_input_filename): Make static.
4741169689Skan
4742169689Skan2004-11-17  Mark Mitchell  <mark@codesourcery.com>
4743169689Skan
4744169689Skan	* config/i386/i386.c (i386_solaris_elf_named_section): Mark with
4745169689Skan	ATTRIBUTE_UNUSED.
4746169689Skan
4747169689Skan2004-11-17  Zack Weinberg  <zack@codesourcery.com>
4748169689Skan
4749169689Skan	* defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
4750169689Skan	* system.h: Poison it.
4751169689Skan	* doc/tm.texi: Delete its documentation.
4752169689Skan
4753169689Skan2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
4754169689Skan	    Mark Mitchell  <mark@codesourcery.com>
4755169689Skan
4756169689Skan	* config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
4757169689Skan	* config/i386/i386.c (i386_solaris_elf_named_section): New
4758169689Skan	function.
4759169689Skan	* config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
4760169689Skan	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
4761169689Skan	64-bit.
4762169689Skan	(ASM_QUAD): Don't undefine for biarch targets.
4763169689Skan	* config/i386/t-sol2: Introduce multilib support.
4764169689Skan
4765169689Skan2004-11-18  Ben Elliston  <bje@au.ibm.com>
4766169689Skan
4767169689Skan	* cgraphunit.c: Replace "it's" with "its" and fix a typo.
4768169689Skan
4769169689Skan2004-11-18  Ben Elliston  <bje@au.ibm.com>
4770169689Skan
4771169689Skan	* cgraph.h: Replace "it's" with "its" throughout.
4772169689Skan
4773169689Skan2004-11-18  Ben Elliston  <bje@au.ibm.com>
4774169689Skan
4775169689Skan	* doc/rtl.texi (Flags): Grammar fix.
4776169689Skan
4777169689Skan2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4778169689Skan
4779169689Skan	* expmed.c (alg_code): Add alg_unknown.
4780169689Skan	(alg_hash_entry): New.
4781169689Skan	(NUM_ALG_HASH_ENTRIES): Likewise.
4782169689Skan	(alg_hash): Likewise.
4783169689Skan	(synth_mult): Cache the result into alg_hash.
4784169689Skan
4785169689Skan2004-11-17  Zack Weinberg  <zack@codesourcery.com>
4786169689Skan
4787169689Skan	* config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
4788169689Skan	config/rs6000/libgcc-ppc64.ver.
4789169689Skan
4790169689Skan2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4791169689Skan
4792169689Skan	* cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
4793169689Skan	checking if an unconditional return is followed by a barrier.
4794169689Skan
4795169689Skan	* jump.c (condjump_p): Remove unreachable code.
4796169689Skan
4797169689Skan	* basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
4798169689Skan	tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
4799169689Skan	tree-ssa-live.h, tree.h: Remove unused prototypes.
4800169689Skan
4801169689Skan2004-11-17  Jeff Law  <law@redhat.com>
4802169689Skan
4803169689Skan	* tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
4804169689Skan	(edge_to_cases_elt): Renamed from edge_to_case_leader.
4805169689Skan	(edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
4806169689Skan	(edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
4807169689Skan	(edge_to_cases_cleanup, recording_case_labels_p): New functions.
4808169689Skan	(get_cases_for_edge): New function.
4809169689Skan	(start_recording_case_labels, end_recording_case_labels): Similarly.
4810169689Skan	(record_switch_edge): Don't muck with the CASE_LABEL.  Instead
4811169689Skan	chain equivalent CASE_LABEL_EXPRs together.
4812169689Skan	(get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
4813169689Skan	(make_switch_expr_edges): Do not record edge/cases here.
4814169689Skan	(cleanup_tree_cfg): Record cases around the call to thread_jumps.
4815169689Skan	(split_critical_edges): Record cases around the edge splitting code.
4816169689Skan	(cleanup_dead_labels): Use CASE_LABEL again.
4817169689Skan	(tree_redirect_edge_and_branch): If we have a mapping from edge
4818169689Skan	to cases, use it to handle redirections.  Else do it the slow way.
4819169689Skan	* tree.h (CASE_LEADER_OR_LABEL): Kill.
4820169689Skan	(CASE_LABEL): Revert to just looking at the tree's second operand.
4821169689Skan	* tree.c (get_case_label): Kill.
4822169689Skan
4823169689Skan2004-11-17  Diego Novillo  <dnovillo@redhat.com>
4824169689Skan
4825169689Skan	PR tree-optimization/18307
4826169689Skan	* tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
4827169689Skan	'orig' are the same node.
4828169689Skan	(collect_points_to_info_r): Do not call merge_pointed_to_info
4829169689Skan	when the PHI argument is identical to the LHS.
4830169689Skan
4831169689Skan2004-11-17  Steven Bosscher  <stevenb@suse.de>
4832169689Skan
4833169689Skan	* tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
4834169689Skan	to insert the exit or entry block.
4835169689Skan	(ssa_prop_init): Use add_control_edge to seed the algorithm.
4836169689Skan
4837169689Skan2004-11-16  Zack Weinberg  <zack@codesourcery.com>
4838169689Skan
4839169689Skan	* mkmap-flat.awk, mkmap-symver.awk: If the last version
4840169689Skan	assigned to a symbol was '%exclude', do not emit it anywhere.
4841169689Skan	If leading_underscore is true, prefix all symbols from the
4842169689Skan	version scripts with a leading underscore before comparing
4843169689Skan	them with nm output or emitting them.  Remove support for dot
4844169689Skan	symbols.
4845169689Skan	* config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
4846169689Skan	(SHLIB_MAPFILES): Use libgcc-std.ver.
4847169689Skan	(SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
4848169689Skan	(SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
4849169689Skan	* config/sh/t-linux: Use the normal libgcc-std.ver, plus
4850169689Skan	libgcc-excl.ver and libgcc-glibc.ver.
4851169689Skan
4852169689Skan	* config/sh/libgcc-excl.ver: New file.
4853169689Skan	* config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
4854169689Skan
4855169689Skan2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
4856169689Skan
4857169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
4858169689Skan	the test when the edge has the opposite meaning, not when
4859169689Skan	the first argument is invariant.
4860169689Skan
4861169689Skan2004-11-16  Aldy Hernandez  <aldyh@redhat.com>
4862169689Skan
4863169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
4864169689Skan	doubles.
4865169689Skan	(rs6000_complex_function_value): Handle e500 v2 variant.
4866169689Skan
4867169689Skan2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
4868169689Skan
4869169689Skan	Fix PR tree-optimization/18519
4870169689Skan
4871169689Skan	* tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
4872169689Skan	* tree-pass.h: Add TODO_cleanup_cfg.
4873169689Skan	* tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
4874169689Skan	(ccp_finalize): Remove call to cleanup_cfg.
4875169689Skan	* tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
4876169689Skan	(pass_cd_dce): Ditto.
4877169689Skan	(perform_tree_ssa_dce): Remove call to cleanup_cfg,
4878169689Skan	dump_function_to_file.
4879169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Remove call
4880169689Skan	to cleanup_cfg.
4881169689Skan	(pass_ch): Add TODO_cleanup_cfg.
4882169689Skan	* tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
4883169689Skan	cleanup_cfg.
4884169689Skan	(pass_loop_done): Add TODO_cleanup_cfg.
4885169689Skan	* tree-ssa-phiopt.c (pass_phiopt): Ditto.
4886169689Skan	(tree_ssa_phiopt): Remove call to cleanup_cfg.
4887169689Skan
4888169689Skan2004-11-16  Devang Patel  <dpatel@apple.com>
4889169689Skan
4890169689Skan	* optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
4891169689Skan
4892169689Skan2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4893169689Skan
4894169689Skan	* expmed.c, ra-colorize.c: Fix comment typos.
4895169689Skan
4896169689Skan	* doc/tm.texi: Fix typos.
4897169689Skan
4898169689Skan2004-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
4899169689Skan	    Mark Mitchell  <mark@codesourcery.com>
4900169689Skan
4901169689Skan	PR target/6123
4902169689Skan	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
4903169689Skan	__pic__ if PIC.
4904169689Skan
4905169689Skan2004-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
4906169689Skan
4907169689Skan	* regmove.c (regmove_optimize): Use lowpart_subreg instead of
4908169689Skan	gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
4909169689Skan
4910169689Skan2004-11-16  Devang Patel  <dpatel@apple.com>
4911169689Skan
4912169689Skan	* tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
4913169689Skan
4914169689Skan2004-11-16  Eric Christopher  <echristo@redhat.com>
4915169689Skan
4916169689Skan	* config/mips/mips.c: Use rtl _P predicates.
4917169689Skan	* config/mips/mips.h: Ditto.
4918169689Skan	* config/mips/mips.md: Ditto.
4919169689Skan
4920169689Skan2004-11-16  Fariborz Jahanian <fjahanian@apple.com>
4921169689Skan
4922169689Skan	* config/rs6000/altivec.md (altivec_vandc): Canonicalize
4923169689Skan	the pattern.
4924169689Skan
4925169689Skan2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
4926169689Skan
4927169689Skan	* config/s390/s390.c (s390_cc_modes_compatible): New function.
4928169689Skan	(TARGET_CC_MODES_COMPATIBLE): Target macro defined.
4929169689Skan
4930169689Skan2004-11-16  Kaz Kojima  <kkojima@gcc.gnu.org>
4931169689Skan
4932169689Skan	PR target/18447
4933169689Skan	* config/sh/sh.c (prepare_move_operands): Emit blockage insns
4934169689Skan	before and after the insns for getting GOT address in non-PIC
4935169689Skan	TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
4936169689Skan	is enabled.
4937169689Skan
4938169689Skan2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
4939169689Skan
4940169689Skan	* cse.c (struct change_cc_mode_args): New structure.
4941169689Skan	(cse_change_cc_mode_insn): New function.
4942169689Skan	(cse_change_cc_mode): Use validate_change to perfom changes.
4943169689Skan	(cse_change_cc_mode_insns, cse_condition_code_reg):
4944169689Skan	Call cse_change_cc_mode_insn.
4945169689Skan
4946169689Skan2004-11-16  Steven Bosscher  <stevenb@suse.de>
4947169689Skan
4948169689Skan	* stack.h: Remove.
4949169689Skan
4950169689Skan2004-11-16  Steven Bosscher  <stevenb@suse.de>
4951169689Skan
4952169689Skan	* config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
4953169689Skan
4954169689Skan2004-11-15  Dale Johannesen  <dalej@apple.com>
4955169689Skan
4956169689Skan	* tree-flow.h (add_referenced_temp_var): Remove name from prototype.
4957169689Skan
4958169689Skan2004-11-15  Dale Johannesen  <dalej@apple.com>
4959169689Skan
4960169689Skan	* profile.c (compute_branch_probabilities): Prevent
4961169689Skan	crash with EH in RTL-based profiling.
4962169689Skan
4963169689Skan2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4964169689Skan
4965169689Skan	* tree-cfg.c (verify_expr): Replace TREE_OPERAND with
4966169689Skan	COND_EXPR_COND.
4967169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
4968169689Skan	* tree-ssa-dom.c (thread_across_edge): Likewise.
4969169689Skan	* tree-vectorizer.c (vect_transform_loop_bound): Replace
4970169689Skan	TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
4971169689Skan	COND_EXPR_ELSE.
4972169689Skan
4973169689Skan	* tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
4974169689Skan	(tree_flow_call_edges_add): Update the call to
4975169689Skan	bsi_commit_edge_inserts.
4976169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
4977169689Skan	* profile.c (branch_prob): Likewise.
4978169689Skan	* tree-mudflap.c (mf_decl_cache_locals): Likewise.
4979169689Skan	* tree-sra.c (scalarize_function): Likewise.
4980169689Skan	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
4981169689Skan	* tree-ssa-pre.c (fini_pre): Likewise.
4982169689Skan	* tree-flow.h: Update the prototype for
4983169689Skan	bsi_commit_edge_inserts.
4984169689Skan
4985169689Skan2004-11-15  Eric Christopher  <echristo@redhat.com>
4986169689Skan
4987169689Skan	* sched-deps.c (set_sched_group_p): Delete.
4988169689Skan	(delete_all_dependencies): New function.
4989169689Skan	(fixup_sched_groups): Use. New function.
4990169689Skan	(sched_analyze_insn): Use.
4991169689Skan
4992169689Skan2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
4993169689Skan
4994169689Skan	* c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
4995169689Skan	RROTATE_EXPR or unknown code.
4996169689Skan	* c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
4997169689Skan	LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
4998169689Skan	UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
4999169689Skan	or unknown code.
5000169689Skan
5001169689Skan2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
5002169689Skan
5003169689Skan	PR c/18498
5004169689Skan	* c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
5005169689Skan	after processing the declarator.
5006169689Skan
5007169689Skan2004-11-15  Aldy Hernandez  <aldyh@redhat.com>
5008169689Skan
5009169689Skan	* config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
5010169689Skan	vec_duplicate.
5011169689Skan	(altivec_vspltb): Same.
5012169689Skan	(altivec_vspltw): Same.
5013169689Skan	(altivec_vspltisb): Same.
5014169689Skan	(altivec_vspltish): Same.
5015169689Skan	(altivec_vspltisw): Same.
5016169689Skan	(altivec_vspltisw_v4sf): Same.
5017169689Skan	(define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
5018169689Skan	UNSPEC_VSPLTISH.
5019169689Skan	Move "End of vector xor's" comment to the right place.
5020169689Skan
5021169689Skan2004-11-15  Steve Ellcey  <sje@cup.hp.com>
5022169689Skan
5023169689Skan	* config/ia64/ia64.md (*movtf_internal): Use destination_operand
5024169689Skan	instead of nonimmediate_operand.
5025169689Skan
5026169689Skan2004-11-15  Mark Mitchell <mark@codesourcery.com>
5027169689Skan
5028169689Skan	* config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
5029169689Skan	* config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
5030169689Skan	* config/sol2.c (solaris_output_init_fini): Update calls to
5031169689Skan	ASM_OUTPUT_CALL.  Include "rtl.h".
5032169689Skan
5033169689Skan2004-11-15  Mark Mitchell <mark@codesourcery.com>
5034169689Skan
5035169689Skan	* config/sol2-c.c (cmn_err_char_table): Add "p".
5036169689Skan
5037169689Skan2004-11-15  Mark Mitchell <mark@codesourcery.com>
5038169689Skan
5039169689Skan	* config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
5040169689Skan	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
5041169689Skan
5042169689Skan2004-11-15  Mark Mitchell <mark@codesourcery.com>
5043169689Skan
5044169689Skan	* config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
5045169689Skan	within the multilib directory.
5046169689Skan
5047169689Skan2004-11-15  Nick Clifton  <nickc@redhat.com>
5048169689Skan
5049169689Skan	* config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
5050169689Skan	builtin assert of cpu=xstormy16.
5051169689Skan
5052169689Skan2004-11-15  Nathan Sidwell  <nathan@codesourcery.com>
5053169689Skan
5054169689Skan	* tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
5055169689Skan	variable.
5056169689Skan
5057169689Skan2004-11-14  Richard Henderson  <rth@redhat.com>
5058169689Skan
5059169689Skan	PR 18480
5060169689Skan	* calls.c (struct arg_data): Add parallel_value.
5061169689Skan	(precompute_register_parameters): Set it.
5062169689Skan	(load_register_parameters): Use it.
5063169689Skan	(store_one_arg): Also set it here.
5064169689Skan
5065169689Skan2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
5066169689Skan
5067169689Skan	PR tree-optimization/18431
5068169689Skan	* fold-const.c (associate_trees): Do not produce x + 0.
5069169689Skan	(fold_widened_comparison, fold_sign_changed_comparison): New functions.
5070169689Skan	(fold): Use them.
5071169689Skan	* tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
5072169689Skan	Moved ...
5073169689Skan	* tree.c (upper_bound_in_type, lower_bound_in_type): Here.
5074169689Skan	* tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
5075169689Skan
5076169689Skan2004-11-14  Eric Botcazou <ebotcazou@libertysurf.fr>
5077169689Skan
5078169689Skan	* doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
5079169689Skan
5080169689Skan2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5081169689Skan
5082169689Skan	* cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
5083169689Skan	value-prof.c: Fix comment typos.
5084169689Skan
5085169689Skan2004-11-14  Stan Shebs  <shebs@apple.com>
5086169689Skan
5087169689Skan	Basic ABI changes for passing structs by value in 64-bit Darwin.
5088169689Skan	* config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
5089169689Skan	(rs6000_override_options): Set it for 64-bit Darwin.
5090169689Skan	(rs6000_parse_abi_options): Add testing options to change it.
5091169689Skan	(rs6000_return_in_memory): Test whether the type is one
5092169689Skan	that can be passed in registers.
5093169689Skan	(darwin64_function_arg_advance): New.
5094169689Skan	(function_arg_advance): Call it, plus add recursion depth
5095169689Skan	argument and test when counting off arguments.
5096169689Skan	(rs6000_darwin64_function_arg): New.
5097169689Skan	(function_arg): Call it.
5098169689Skan	(setup_incoming_varargs): Add argument to function_arg_advance.
5099169689Skan	(rs6000_darwin64_function_value): New.
5100169689Skan	(rs6000_function_value): Call it.
5101169689Skan	* config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
5102169689Skan	* config/rs6000/rs6000-protos.h: Update decl of
5103169689Skan	function_arg_advance.
5104169689Skan
5105169689Skan2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
5106169689Skan
5107169689Skan	PR c/17279
5108169689Skan	* c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
5109169689Skan	support TImode before adding __int128_t and __uint128_t types.
5110169689Skan
5111169689Skan2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
5112169689Skan
5113169689Skan	PR tree-opt/18400
5114169689Skan	* tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
5115169689Skan	(vect_transform_loop_bound): Set loop->nb_iterations.
5116169689Skan
5117169689Skan2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
5118169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
5119169689Skan
5120169689Skan	PR tree-opt/18425
5121169689Skan	* tree-vectorize.c (vect_build_loop_niters): Do not insert
5122169689Skan	NULL into the instruction stream. Initialize new_bb to NULL.
5123169689Skan	(vect_update_ivs_after_vectorizer): Likewise.
5124169689Skan	(vect_gen_niters_for_prolog_loop): Likewise.
5125169689Skan
5126169689Skan2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
5127169689Skan
5128169689Skan	PR tree-optimization/18431
5129169689Skan	* tree-flow.h (stmt_references_memory_p): Declare.
5130169689Skan	* tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
5131169689Skan	* tree-ssa.c (stmt_references_memory_p): New function.
5132169689Skan
5133169689Skan2004-11-14  Andreas Schwab  <schwab@suse.de>
5134169689Skan
5135169689Skan	* Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
5136169689Skan	$(EXPR_H).
5137169689Skan
5138169689Skan2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5139169689Skan
5140169689Skan	* c-common.c (walk_stmt_tree): Remove.
5141169689Skan	* c-common.h: Remove the corresponding prototype.
5142169689Skan
5143169689Skan	* emit-rtl.c (push_to_full_sequence): Remove.
5144169689Skan	* rtl.h: Remove the corresponding prototype.
5145169689Skan
5146169689Skan	* cselib.c, expr.c: Fix comment typos.
5147169689Skan
5148169689Skan2004-11-13  Richard Henderson  <rth@redhat.com>
5149169689Skan
5150169689Skan	* calls.c (precompute_register_parameters): Force all PARALLELs
5151169689Skan	into pseudo registers.
5152169689Skan	(load_register_parameters): Copy PARALLELs into hard registers.
5153169689Skan	* function.c (assign_parm_setup_block): Copy PARALLELS into
5154169689Skan	pseudo registers.  Do emit_group_store in conversion_insns.
5155169689Skan	* expr.c (emit_group_load_1): Rename from emit_group_load, take
5156169689Skan	tmps as an argument.  Move final copy loop ...
5157169689Skan	(emit_group_load): ... here.  New function.
5158169689Skan	(emit_group_load_into_temps, emit_group_move_into_temps): New.
5159169689Skan	* expr.h: Declare them.
5160169689Skan
5161169689Skan2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5162169689Skan
5163169689Skan	* tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
5164169689Skan	tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
5165169689Skan	with PHI_CHAIN where appropriate.
5166169689Skan
5167169689Skan2004-11-13  Dale Johannesen  <dalej@apple.com>
5168169689Skan
5169169689Skan	* tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
5170169689Skan	(tree_block_label): Ditto.
5171169689Skan	(flush_pending_stmts): Ditto.
5172169689Skan	(insert_edge_copies): Ditto.
5173169689Skan	(expr_invariant_in_loop_p): Ditto.
5174169689Skan	(TDF_USE_OPS): Parenthesize definition.
5175169689Skan	(TDF_USE_VOPS): Ditto.
5176169689Skan
5177169689Skan2004-11-13  David Edelsohn  <edelsohn@gnu.org>
5178169689Skan
5179169689Skan	* config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
5180169689Skan	* config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
5181169689Skan	(atoll): Declare.
5182169689Skan	* config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
5183169689Skan
5184169689Skan2004-11-14  Joseph Myers  <joseph@codesourcery.com>
5185169689Skan
5186169689Skan	* config/i386/i386.c (override_options): Move loop to set default
5187169689Skan	tuning to correct place.
5188169689Skan
5189169689Skan2004-11-13  Zak Kipling  <zak@transversal.com>
5190169689Skan
5191169689Skan	PR target/18300
5192169689Skan	* config/i386/i386.c (classify_argument): Fix infinite loop when
5193169689Skan	passing object with 3 or more base classes by value.
5194169689Skan
5195169689Skan2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
5196169689Skan
5197169689Skan	* doc/md.texi (constraints) <% modifier>: Mention that it is
5198169689Skan	useless when the two alternatives are strictly identical.
5199169689Skan
5200169689Skan2004-11-13  Richard Henderson  <rth@redhat.com>
5201169689Skan
5202169689Skan	* expmed.c (extract_split_bit_field): Temporarily disable call to
5203169689Skan	extract_force_align_mem_bit_field.
5204169689Skan
5205169689Skan2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5206169689Skan
5207169689Skan	* bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
5208169689Skan	formatting.
5209169689Skan
5210169689Skan	* c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
5211169689Skan	lambda-code.c, postreload.c, predict.c, tree-sra.c,
5212169689Skan	tree-ssa-loop-manip.c, tree.c: Fix comment typos.
5213169689Skan
5214169689Skan2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
5215169689Skan
5216169689Skan	* doc/install.texi (automake): Correctly document that everything now
5217169689Skan	will use automake 1.9.3.
5218169689Skan
5219169689Skan2004-11-13  Hans-Peter Nilsson  <hp@bitrange.com>
5220169689Skan
5221169689Skan	PR target/18347
5222169689Skan	* config/mmix/mmix.c (mmix_function_outgoing_value): Handle
5223169689Skan	TImode.  Sorry for other non-complex larger-than-64-bit modes.
5224169689Skan	* config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
5225169689Skan
5226169689Skan2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
5227169689Skan
5228169689Skan	* doc/install.texi (automake): Document that everything now uses 1.9.
5229169689Skan
5230169689Skan2004-11-13  Bernd Schmidt  <bernd.schmidt@analog.com>
5231169689Skan
5232169689Skan	* cse.c (cse_insn): Stores in a libcall sequence can invalidate
5233169689Skan	previous loads.
5234169689Skan
5235169689Skan2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5236169689Skan
5237169689Skan	* tree.h: Fix comment typos.
5238169689Skan
5239169689Skan2004-11-13  Steven Bosscher  <stevenb@suse.de>
5240169689Skan
5241169689Skan	* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
5242169689Skan	HARD_REGISTER_NUM_P.
5243169689Skan
5244169689Skan	* cselib.c (new_cselib_val): Make comment correct and more detailed.
5245169689Skan	* flow.c (mark_set_1): Likewise.
5246169689Skan
5247169689Skan	* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
5248169689Skan	duplicate_eh_regions): Remove.
5249169689Skan	* except.h (duplicate_eh_regions): Remove prototype.
5250169689Skan	* integrate.c (get_label_from_map, copy_rtx_and_substitute,
5251169689Skan	global_const_equiv_varray): Remove.
5252169689Skan	* integrate.h (get_label_from_map, copy_rtx_and_substitute,
5253169689Skan	global_const_equiv_varray, set_label_in_map): Remove prototypes,
5254169689Skan	extern declaration, and #define.
5255169689Skan	(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
5256169689Skan	(struct inline_remap): Remove.
5257169689Skan	* varray.c (struct element): Remove entry for const_equiv_data.
5258169689Skan	* varray.h (struct const_equiv_data): Remove.
5259169689Skan	(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
5260169689Skan	(union varray_data_tag) <const_equiv>: Remove.
5261169689Skan	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
5262169689Skan	VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
5263169689Skan
5264169689Skan	* regstack.c (record_label_references): Remove unused function.
5265169689Skan
5266169689Skan	* rtl.def (VALUE): Update comment.
5267169689Skan	(LABEL_REF): Remove unused operand 2.
5268169689Skan	* rtl.h (struct rtx_def): Update for removed accessor macros.
5269169689Skan	(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
5270169689Skan	REG_LOOP_TEST_P): Remove.
5271169689Skan	(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
5272169689Skan	* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
5273169689Skan	* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
5274169689Skan
5275169689Skan2004-11-13  James A. Morrison  <phython@gcc.gnu.org>
5276169689Skan	    Eric Botcazou  <ebotcazou@libertysurf.fr>
5277169689Skan
5278169689Skan	PR target/18230
5279169689Skan	* config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
5280169689Skan	patterns.
5281169689Skan	* config/sparc/sparc.md (V64I): New macro for 64-bit modes.
5282169689Skan	(V32I): New macro for 32-bit modes.
5283169689Skan	(anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
5284169689Skan	iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
5285169689Skan	xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
5286169689Skan	xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
5287169689Skan	one_cmpldi_sp64): Use V64I instead of DI.
5288169689Skan	(andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
5289169689Skan	xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
5290169689Skan	(addv2si3, addv4hi3, addv2hi3): Remove % modifier.
5291169689Skan	(nandv64i_vis, nandv32i_vis): New patterns.
5292169689Skan
5293169689Skan2004-11-12  Mike Stump  <mrs@apple.com>
5294169689Skan
5295169689Skan	* Makefile.in: Add html support.
5296169689Skan	* java/Make-lang.in: Likewise.
5297169689Skan	* fortran/Make-lang.in: Likewise.
5298169689Skan	* treelang/Make-lang.in: Likewise.
5299169689Skan	* doc/install.texi: Likewise.
5300169689Skan	* doc/makefile.texi: Likewise.
5301169689Skan	* doc/sourcebuild.texi: Likewise.
5302169689Skan
5303169689Skan2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5304169689Skan
5305169689Skan	* tree-ssa-loop-manip.c: Fix a comment typo.
5306169689Skan
5307169689Skan2004-11-12  Mike Stump  <mrs@apple.com>
5308169689Skan
5309169689Skan	* doc/cppinternals.texi (Index): Fix html generation with makeinfo by
5310169689Skan	renaming this node to Concept Index.
5311169689Skan	* doc/gccint.texi (Index): Likewise.  Also minor formatting tweaks
5312169689Skan	to more closely match gcc.texi.
5313169689Skan
5314169689Skan2004-11-12  Jeff Law  <law@redhat.com>
5315169689Skan
5316169689Skan	* tree-cfg.c (hashtab.h): Include.
5317169689Skan	(struct edge_to_case_leader_elt): New structure.
5318169689Skan	(edge_to_case_leader): New.
5319169689Skan	(edge_to_case_leader_hash): New hashtable hasing function.
5320169689Skan	(edge_to_case_leader_eq): New hashtable equality function.
5321169689Skan	(record_switch_edge): New function.
5322169689Skan	(get_case_leader_for_edge, get_case_leader_for_edge): New functions.
5323169689Skan	(make_switch_expr_edges): Build the edge-to-case-leader
5324169689Skan	hash table.  Tear down the hash table when we're done.
5325169689Skan	(cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
5326169689Skan	CASE_LABEL.
5327169689Skan	(tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
5328169689Skan	(tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
5329169689Skan	to use new concept of case leaders to reduce overhead of
5330169689Skan	redirecting outgoing edges from switch statements.
5331169689Skan	* tree.c (get_case_label): New function.
5332169689Skan	* tree.h (CASE_LABEL): Define in terms of get_case_label.
5333169689Skan	(CASE_LEADER_OR_LABEL): Define.
5334169689Skan
5335169689Skan2004-11-12  Ziemowit Laski  <zlaski@apple.com>
5336169689Skan
5337169689Skan	* varasm.c (output_addressed_constants): For CONST_DECLs,
5338169689Skan	output the initializer if present.
5339169689Skan
5340169689Skan2004-11-12  Ziemowit Laski  <zlaski@apple.com>
5341169689Skan
5342169689Skan	* config/rs6000/darwin.h: Fix confusing typo in comment.
5343169689Skan
5344169689Skan2004-11-12  Devang Patel  <dpatel@apple.com>
5345169689Skan
5346169689Skan	* optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
5347169689Skan
5348169689Skan2004-11-12  Devang Patel  <dpatel@apple.com>
5349169689Skan
5350169689Skan	* tree-if-conv.c (clean_predicate_lists): Use loop header
5351169689Skan	and latch directly.
5352169689Skan
5353169689Skan2004-11-12  Richard Henderson  <rth@redhat.com>
5354169689Skan
5355169689Skan	PR 17778
5356169689Skan	* config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
5357169689Skan	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5358169689Skan	(TARGET_96_ROUND_53_LONG_DOUBLE): New.
5359169689Skan	* config/i386/i386-modes.def (XF): Use it.
5360169689Skan
5361169689Skan2004-11-11  Geoffrey Keating  <geoffk@apple.com>
5362169689Skan
5363169689Skan	* Makefile.in (macro_list): Use move-if-change to avoid spurious
5364169689Skan	rebuilds.
5365169689Skan
5366169689Skan2004-11-12  Mark Mitchell  <mark@codesourcery.com>
5367169689Skan
5368169689Skan	PR c++/18416
5369169689Skan	* passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
5370169689Skan	when deciding whether to pass a variable to
5371169689Skan	cgraph_varpool_finalize_decl or assemble_variable.
5372169689Skan	* toplev.c (check_global_declarations): Do not clear DECL_RTL.
5373169689Skan
5374169689Skan2004-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5375169689Skan
5376169689Skan	* tree-vectorizer.c: Fix a comment typo.
5377169689Skan
5378169689Skan2004-11-12  Bernd Schmidt  <bernd.schmidt@analog.com>
5379169689Skan
5380169689Skan	* genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
5381169689Skan
5382169689Skan2004-11-12  Diego Novillo  <dnovillo@redhat.com>
5383169689Skan
5384169689Skan	* tree-scalar-evolution.c (analyzable_condition): Remove
5385169689Skan	superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
5386169689Skan
5387169689Skan2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
5388169689Skan
5389169689Skan	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
5390169689Skan	Remove m505/roe multilib variant.
5391169689Skan
5392169689Skan2004-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
5393169689Skan
5394169689Skan	* expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
5395169689Skan	to load from the stack.
5396169689Skan
5397169689Skan2004-11-12  Richard Henderson  <rth@redhat.com>
5398169689Skan
5399169689Skan	* toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
5400169689Skan	(exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
5401169689Skan	* toplev.h (FL2T__): Remove.
5402169689Skan	(CLZ_HWI): Rename from FL2T_CLZ__.
5403169689Skan	(CTZ_HWI): New.
5404169689Skan	(floor_log2): Simplify.
5405169689Skan	(exact_log2): New.
5406169689Skan
5407169689Skan2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
5408169689Skan
5409169689Skan	* tree-data-ref.c (analyze_subscript_affine_affine): Correctly
5410169689Skan	compute the first overlapping iterations.
5411169689Skan
5412169689Skan2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
5413169689Skan
5414169689Skan	PR middle-end/18005
5415169689Skan	* tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
5416169689Skan	that arguments of EXACT_DIV_EXPR are INTEGER_CST.
5417169689Skan
5418169689Skan2004-11-12  Steven Bosscher  <stevenb@suse.de>
5419169689Skan
5420169689Skan	PR tree-optimization/18419
5421169689Skan	* tree-ssa.c (walk_use_def_chains_1): Make the visited map a
5422169689Skan	pointer set instead of a bitmap.
5423169689Skan	(walk_use_def_chains): Create, pass and clean up that pointer_set.
5424169689Skan
5425169689Skan	* tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
5426169689Skan	field an sbitmap.
5427169689Skan	(init_alias_info): Allocate and zero it here.
5428169689Skan	(delete_alias_info): Delete it here.
5429169689Skan	(collect_points_to_info_for): Use it.
5430169689Skan
5431169689Skan2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5432169689Skan
5433169689Skan	* alias.c (record_alias_subset, addr_side_effect_eval):
5434169689Skan	Make them static.
5435169689Skan	* alias.h: Remove the prototype for record_alias_subset.
5436169689Skan	* expr.h: Remove the commented-out prototype for
5437169689Skan	record_alias_subset.
5438169689Skan	* rtl.h: Remove the prototype for addr_side_effect_eval.
5439169689Skan
5440169689Skan	* cfglayout.c (choose_inner_scope): Make it static.
5441169689Skan	* rtl.h: Remove the corresponding prototype.
5442169689Skan
5443169689Skan	* cfgloopmanip.c (update_single_exits_after_duplication,
5444169689Skan	unloop): Make them static.
5445169689Skan	* cfgloop.h: Remove the corresponding prototypes.
5446169689Skan
5447169689Skan	* c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
5448169689Skan	Make them static.
5449169689Skan	* c-tree.h: Remove the corresponding prototypes.
5450169689Skan
5451169689Skan	* explow.c (round_push): Make it static.
5452169689Skan	* expr.h: Remove the corresponding prototype.
5453169689Skan
5454169689Skan	* varasm.c (get_named_section_flags, decl_tls_model): Make
5455169689Skan	them static.
5456169689Skan	* output.h: Remove the prototype for get_named_section_flags.
5457169689Skan	* tree.h: Remove the prototype for decl_tls_model.
5458169689Skan
5459169689Skan2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5460169689Skan
5461169689Skan	* function.c (expand_function_end): Remove an "if" statement
5462169689Skan	that always triggers.
5463169689Skan	* stmt.c (expand_null_return_1): Likewise.
5464169689Skan
5465169689Skan2004-11-11  James E. Wilson  <wilson@specifixinc.com>
5466169689Skan
5467169689Skan	* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
5468169689Skan	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
5469169689Skan	CLASS_MAX_NREGS): Likewise.
5470169689Skan
5471169689Skan2004-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
5472169689Skan
5473169689Skan	PR tree-optimization/17742
5474169689Skan	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
5475169689Skan	MINUS_EXPR correctly.
5476169689Skan
5477169689Skan2004-11-11  Sebastian Pop  <pop@cri.ensmp.fr>
5478169689Skan
5479169689Skan	* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
5480169689Skan	Give up as soon as the evolution is known not computable.
5481169689Skan
5482169689Skan2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
5483169689Skan
5484169689Skan	PR target/16457
5485169689Skan	* config/rs6000/rs6000.c (mask64_2_operand): Stub to call
5486169689Skan	mask64_1or2_operand.
5487169689Skan	(mask64_1or2_operand): Broken out of mask64_2_operand, add flag
5488169689Skan	to spot rlwinm opportunities.
5489169689Skan	(and64_2_operand): Use mask_1or2_operand.
5490169689Skan	* config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
5491169689Skan
5492169689Skan2004-11-11  Dorit Naishlos  <dorit@il.ibm.com>
5493169689Skan
5494169689Skan	* tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
5495169689Skan	(vect_update_ivs_after_vectorizer): Update function documentation.
5496169689Skan	Avoid quadratic behavior and direct write to PHI_ARG_DEF.
5497169689Skan
5498169689Skan2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5499169689Skan
5500169689Skan	* config/arm/arm.c: Fix a comment typo.
5501169689Skan
5502169689Skan2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
5503169689Skan
5504169689Skan	* bitmap.h (nBITMAP_WORD_BITS): Remove.
5505169689Skan	(BITMAP_WORD_BITS): Force unsigned by use of 1u.
5506169689Skan	(BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
5507169689Skan	unnecessary casts.
5508169689Skan	(bitmap_first_set_bit): Return unsigned, use ctzl.
5509169689Skan	(bitmap_last_set_bit): Remove.
5510169689Skan	* bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
5511169689Skan	unsigned.
5512169689Skan	(bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
5513169689Skan	remove special case code for two word elements.
5514169689Skan	(bitmap_last_set_bit): Remove.
5515169689Skan	* ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
5516169689Skan	bitmap_first_set_bit with bitmap_empty_p.
5517169689Skan	* tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
5518169689Skan	* tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
5519169689Skan	bitmap_last_bit_set.
5520169689Skan
5521169689Skan2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
5522169689Skan
5523169689Skan	PR target/16796
5524169689Skan	* config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
5525169689Skan
5526169689Skan	PR target/16458
5527169689Skan	* config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
5528169689Skan	unsigned equality compare when we know the operands are unsigned.
5529169689Skan
5530169689Skan2004-11-10  Peter S. Mazinger  <ps.m@gmx.net>
5531169689Skan
5532169689Skan	* config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
5533169689Skan	__PIC__ and __pic__ only if TARGET_ABICALLS.
5534169689Skan	(SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
5535169689Skan	(SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
5536169689Skan	-KPIC only if not -mno-abicalls.
5537169689Skan
5538169689Skan	* config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
5539169689Skan	* config/sparc/linux.h, config/sparc/linux64.h
5540169689Skan	(TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
5541169689Skan
5542169689Skan	* config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
5543169689Skan	* config/pa/pa/linux.h (CPP_SPEC): Likewise.
5544169689Skan	* config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
5545169689Skan	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
5546169689Skan
5547169689Skan2004-11-11  Paul Brook  <paul@codesourcery.com>
5548169689Skan
5549169689Skan	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
5550169689Skan	register if current_function_uses_pic_offset_table is set.
5551169689Skan
5552169689Skan2004-11-10  David Edelsohn  <edelsohn@gnu.org>
5553169689Skan
5554169689Skan	* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
5555169689Skan	Change multi-instruction sequences to new attribute.
5556169689Skan	* config/rs6000/{40x.md,440.md,603.md,6xx.md,
5557169689Skan	7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
5558169689Skan	rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
5559169689Skan
5560169689Skan2004-11-10  Daniel Berlin  <dberlin@dberlin.org>
5561169689Skan
5562169689Skan	* tree-data-ref.c (build_classic_dist_vector): If either loop
5563169689Skan	is outside of the nest we asked about, the dependence can't
5564169689Skan	matter.
5565169689Skan	(build_classic_dir_vector): Ditto.
5566169689Skan
5567169689Skan2004-11-10  Zdenek Dvorak  <dvorakz@suse.cz>
5568169689Skan
5569169689Skan	* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
5570169689Skan	right order.
5571169689Skan	(force_var_cost): Determine cost of addition and multiplication more
5572169689Skan	precisely.
5573169689Skan	(get_computation_cost_at): Add cost for computing address elements to
5574169689Skan	the final cost.
5575169689Skan
5576169689Skan	* fold-const.c (fold): Attempt to use ptr_difference_const whenever
5577169689Skan	one of the arguments of MINUS_EXPR is an address.
5578169689Skan	(split_address_to_core_and_offset): New function.
5579169689Skan	(ptr_difference_const): Handle case when one of the operands is a
5580169689Skan	pointer.
5581169689Skan	* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
5582169689Skan	(ptr_difference_cost): Pass addresses instead of objects to
5583169689Skan	ptr_difference_const.
5584169689Skan
5585169689Skan2004-11-10  Nathan Sidwell  <nathan@codesourcery.com>
5586169689Skan
5587169689Skan	* tree.c (tree_check_failed): Emit general error if the list of
5588169689Skan	node types is empty.
5589169689Skan
5590169689Skan2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5591169689Skan
5592169689Skan	* config/sparc/sparc.c (function_arg_union_value): New 'slotno'
5593169689Skan	argument.  When the union is passed in the 6th slot, build a
5594169689Skan	PARALLEL with only one element.
5595169689Skan	(function_arg): Adjust call to function_arg_union_value.
5596169689Skan	(function_value): Likewise.
5597169689Skan
5598169689Skan2004-11-10  Fariborz Jahanian <fjahanian@apple.com>
5599169689Skan
5600169689Skan	PR tree-optimization/17892
5601169689Skan	* tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
5602169689Skan	MINUS_EXPR operator.
5603169689Skan
5604169689Skan2004-11-10  James A. Morrison  <phython@gcc.gnu.org>
5605169689Skan
5606169689Skan	PR target/18230
5607169689Skan	config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
5608169689Skan	(addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
5609169689Skan
5610169689Skan2004-11-10  Steven Bosscher  <stevenb@suse.de>
5611169689Skan
5612169689Skan	* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
5613169689Skan	(struct basic_block_def): Remove local_set and cond_local_set
5614169689Skan	fields.  Update comment for global_live_at_start.
5615169689Skan	* flow.c (calculate_global_regs_live): Allocate local_sets and
5616169689Skan	cond_local_sets here as arrays of bitmaps previously stored in
5617169689Skan	bb->local_set and bb->cond_local_set.  Use xmalloc instead of
5618169689Skan	obstack allocated bitmaps.
5619169689Skan
5620169689Skan2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
5621169689Skan
5622169689Skan	PR target/18380
5623169689Skan	* config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
5624169689Skan	hidden.
5625169689Skan
5626169689Skan	* unwind-dw2.c (_Unwind_FindTableEntry): Removed.
5627169689Skan
5628169689Skan2004-11-09  Jeff Law  <law@redhat.com>
5629169689Skan
5630169689Skan	* cfganal.c (flow_dfs_compute_reverse_execute): Accept new
5631169689Skan	argument holding last unvisited block.  Start search for
5632169689Skan	unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
5633169689Skan	(connect_infinite_loops_to_exit): Supply last unvisited block
5634169689Skan	to flow_dfs_compute_reverse_execute.
5635169689Skan
5636169689Skan2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
5637169689Skan
5638169689Skan	* config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
5639169689Skan	doubles.
5640169689Skan	(floatunssidf2): Same.
5641169689Skan	(floatsidf2): Same.
5642169689Skan	("extendsfdf2"): New expander.
5643169689Skan	(*extendsfdf2_fpr): Rename.
5644169689Skan	(*truncdfsf2_fpr): Same.
5645169689Skan	(*negdf2_fpr): Same.
5646169689Skan	(*absdf2_fpr): Same.
5647169689Skan	(*nabsdf2_fpr): Same.
5648169689Skan	(*adddf3_fpr): Same.
5649169689Skan	(*subdf3_fpr): Same.
5650169689Skan	(*muldf3_fpr): Same.
5651169689Skan	(*divdf3_fpr): Same.
5652169689Skan
5653169689Skan	* config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
5654169689Skan	("spe_fix_truncdfsi2"): Same.
5655169689Skan	(spe_floatunssidf2): Same.
5656169689Skan	(spe_floatsidf2): Same.
5657169689Skan
5658169689Skan2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
5659169689Skan
5660169689Skan	PR c/18322
5661169689Skan	* c-common.c (fname_decl): Don't use line number of decl in
5662169689Skan	diagnostic.
5663169689Skan
5664169689Skan2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
5665169689Skan
5666169689Skan	* config/s390/s390-protos.h (s390_pool_operand): Remove.
5667169689Skan	* config/s390/s390.c (s390_pool_operand): Likewise.
5668169689Skan	(s390_extra_constraint_str): Handle 'B' constraints.
5669169689Skan	* config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
5670169689Skan	* config/s390/s390.md: Document 'B' constraints.
5671169689Skan	("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
5672169689Skan	s390_pool_operand to prevent insns with two literal pool
5673169689Skan	references.  Make pattern commutative.
5674169689Skan	("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
5675169689Skan	'B' constraint instead of s390_pool_operand.
5676169689Skan
5677169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5678169689Skan
5679169689Skan	* tree-cfg.c (create_bb): Remove unnecessary memset.
5680169689Skan
5681169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5682169689Skan
5683169689Skan	* tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
5684169689Skan	(thread_block): Call flush_pending_stmt instead of
5685169689Skan	copy_phis_to_block.
5686169689Skan
5687169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5688169689Skan
5689169689Skan	* loop-iv.c (iv_number_of_iterations): Make it static.
5690169689Skan	* cfgloop.h: Remove the corresponding prototype.
5691169689Skan
5692169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5693169689Skan
5694169689Skan	* function.c (combine_temp_slots, assign_parms,
5695169689Skan	expand_pending_sizes): Make them static.
5696169689Skan	* tree.h: Remove the corresponding prototypes.
5697169689Skan
5698169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5699169689Skan
5700169689Skan	* emit-rtl.c (copy_most_rtx): Remove.
5701169689Skan	* rtl.h: Remove the corresponding prototype.
5702169689Skan
5703169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5704169689Skan
5705169689Skan	* cfgloop.c (flow_loops_update): Remove.
5706169689Skan	* cfgloop.h: Remove the corresponding prototype.
5707169689Skan
5708169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5709169689Skan
5710169689Skan	* conflict.c (mark_reg, conflict_graph_compute): Remove.
5711169689Skan	* basic-block.h: Remove the prototype for
5712169689Skan	conflict_graph_compute.
5713169689Skan
5714169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5715169689Skan
5716169689Skan	* tree-if-conv.c (add_to_dst_predicate_list): Change the
5717169689Skan	second argument to basic_block.
5718169689Skan	(tree_if_convert_cond_expr): Update call sites.
5719169689Skan
5720169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5721169689Skan
5722169689Skan	* fold-const.c (pedantic_non_lvalue): Make it static.
5723169689Skan	* tree.h: Remove the corresponding prototype.
5724169689Skan
5725169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5726169689Skan
5727169689Skan	* optabs.c (prepare_operand): Make it static.
5728169689Skan	* optabs.h: Remove the corresponding prototype.
5729169689Skan
5730169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5731169689Skan
5732169689Skan	* reload1.c (reloads_conflict, gen_reload): Make them static.
5733169689Skan	* reload.h: Remove the corresponding prototypes.
5734169689Skan
5735169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5736169689Skan
5737169689Skan	* reload.c (refers_to_mem_for_reload_p,
5738169689Skan	refers_to_regno_for_reload_p): Make them static.
5739169689Skan	* reload.h: Remove the corresponding prototypes.
5740169689Skan
5741169689Skan2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
5742169689Skan	    Eric Botcazou  <ebotcazou@libertysurf.fr>
5743169689Skan
5744169689Skan	PR target/18230
5745169689Skan	* doc/md.texi (SPARC constraints): Document 'Y' constraint.
5746169689Skan	* config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
5747169689Skan	* config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
5748169689Skan	(TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
5749169689Skan	(fp_zero_operand): Accept MODE_VECTOR_INT modes.
5750169689Skan	(input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
5751169689Skan	(sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
5752169689Skan	(sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
5753169689Skan	MODE_VECTOR_INT modes.
5754169689Skan	(sparc_extra_constraint_check): Add new constraint 'Y'.
5755169689Skan	* config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
5756169689Skan	* config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
5757169689Skan	(V64): New mode macro for 64-bit modes.
5758169689Skan	(movsf): Use V32 for mode instead of SF.
5759169689Skan	(movsf_insn_vis): Use V32 for mode instead of SF.  Add 'Y' constraint
5760169689Skan	alongside 'G' constraint.
5761169689Skan	(movdf): Use V64 for mode instead of DF.
5762169689Skan	(movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
5763169689Skan	of DF.  Add 'Y' constraint alongside 'G' constraint.
5764169689Skan	(multi-isn and misaligned mems DFmode splitters): Use V64 for mode
5765169689Skan	instead of DF.
5766169689Skan
5767169689Skan2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
5768169689Skan
5769169689Skan	* config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
5770169689Skan	integer NEG and ABS.
5771169689Skan	* config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
5772169689Skan	("*negdi2_31"): Reimplement using a splitter.
5773169689Skan	("*negdi2_cc", "*negdi2_cconly"): New insns.
5774169689Skan	("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
5775169689Skan	("*negsi2_cc", "*negsi2_cconly"): Likewise.
5776169689Skan	("*negdf2_cc", "*negdf2_cconly"): Likewise.
5777169689Skan	("*negsf2_cc", "*negsf2_cconly"): Likewise.
5778169689Skan	("*absdi2_cc", "*absdi2_cconly"): New insns.
5779169689Skan	("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
5780169689Skan	("*abssi2_cc", "*abssi2_cconly"): Likewise.
5781169689Skan	("*absdf2_cc", "*absdf2_cconly"): Likewise.
5782169689Skan	("*abssf2_cc", "*abssf2_cconly"): Likewise.
5783169689Skan	("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
5784169689Skan	("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
5785169689Skan	("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
5786169689Skan	("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
5787169689Skan	("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
5788169689Skan
5789169689Skan2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
5790169689Skan
5791169689Skan	* config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
5792169689Skan	when eliminating an UNSPEC_CMPINT.
5793169689Skan	(s390_secondary_input_reload_class): Fix test for CC register reload.
5794169689Skan	(s390_secondary_output_reload_class): Likewise.
5795169689Skan	(s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
5796169689Skan	* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
5797169689Skan	("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
5798169689Skan	insn patterns with splitters.
5799169689Skan
5800169689Skan2004-11-09  David Edelsohn  <edelsohn@gnu.org>
5801169689Skan
5802169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
5803169689Skan	* config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
5804169689Skan
5805169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5806169689Skan
5807169689Skan	* tree-phinodes.c (phi_reverse): New.
5808169689Skan	* tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
5809169689Skan	Use it.
5810169689Skan	* tree-flow.h: Add a prototype for phi_reverse.
5811169689Skan
5812169689Skan2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
5813169689Skan
5814169689Skan	* tree-ssa-loop-ivopts.c: Fix a comment typo.
5815169689Skan
5816169689Skan2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
5817169689Skan
5818169689Skan	PR pch/14940
5819169689Skan	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
5820169689Skan	definitions.
5821169689Skan
5822169689Skan2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
5823169689Skan
5824169689Skan	* builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
5825169689Skan	instead of "arg" in diagnostics.
5826169689Skan
5827169689Skan2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
5828169689Skan
5829169689Skan	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
5830169689Skan	c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
5831169689Skan	gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
5832169689Skan	tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
5833169689Skan	config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
5834169689Skan	config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
5835169689Skan	config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
5836169689Skan	config/iq2000/iq2000.c, config/m32r/m32r.c,
5837169689Skan	config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
5838169689Skan	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
5839169689Skan	config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
5840169689Skan	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
5841169689Skan	config/sh/symbian.c, config/stormy16/stormy16.c,
5842169689Skan	config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
5843169689Skan	and %> as appropriate.  Use %' as apostrophe in diagnostics where
5844169689Skan	applicable.  Use %< and %> in place of '' quotes where applicable.
5845169689Skan	Use %qs in place of %<%s%>.  Consistently quote __builtin function
5846169689Skan	names.
5847169689Skan
5848169689Skan2004-11-09  Hans-Peter Nilsson  <hp@bitrange.com>
5849169689Skan
5850169689Skan	* gdbinit.in (pbb, pbm): New macros.
5851169689Skan
5852169689Skan2004-11-08 Jeff Law  <law@redhat.com>
5853169689Skan
5854169689Skan	* cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
5855169689Skan	implementing it inline.
5856169689Skan
5857169689Skan	* cfganal.c (find_edge): Search pred->succs or succ->preds,
5858169689Skan	whichever is shorter.
5859169689Skan
5860169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5861169689Skan
5862169689Skan	* passes.c (rest_of_handle_jump): Remove dead code.
5863169689Skan
5864169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5865169689Skan
5866169689Skan	* tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
5867169689Skan	the last used element in the worklist.
5868169689Skan
5869169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5870169689Skan
5871169689Skan	* tree-inline.c (remap_save_expr): Make it static.
5872169689Skan	* tree-inline.h: Remove the corresponding prototype.
5873169689Skan
5874169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5875169689Skan
5876169689Skan	* tree-ssa-loop-niter.c (upper_bound_in_type,
5877169689Skan	lower_bound_in_type): Make them static.
5878169689Skan	* tree.h: Remove the corresponding prototypes.
5879169689Skan
5880169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5881169689Skan
5882169689Skan	* tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
5883169689Skan	static.
5884169689Skan	* tree-ssa-live.h: Remove the corresponding prototypes.
5885169689Skan
5886169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5887169689Skan
5888169689Skan	* tree-if-conv.c (tree_if_conversion): Make it static.
5889169689Skan	* tree-flow.h: Remove the corresponding prototype.
5890169689Skan
5891169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5892169689Skan
5893169689Skan	* tree-ssa-operands.c (build_ssa_operands): Make it static.
5894169689Skan	* tree-flow.h: Remove the corresponding prototype.
5895169689Skan
5896169689Skan2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
5897169689Skan
5898169689Skan	PR tree-opt/18299
5899169689Skan	* tree-inline.c (copy_body_r): Change "t = t" to empty
5900169689Skan	statement instead of "t".
5901169689Skan
5902169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5903169689Skan
5904169689Skan	* modulo-sched.c (create_partial_schedule,
5905169689Skan	free_partial_schedule, reset_partial_schedule,
5906169689Skan	ps_add_node_check_conflicts, rotate_partial_schedule): Make
5907169689Skan	them static.
5908169689Skan
5909169689Skan2004-11-08  Richard Henderson  <rth@redhat.com>
5910169689Skan
5911169689Skan	* expmed.c (extract_force_align_mem_bit_field): Correct handling at
5912169689Skan	the end of a page.
5913169689Skan
5914169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5915169689Skan
5916169689Skan	* sched-deps.c (add_insn_mem_dependence): Make it static.
5917169689Skan	* sched-int.h: Remove the corresponding prototypes.
5918169689Skan
5919169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5920169689Skan
5921169689Skan	* flow.c (allocate_bb_life_data): Make it static.
5922169689Skan	* basic-block.h: Remove the corresponding prototype.
5923169689Skan
5924169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5925169689Skan
5926169689Skan	* calls.c (split_complex_values, split_complex_types): Make
5927169689Skan	them static.
5928169689Skan	* expr.h: Remove the corresponding prototypes.
5929169689Skan
5930169689Skan2004-11-08  Richard Earnshaw  <rearnsha@arm.com>
5931169689Skan
5932169689Skan	* arm.c (arm_handle_notshared_attribute): Wrap declaration and use
5933169689Skan	with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
5934169689Skan
5935169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5936169689Skan
5937169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
5938169689Skan	statements that always trigger.
5939169689Skan
5940169689Skan2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5941169689Skan
5942169689Skan	* tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
5943169689Skan	tree-scalar-evolution.c, tree-ssa-loop-im.c,
5944169689Skan	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
5945169689Skan	tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
5946169689Skan	appropriate.
5947169689Skan
5948169689Skan2004-11-08  Ben Elliston  <bje@au.ibm.com>
5949169689Skan
5950169689Skan	* cgraph.h (cgraph_calls_p): Remove.
5951169689Skan	* cgraph.c (cgraph_calls_p): Likewise.
5952169689Skan
5953169689Skan	* varray.h (varray_copy): Remove.
5954169689Skan	* varray.c (varray_copy): Likewise.
5955169689Skan
5956169689Skan2004-11-07  Andrew Pinski  <pinskia@physics.uc.edu>
5957169689Skan
5958169689Skan	PR target/18269
5959169689Skan	* config/darwin.c (machopic_indirect_data_reference):
5960169689Skan	Call gen_macho_high and gen_macho_low instead of
5961169689Skan	checking the mode and calling gen_macho_high_di directly.
5962169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
5963169689Skan	* config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
5964169689Skan	to darwin.md.
5965169689Skan	(movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
5966169689Skan	load_macho_picbase, macho_low, macho_high): Removed.
5967169689Skan	(builtin_setjmp_receiver): Call gen_macho_high and
5968169689Skan	gen_macho_low instead of checking the mode and calling
5969169689Skan	gen_macho_high_di directly.
5970169689Skan	* config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
5971169689Skan	(movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
5972169689Skan	Moved from rs6000.md.
5973169689Skan	(macho_high): New expander.
5974169689Skan	(macho_high_si): Renamed version of macho_high from rs6000.md.
5975169689Skan	(macho_low): New expander.
5976169689Skan	(macho_low_si): Renamed version of macho_low from rs6000.md.
5977169689Skan	(load_macho_picbase): New expander.
5978169689Skan	(load_macho_picbase_si): Renamed version of load_macho_picbase
5979169689Skan	from rs6000.md.
5980169689Skan	(macho_correct_pic): New expander.
5981169689Skan	(macho_correct_pic_si): Renamed version of macho_correct_pic
5982169689Skan	from rs6000.md.
5983169689Skan
5984169689Skan2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
5985169689Skan
5986169689Skan	* c-decl.c (finish_struct): Use complete sentences for diagnostic
5987169689Skan	for structures or unions with no members or named members.
5988169689Skan
5989169689Skan2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
5990169689Skan
5991169689Skan	* c-typeck.c (build_unary_op): Replace unreachable diagnostic for
5992169689Skan	taking address of bit-field by assertion.
5993169689Skan
5994169689Skan2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
5995169689Skan
5996169689Skan	* config/s390/s390.md (attribute "op_type"): Default to "NN".
5997169689Skan	(attribute "atype"): Default to "agen".
5998169689Skan	(attribute "length"): Default to 6.
5999169689Skan	(define_asm_attibutes): Remove.
6000169689Skan	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
6001169689Skan	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
6002169689Skan	"*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
6003169689Skan	Do not set type attribute to "cs" where already default.
6004169689Skan	("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
6005169689Skan	"*negdi2_31"):
6006169689Skan	Do not set type attribute to "other" where already default.
6007169689Skan	("movti", "*movdi_64", "*movdi_31", "*movdf_31",
6008169689Skan	"*strlendi", "*strlensi",
6009169689Skan	"*movmem_long_64", "*movmem_long_31",
6010169689Skan	"*clrmem_long_64", "*clrmem_long_31",
6011169689Skan	"*cmpmem_long_64", "*cmpmem_long_31",
6012169689Skan	"*cmpint_si", "*cmpint_di",
6013169689Skan	"addti3", "*adddi3_31z", "*adddi3_31",
6014169689Skan	"subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
6015169689Skan	"*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
6016169689Skan	"fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
6017169689Skan	"*pool_entry", "pool_align", "pool_section_start",
6018169689Skan	"pool_section_end", "main_pool", "reload_base_31", "pool"):
6019169689Skan	Do not set op_type attribute to "NN" where already default.
6020169689Skan	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
6021169689Skan	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
6022169689Skan	"fix_truncdfsi2_ibm", "floatsidf2_ibm"):
6023169689Skan	Do not set atype attribute to "agen" where already default.
6024169689Skan	("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
6025169689Skan
6026169689Skan2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
6027169689Skan
6028169689Skan	* config/mips/t-iris6 (tp-bit.c): Fix target filename.
6029169689Skan
6030169689Skan2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
6031169689Skan
6032169689Skan	PR target/16830
6033169689Skan	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
6034169689Skan	R3000 and R4000 macros on IRIX.
6035169689Skan
6036169689Skan2004-11-06  Andreas Schwab  <schwab@suse.de>
6037169689Skan
6038169689Skan	PR target/16286
6039169689Skan	* config/rs6000/altivec.h: Replace bool by __bool and pixel by
6040169689Skan	__pixel.
6041169689Skan
6042169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6043169689Skan
6044169689Skan	* tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
6045169689Skan
6046169689Skan2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
6047169689Skan
6048169689Skan	* config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
6049169689Skan	matches no insns already matched by other reservations.
6050169689Skan	* config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
6051169689Skan	matches no insns already matched by other reservations.
6052169689Skan	("x_ss"): Remove, replace by ...
6053169689Skan	("x_cs"): ... this new reservation.  Check type instead of op_type.
6054169689Skan	Update bypasses to use x_cs instead of x_ss.
6055169689Skan	("x_nn"): Remove, replace by ...
6056169689Skan	("x_other"): ... this new reservation.  Check type instead of op_type.
6057169689Skan	Add x_other and x_branch to bypasses.
6058169689Skan	("x_vs"): New reservation.
6059169689Skan	* config/s390/s390.md (attribute "type"): Default according to op_type.
6060169689Skan	("*execute"): Set type to "cs".
6061169689Skan
6062169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6063169689Skan
6064169689Skan	* fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
6065169689Skan	if we are in GIMPLE.
6066169689Skan
6067169689Skan2004-11-06  Hans-Peter Nilsson  <hp@bitrange.com>
6068169689Skan
6069169689Skan	PR rtl-optimization/17933
6070169689Skan	* rtlanal.c (dead_or_set_regno_p): Break out common code to...
6071169689Skan	(covers_regno_p): New function.  Handle SETs of PARALLEL,
6072169689Skan	and defer the rest to...
6073169689Skan	(covers_regno_no_parallel_p): New function.
6074169689Skan
6075169689Skan2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6076169689Skan
6077169689Skan	* config/sparc/sparc.c (function_arg_record_value_1): Skip
6078169689Skan	fields with zero length.
6079169689Skan	(function_arg_record_value_2): Likewise.
6080169689Skan	(function_arg_record_value_3): Use smallest_mode_for_size
6081169689Skan	instead of mode_for_size.
6082169689Skan	(function_arg_union_value): Return naked register for unions
6083169689Skan	with zero length.
6084169689Skan
6085169689Skan2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
6086169689Skan
6087169689Skan	* config/sparc/sparc.c (scan_record_type): Handle vector types.
6088169689Skan	(function_arg_slotno): Handle vector types specially.
6089169689Skan	(function_arg_record_value_1): Split fields with vector type and
6090169689Skan	BLKmode into their subparts.
6091169689Skan	(function_arg_record_value_2): Likewise.  Be prepared to handle
6092169689Skan	more than 2 registers per field.
6093169689Skan	(function_arg_union_value): Increment regno inside the loop.
6094169689Skan	(function_arg_vector_value): New function.
6095169689Skan	(function_arg): Use it to split fields with vector type and
6096169689Skan	BLKmode into their subparts and build a PARALLEL.  Treat
6097169689Skan	other vector types like floats.
6098169689Skan	(function_value): Likewise.
6099169689Skan	(sparc_pass_by_reference): Handle vector types.
6100169689Skan	(sparc_return_in_memory): Likewise.
6101169689Skan
6102169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6103169689Skan
6104169689Skan	* tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
6105169689Skan	statement that never triggers.
6106169689Skan
6107169689Skan2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
6108169689Skan
6109169689Skan	* config/s390/2064.md ("z_o2", "z_o3"): Remove.
6110169689Skan	* config/s390/2084.md ("x_o2", "x_o3"): Remove.
6111169689Skan	("x_fdivd"): Use also for fsqrtd type.
6112169689Skan	("x_fdivs"): Use also for fsqrts type.
6113169689Skan	* config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
6114169689Skan	("fix_truncdfsi2_ieee"): Set type to "ftoi".
6115169689Skan	("fix_truncdfsi2_ibm"): Set type to "other".
6116169689Skan	("floatdidf2", "floatdisf2"): Do not clobber CC.
6117169689Skan	("floatsidf2", "floatsidf2_ieee"): Likewise.
6118169689Skan	("floatsisf2", "floatsisf2_ieee"): Likewise.
6119169689Skan	("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
6120169689Skan	("truncdfsf2_ibm"): Only allow "nonimmediate_operand".  Use LER
6121169689Skan	instead of LRER.
6122169689Skan	("extendsfdf2_ibm"): Do not set atype.  Set type to "floads".
6123169689Skan	("sqrtdf2"): Set type to "fsqrtd".
6124169689Skan	("sqrtsf2"): Set type to "fsqrts".
6125169689Skan
6126169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6127169689Skan
6128169689Skan	* tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
6129169689Skan	pointer to the last PHI node in the new PHI chain.
6130169689Skan
6131169689Skan2004-11-06  Kaz Kojima  <kkojima@gcc.gnu.org>
6132169689Skan
6133169689Skan	* config/sh/sh.c (prepare_move_operands): Emit a use of r12
6134169689Skan	for non-PIC TLS_MODEL_INITIAL_EXEC case.
6135169689Skan
6136169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6137169689Skan
6138169689Skan	* expmed.c: Fix a comment typo.
6139169689Skan
6140169689Skan2004-11-06  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
6141169689Skan
6142169689Skan	PR target/18106
6143169689Skan	* config/i386/cygming.h
6144169689Skan	[HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
6145169689Skan
6146169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6147169689Skan
6148169689Skan	* config/sh/sh4a.md: Fix copyright.
6149169689Skan
6150169689Skan2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
6151169689Skan
6152169689Skan	* config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
6153169689Skan	with GCC.
6154169689Skan
6155169689Skan2004-11-05  David Edelsohn  <edelsohn@gnu.org>
6156169689Skan
6157169689Skan	* config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
6158169689Skan	when carry not used.  Suggested by Torbjorn Granlund.
6159169689Skan
6160169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
6161169689Skan	operand[1] unnecessarily.  Suggested by Eric Christopher.
6162169689Skan	(rs6000_adjust_cost): Increase latency of store to wider load.
6163169689Skan	(rs6000_rtx_costs): mulli only allows 16-bit constants.
6164169689Skan
6165169689Skan2004-11-05  Stan Shebs  <shebs@apple.com>
6166169689Skan
6167169689Skan	* config/rs6000/rs6000.c (machopic_output_stub): Output
6168169689Skan	ldu instead of lwzu for 64-bit stubs.
6169169689Skan
6170169689Skan2004-11-05  Richard Henderson  <rth@redhat.com>
6171169689Skan
6172169689Skan	* config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
6173169689Skan	size 2 with BWX.
6174169689Skan	(alpha_expand_unaligned_store): Likewise.
6175169689Skan
6176169689Skan2004-11-05  Richard Henderson  <rth@redhat.com>
6177169689Skan
6178169689Skan	* expmed.c (extract_force_align_mem_bit_field): New.
6179169689Skan	(extract_split_bit_field): Call it.
6180169689Skan
6181169689Skan2004-11-05  Richard Henderson  <rth@redhat.com>
6182169689Skan
6183169689Skan	* ia64.md (UNSPEC_SHRP): New.
6184169689Skan	(dshift_count_operand): New.
6185169689Skan	(ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
6186169689Skan	* ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
6187169689Skan
6188169689Skan2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
6189169689Skan
6190169689Skan	* c-typeck.c (output_init_element): Return early if value is
6191169689Skan	error_mark_node.
6192169689Skan
6193169689Skan2004-11-05  James E Wilson  <wilson@specifixinc.com>
6194169689Skan
6195169689Skan	* invoke.texi (-fno-guess-branch-probability): Rewrite.
6196169689Skan
6197169689Skan	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
6198169689Skan	1 to UNSPEC_GR_SPILL.
6199169689Skan
6200169689Skan2004-11-05  Andreas Krebbel  <krebbel1@de.ibm.com>
6201169689Skan
6202169689Skan	* config/s390/s390.c (s390_fixed_condition_code_regs): New function.
6203169689Skan	(TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
6204169689Skan
6205169689Skan2004-11-05  Nathan Sidwell  <nathan@codesourcery.com>
6206169689Skan
6207169689Skan	* bitmap.h (enum bitmap_bits): Remove.
6208169689Skan	(bitmap_operation): Remove.
6209169689Skan	(bitmap_and, bitmap_and_into, bitmap_and_compl,
6210169689Skan	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
6211169689Skan	bitmap_xor_into): Prototype.
6212169689Skan	* bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
6213169689Skan	(bitmap_operation): Remove.
6214169689Skan	(bitmap_and, bitmap_and_into, bitmap_and_compl,
6215169689Skan	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
6216169689Skan	bitmap_xor_into): New.
6217169689Skan	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
6218169689Skan
6219169689Skan	PR tree-optimization/18307
6220169689Skan	* tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
6221169689Skan	and ORIG being the same node.
6222169689Skan
6223169689Skan2004-11-04  Geoffrey Keating  <geoffk@apple.com>
6224169689Skan
6225169689Skan	* Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
6226169689Skan	(install-mkheaders): Install the version built for the
6227169689Skan	host, not for the build machine.
6228169689Skan	* configure.ac: Always run fixincludes.
6229169689Skan	(all_outputs): Remove mkheaders.
6230169689Skan	* configure: Regenerate.
6231169689Skan	* fixinc.in: Move to fixincludes/.
6232169689Skan	* mkfixinc.sh: Likewise.
6233169689Skan	* mkheaders.in: Likewise.
6234169689Skan	* README-fixinc: Likewise.
6235169689Skan
6236169689Skan2004-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
6237169689Skan
6238169689Skan	PR target/18263
6239169689Skan	* config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
6240169689Skan	equivalent on the A4.
6241169689Skan
6242169689Skan2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
6243169689Skan
6244169689Skan	* doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
6245169689Skan	doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
6246169689Skan	doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
6247169689Skan	doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
6248169689Skan	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
6249169689Skan	doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
6250169689Skan	doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
6251169689Skan	doc/trouble.texi: Correct end-of-sentence markup and markup of
6252169689Skan	"etc.", "e.g." and "i.e.".  Use @code in various places where
6253169689Skan	appropriate.
6254169689Skan
6255169689Skan2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
6256169689Skan
6257169689Skan	* doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
6258169689Skan	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
6259169689Skan	doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
6260169689Skan	whitespace.
6261169689Skan
6262169689Skan2004-11-04  Mark Mitchell  <mark@codesourcery.com>
6263169689Skan
6264169689Skan	* config/arm/arm.c (arm_handle_notshared_attribute): New function.
6265169689Skan	* doc/extend.texi: Document "notshared" attribute.
6266169689Skan
6267169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6268169689Skan
6269169689Skan	* tree-phinodes.c (make_phi_node): Make it static.
6270169689Skan	* tree.h: Remove the prototypes for make_phi_node.
6271169689Skan
6272169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6273169689Skan
6274169689Skan	* stmt.c (expand_asm, expand_asm_operands): Make them static.
6275169689Skan	* tree.h: Remove the prototypes for expand_asm and
6276169689Skan	expand_asm_operands.
6277169689Skan
6278169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6279169689Skan
6280169689Skan	* passes.c (rest_of_compilation): Make it static.
6281169689Skan	* toplev.h: Remove the prototype for rest_of_compilation.
6282169689Skan
6283169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6284169689Skan
6285169689Skan	* jump.c (cleanup_barriers): Use delete_insn instead of
6286169689Skan	delete_barrier.
6287169689Skan	(delete_barrier): Remove.
6288169689Skan	* rtl.h: Remove the corresponding prototype.
6289169689Skan
6290169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6291169689Skan
6292169689Skan	* expr.c (mostly_zero_p): Make it static.
6293169689Skan	* tree.h: Remove the prototype for mostly_zeros_p.
6294169689Skan
6295169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6296169689Skan
6297169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
6298169689Skan
6299169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6300169689Skan
6301169689Skan	* builtins.c (expand_builtin_return_addr,
6302169689Skan	expand_builtin_longjmp, expand_builtin_trap): Make them static.
6303169689Skan	* expr.h: Remove the prototypes for expand_builtin_longjmp and
6304169689Skan	expand_builtin_trap.
6305169689Skan	* tree.h: Remove the prototype for expand_builtin_return_addr.
6306169689Skan
6307169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6308169689Skan
6309169689Skan	* tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
6310169689Skan	* tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
6311169689Skan	with VAL being NULL.
6312169689Skan
6313169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6314169689Skan
6315169689Skan	* cfghooks.c (delete_basic_block): Remove code to truncate
6316169689Skan	edge vectors.
6317169689Skan
6318169689Skan2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
6319169689Skan
6320169689Skan	* flow.c (init_propagate_block_info): Change the type of i to
6321169689Skan	unsigned.
6322169689Skan
6323169689Skan2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
6324169689Skan
6325169689Skan	PR tree-optimization/18184
6326169689Skan	* c-typeck.c (comptypes): Do not treat pointers of different
6327169689Skan	modes or alias-all flags as equivalent.
6328169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
6329169689Skan
6330169689Skan2004-11-04  Joseph S. Myers  <joseph@codesourcery.com>
6331169689Skan
6332169689Skan	* doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
6333169689Skan	reference specific C parser files in examples.
6334169689Skan
6335169689Skan2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
6336169689Skan
6337169689Skan	PR target/15342
6338169689Skan	* regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
6339169689Skan	as OP_INOUT if the instruction is predicated.
6340169689Skan
6341169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6342169689Skan
6343169689Skan	* bitmap.h: Fix a comment typo.  Follow spelling conventions.
6344169689Skan	* tree-vectorizer.c: Fix a comment typo.
6345169689Skan
6346169689Skan2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
6347169689Skan
6348169689Skan	* sdbout.c (SDB_GENERATE_FAKE): Remove.
6349169689Skan	(gen_fake_label): Don't use SDB_GENERATE_FAKE.
6350169689Skan	* system.h: Poison SDB_GENERATE_FAKE.
6351169689Skan	* doc/tm.texi (SDB_GENERATE_FAKE): Remove.
6352169689Skan
6353169689Skan2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
6354169689Skan
6355169689Skan	* config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
6356169689Skan
6357169689Skan2004-11-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6358169689Skan
6359169689Skan	PR other/18277
6360169689Skan	* gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
6361169689Skan	2004-10-29 patch
6362169689Skan
6363169689Skan2004-11-04  Nathan Sidwell  <nathan@codesourcery.com>
6364169689Skan
6365169689Skan	* predict.c (propagate_freq): Make bitno unsigned. Move
6366169689Skan	npredecessors update out of loop.
6367169689Skan
6368169689Skan	* bitmap.h (bitmap_iterator): Remove word_bit and bit
6369169689Skan	fields. Rename others.
6370169689Skan	(bmp_iter_common_next_1, bmp_iter_single_next_1,
6371169689Skan	bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
6372169689Skan	bmp_iter_and_not_next_1, bmp_iter_and_not_init,
6373169689Skan	bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
6374169689Skan	bmp_iter_and_next): Remove.
6375169689Skan	(bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
6376169689Skan	bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
6377169689Skan	New.
6378169689Skan	(EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
6379169689Skan	EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
6380169689Skan
6381169689Skan	* bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
6382169689Skan	* df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
6383169689Skan	bitmap_and_into, bitmap_ior_into as appropriate.
6384169689Skan	* except.c (remove_eh_handler):	Likewise.
6385169689Skan	* global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
6386169689Skan	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
6387169689Skan	* tree-ssa-alias.c (merge_pointed_to_info): Likewise.
6388169689Skan	* tree-ssa-live.h (live_merge_and_clear): Likewise.
6389169689Skan	* tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
6390169689Skan	Likewise.
6391169689Skan
6392169689Skan	* bitmap.c (bitmap_print): Make bitno unsigned.
6393169689Skan	* bt-load.c (clear_btr_from_live_range,
6394169689Skan	btr_def_live_range): Likewise.
6395169689Skan	* caller-save.c (save_call_clobbered_regs): Likewise.
6396169689Skan	* cfganal.c (compute_dominance_frontiers_1): Likewise.
6397169689Skan	* cfgcleanup.c (thread_jump): Likewise.
6398169689Skan	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
6399169689Skan	* conflict.c (conflict_graph_compute): Likewise.
6400169689Skan	* ddg.c (add_deps_for_use): Likewise.
6401169689Skan	* df.c (df_refs_update): Likewise.
6402169689Skan	* except.c (remove_eh_handler): Likewise.
6403169689Skan	* flow.c (verify_local_live_at_start, update_life_info,
6404169689Skan	initialize_uninitialized_subregs, propagate_one_insn,
6405169689Skan	free_propagate_block_info, propagate_block, find_use_as_address,
6406169689Skan	reg_set_to_hard_reg_set): Likewise.
6407169689Skan	* gcse.c (clear_modify_mem_tables): Likewise.
6408169689Skan	* global.c (global_conflicts, build_insn_chain): Likewise.
6409169689Skan	* ifcvt.c (dead_or_predicable): Likewise.
6410169689Skan	* local-alloc.c (update_equiv_regs): Likewise.
6411169689Skan	* loop.c (load_mems): Likewise.
6412169689Skan	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
6413169689Skan	Likewise.
6414169689Skan	* ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
6415169689Skan	Likewise.
6416169689Skan	* reload1.c (order_regs_for_reload, finish_spills): Likewise.
6417169689Skan	* sched-deps.c (sched_analyze_insn, free_deps): Likewise.
6418169689Skan	* sched-rgn.c (propagate_deps
6419169689Skan	* tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
6420169689Skan	* tree-dfa.c (dump_dfa_stats
6421169689Skan	tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
6422169689Skan	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
6423169689Skan	Likewise.
6424169689Skan	* tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
6425169689Skan	free_temp_expr_table, find_replaceable_exprs): Likewise.
6426169689Skan	* tree-sra.c (scan_function, scalarize_parms): Likewise.
6427169689Skan	* tree-ssa-alias.c (init_alias_info,
6428169689Skan	compute_points_to_and_addr_escape,
6429169689Skan	compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
6430169689Skan	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
6431169689Skan	* tree-ssa-live.c (new_tree_live_info, live_worklist,
6432169689Skan	calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
6433169689Skan	sort_coalesce_list, build_tree_conflict_graph, dump_live_info
6434169689Skan	tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
6435169689Skan	tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
6436169689Skan	add_call_read_ops): Likewise.
6437169689Skan	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
6438169689Skan	* tree-ssa-live.h (num_var_partitions): Return unsigned.
6439169689Skan
6440169689Skan2004-11-03  Dorit Naishlos  <dorit@il.ibm.com>
6441169689Skan
6442169689Skan	PR tree-optimization/18009
6443169689Skan	* tree-vectorizer.h (enum dr_alignment_support): New type.
6444169689Skan	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
6445169689Skan	(LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
6446169689Skan	single data_reference (instead of a varray of references).
6447169689Skan	* tree-vectorizer.c (new_loop_vec_info): Likewise.
6448169689Skan	(vect_gen_niters_for_prolog_loop): Likewise.
6449169689Skan	(vect_update_inits_of_drs): Likewise.
6450169689Skan
6451169689Skan	(vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
6452169689Skan	vect_enhance_data_refs_alignment.
6453169689Skan	(vect_do_peeling_for_alignment): Likewise.
6454169689Skan	(vect_enhance_data_refs_alignment): Decide if and by how much to peel;
6455169689Skan	this functionality used to be in vect_analyze_data_refs_alignment.
6456169689Skan	Also update DR_MISALIGNMENT due to peeling; this functionality used to
6457169689Skan	be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
6458169689Skan	(vect_analyze_data_refs_alignment): Decision on whether and by how much
6459169689Skan	to peel moved to vect_enhance_data_refs_alignment. Call
6460169689Skan	vect_supportable_dr_alignment.
6461169689Skan
6462169689Skan	(vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
6463169689Skan	(vect_compute_data_refs_alignment): Return bool. Consider return value
6464169689Skan	of vect_compute_data_ref_alignment and return true/false accordingly.
6465169689Skan	(vect_enhance_data_refs_alignment): Consider return value of
6466169689Skan	vect_compute_data_refs_alignment and return true/false accordingly.
6467169689Skan
6468169689Skan	(vect_supportable_dr_alignment): New function.
6469169689Skan	(vectorizable_store): Call vect_supportable_dr_alignment.
6470169689Skan	(vectorizable_load): Call vect_supportable_dr_alignment. Alignment
6471169689Skan	support checks moved from here to vect_supportable_dr_alignment.
6472169689Skan
6473169689Skan	(vect_transform_loop): Avoid 80 columns overflow.
6474169689Skan
6475169689Skan2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
6476169689Skan
6477169689Skan	* timevar.c (timevar_enable): Change from
6478169689Skan	static.
6479169689Skan	(timevar_push): Rename to ...
6480169689Skan	(timevar_push_1): this and remove the
6481169689Skan	enabled check.
6482169689Skan	(timevar_pop): Rename to ...
6483169689Skan	(timevar_pop_1): this and remove the
6484169689Skan	enabled check.
6485169689Skan	* timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
6486169689Skan	(timevar_pop): New macro.
6487169689Skan	(timevar_push): New macro.
6488169689Skan	(timevar_enable): Declare.
6489169689Skan
6490169689Skan2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
6491169689Skan
6492169689Skan	* config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
6493169689Skan	libgcc for shared libraries.
6494169689Skan
6495169689Skan2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
6496169689Skan
6497169689Skan	* config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
6498169689Skan	* config/s390/s390.c (s390_split_access_reg): New function.
6499169689Skan	(regclass_map): Add access registers.
6500169689Skan	(get_thread_pointer): Use access register instead of UNSPEC_TP.
6501169689Skan	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
6502169689Skan	(ACCESS_REGNO_P, ACCESS_REG_P): New macros.
6503169689Skan	(TP_REGNUM): New define.
6504169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
6505169689Skan	REG_ALLOC_ORDER): Add access registers.
6506169689Skan	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
6507169689Skan	CANNOT_CHANGE_MODE_CLASS): Support access registers.
6508169689Skan	(enum reg_class): Add ACCESS_REGS.
6509169689Skan	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
6510169689Skan	(REG_CLASS_FROM_LETTER): Add 't' constraint.
6511169689Skan	(REGISTER_NAMES): Add access registers.
6512169689Skan	* config/s390/s390.md (UNSPEC_TP): Remove.
6513169689Skan	("*movdi_64"): Add access register alternatives.  Provide splitters
6514169689Skan	to split DImode access register <-> GPR moves into SImode moves.
6515169689Skan	("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
6516169689Skan	("movstrictsi"): Likewise.
6517169689Skan	("get_tp_64", "get_tp_31"): Reimplement using access registers.
6518169689Skan	("set_tp_64", "set_tp_31"): Likewise.
6519169689Skan	("*set_tp"): New insn.
6520169689Skan
6521169689Skan2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
6522169689Skan
6523169689Skan	* tree-phinodes.c (resize_phi_node): Copy only a portion of
6524169689Skan	the PHI node currently in use.
6525169689Skan
6526169689Skan2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
6527169689Skan
6528169689Skan	PR tree-opt/18231
6529169689Skan	* tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
6530169689Skan	also.
6531169689Skan
6532169689Skan2004-11-03  Andrew MacLeod  <amacleod@redhat.com>
6533169689Skan
6534169689Skan	PR tree-optimization/18270
6535169689Skan	* tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
6536169689Skan	abnormal edges, commit all pending stmts on incoming edges.
6537169689Skan
6538169689Skan2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
6539169689Skan
6540169689Skan	* tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
6541169689Skan	cause extra costs.  Generate canonical RTL.
6542169689Skan
6543169689Skan2004-11-02  Daniel Berlin  <dberlin@dberlin.org>
6544169689Skan
6545169689Skan	* lambda-code.c (lambda_compute_auxillary_space): Update comments.
6546169689Skan	(lambda_compute_target_space). Ditto.
6547169689Skan	* lambda.h (lambda_trans_matrix): Ditto.
6548169689Skan	(lambda_linear_expression): Ditto.
6549169689Skan	(lambda_body_vector): Ditto.
6550169689Skan	(lambda_loopnest): Ditto.
6551169689Skan	* tree-loop-linear.c (gather_interchange_stats): Combine tests,
6552169689Skan	update comments, and remove pointless addition of 0.
6553169689Skan	(linear_transform_loops): Update comments.
6554169689Skan
6555169689Skan2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
6556169689Skan
6557169689Skan	* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
6558169689Skan	CEIL_MOD_EXPR.
6559169689Skan
6560169689Skan2004-11-03 Jeff Law  <law@redhat.com>
6561169689Skan
6562169689Skan	* predict.c (struct block_info_def): Kill "tovisit" field.
6563169689Skan	(propagate_freq): Accept new "tovisit" parameter.  Change
6564169689Skan	read/write access methods for "tovisit" to check the "tovisit"
6565169689Skan	bitmap instead of a bit in block_info_def.
6566169689Skan	(estimate_loops_at_level): Allocate "tovisit" bitmap.  Pass
6567169689Skan	it to propagate_freq.
6568169689Skan
6569169689Skan	* stmt.c (expand_case): Speed up code to detect duplicate case
6570169689Skan	label targets and count unique case label targets.
6571169689Skan
6572169689Skan2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
6573169689Skan
6574169689Skan	* cppdefault.c, cppdefault.h, timevar.h: Update copyright.
6575169689Skan
6576169689Skan2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
6577169689Skan
6578169689Skan	* bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
6579169689Skan
6580169689Skan2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
6581169689Skan
6582169689Skan	* tree-cfg.c (find_taken_edge): Abort if we are given a
6583169689Skan	statement that is neither COND_EXPR nor SWITCH_EXPR.
6584169689Skan
6585169689Skan2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
6586169689Skan
6587169689Skan	* fold-const.c (fold): Reassociate also (x - mult) + mult and
6588169689Skan	(mult - x) + mult.  Cast operands of expression after applying
6589169689Skan	distributive law to the correct types.  Apply distributive law
6590169689Skan	to a * c - b * c for all non-float types.
6591169689Skan
6592169689Skan2004-11-02  Geoffrey Keating  <geoffk@apple.com>
6593169689Skan
6594169689Skan	* configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
6595169689Skan	because we don't want to run them now; instead, set them to
6596169689Skan	stmp-install-fixproto or stmp-install-fixinc.
6597169689Skan	* Makefile.in (stmp-install-fixproto): New.
6598169689Skan	(stmp-install-fixinc): New.
6599169689Skan	* configure: Regenerate.
6600169689Skan
6601169689Skan2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
6602169689Skan
6603169689Skan	* flow.c (init_propagate_block_info): Use bitmap_empty_p on result
6604169689Skan	of bitmap_xor.
6605169689Skan
6606169689Skan2004-11-02  Ziemowit Laski  <zlaski@apple.com>
6607169689Skan
6608169689Skan	* c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
6609169689Skan	(c_types_compatible_p): Move function definition...
6610169689Skan	* c-objc-common.c (c_types_compatible_p): ...here.
6611169689Skan	* c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
6612169689Skan	c-lang.c.
6613169689Skan
6614169689Skan2004-11-02  Steven Bosscher  <stevenb@suse.de>
6615169689Skan
6616169689Skan	* cfgloop.h (struct loop): Update comment.
6617169689Skan	* cse.c (cse_main): Remove obsolete comment.
6618169689Skan
6619169689Skan	* expr.h (gen_cond_trap): Move prototype under functions provided
6620169689Skan	by optabs.c.
6621169689Skan	(canonicalize_condition, get_condition): Move to...
6622169689Skan	* rtl.h (canonicalize_condition, get_condition): ...here.
6623169689Skan	(branch_target_load_optimize): Add comment that this function is
6624169689Skan	in bt-load.c.
6625169689Skan	* loop.c (canonicalize_condition, get_condition): Move to...
6626169689Skan	* rtlanal.c (canonicalize_condition, get_condition): ...here.
6627169689Skan	* sched-deps.c (get_condition): Rename to sched_get_condition.
6628169689Skan	(add_dependence): Update this caller.
6629169689Skan
6630169689Skan2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
6631169689Skan
6632169689Skan	PR tree-opt/16808
6633169689Skan	* tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
6634169689Skan	that the vops get marked for renaming.
6635169689Skan
6636169689Skan2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
6637169689Skan
6638169689Skan	* config/s390/s390.md ("movcc"): Set type attribute.
6639169689Skan
6640169689Skan2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6641169689Skan
6642169689Skan	* tree-phinodes.c (add_phi_arg): Add an assertion that the
6643169689Skan	edge already exists.
6644169689Skan
6645169689Skan2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6646169689Skan
6647169689Skan	* tree-phinodes.c (remove_phi_arg_num): Do not zero the
6648169689Skan	element that's being removed.
6649169689Skan
6650169689Skan2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
6651169689Skan
6652169689Skan	* tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
6653169689Skan	arguments using PENDING_STMT.
6654169689Skan	(thread_block): Call copy_phis_to_block after redirecting an
6655169689Skan	edge.
6656169689Skan
6657169689Skan2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
6658169689Skan
6659169689Skan	* bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
6660169689Skan	bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
6661169689Skan	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
6662169689Skan	(bitmap_ior_and_compl_into): Produce bool.
6663169689Skan	(bitmap_union_of_diff): Rename to ...
6664169689Skan	(bitmap_ior_and_compl): ... here. Produce bool.
6665169689Skan	* bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
6666169689Skan	bitmap_operation directly.
6667169689Skan	(bitmap_union_of_diff): Rename to ...
6668169689Skan	(bitmap_ior_and_compl): ... here. Return bool, use
6669169689Skan	bitmap_operation directly.
6670169689Skan	* df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
6671169689Skan	(df_ru_transfer_function, df_lr_transfer_function): Likewise.
6672169689Skan	* global.c (modify_bb_reg_pav): Likewise.
6673169689Skan
6674169689Skan	* bitmap.h (bitmap_equal_p): Return bool.
6675169689Skan	(bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
6676169689Skan	* bitmap.c (bitmap_equal_p): Return bool. Compare directly.
6677169689Skan	(bitmap_intersect_p, bitmap_intersect_compl_p): New.
6678169689Skan	* flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
6679169689Skan	bitmap_intersect_compl_p.
6680169689Skan	* ifcvt (dead_or_predicable): Likewise.
6681169689Skan
6682169689Skan2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
6683169689Skan
6684169689Skan	PR rtl-optimization/17104
6685169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
6686169689Skan	loads in zero_extend.
6687169689Skan
6688169689Skan2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
6689169689Skan
6690169689Skan	PR debug/18242
6691169689Skan	* toplev.c (debug_type_names): Remove "dwarf-1".
6692169689Skan
6693169689Skan2004-11-02  Ben Elliston  <bje@au.ibm.com>
6694169689Skan
6695169689Skan	* timevar.h (timevar_get): Remove.
6696169689Skan	* timevar.c (timevar_get): Remove unused function.
6697169689Skan
6698169689Skan2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
6699169689Skan
6700169689Skan	* doc/include/texinfo.tex: Update from Texinfo CVS.
6701169689Skan
6702169689Skan2004-11-02  Ben Elliston  <bje@au.ibm.com>
6703169689Skan
6704169689Skan	* cppdefault.h (cpp_SYSROOT): Remove.
6705169689Skan	* cppdefault.c (cpp_SYSROOT): Likewise.
6706169689Skan
6707169689Skan2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
6708169689Skan
6709169689Skan	PR tree-optimization/16447
6710169689Skan	* tree-cfg.c (bsi_commit_one_edge_insert): Rename from
6711169689Skan	bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
6712169689Skan	(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
6713169689Skan	* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
6714169689Skan	* tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
6715169689Skan	* tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
6716169689Skan	(same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
6717169689Skan	(identical_copies_p): New.  Return true is two copies are the same.
6718169689Skan	(identical_stmt_lists_p): New.  Return true if stmt lists are the same.
6719169689Skan	(analyze_edges_for_bb): New.  Determine how best to insert edge stmts
6720169689Skan	for a basic block.
6721169689Skan	(perform_edge_inserts): New.  Determine what to do with all stmts that
6722169689Skan	have been inserted on edges.
6723169689Skan	(remove_ssa_form): Analyze and commit edges from here.
6724169689Skan
6725169689Skan2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
6726169689Skan
6727169689Skan	PR bootstrap/18232
6728169689Skan	* bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
6729169689Skan	(EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
6730169689Skan	(EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
6731169689Skan	(EXECUTE_IF_AND_IN_BITMAP): Likewise.
6732169689Skan
6733169689Skan2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
6734169689Skan
6735169689Skan	PR c/18239
6736169689Skan	* c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
6737169689Skan	parameter declarations.
6738169689Skan
6739169689Skan2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
6740169689Skan
6741169689Skan	* config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
6742169689Skan	(s390_secondary_input_reload_class)
6743169689Skan	(s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
6744169689Skan	register.
6745169689Skan	(s390_expand_cmpmem): Enable cmpmem implementation.
6746169689Skan	* config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
6747169689Skan	Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
6748169689Skan	(REG_CLASS_FROM_LETTER): New constraint 'c' added.
6749169689Skan	* config/s390/s390.md ("movcc"): New insn pattern.
6750169689Skan	* doc/md.texi: Document 'c' constraint for s390.
6751169689Skan
6752169689Skan2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
6753169689Skan
6754169689Skan	PR c++/18064
6755169689Skan	* doc/extend.texi (Deprecated Features): Deprecate G++ covariant
6756169689Skan	extension.
6757169689Skan
6758169689Skan2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
6759169689Skan
6760169689Skan	Fix PR tree-optimization/17672
6761169689Skan	Fix PR tree-optimization/18168
6762169689Skan
6763169689Skan	* lambda-code.c (lambda_lattice_compute_base): Fix reversed
6764169689Skan	assert test.
6765169689Skan	(gcc_tree_to_linear_expression): Add extra to existing constant.
6766169689Skan	(depth_of_nest): Factor out function used in various places.
6767169689Skan	(gcc_loop_to_lambda_loop): Clean up code a little bit. No
6768169689Skan	functional changes.
6769169689Skan	(find_induction_var_from_exit_cond): Stop guessing, and just
6770169689Skan	get the right answer :).
6771169689Skan	(gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
6772169689Skan	Print out message about result of attempt to create perfect nest.
6773169689Skan	(lbv_to_gcc_expression): Add type argument, use it to do math
6774169689Skan	and induction variable creation.
6775169689Skan	(lle_to_gcc_expression): Ditto.
6776169689Skan	(lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
6777169689Skan	oldiv. Pass type argument to lle_to_gcc_expression and
6778169689Skan	lbv_to_gcc_expression.
6779169689Skan	Reset number of iterations after transformation.
6780169689Skan	(perfect_nestify): Remove useless pre-allocation, and cleanup
6781169689Skan	a small amount.
6782169689Skan
6783169689Skan	* tree-data-ref.c (build_classic_dist_vector): Return false for
6784169689Skan	dependences completely outside of the loop nest we asked about.
6785169689Skan	(build_classic_dir_vector): Ditto.
6786169689Skan	(compute_data_dependences_for_loop): Only add dependence relations
6787169689Skan	inside the loop we asked about.
6788169689Skan
6789169689Skan	* tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
6790169689Skan	Compute immediate uses.
6791169689Skan
6792169689Skan	* tree-optimize.c: Move linear_transform_loops to before ivcanon.
6793169689Skan
6794169689Skan2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6795169689Skan
6796169689Skan	* tree-cfg.c (thread_jumps): Fix a comment typo.
6797169689Skan
6798169689Skan2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
6799169689Skan
6800169689Skan	* tree-cfg.c (thread_jumps): Fix a comment typo.
6801169689Skan
6802169689Skan2004-10-31  Nicolas Pitre <nico@cam.org>
6803169689Skan
6804169689Skan	* config/arm/ieee754-sf.S (floatdisf): Fix regression with
6805169689Skan	values smaller than 2^32.
6806169689Skan
6807169689Skan2004-10-31 Jeff Law  <law@redhat.com>
6808169689Skan
6809169689Skan	* cfgloop.h (struct loop): Remove unused "nodes" field.
6810169689Skan	* timevar.def (TV_TREE_LOOP_BOUNDS): New.
6811169689Skan	* tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
6812169689Skan	instead of calling flow_bb_inside_loop_p for every basic block
6813169689Skan	in the function.
6814169689Skan	* tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
6815169689Skan
6816169689Skan2004-10-31  Graham Stott <graham.stott@btinternet.com>
6817169689Skan
6818169689Skan	* config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
6819169689Skan	INT_5_BITS instead of VAL_5_BITS_P.
6820169689Skan
6821169689Skan2004-10-31  Roger Sayle  <roger@eyesopen.com>
6822169689Skan
6823169689Skan	PR middle-end/14521
6824169689Skan	* tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
6825169689Skan	for consistent quoting in diagnostic messages.
6826169689Skan	(expand_call_inline): Likewise.
6827169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
6828169689Skan	* tree-ssa.c (warn_uninitialized_var): Likewise.
6829169689Skan	(warn_uninitialized_phi): Likewise.
6830169689Skan
6831169689Skan2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
6832169689Skan
6833169689Skan	* config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
6834169689Skan	mode check.
6835169689Skan
6836169689Skan2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
6837169689Skan
6838169689Skan	* c-common.c: Fix a comment typo.
6839169689Skan
6840169689Skan2004-10-31  Jason Merrill  <jason@redhat.com>
6841169689Skan
6842169689Skan	PR middle-end/17526
6843169689Skan	* tree-gimple.c (is_gimple_mem_rhs): Also require a val for
6844169689Skan	aggregate types that are not BLKmode.
6845169689Skan
6846169689Skan2004-10-30  Ziemowit Laski  <zlaski@apple.com>
6847169689Skan
6848169689Skan	* c-common.h (objc_lookup_ivar): Add second parameter to
6849169689Skan	prototype.
6850169689Skan	* c-typeck.c (build_external_ref): After looking up symbol,
6851169689Skan	pass it to objc_lookup_ivar() to decide whether it or the
6852169689Skan	ivar should be used, rather than deciding the issue locally.
6853169689Skan	* stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
6854169689Skan	which is simply returned in the non-ObjC case.
6855169689Skan
6856169689Skan2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
6857169689Skan
6858169689Skan	* sdbout.c (sdbout_symbol): Do not output type .def statements
6859169689Skan	for builtin types.
6860169689Skan
6861169689Skan2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6862169689Skan
6863169689Skan	* c-common.c (catenate_strings): New.
6864169689Skan	(c_parse_error): Use it.  Don't over-escape.
6865169689Skan
6866169689Skan2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
6867169689Skan
6868169689Skan	* config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
6869169689Skan	modify the for loop expressions for it.  Remove unnecessary casts.
6870169689Skan	(sh_expand_prologue): Declare reg as unsigned.
6871169689Skan	(sh_gimplify_va_arg_expr): Initinalize lab_over.
6872169689Skan	(sh_handle_sp_switch_attribute): Add const qualifier appropriately.
6873169689Skan
6874169689Skan2004-10-30  Geoffrey Keating  <geoffk@apple.com>
6875169689Skan
6876169689Skan	* doc/invoke.texi (Darwin Options): Improve description of
6877169689Skan	how the subtype is chosen.
6878169689Skan
6879169689Skan2004-10-30  Roger Sayle  <roger@eyesopen.com>
6880169689Skan
6881169689Skan	PR middle-end/18096
6882169689Skan	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
6883169689Skan	the stack adjustment, "size", is valid for Pmode.  If the stack
6884169689Skan	frame is too large, generate a trap insn and issue a warning.
6885169689Skan
6886169689Skan2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6887169689Skan
6888169689Skan	* tree-ssa-dom.c: Fix comment typos.
6889169689Skan
6890169689Skan2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
6891169689Skan
6892169689Skan	* config/sh/sh.c (prepare_move_operands): Use operands[0]
6893169689Skan	for the output rtl if no_new_pseudos is set.  Remove redundant
6894169689Skan	line.
6895169689Skan
6896169689Skan2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
6897169689Skan
6898169689Skan	PR c/16666
6899169689Skan	* c-decl.c (start_function): Don't check for DECL_BUILT_IN when
6900169689Skan	determining whether to copy parameter types from a previous
6901169689Skan	prototype declaration.
6902169689Skan
6903169689Skan2004-10-29  Roger Sayle  <roger@eyesopen.com>
6904169689Skan
6905169689Skan	PR rtl-optimization/17581
6906169689Skan	* cselib.c (cselib_process_insn): The last instruction of a libcall
6907169689Skan	block, with the REG_RETVAL note, should be considered in the libcall.
6908169689Skan	* gcse.c (do_local_cprop): Allow constants to be propagated outside
6909169689Skan	of libcall blocks.
6910169689Skan	(adjust_libcall_notes): Use simplify_replace_rtx instead of
6911169689Skan	replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
6912169689Skan
6913169689Skan2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6914169689Skan
6915169689Skan	* tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
6916169689Skan
6917169689Skan2004-10-29 Jeff Law  <law@redhat.com>
6918169689Skan
6919169689Skan	* tree-ssa-dom.c (struct edge_info): New structure holding
6920169689Skan	edge equivalences and edge redirection information.
6921169689Skan	(get_eq_expr_value, record_dominating_conditions): Kill.
6922169689Skan	(propagate_to_outgoing_edges): Renamed from cprop_into_phis.
6923169689Skan	Call record_edge_info.
6924169689Skan	(allocate_edge_info, free_edge_info): New.
6925169689Skan	(tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
6926169689Skan	rather than cprop_into_phis.  Free all edge infos before threading
6927169689Skan	jumps.
6928169689Skan	(thread_across_edge): Allocate new edge info structures as needed
6929169689Skan	and store the redirection target into the edge info structure
6930169689Skan	instead of the edge's AUX field.
6931169689Skan	(dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
6932169689Skan	(record_equivalence_from_incoming_edge): Lose unnecessary argument.
6933169689Skan	Revamp code which finds and records equivalences associated with
6934169689Skan	edges to use saved data in the edge_info structure.
6935169689Skan	(record_equivalencs_from_phis): Similarly.
6936169689Skan	(dom_opt_finalize_block): Revamp code which finds and records
6937169689Skan	equivalences associated with edges to use saved data in the
6938169689Skan	edge_info structure.
6939169689Skan	(build_and_record_new_cond): New function.
6940169689Skan	(record_conditions): Use build_and_record_new_cond to record
6941169689Skan	dominating conditions.
6942169689Skan	(record_edge_info): New function.
6943169689Skan	(record_range): Tighten test for conditions which create
6944169689Skan	useful range records.
6945169689Skan
6946169689Skan2004-10-29  Geoffrey Keating  <geoffk@apple.com>
6947169689Skan
6948169689Skan	* config/i386/darwin.h (ASM_SPEC): Simplify.
6949169689Skan	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
6950169689Skan	* config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
6951169689Skan	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
6952169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
6953169689Skan	(LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
6954169689Skan	in all cases.  Pass the right -arch or -arch_only based on -mcpu.
6955169689Skan	(ASM_SPEC): Handle -force_cpusubtype_ALL.
6956169689Skan	* doc/invoke.texi (Darwin Options): Improve documentation for
6957169689Skan	Darwin linker (and libtool) switches.
6958169689Skan
6959169689Skan	* config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
6960169689Skan
6961169689Skan2004-10-29  Stan Shebs  <shebs@apple.com>
6962169689Skan
6963169689Skan	* config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
6964169689Skan
6965169689Skan2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6966169689Skan
6967169689Skan	* tree-phinodes.c (allocate_phi_node): New.
6968169689Skan	(make_phi_node, resize_phi_node): Use it.
6969169689Skan
6970169689Skan2004-10-29  David Edelsohn  <edelsohn@gnu.org>
6971169689Skan
6972169689Skan	* config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
6973169689Skan	* config/rs6000/darwin.h (TARGET_POWER): Define as 0.
6974169689Skan
6975169689Skan2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6976169689Skan
6977169689Skan	* tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
6978169689Skan	the whole PHI node.
6979169689Skan	* tree.h (tree_phi_node): Tell the garbage collector to chase
6980169689Skan	num_args arguments.
6981169689Skan
6982169689Skan2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
6983169689Skan
6984169689Skan	* opts.c (decode_options): Lower the crossjump threshold for -Os.
6985169689Skan
6986169689Skan2004-10-29  Diego Novillo  <dnovillo@redhat.com>
6987169689Skan
6988169689Skan	* tree.h (struct tree_ssa_name): Remove field 'equiv'.
6989169689Skan
6990169689Skan2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
6991169689Skan
6992169689Skan	* bitmap.h (bitmap_empty_p): New.
6993169689Skan	(bitmap_and, bitmap_and_into, bitmap_and_compl,
6994169689Skan	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
6995169689Skan	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
6996169689Skan	operation macros.
6997169689Skan	(bitmap_ior_and_compl): Rename to ...
6998169689Skan	(bitmap_ior_and_compl_into): ... here.
6999169689Skan	* bitmap.c (bitmap_equal_p): Use bitmap_xor.
7000169689Skan	(bitmap_ior_and_compl): Rename to ...
7001169689Skan	(bitmap_ior_and_compl_into): ... here. Adjust. Return changed
7002169689Skan	flag.
7003169689Skan	(bitmap_union_of_diff): Use renamed bitmap functions.
7004169689Skan	* basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
7005169689Skan	XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
7006169689Skan	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
7007169689Skan	* df.c (df_bb_rd_local_compute)
7008169689Skan	* flow.c (calculate_global_regs_live,
7009169689Skan	init_propagate_block_info): Likewise.
7010169689Skan	* ifcvt.c (find_if_case_1, find_if_case_2,
7011169689Skan	dead_or_predicable): Likewise.
7012169689Skan	* ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
7013169689Skan	reset_conflicts, conflicts_between_webs): Likewise.
7014169689Skan	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
7015169689Skan	detect_web_parts_to_rebuild): Likewise.
7016169689Skan	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
7017169689Skan	* tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
7018169689Skan	* tree-sra.c (decide_instantiations): Likewise.
7019169689Skan	* tree-ssa-alias.c (create_name_tags,
7020169689Skan	merge_pointed_to_info): Likewise.
7021169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
7022169689Skan	* tree-ssa-loop-im.c (move_computations): Likewise.
7023169689Skan	* tree-ssa-operands.c (get_call_expr_operands): Likewise.
7024169689Skan	* tree-ssa-pre.c (fini_pre): Likewise.
7025169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
7026169689Skan	* tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
7027169689Skan	* tree-vectorizer.c (vectorize_loops): Likewise.
7028169689Skan
7029169689Skan2004-10-29  Nick Clifton  <nickc@redhat.com>
7030169689Skan
7031169689Skan	config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
7032169689Skan	adding the PIC register to the fixed_regs array, also add it
7033169689Skan	to the call_used_regs array.
7034169689Skan
7035169689Skan2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
7036169689Skan
7037169689Skan	* gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
7038169689Skan	with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
7039169689Skan
7040169689Skan2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
7041169689Skan
7042169689Skan	* tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
7043169689Skan	(rewrite_blocks): Modify argument, and use it to decide which
7044169689Skan	function to call.
7045169689Skan	(rewrite_def_def_chains): Call rewrite_blocks with true here.
7046169689Skan	(rewrite_into_ssa): and call it with false here.
7047169689Skan
7048169689Skan2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
7049169689Skan
7050169689Skan	* tree-phinodes.c (add_phi_arg): Turn an "if" that always
7051169689Skan	triggers into gcc_assert.
7052169689Skan
7053169689Skan2004-10-28  Diego Novillo  <dnovillo@redhat.com>
7054169689Skan
7055169689Skan	PR tree-optimization/16728
7056169689Skan	* tree-flow.h (get_ptr_info): Declare.
7057169689Skan	* tree-ssa-alias.c (get_ptr_info): Make extern.
7058169689Skan	* tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
7059169689Skan	alias information.
7060169689Skan
7061169689Skan2004-10-28  Stan Shebs  <shebs@apple.com>
7062169689Skan
7063169689Skan	* config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
7064169689Skan	* config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
7065169689Skan	case.
7066169689Skan
7067169689Skan2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
7068169689Skan
7069169689Skan	* tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
7070169689Skan	prevent their later unnecessary registration.
7071169689Skan	(mf_build_check_statement_for): Remove "addr" argument, and
7072169689Skan	related "__mf_value" generated code.  Update callers.
7073169689Skan	(mf_decl_eligible_p): New function, factored from mx_register_decls.
7074169689Skan	(mx_register_decls): Call it.
7075169689Skan	(mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
7076169689Skan	to restore support for complex nested expressions.
7077169689Skan	(mudflap_enqueue_decl): Simplify.  Move registration call emission
7078169689Skan	out ...
7079169689Skan	(mudflap_finish_file): ... to here.
7080169689Skan	(mudflap_enqueue_constant): Remove dump code.
7081169689Skan
7082169689Skan2004-10-28  Zack Weinberg  <zack@codesourcery.com>
7083169689Skan
7084169689Skan	PR 18199
7085169689Skan	* dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
7086169689Skan	(DBX_FINISH_STABS): Add (unused by default) SYM parameter.
7087169689Skan	(dbxout_finish_complex_stabs): Update to match.
7088169689Skan	(dbxout_symbol_location): Call emit_pending_bincls_if_required
7089169689Skan	and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
7090169689Skan	dbxout_begin_complex_stabs_noforcetext.
7091169689Skan	* xcoffout.h (DBX_FINISH_STABS): Restore special case for
7092169689Skan	N_GSYM, using new SYM parameter.  Correct logic for special
7093169689Skan	cases for N_FUN.
7094169689Skan
7095169689Skan	* varasm.c (function_section): If DECL is NULL_TREE, don't try
7096169689Skan	to do anything else.  Do not call get_insns if cfun or
7097169689Skan	cfun->emit are NULL.
7098169689Skan
7099169689Skan2004-10-28  Adam Nemet  <anemet@lnxw.com>
7100169689Skan
7101169689Skan	PR middle-end/18160
7102169689Skan	* c-typeck.c (c_mark_addressable): Issue error if address of a
7103169689Skan	register variable is taken.  Use "%qD" to print DECL_NAME.
7104169689Skan
7105169689Skan2004-10-28  Diego Novillo  <dnovillo@redhat.com>
7106169689Skan
7107169689Skan	* opts.c (decode_options): Don't run PRE at -Os.
7108169689Skan
7109169689Skan2004-10-28  Richard Henderson  <rth@redhat.com>
7110169689Skan
7111169689Skan	* config/alpha/alpha.md (movqicc_internal): Allow exactly one
7112169689Skan	zero in the conditional.
7113169689Skan	(movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
7114169689Skan
7115169689Skan2004-10-28  Richard Henderson  <rth@redhat.com>
7116169689Skan
7117169689Skan	* cse.c (memory_extend_rtx): Remove.
7118169689Skan	(cse_main): Don't set it.
7119169689Skan	(cse_insn): Use a local buffer instead.
7120169689Skan
7121169689Skan2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
7122169689Skan
7123169689Skan	* profile.c (branch_prob): Call to init_edge_profiler added.
7124169689Skan	* rtl-profile.c (rtl_init_edge_profiler): New function.
7125169689Skan	(rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
7126169689Skan	call to safe_insert_insn_on_edge.
7127169689Skan	(rtl_profile_hooks): rtl_init_edge_profiler added.
7128169689Skan	* tree-profile.c (tree_init_edge_profiler): New function.
7129169689Skan	(tree_profile_hooks): tree_init_edge_profiler added.
7130169689Skan	* value-prof.h (profile_hooks) init_edge_profiler prototype added.
7131169689Skan
7132169689Skan2004-10-28  Nick Clifton  <nickc@redhat.com>
7133169689Skan
7134169689Skan	* config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
7135169689Skan	emit_jump_insn() to generate the return instruction.
7136169689Skan
7137169689Skan2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7138169689Skan
7139169689Skan	* tree-phinodes.c: Remove trailing whitespace.
7140169689Skan
7141169689Skan2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7142169689Skan
7143169689Skan	* tree-ssa-loop-ivopts.c: Fix a comment typo.
7144169689Skan	* doc/invoke.texi: Fix a typo.
7145169689Skan
7146169689Skan2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7147169689Skan
7148169689Skan	* Makefile.in (OBJS-common): Remove duplicates.
7149169689Skan
7150169689Skan2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7151169689Skan
7152169689Skan	* lambda-code.c (nestify_update_pending_stmts): Remove.
7153169689Skan	(perfect_nestify): Use flush_pending_stmts instead of
7154169689Skan	nestify_update_pending_stmts.
7155169689Skan	* tree-cfg.c (tree_make_forwarder_block): Use
7156169689Skan	flush_pending_stmts.
7157169689Skan	* tree-flow.h: Add a prototype for flush_pending_stmts.
7158169689Skan	* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
7159169689Skan	Use flush_pending_stmts.
7160169689Skan	(lv_update_pending_stmts): Remove.
7161169689Skan	(tree_ssa_loop_version): Use flush_pending_stmts instead of
7162169689Skan	lv_update_pending_stmts.
7163169689Skan	* tree-ssa.c (flush_pending_stmts): New.
7164169689Skan
7165169689Skan2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
7166169689Skan
7167169689Skan	PR target/15286
7168169689Skan	* final.c (alter_subreg): Compute correct offset to use with
7169169689Skan	paradoxical SUBREGs of memory operands.
7170169689Skan	* recog.c (general_operand): Allow paradoxical SUBREGs of
7171169689Skan	memory operands after reload.
7172169689Skan	* simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
7173169689Skan	has failed when passed a hard register.
7174169689Skan
7175169689Skan2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
7176169689Skan
7177169689Skan	* function.c (assign_parm_setup_block): Handle parallels correctly.
7178169689Skan
7179169689Skan2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
7180169689Skan
7181169689Skan	* final.c (shorten_branches): Initialize flags structure.
7182169689Skan
7183169689Skan2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
7184169689Skan
7185169689Skan	* tree.c (int_cst_node, int_cst_hash_table): New variables.
7186169689Skan	(init_ttree): Initialize them.
7187169689Skan	(int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
7188169689Skan	(build_int_cst_wide): Use hash table for oversized integers.
7189169689Skan
7190169689Skan2004-10-28  Nick Clifton  <nickc@redhat.com>
7191169689Skan
7192169689Skan	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
7193169689Skan	begin_label.
7194169689Skan
7195169689Skan2004-10-27  Richard Henderson  <rth@redhat.com>
7196169689Skan
7197169689Skan	PR middle-end/18163
7198169689Skan	* expr.c (emit_group_load): Don't go force temporary for memory
7199169689Skan	or concat source.
7200169689Skan	(emit_group_store): Similarly.
7201169689Skan
7202169689Skan2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
7203169689Skan
7204169689Skan	PR other/18186
7205169689Skan	* common.opt (--param): Fix spelling of parameter.
7206169689Skan
7207169689Skan2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
7208169689Skan
7209169689Skan	PR tree-opt/17529
7210169689Skan	* tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
7211169689Skan	Don't fold statement.
7212169689Skan	<case ASM_EXPR>: Fold the statement.
7213169689Skan
7214169689Skan2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7215169689Skan
7216169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
7217169689Skan	<COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
7218169689Skan
7219169689Skan2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7220169689Skan
7221169689Skan	* doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
7222169689Skan	doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
7223169689Skan	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
7224169689Skan	doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
7225169689Skan
7226169689Skan2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7227169689Skan
7228169689Skan	* doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
7229169689Skan	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
7230169689Skan	punctuation outside quotes.
7231169689Skan
7232169689Skan2004-10-27  David Mosberger  <davidm@hpl.hp.com>
7233169689Skan	    James E Wilson  <wilson@specifixinc.com>
7234169689Skan
7235169689Skan	PR target/13158
7236169689Skan	* config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
7237169689Skan	sibcall alloc instruction.
7238169689Skan	(process_set): Handle sibcall alloc instruction.
7239169689Skan
7240169689Skan2004-10-27  Geoffrey Keating  <geoffk@apple.com>
7241169689Skan
7242169689Skan	* config/rs6000/rs6000.c (rs6000_attribute_table): Add
7243169689Skan	SUBTARGET_ATTRIBUTE_TABLE.
7244169689Skan	* config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
7245169689Skan	(SUBTARGET_ATTRIBUTE_TABLE): Define.
7246169689Skan	* config/darwin.c (darwin_handle_weak_import_attribute): New.
7247169689Skan	(HAVE_DEAD_STRIP): Delete.
7248169689Skan	(no_dead_strip): Don't test HAVE_DEAD_STRIP.
7249169689Skan	* config/darwin-protos.h (darwin_handle_weak_import_attribute):
7250169689Skan	Prototype.
7251169689Skan
7252169689Skan	* doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
7253169689Skan
7254169689Skan	* config/darwin.h (GTHREAD_USE_WEAK): Define.
7255169689Skan
7256169689Skan2004-10-28  Ben Elliston  <bje@au.ibm.com>
7257169689Skan
7258169689Skan	* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
7259169689Skan	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
7260169689Skan	* params.h (SRA_MAX_STRUCTURE_SIZE): New.
7261169689Skan	(SRA_FIELD_STRUCTURE_RATIO): Likewise.
7262169689Skan	* tree-sra.c: Include "params.h".
7263169689Skan	(decide_block_copy): Use new parameters.
7264169689Skan	* doc/invoke.texi (Optimize Options): Document new SRA pass
7265169689Skan	parameters sra-max-structure-size and sra-field-structure-ratio.
7266169689Skan
7267169689Skan2004-10-27  Nicolas Pitre <nico@cam.org>
7268169689Skan
7269169689Skan	* config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
7270169689Skan
7271169689Skan2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
7272169689Skan
7273169689Skan	PR tree-optimization/18048
7274169689Skan	* fold-const.c (try_move_mult_to_index): New function.
7275169689Skan	(fold): Use try_move_mult_to_index.
7276169689Skan	* tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
7277169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
7278169689Skan	an all-ones unsigned constant without extra bits.
7279169689Skan	* tree.c (build_low_bits_mask): New function.
7280169689Skan	* tree.h (build_low_bits_mask): Declare.
7281169689Skan
7282169689Skan2004-10-27  David Edelsohn  <edelsohn@gnu.org>
7283169689Skan
7284169689Skan	PR target/17956
7285169689Skan	* config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
7286169689Skan	final condition.
7287169689Skan	(minsf3): Same.
7288169689Skan	(maxdf3): Same.
7289169689Skan	(mindf3): Same.
7290169689Skan
7291169689Skan2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7292169689Skan
7293169689Skan	* tree-cfg.c (thread_jumps): Speed up by reordering the two
7294169689Skan	conditions for entering basic blocks into worklist.
7295169689Skan
7296169689Skan2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7297169689Skan
7298169689Skan	* tree-cfg.c (thread_jumps): Speed up by pretending to have
7299169689Skan	ENTRY_BLOCK_PTR in worklist.
7300169689Skan
7301169689Skan2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7302169689Skan
7303169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
7304169689Skan	<GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
7305169689Skan
7306169689Skan2004-10-27  Daniel Berlin <dberlin@dberlin.org>
7307169689Skan
7308169689Skan	Fix PR tree-optimization/17133
7309169689Skan
7310169689Skan	* tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
7311169689Skan	def kill operand.
7312169689Skan
7313169689Skan	* tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
7314169689Skan	(get_v_must_def_result_ptr): Modify for new structure of
7315169689Skan	v_must_defs array.
7316169689Skan	(get_v_must_def_kill_ptr): New.
7317169689Skan	(op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
7318169689Skan	(op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
7319169689Skan	(op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
7320169689Skan	(op_iter_init): Initialize new mustu members.
7321169689Skan	(op_iter_next_mustdef): New function.
7322169689Skan	(op_iter_init_mustdef): Ditto.
7323169689Skan
7324169689Skan	* tree-flow.h (rewrite_def_def_chains): New function.
7325169689Skan
7326169689Skan	* tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
7327169689Skan	(ssa_mark_def_sites): Ditto.
7328169689Skan	(rewrite_stmt): Ditto.
7329169689Skan	(ssa_rewrite_stmt): Ditto.
7330169689Skan	(rewrite_blocks): Factor out from rewrite_into_ssa.
7331169689Skan	(mark_def_block_sites): Ditto.
7332169689Skan	(rewrite_def_def_chains): New function, just rewrites def-def
7333169689Skan	chains without phi node insertion.
7334169689Skan
7335169689Skan	* tree-pass.h (TODO_fix_def_def_chains): New todo flag.
7336169689Skan
7337169689Skan	* tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
7338169689Skan
7339169689Skan	* tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
7340169689Skan	they include the rhs now.
7341169689Skan
7342169689Skan	* tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
7343169689Skan	V_MUST_DEF_RESULT.
7344169689Skan
7345169689Skan	* tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
7346169689Skan	Update callers.
7347169689Skan	(mark_really_necessary_kill_operand_phis): New function.
7348169689Skan	(perform_tree_ssa_dce): Call it.
7349169689Skan	(pass_dce): Add TODO_fix_def_def_chains.
7350169689Skan	(pass_cd_dce): Ditto.
7351169689Skan
7352169689Skan	* tree-ssa-loop-im.c (determine_max_movement): Look at kills as
7353169689Skan	well.
7354169689Skan	(rewrite_mem_refs): Ditto.
7355169689Skan
7356169689Skan	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
7357169689Skan	as well.
7358169689Skan
7359169689Skan	* tree-ssa-operands.c (allocate_v_may_def_optype):
7360169689Skan	v_may_def_operand_type_t became v_def_use_operand_type_t.
7361169689Skan	(allocate_v_must_def_optype) Ditto.
7362169689Skan	(finalize_ssa_v_must_defs): Update for new operand type, as well
7363169689Skan	as setting the use portion as well.
7364169689Skan	(copy_virtual_operands): Copy the kill operand as well.
7365169689Skan	(create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
7366169689Skan	V_MUST_DEF_RESULT.
7367169689Skan
7368169689Skan	* tree-ssa-operands.h (v_may_def_operand_type): Renamed to
7369169689Skan	v_def_use_operand_type.
7370169689Skan	(v_must_def_optype_d): Use v_def_use_operand_type.
7371169689Skan	(V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
7372169689Skan	(V_MUST_DEF_KILL_*): New macros.
7373169689Skan	(struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
7374169689Skan	members.
7375169689Skan	Rename existing must_i and num_v_must members to mustd_i and
7376169689Skan	num_v_mustd.
7377169689Skan	(SSA_OP_VMUSTDEFKILL): New flag.
7378169689Skan	(SSA_OP_VIRTUAL_KILLS): New flag.
7379169689Skan	(SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
7380169689Skan	(SSA_OP_ALL_KILLS): New flag.
7381169689Skan	(FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
7382169689Skan
7383169689Skan	* tree-ssa.c (verify_ssa): Verify virtual kills as well.
7384169689Skan
7385169689Skan	* tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
7386169689Skan	became V_MUST_DEF_RESULT.
7387169689Skan	(rename_variables_in_bb): Rename kill pointer as well.
7388169689Skan
7389169689Skan	* tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
7390169689Skan	immediate uses.
7391169689Skan
7392169689Skan2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
7393169689Skan
7394169689Skan	* dbxout.c (dbxout_source_line): Move declaration of begin_label to
7395169689Skan	the block that needs it.
7396169689Skan
7397169689Skan2004-10-27  Zack Weinberg  <zack@codesourcery.com>
7398169689Skan
7399169689Skan	* dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
7400169689Skan	ATTRIBUTE_UNUSED.
7401169689Skan
7402169689Skan2004-10-27  Zack Weinberg  <zack@codesourcery.com>
7403169689Skan
7404169689Skan	* c-lex.c (cb_def_pragma): Clean up code for making location
7405169689Skan	palatable to diagnostic.c.
7406169689Skan
7407169689Skan2004-10-27  Steven Bosscher  <stevenb@suse.de>
7408169689Skan
7409169689Skan	PR tree-optimization/17757
7410169689Skan	* tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
7411169689Skan	without any PHI arguments left.  Make sure the argument that
7412169689Skan	we're supposed to remove exists at all.
7413169689Skan
7414169689Skan2004-10-27  Paul Brook  <paul@codesourcery.com>
7415169689Skan
7416169689Skan	* configure.ac: Don't test for [build] __cxa_atexit when building a
7417169689Skan	cross compiler.
7418169689Skan	* configure: Regenerate.
7419169689Skan
7420169689Skan2004-10-27  Paul Brook  <paul@codeosurcery.com>
7421169689Skan
7422169689Skan	* configure.ac: Use build_exeext not host_exeext when lookin for
7423169689Skan	target tools.
7424169689Skan	* configure: Regenerate.
7425169689Skan
7426169689Skan2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
7427169689Skan
7428169689Skan	* config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
7429169689Skan
7430169689Skan2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
7431169689Skan	    patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
7432169689Skan
7433169689Skan	PR middle-end/14684
7434169689Skan	* opts.c (OPT_fprofile_generate): Default to -funroll-loops
7435169689Skan	to match -fprofile-use.
7436169689Skan
7437169689Skan2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7438169689Skan
7439169689Skan	* config/rs6000/rs6000.c: Fix a comment typo.
7440169689Skan
7441169689Skan2004-10-27  Zack Weinberg  <zack@codesourcery.com>
7442169689Skan
7443169689Skan	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
7444169689Skan	counter.
7445169689Skan
7446169689Skan2004-10-27  Andreas Schwab  <schwab@suse.de>
7447169689Skan
7448169689Skan	* varasm.c (default_stabs_asm_out_destructor): Mark symbol as
7449169689Skan	unused.
7450169689Skan	(default_stabs_asm_out_constructor): Likewise.
7451169689Skan
7452169689Skan2004-10-26  Geoffrey Keating  <geoffk@apple.com>
7453169689Skan
7454169689Skan	* builtins.c (fold_builtin_unordered_cmp): Always bring both
7455169689Skan	operands to the same type.
7456169689Skan
7457169689Skan2004-10-26  James E Wilson  <wilson@specifixinc.com>
7458169689Skan
7459169689Skan	PR target/18010
7460169689Skan	* emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
7461169689Skan
7462169689Skan2004-10-26  Zack Weinberg  <zack@codesourcery.com>
7463169689Skan
7464169689Skan	* dbxout.c: Include obstack.h.
7465169689Skan	(ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
7466169689Skan	default definition.
7467169689Skan	(ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
7468169689Skan	Default-define here.
7469169689Skan	(DBX_CONTIN_LENGTH): Move definition with others.
7470169689Skan	(DBX_FINISH_STABS): New target macro.
7471169689Skan	(current_sym_code, current_sym_value, current_sym_addr)
7472169689Skan	(current_sym_nchars, CHARS, dbxout_continue)
7473169689Skan	(print_int_cst_octal, print_octal, print_wide_int)
7474169689Skan	(dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
7475169689Skan	(stabstr_ob, stabstr_last_contin_point): New variables.
7476169689Skan	(NUMBER_FMT_LOOP): New improper macro.
7477169689Skan	(dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
7478169689Skan	(dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
7479169689Skan	(dbxout_stab_value_internal_label_diff, dbxout_stabd)
7480169689Skan	(dbxout_begin_stabn, dbxout_begin_stabn_sline)
7481169689Skan	(dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
7482169689Skan	(dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
7483169689Skan	(stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
7484169689Skan	(stabstr_continue, DECL_ACCESSIBILITY_CHAR)
7485169689Skan	New functions and/or proper function-like macros.
7486169689Skan	(CONTIN): Use stabstr_continue, unconditionally.
7487169689Skan	(get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
7488169689Skan	(dbxout_init): Initialize stabstr_ob.  Check
7489169689Skan	NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
7490169689Skan	if it was used.  Use the new interfaces.
7491169689Skan	(dbxout_source_file): Remove file argument; always write to
7492169689Skan	asm_out_file.  Use the new interfaces.
7493169689Skan	(dbxout_type_method_1): Remove second argument which is always
7494169689Skan	DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
7495169689Skan	(dbxout_type_methods): Remove write-only variables.  Use the
7496169689Skan	new interfaces.
7497169689Skan	(dbxout_parms): Refactor to remove code duplicated in each of
7498169689Skan	several successive if-else-if blocks.  Use the new interfaces.
7499169689Skan	(dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
7500169689Skan	(dbxout_source_line, dbxout_finish, dbxout_type_index)
7501169689Skan	(dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
7502169689Skan	(dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
7503169689Skan	(dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
7504169689Skan	(dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
7505169689Skan	Use the new interfaces.
7506169689Skan	* Makefile.in (dbxout.o): Update dependencies.
7507169689Skan
7508169689Skan	* defaults.h: Don't define ASM_STABD_OP.
7509169689Skan	* output.h: Prototype new dbxout_* interfaces.
7510169689Skan	* system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
7511169689Skan	* varasm.c: Don't define ASM_STABS_OP.
7512169689Skan	(default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
7513169689Skan	Use the new dbxout.c interfaces.  Call sorry if neither
7514169689Skan	DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
7515169689Skan
7516169689Skan	* xcoffout.h: Don't define ASM_STABS_OP.
7517169689Skan	(DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
7518169689Skan	(DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
7519169689Skan	(NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
7520169689Skan	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
7521169689Skan	do { ... } while (0) idiom.
7522169689Skan
7523169689Skan	* config/alpha/alpha.c (num_source_filenames): Export.
7524169689Skan	* config/alpha/alpha.h (num_source_filenames): Declare.
7525169689Skan	(DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
7526169689Skan	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
7527169689Skan	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
7528169689Skan	Always use .debugsym.  Update commentary.
7529169689Skan	* config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
7530169689Skan	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
7531169689Skan	* config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
7532169689Skan	Use new interfaces.
7533169689Skan	* config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
7534169689Skan	(macho_branch_islands): Use new interfaces.
7535169689Skan
7536169689Skan	* doc/tm.texi: Update.
7537169689Skan
7538169689Skan2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
7539169689Skan
7540169689Skan	* expr.c (emit_group_store): Do not treat floats as BLKmode.
7541169689Skan	(emit_group_load): Same.
7542169689Skan
7543169689Skan2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
7544169689Skan
7545169689Skan	* c-parse.in (datadef): Use pedwarn rather than error and warning
7546169689Skan	for diagnostic in case of no declaration specifiers.
7547169689Skan
7548169689Skan2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
7549169689Skan
7550169689Skan	PR bootstrap/15747
7551169689Skan	* doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
7552169689Skan	reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
7553169689Skan	can be used to work around this.
7554169689Skan
7555169689Skan2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
7556169689Skan
7557169689Skan	* config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
7558169689Skan	doubles.
7559169689Skan
7560169689Skan2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
7561169689Skan
7562169689Skan	* stmt.c (expand_case): Update a comment.
7563169689Skan
7564169689Skan2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
7565169689Skan
7566169689Skan	* stmt.c (expand_case): Put an assertion that index_expr is
7567169689Skan	never INTEGER_CST.  Don't special case for constant
7568169689Skan	index_expr.
7569169689Skan
7570169689Skan2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
7571169689Skan
7572169689Skan	PR 18162
7573169689Skan	* c-parse.in (designator): Finish with a semi-colon.
7574169689Skan
7575169689Skan2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
7576169689Skan
7577169689Skan	* config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
7578169689Skan	into rotlsi3.
7579169689Skan
7580169689Skan2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
7581169689Skan
7582169689Skan	* stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
7583169689Skan	a default case only.
7584169689Skan
7585169689Skan2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
7586169689Skan
7587169689Skan	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
7588169689Skan	e500 doubles.
7589169689Skan	(spe_build_register_parallel): New.
7590169689Skan	(rs6000_spe_function_arg): Handle e500 doubles.
7591169689Skan	(function_arg): Same.
7592169689Skan	(spe_func_has_64bit_regs_p): Same.
7593169689Skan	(rs6000_function_value): Same.
7594169689Skan	(rs6000_libcall_value): Same.
7595169689Skan	(legitimate_lo_sum_address_p): Return false for e500 doubles.
7596169689Skan
7597169689Skan	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
7598169689Skan	doubles.
7599169689Skan	(DATA_ALIGNMENT): Same.
7600169689Skan	(CANNOT_CHANGE_MODE_CLASS): Same.
7601169689Skan
7602169689Skan2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
7603169689Skan
7604169689Skan	* expr.c (emit_group_load): Handle floats.
7605169689Skan	(emit_group_store): Same.
7606169689Skan
7607169689Skan2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
7608169689Skan
7609169689Skan	* c-lex.c (get_nonpadding_token): Remove.
7610169689Skan	(c_lex_with_flags): Push timevar and eat padding here.  Improve
7611169689Skan	stray token diagnostic.
7612169689Skan	(lex_string): Replace logic with switch statement, eat padding
7613169689Skan	token here.
7614169689Skan
7615169689Skan2004-10-26  Geoffrey Keating  <geoffk@apple.com>
7616169689Skan
7617169689Skan	PR 18149
7618169689Skan	* config/i386/darwin.h (ASM_SPEC): Undef it before defining.
7619169689Skan
7620169689Skan2004-10-25  Geoffrey Keating  <geoffk@apple.com>
7621169689Skan
7622169689Skan	* config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
7623169689Skan	to 'non-weak'.
7624169689Skan	(MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
7625169689Skan	(ASM_MAKE_LABEL_LINKONCE): Delete.
7626169689Skan	(ASM_WEAKEN_DECL): New.
7627169689Skan	(ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
7628169689Skan	(ASM_DECLARE_FUNCTION_NAME): Likewise.
7629169689Skan	(TEXT_SECTION_ASM_OP): Add a tab.
7630169689Skan	(DATA_SECTION_ASM_OP): Likewise.
7631169689Skan	(SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
7632169689Skan	data_section on every section change.
7633169689Skan	(EXTRA_SECTIONS): Add a bunch of new extra sections.
7634169689Skan	(EXTRA_SECTION_FUNCTIONS): Likewise.
7635169689Skan	(USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
7636169689Skan	(JCR_SECTION_NAME): Define.
7637169689Skan	(TARGET_SECTION_TYPE_FLAGS): Don't define.
7638169689Skan	* config/darwin.c (darwin_encode_section_info): A symbol is defined
7639169689Skan	in this file if it is not weak.
7640169689Skan	(textcoal_section): Delete.
7641169689Skan	(datacoal_section): Delete.
7642169689Skan	(darwin_make_decl_one_only): Delete.
7643169689Skan	(machopic_select_section): Handle functions.
7644169689Skan	(darwin_asm_named_section): Add a tab.
7645169689Skan	(darwin_section_type_flags): Delete.
7646169689Skan	(darwin_unique_section): Delete contents.
7647169689Skan	(darwin_emit_unwind_label): Add a tab.  Make decls weak if
7648169689Skan	DECL_WEAK is set.
7649169689Skan	* config/darwin-protos.h (darwin_section_type_flags): Delete.
7650169689Skan	(darwin_make_decl_one_only): Delete.
7651169689Skan	(text_coal_section): New.
7652169689Skan	(text_unlikely_section): New.
7653169689Skan	(text_unlikely_coal_section): New.
7654169689Skan	(const_coal_section): New.
7655169689Skan	(data_coal_section): New.
7656169689Skan	(const_data_coal_section): New.
7657169689Skan	* varasm.c (function_section): Honour
7658169689Skan	USE_SELECT_SECTION_FOR_FUNCTIONS.
7659169689Skan	* dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
7660169689Skan	TARGET_USES_WEAK_UNWIND_INFO is in effect.
7661169689Skan	* dbxout.c (dbxout_source_file): Don't change sections while
7662169689Skan	a function is being output.
7663169689Skan
7664169689Skan2004-10-25  David Ayers  <d.ayers@inode.at>
7665169689Skan
7666169689Skan	* c-common.h: Remove RID_ID.
7667169689Skan	* c-parse.in: Remove OBJECTNAME and references to RID_ID.
7668169689Skan	(typespec_reserved_attr): Add rule for TYPENAME
7669169689Skan	non_empty_protocolrefs.
7670169689Skan	(yylexname): Remove special handling of RID_ID.
7671169689Skan
7672169689Skan2004-10-25  James E Wilson  <wilson@specifixinc.com>
7673169689Skan
7674169689Skan	* doc/invoke.texi (-fcrossjumping): Not enabled at -O.
7675169689Skan
7676169689Skan2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
7677169689Skan
7678169689Skan	PR c/16667
7679169689Skan	* c-parse.in (array_designator): New.
7680169689Skan	(designator): Use it.
7681169689Skan	(initelt): Only permit array_designator without '=', not ".foo".
7682169689Skan
7683169689Skan2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
7684169689Skan	* Makefile.in: removed ggc for cgraphunit.
7685169689Skan	* cgraph.c.dump_cgraph_node: removed static var analysis.
7686169689Skan	* cgraph.h: removed static var analysis data structures and calls.
7687169689Skan	* cgraphunit.c:
7688169689Skan	cgraph_mark_local_and_external_functions:changed name to
7689169689Skan		cgraph_mark_local_functions
7690169689Skan	(print_order,convert_UIDs_in_bitmap,new_static_vars_info,
7691169689Skan	cgraph_reset_static_var_maps,get_global_static_vars_info,
7692169689Skan	get_global_statics_not_read,get_global_statics_not_written,searchc,
7693169689Skan	cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
7694169689Skan	check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
7695169689Skan	scan_for_static_refs,cgraph_characterize_statics_local,
7696169689Skan	clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
7697169689Skan	removed.
7698169689Skan	(cgraph_optimize,init_cgraph): removed calls to static vars analysis
7699169689Skan	* tree-dfa.c find_referenced_vars: removed call to static vars
7700169689Skan	analysis
7701169689Skan	* tree-flow.h static_vars_info: removed
7702169689Skan	* tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
7703169689Skan	removed calls to static vars analysis.
7704169689Skan	get_call_expr_operands: removed callee variable.
7705169689Skan
7706169689Skan2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
7707169689Skan
7708169689Skan	* cfg.c (unchecked_make_edge, redirect_edge_succ,
7709169689Skan	redirect_edge_pred): Use VEC_safe_push instead of
7710169689Skan	VEC_safe_insert.
7711169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
7712169689Skan
7713169689Skan2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
7714169689Skan
7715169689Skan	* cfgloopmanip.c (loopify): Take two more arguments true_edge
7716169689Skan	and false_edge.
7717169689Skan	* cfgloop.h: Adjust the corresponding prototype.
7718169689Skan	* loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
7719169689Skan	* tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
7720169689Skan
7721169689Skan2004-10-25  Jakub Jelinek  <jakub@redhat.com>
7722169689Skan
7723169689Skan	* dwarf2out.c (rtl_for_decl_location): Avoid segfault if
7724169689Skan	DECL_INCOMING_RTL is NULL.
7725169689Skan
7726169689Skan2004-10-25  Steven Bosscher  <stevenb@suse.de>
7727169689Skan
7728169689Skan	* timevar.def (TV_FIND_REFERENCED_VARS): New.
7729169689Skan	* tree-dfa.c (pass_referenced_var): Use it.
7730169689Skan
7731169689Skan2004-10-25  Roger Sayle  <roger@eyesopen.com>
7732169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7733169689Skan
7734169689Skan	* cse.c: Change encoding of quantity numbers to avoid undefined
7735169689Skan	pointer arithmetic on qty_table.
7736169689Skan	(REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
7737169689Skan	(get_cse_reg_info): Initialize reg_qty to a unique negative value.
7738169689Skan	(new_basic_block): Assign "real" quantity numbers from zero.
7739169689Skan	(delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
7740169689Skan	REG_QTY to its unique negative value.
7741169689Skan	(merge_equiv_classes): Calculate need_rehash if quantity is valid.
7742169689Skan	(cse_main): Don't include max_reg when determining max_qty.
7743169689Skan	(cse_basic_block): Avoid subtracting a large offset from qty_table,
7744169689Skan	which causes undefined C99 behaviour.  Only allocate needed memory.
7745169689Skan
7746169689Skan2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
7747169689Skan
7748169689Skan	* stmt.c (expand_case): Remove an obsolete comment.
7749169689Skan
7750169689Skan2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
7751169689Skan
7752169689Skan	PR middle-end/17407
7753169689Skan	* c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
7754169689Skan	layout_type as it is already done by build_array_type.
7755169689Skan	* tree.c (build_array_type): Layout the type even
7756169689Skan
7757169689Skan2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
7758169689Skan
7759169689Skan	* config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
7760169689Skan
7761169689Skan2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
7762169689Skan
7763169689Skan	* config/frv/frv.md (movdi, movdf): Handle wide-constant splits
7764169689Skan	with wider-than-32-bit HOST_WIDE_INTs.
7765169689Skan
7766169689Skan2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
7767169689Skan
7768169689Skan	* config/mips/mips.c(mips_output_filename): Remove unused
7769169689Skan	array ltext_label_name
7770169689Skan
7771169689Skan2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
7772169689Skan
7773169689Skan	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
7774169689Skan
7775169689Skan2004-10-25  Ben Elliston  <bje@au.ibm.com>
7776169689Skan
7777169689Skan	* cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
7778169689Skan
7779169689Skan2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
7780169689Skan
7781169689Skan	* predict.c (predict_loops): Call scev_finalize instead of
7782169689Skan	scev_reset.
7783169689Skan
7784169689Skan2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7785169689Skan
7786169689Skan	* config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
7787169689Skan	config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
7788169689Skan	config/sh/ushmedia.h, config/sparc/elf.h,
7789169689Skan	config/sparc/sp64-elf.h: Update copyright.
7790169689Skan
7791169689Skan2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7792169689Skan
7793169689Skan	* stmt.c (expand_case): Handle the default label outside of
7794169689Skan	the for loop.  Remove code to handle a missing default label.
7795169689Skan
7796169689Skan2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
7797169689Skan
7798169689Skan	* dbxout.c (dbxout_function_decl): Don't use
7799169689Skan	DBX_OUTPUT_FUNCTION_END.
7800169689Skan	* system.h: Poison DBX_OUTPUT_FUNCTION_END.
7801169689Skan	* doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
7802169689Skan
7803169689Skan2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
7804169689Skan
7805169689Skan	PR middle-end/17967
7806169689Skan	* tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
7807169689Skan
7808169689Skan2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
7809169689Skan
7810169689Skan	* tree-ssa-dom.c (record_equality): Use loop depth to determine
7811169689Skan	which way to record the equality as well.
7812169689Skan	(loop_depth_of_name): New function.
7813169689Skan
7814169689Skan2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
7815169689Skan
7816169689Skan	PR middle-end/17793
7817169689Skan	* gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
7818169689Skan	through the operand if it is a useless type conversion.
7819169689Skan
7820169689Skan2004-10-23  Ben Elliston  <bje@au.ibm.com>
7821169689Skan
7822169689Skan	* cfg.c (remove_edge): Use VEC_unordered_remove.
7823169689Skan	(redirect_edge_succ): Likewise.
7824169689Skan	(redirect_edge_pred): Likewise.
7825169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
7826169689Skan
7827169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7828169689Skan
7829169689Skan	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
7830169689Skan	beyond its end.
7831169689Skan
7832169689Skan2004-10-22  Eric Christopher  <echristo@redhat.com>
7833169689Skan
7834169689Skan	* config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
7835169689Skan	saves.
7836169689Skan
7837169689Skan2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
7838169689Skan
7839169689Skan	* config/rs6000/spe.md (spe_extendsfdf2): New.
7840169689Skan	(movdf_e500_double): New.
7841169689Skan	(spe_truncdfsf2): New.
7842169689Skan	(spe_absdf2): New.
7843169689Skan	(spe_nabsdf2): New.
7844169689Skan	(spe_negdf2): New.
7845169689Skan	(sub_adddf3): New.
7846169689Skan	(spe_subdf3): New.
7847169689Skan	(spe_muldf3): New.
7848169689Skan	(spe_floatsidf2): New.
7849169689Skan	(spe_floatunssidf2): New.
7850169689Skan	(fix_truncdfsi2): New.
7851169689Skan	(spe_fixuns_truncdfsi2): New.
7852169689Skan
7853169689Skan	* config/rs6000/rs6000.md (truncdfsf2): Change to expander.
7854169689Skan	(fpr_truncdfsf2): New.
7855169689Skan	(negdf2): Change to expander.
7856169689Skan	(fpr_negdf2): New.
7857169689Skan	(fpr_nabsdf2): Name pattern.
7858169689Skan	(adddf3): Change to expander.
7859169689Skan	(fpr_adddf3): Nem.
7860169689Skan	(subdf3): Change to expander.
7861169689Skan	(fpr_subdf3): New.
7862169689Skan	(muldf3): Change to expander.
7863169689Skan	(fpr_muldf3): New.
7864169689Skan	(divdf3): Change to expander.
7865169689Skan	(fpr_divdf3): New.
7866169689Skan	(movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
7867169689Skan	(cmpdf): Allow for TARGET_E500_DOUBLE.
7868169689Skan
7869169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7870169689Skan
7871169689Skan	* c-semantics.c (re_push_stmt_list): Remove.
7872169689Skan	* c-common.h: Remove the corresponding prototype.
7873169689Skan
7874169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7875169689Skan
7876169689Skan	* stmt.c (asm_op_is_mem_input): Remove.
7877169689Skan	* tree.h: Remove the corresponding prototype.
7878169689Skan
7879169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7880169689Skan
7881169689Skan	* tree-gimple.c (is_gimple_constructor_elt): Remove.
7882169689Skan	* tree-gimple.h: Remove the corresponding prototype.
7883169689Skan
7884169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7885169689Skan
7886169689Skan	* varasm.c (get_pool_mode_for_function, get_pool_offset):
7887169689Skan	Remove.
7888169689Skan	* rtl.h: Remove the corresponding prototypes.
7889169689Skan
7890169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7891169689Skan
7892169689Skan	* tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
7893169689Skan	edge information when we commit ourselves to threading a
7894169689Skan	particular jump.
7895169689Skan
7896169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7897169689Skan
7898169689Skan	* tree-cfg.c (thread_jumps): Speed up by putting basic blocks
7899169689Skan	into worklist instead of their indexes.
7900169689Skan
7901169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7902169689Skan
7903169689Skan	* alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
7904169689Skan	final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
7905169689Skan	lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
7906169689Skan	pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
7907169689Skan	tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
7908169689Skan	tree-scalar-evolution.c, tree-ssa-dom.c,
7909169689Skan	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
7910169689Skan	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
7911169689Skan	tree-vectorizer.c, vec.h: Fix comment formatting.
7912169689Skan
7913169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7914169689Skan
7915169689Skan	* dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
7916169689Skan	libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
7917169689Skan
7918169689Skan2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
7919169689Skan
7920169689Skan	* config/ptx4.h, config/mcore/mcore-pe.h,
7921169689Skan	config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
7922169689Skan
7923169689Skan2004-10-22  Peter Barada <peter@the-baradas.com>
7924169689Skan
7925169689Skan	* config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
7926169689Skan	* config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
7927169689Skan	renaming of non-live registers in interrupt functions.
7928169689Skan	* config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
7929169689Skan
7930169689Skan2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
7931169689Skan
7932169689Skan	* tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
7933169689Skan	Use integer for loop counter.
7934169689Skan	(num_ending_zeros): New function.
7935169689Skan	(number_of_iterations_cond): Use num_ending_zeros.
7936169689Skan
7937169689Skan2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
7938169689Skan
7939169689Skan	* config.gcc: Add support for --enable-e500_double.
7940169689Skan
7941169689Skan	* config/rs6000/e500-double.h: New file.
7942169689Skan
7943169689Skan	* config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
7944169689Skan	TARGET_E500_DOUBLE.
7945169689Skan
7946169689Skan	* config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
7947169689Skan	TARGET_E500_DOUBLE.
7948169689Skan
7949169689Skan	* config/rs6000/linuxspe.h: Same.
7950169689Skan
7951169689Skan	* doc/invoke.texi (Option Summary): Document new options for
7952169689Skan	mfloat-gprs.
7953169689Skan	(RS/6000 and PowerPC Options): Same.
7954169689Skan
7955169689Skan	* config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
7956169689Skan	function.
7957169689Skan	(rs6000_override_options): Use it.  Use
7958169689Skan	SUB3TARGET_OVERRIDE_OPTIONS.
7959169689Skan	Add 8548 to processor_target_table.
7960169689Skan	(rs6000_legitimate_address): Handle e500 doubles.
7961169689Skan	(rs6000_legitimize_address): Same.
7962169689Skan	(rs6000_legitimize_reload_address): Same.
7963169689Skan	(rs6000_hard_regno_nregs): Same.
7964169689Skan	(spe_func_has_64bit_regs_p): Same.
7965169689Skan	(emit_frame_save): Same.
7966169689Skan	(gen_frame_mem_offset): Same.
7967169689Skan	(rs6000_dwarf_register_span): Same.
7968169689Skan	(rs6000_generate_compare): Same.
7969169689Skan	(easy_fp_constant): Same.
7970169689Skan	(legitimate_offset_address_p): Same.
7971169689Skan
7972169689Skan	* config/rs6000/spe.md: (cmdfeq_gpr): New.
7973169689Skan	(tstdfeq_gpr): New.
7974169689Skan	(cmpdfgt_gpr): New.
7975169689Skan	(tstdfgt_gpr): New.
7976169689Skan	(tstdfgt_gpr): New.
7977169689Skan	(cmpdflt_gpr): New.
7978169689Skan	(tstdflt_gpr): New.
7979169689Skan	Add new constants.
7980169689Skan
7981169689Skan2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
7982169689Skan
7983169689Skan	* config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
7984169689Skan
7985169689Skan2004-10-21  Zack Weinberg  <zack@codesourcery.com>
7986169689Skan
7987169689Skan	* dbxout.c: Remove unnecessary #undefs.
7988169689Skan	(GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
7989169689Skan	(FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
7990169689Skan	definition into use sites.
7991169689Skan	(cwd): Make local to dbxout_init.
7992169689Skan	(dbxout_init): Restructure cwd-using logic for clarity.  Use
7993169689Skan	IS_DIR_SEPARATOR.
7994169689Skan	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
7995169689Skan	STABS_GCC_MARKER folded in here.
7996169689Skan	* system.h: Poison now-unused macros.
7997169689Skan	* doc/tm.texi: Remove documentation of now-unused macros.
7998169689Skan
7999169689Skan2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
8000169689Skan
8001169689Skan	PR c/17538
8002169689Skan	* c-opts.c (push_command_line_include): Use the current file
8003169689Skan	name instead of the main one.
8004169689Skan
8005169689Skan2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
8006169689Skan
8007169689Skan	PR objc/17923
8008169689Skan	* tree.c (staticp): A CONST_DECL has static storage if either
8009169689Skan	TREE_STATIC or DECL_EXTERNAL is set.
8010169689Skan	* c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
8011169689Skan	have null names.
8012169689Skan
8013169689Skan2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8014169689Skan
8015169689Skan	* expr.c (store_expr): Remove dont_store_target.
8016169689Skan
8017169689Skan2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8018169689Skan
8019169689Skan	* tree-cfg.c (thread_jumps): Speed up by using a worklist.
8020169689Skan
8021169689Skan2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8022169689Skan
8023169689Skan	* tree-cfg.c (thread_jumps): Move a part of it to ...
8024169689Skan	(thread_jumps_from_bb): ... here.
8025169689Skan
8026169689Skan2004-10-21  David Edelsohn  <edelsohn@gnu.org>
8027169689Skan
8028169689Skan	* dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
8029169689Skan	* xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
8030169689Skan
8031169689Skan2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8032169689Skan
8033169689Skan	* expr.c (store_expr): Clean up by renaming want_value to
8034169689Skan	call_param_p.
8035169689Skan
8036169689Skan2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
8037169689Skan
8038169689Skan	* config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
8039169689Skan	fixup pc here.
8040169689Skan
8041169689Skan2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
8042169689Skan
8043169689Skan	PR 18004.
8044169689Skan	* expmed.c (store_bit_field): Pass original 'value' before
8045169689Skan	recursing.
8046169689Skan
8047169689Skan2004-10-21  Nicolas Pitre <nico@cam.org>
8048169689Skan
8049169689Skan	* config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
8050169689Skan	* config/arm/ieee754-df.S: Ditto.
8051169689Skan
8052169689Skan2004-10-20  Zack Weinberg  <zack@codesourcery.com>
8053169689Skan
8054169689Skan	* dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
8055169689Skan	(DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
8056169689Skan	Default to 0.
8057169689Skan	(dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
8058169689Skan	When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
8059169689Skan	an internal label and an N_SLINE .stabn whose value is the
8060169689Skan	difference between that label and the function entry label.
8061169689Skan	(dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
8062169689Skan	but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
8063169689Skan	label and an N_SO stab with an empty string referring to it.
8064169689Skan	(dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
8065169689Skan	of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
8066169689Skan	(dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
8067169689Skan	(dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
8068169689Skan	macro is never defined.
8069169689Skan	* sdbout.c (sdbout_source_line_counter): Delete.
8070169689Skan	(PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
8071169689Skan	(sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
8072169689Skan	only two arguments.
8073169689Skan	* xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
8074169689Skan
8075169689Skan	* config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
8076169689Skan	* config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
8077169689Skan	definitions (identical to default).
8078169689Skan	* config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
8079169689Skan	* config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
8080169689Skan	Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
8081169689Skan	DBX_OUTPUT_MAIN_SOURCE_FILE_END.
8082169689Skan	* config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
8083169689Skan	* config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
8084169689Skan	Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
8085169689Skan	* config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
8086169689Skan	* config/alpha/alpha.c: Move declaration of num_source_filenames up.
8087169689Skan	(alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
8088169689Skan	(sym_lineno): Delete.
8089169689Skan	(alpha_output_filename): Do not emit N_SOL stabs here.  Remove
8090169689Skan	now-unused variable.
8091169689Skan	(alpha_output_lineno): Delete.
8092169689Skan	* config/mips/mips-protos.h: Don't prototype mips_output_lineno.
8093169689Skan	* config/mips/mips.c (mips_output_filename): Don't use
8094169689Skan	ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
8095169689Skan	(mips_output_lineno): Delete.
8096169689Skan	(mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
8097169689Skan	* config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
8098169689Skan	SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
8099169689Skan	* config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
8100169689Skan	* config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
8101169689Skan	* config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
8102169689Skan	* config/mmix/mmix.h: Likewise.
8103169689Skan	* config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
8104169689Skan	* config/mmix/mmix-protos.h: Don't prototype it.
8105169689Skan	* config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
8106169689Skan	no need to #undef ASM_OUTPUT_SOURCE_LINE.
8107169689Skan	* config/arm/aout.h: Remove RISCiX-specific definition of
8108169689Skan	DBX_OUTPUT_MAIN_SOURCE_FILENAME.
8109169689Skan	* config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
8110169689Skan	ASM_OUTPUT_SOURCE_LINE.
8111169689Skan	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
8112169689Skan	DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
8113169689Skan	* config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
8114169689Skan
8115169689Skan	* doc/tm.texi: Update.
8116169689Skan
8117169689Skan2004-10-20  Richard Henderson  <rth@redhat.com>
8118169689Skan
8119169689Skan	* tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
8120169689Skan
8121169689Skan2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
8122169689Skan
8123169689Skan	* configure.ac: Revert my previous patch.
8124169689Skan	* configure: Regenerate.
8125169689Skan
8126169689Skan2004-10-20  Ben Elliston  <bje@au.ibm.com>
8127169689Skan
8128169689Skan	* config/rs6000/rs6000.c
8129169689Skan	(rs6000_va_start): Use build_va_arg_indirect_ref.
8130169689Skan	(rs6000_gimplify_va_arg): Likewise.
8131169689Skan
8132169689Skan2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
8133169689Skan
8134169689Skan	PR java/15575
8135169689Skan	* configure.ac: Declare AM_LANGINFO_CODESET.
8136169689Skan	* aclocal.m4: Define AM_LANGINFO_CODESET.
8137169689Skan	* configure, config.in: Rebuilt.
8138169689Skan
8139169689Skan2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
8140169689Skan
8141169689Skan	* expr.c (store_expr): Remove code that is run when
8142169689Skan	want_value & 1 is nonzero.
8143169689Skan
8144169689Skan2004-10-20  Mark Mitchell  <mark@codesourcery.com>
8145169689Skan
8146169689Skan	* gthr-posix.h (__gthread_active_p): Use __extension__ around cast
8147169689Skan	from function pointer to void *.
8148169689Skan
8149169689Skan2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
8150169689Skan
8151169689Skan	PR target/18032
8152169689Skan	* config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
8153169689Skan	the frame pointer adjustment when exception handling is enabled.
8154169689Skan
8155169689Skan2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
8156169689Skan
8157169689Skan	* stor-layout.c: Fix a comment typo.
8158169689Skan
8159169689Skan2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
8160169689Skan
8161169689Skan	* expr.c (store_field): Remove two arguments value_mode and
8162169689Skan	unsignedp.
8163169689Skan	(expand_assignment, store_constructor_field,
8164169689Skan	expand_expr_real_1): Adjust calls to store_field.
8165169689Skan
8166169689Skan2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
8167169689Skan
8168169689Skan	* config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
8169169689Skan
8170169689Skan	PR target/17317
8171169689Skan	* config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
8172169689Skan	REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
8173169689Skan	base and index register for loads.
8174169689Skan
8175169689Skan	* config/arc/t-arc: Fix multilib handling.
8176169689Skan
8177169689Skan2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
8178169689Skan
8179169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
8180169689Skan	don't inspect BLOCK_FOR_INSN for barriers.
8181169689Skan	* emit-rtl.c (emit_barrier_before): Revert last change.
8182169689Skan	(emit_barrier_after, emit_barrier): Ditto.
8183169689Skan
8184169689Skan	* doc/extend.texi (Extended Asm): Warn and provide example
8185169689Skan	solution for using a call-clobbered asm register.
8186169689Skan	(Local Reg Vars): Similar.  Cross-reference example.
8187169689Skan
8188169689Skan2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
8189169689Skan
8190169689Skan	* tree-cfg.c (group_case_labels): Look at the second to last
8191169689Skan	case statement for combing with the default case.
8192169689Skan
8193169689Skan2004-10-19  Richard Hendeson  <rth@redhat.com>
8194169689Skan
8195169689Skan	PR 17962
8196169689Skan	* stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
8197169689Skan
8198169689Skan2004-10-19  Richard Hendeson  <rth@redhat.com>
8199169689Skan
8200169689Skan	* builtins.c (expand_builtin_memmove): If fold_builtin_memmove
8201169689Skan	succeeds, only expand the result.
8202169689Skan
8203169689Skan2004-10-19  Richard Hendeson  <rth@redhat.com>
8204169689Skan
8205169689Skan	PR middle-end/17885
8206169689Skan	* tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
8207169689Skan	of INDIRECT_REF.
8208169689Skan
8209169689Skan2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
8210169689Skan
8211169689Skan	* tree-cfg.c (thread_jumps): Use a do-while loop instead of a
8212169689Skan	loop with goto.
8213169689Skan
8214169689Skan2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
8215169689Skan
8216169689Skan	* expr.c (expand_assignment): Remove the last argument.
8217169689Skan	Change the return type to void.
8218169689Skan	* expr.h: Update the prototype of expand_assignment.
8219169689Skan	* function.c (assign_parm_setup_reg): Update a call to
8220169689Skan	expand_assignment.
8221169689Skan	* stmt.c (expand_asm_expr): Likewise.
8222169689Skan
8223169689Skan2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
8224169689Skan
8225169689Skan	* expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
8226169689Skan	unnecessary assignments to temp.  Return const0_rtx.
8227169689Skan
8228169689Skan2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8229169689Skan
8230169689Skan	* config/sh/sh.c (sh5_schedule_saves): Fix typo.
8231169689Skan
8232169689Skan2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
8233169689Skan
8234169689Skan	* configure.ac (powerpc-*-darwin*): Require assembler to support
8235169689Skan	.machine directive.
8236169689Skan	* configure: Regenerate.
8237169689Skan
8238169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8239169689Skan
8240169689Skan	* reload1.c (ior_hard_reg_set): Remove.
8241169689Skan	(finish_spills): Use IOR_HARD_REG_SET instead of
8242169689Skan	ior_hard_reg_set.
8243169689Skan
8244169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8245169689Skan
8246169689Skan	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
8247169689Skan	the currently visited word to right.
8248169689Skan
8249169689Skan2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
8250169689Skan
8251169689Skan	PR middle-end/18045
8252169689Skan	* expmed.c (expand_smod_pow2): Handle modes whose size
8253169689Skan	is greater than that of HOST_WIDE_INT.
8254169689Skan
8255169689Skan2004-10-18  Ziemowit Laski  <zlaski@apple.com>
8256169689Skan
8257169689Skan	* c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
8258169689Skan
8259169689Skan2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
8260169689Skan	    Roger Sayle  <roger@eyesopen.com>
8261169689Skan
8262169689Skan	PR middle-end/17813
8263169689Skan	* dojump.c (discard_pending_stack_adjust): New function.
8264169689Skan	(clear_pending_stack_adjust): Call it.
8265169689Skan	* expr.h (discard_pending_stack_adjust): Declare it.
8266169689Skan	* explow.c (emit_stack_save): Emit pending stack adjustments
8267169689Skan	before saving the stack pointer.
8268169689Skan	(emit_stack_restore): Discard pending stack adjustments before
8269169689Skan	restoring the stack pointer.
8270169689Skan
8271169689Skan2004-10-18  Richard Henderson  <rth@redhat.com>
8272169689Skan
8273169689Skan	* c-common.c (handle_mode_attribute): Allow scalar->vector
8274169689Skan	type changes yet.
8275169689Skan
8276169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8277169689Skan
8278169689Skan	* expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
8279169689Skan	value to expand_assignment.
8280169689Skan
8281169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8282169689Skan
8283169689Skan	* tree-cfg.c (cleanup_tree_cfg): Don't iterate on
8284169689Skan	thread_jumps.
8285169689Skan	(thread_jumps): Iterate until no new forwarder block arises.
8286169689Skan
8287169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8288169689Skan
8289169689Skan	* tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
8290169689Skan	(thread_jumps): Use forwardable as cache of
8291169689Skan	tree_forwarder_block_p throughout the function.
8292169689Skan
8293169689Skan2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
8294169689Skan
8295169689Skan	* cfg.c (dump_flow_info): Remove redundant dump of reg life info.
8296169689Skan
8297169689Skan2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
8298169689Skan
8299169689Skan	PR middle-end/15014
8300169689Skan	PR middle-end/16973
8301169689Skan	* tree-cfg.c (remove_bb): If we have a label expression in the
8302169689Skan	basic block and the label we have taken the address, move the
8303169689Skan	label expression to the basic block which is previous in the
8304169689Skan	linked list.
8305169689Skan	(tree_verify_flow_info): Fix printing out the label name of the
8306169689Skan	problematic label expression.
8307169689Skan
8308169689Skan2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
8309169689Skan
8310169689Skan	PR rtl-optimization/18002
8311169689Skan	* simplify-rtx.c (mode_signbit_p): Externalize function...
8312169689Skan	* rtl.h (mode_signbit_p): ... to here.
8313169689Skan	* combine.c (simplify_shift_const): Recognize PLUS signbit as
8314169689Skan	canonical form of XOR signbit and move to outer op.
8315169689Skan
8316169689Skan2004-10-18  Diego Novillo  <dnovillo@redhat.com>
8317169689Skan
8318169689Skan	* tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
8319169689Skan	Update all callers.
8320169689Skan	* tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
8321169689Skan	Don't call fold_stmt more than once, use bsi_replace.
8322169689Skan
8323169689Skan2004-10-18  Diego Novillo  <dnovillo@redhat.com>
8324169689Skan
8325169689Skan	PR tree-optimization/17656
8326169689Skan	* tree-ssa.c (replace_immediate_uses): When replacing a
8327169689Skan	constant, if the call to fold_stmt produced a different
8328169689Skan	statement, get an appropriate statement pointer by scanning
8329169689Skan	STMT's basic block.
8330169689Skan
8331169689Skan2004-10-18  Richard Henderson  <rth@redhat.com>
8332169689Skan
8333169689Skan	* pointer-set.c (hash1): Don't use libm functions in fallback case.
8334169689Skan
8335169689Skan2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
8336169689Skan
8337169689Skan	PR bootstrap/17684
8338169689Skan	* Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
8339169689Skan	(stage1-start): Remove and copy libunwind.a and
8340169689Skan	libunwind*$(SHLIB_EXT) instead of libunwind*.
8341169689Skan	(stage2-start): Likewise.
8342169689Skan	(stage3-start): Likewise.
8343169689Skan	(stage4-start): Likewise.
8344169689Skan	(stageprofile-start): Likewise.
8345169689Skan	(stagefeedback-start): Likewise.
8346169689Skan
8347169689Skan	* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
8348169689Skan	the shared library to be created and don't remove the existing
8349169689Skan	shared library.
8350169689Skan	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
8351169689Skan	* config/i386/t-nwld (SHLIB_LINK): Likewise.
8352169689Skan	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
8353169689Skan	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
8354169689Skan	* config/sh/t-linux (SHLIB_LINK): Likewise.
8355169689Skan	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
8356169689Skan	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
8357169689Skan	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
8358169689Skan	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
8359169689Skan
8360169689Skan	* mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
8361169689Skan	files.
8362169689Skan
8363169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8364169689Skan
8365169689Skan	* basic-block.h (reg_set_iterator): New.
8366169689Skan	(EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
8367169689Skan	(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
8368169689Skan	(EXECUTE_IF_AND_IN_REG_SET): Likewise.
8369169689Skan	* caller-save.c (save_call_clobbered_regs): Adjust to the new
8370169689Skan	style.
8371169689Skan	* cfgcleanup.c (thread_jump): Likewise.
8372169689Skan	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
8373169689Skan	* conflict.c (conflict_graph_compute): Likewise.
8374169689Skan	* flow.c (verify_local_live_at_start, update_life_info,
8375169689Skan	initialize_uninitialized_subregs, propagate_one_insn,
8376169689Skan	init_propagate_block_info, free_propagate_block_info,
8377169689Skan	propagate_block, dump_regset): Likewise.
8378169689Skan	* global.c (global_conflicts): Likewise.
8379169689Skan	* graph.c (start_bb): Likewise.
8380169689Skan	* local-alloc.c (update_equiv_regs): Likewise.
8381169689Skan	* loop.c (load_mems): Likewise.
8382169689Skan	* reload1.c (compute_use_by_pseudos, order_regs_for_reload,
8383169689Skan	find_reg, finish_spills): Likewise.
8384169689Skan	* resource.c (mark_target_live_regs): Likewise.
8385169689Skan	* sched-deps.c (sched_analyze_insn): Likewise.
8386169689Skan	* sched-rgn.c (sched-rgn.c): Likewise.
8387169689Skan	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
8388169689Skan
8389169689Skan2004-10-18  Jakub Jelinek  <jakub@redhat.com>
8390169689Skan
8391169689Skan	* config/i386/i386.md (addqi_1_slp): Test for incdec_operand
8392169689Skan	operand 1 instead of 2
8393169689Skan
8394169689Skan2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
8395169689Skan
8396169689Skan	* loop-unroll.c: Fix comment typos.
8397169689Skan
8398169689Skan2004-10-18  Revital Eres  <eres@il.ibm.com>
8399169689Skan
8400169689Skan	* Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
8401169689Skan	* loop-unroll.c: Include varray.h.
8402169689Skan	(struct var_to_expand, struct opt_info): Rename split_ivs_info to
8403169689Skan	opt_info and expand it to support variable expansion.
8404169689Skan	(analyze_insns_in_loop): Rename analyze_ivs_to_split and
8405169689Skan	expand it to support variable expansion.
8406169689Skan	(pt_info_start_duplication): Rename si_info_start_duplication.
8407169689Skan	(apply_opt_in_copies): Rename split_ivs_in_copies and add support
8408169689Skan	to the variable expansion optimization.
8409169689Skan	(free_opt_info): Rename free_si_info.
8410169689Skan	(analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
8411169689Skan	expand_var_during_unrolling, insert_var_expansion_initialization,
8412169689Skan	combine_var_copies_in_loop_exit, release_var_copies,
8413169689Skan	get_expansion): New functions.
8414169689Skan	(peel_loop_completely, unroll_loop_constant_iterations,
8415169689Skan	unroll_loop_runtime_iterations, peel_loop_simple,
8416169689Skan	unroll_loop_stupid): Change uses of struct si_info
8417169689Skan	to struct opt_info
8418169689Skan	and add uses of fvariable-expansion-in-unroller flag.
8419169689Skan	* params.def: Add parameter to restrict the number of expansions.
8420169689Skan	* params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
8421169689Skan	the number of expansions.
8422169689Skan	* common.opt: (fvariable-expansion-in-unroller): New flag.
8423169689Skan	* doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
8424169689Skan
8425169689Skan2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
8426169689Skan
8427169689Skan	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
8428169689Skan	__GXX_MERGED_TYPEINFO_NAMES to 0.
8429169689Skan
8430169689Skan2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
8431169689Skan
8432169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
8433169689Skan	handle barriers in a bb by checking that it points to a NULL bb.
8434169689Skan	* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
8435169689Skan	(emit_barrier_after, emit_barrier): Ditto.
8436169689Skan
8437169689Skan2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
8438169689Skan
8439169689Skan	* doc/extend.texi (Attribute Syntax): Clarify details of
8440169689Skan	attributes on parameters.
8441169689Skan
8442169689Skan2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
8443169689Skan
8444169689Skan	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
8445169689Skan	loop.
8446169689Skan
8447169689Skan2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
8448169689Skan
8449169689Skan	Revert:
8450169689Skan	2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
8451169689Skan
8452169689Skan	* c-typeck.c (default_function_array_conversion): Always create
8453169689Skan	&a[0] for array types.
8454169689Skan	(build_unary_op): Do not fold &a[x] into a + x.
8455169689Skan
8456169689Skan2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
8457169689Skan
8458169689Skan	PR middle-end/17925
8459169689Skan	* cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
8460169689Skan	block if there is a goto with a locus.
8461169689Skan
8462169689Skan2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
8463169689Skan
8464169689Skan	* config/elfos.h, config/gofast.h, config/interix.h,
8465169689Skan	config/netbsd.h, config/svr3.h, config/vxworks.h,
8466169689Skan	config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
8467169689Skan	config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
8468169689Skan	config/alpha/netbsd.h, config/arm/arm-modes.def,
8469169689Skan	config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
8470169689Skan	config/cris/aout.h, config/frv/frv-modes.def,
8471169689Skan	config/i386/beos-elf.h, config/i386/gas.h,
8472169689Skan	config/i386/i386-coff.h, config/i386/i386-modes.def,
8473169689Skan	config/i386/linux.h, config/i386/linux64.h,
8474169689Skan	config/i386/mingw32.h, config/i386/netbsd-elf.h,
8475169689Skan	config/i386/netbsd64.h, config/i386/sco5.h,
8476169689Skan	config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
8477169689Skan	config/ia64/ia64-modes.def, config/ia64/itanium1.md,
8478169689Skan	config/ia64/itanium2.md, config/m68k/m68k-modes.def,
8479169689Skan	config/mips/mips-modes.def, config/mips/sdb.h,
8480169689Skan	config/mips/vr.h, config/mips/vxworks.h,
8481169689Skan	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
8482169689Skan	config/pa/pa32-linux.h, config/rs6000/40x.md,
8483169689Skan	config/rs6000/7450.md, config/rs6000/8540.md,
8484169689Skan	config/rs6000/linuxspe.h, config/rs6000/power4.md,
8485169689Skan	config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
8486169689Skan	config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
8487169689Skan	config/s390/s390-modes.def, config/sh/elf.h,
8488169689Skan	config/sh/sh-modes.def, config/sh/sh64.h,
8489169689Skan	config/sparc/ultra1_2.md, config/sparc/ultra3.md,
8490169689Skan	config/stormy16/stormy16.md, config/v850/v850-protos.h,
8491169689Skan	config/vax/vax.md: Update copyright.
8492169689Skan
8493169689Skan2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
8494169689Skan
8495169689Skan	* expr.c (expand_expr_real_1): Remove an obsolete comment.
8496169689Skan
8497169689Skan2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
8498169689Skan
8499169689Skan	* c-typeck.c (default_function_array_conversion): Always create
8500169689Skan	&a[0] for array types.
8501169689Skan	(build_unary_op): Do not fold &a[x] into a + x.
8502169689Skan
8503169689Skan2004-10-17  Jakub Jelinek  <jakub@redhat.com>
8504169689Skan
8505169689Skan	* pointer-set.c (hash1): Use integer part of 2^64 / phi
8506169689Skan	instead 2^32 / phi if long is 64-bit.
8507169689Skan
8508169689Skan2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
8509169689Skan
8510169689Skan	* c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
8511169689Skan	RID_PTRVALUE.
8512169689Skan	* c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
8513169689Skan	declarations.
8514169689Skan	(reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
8515169689Skan	__ptrextent__, __ptrvalue and __ptrvalue__.
8516169689Skan	(rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
8517169689Skan	entries.
8518169689Skan
8519169689Skan2004-10-16  Dale Johannesen  <dalej@apple.com>
8520169689Skan
8521169689Skan	* c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
8522169689Skan
8523169689Skan2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
8524169689Skan
8525169689Skan	PR tree-optimization/17766
8526169689Skan	* basic-block.h (enum dom_state): DOM_CONS_OK removed.
8527169689Skan	(dom_info_available_p): Declare.
8528169689Skan	* cfghooks.c (split_block, make_forwarder_block): Use
8529169689Skan	dom_info_available_p.
8530169689Skan	* dominance.c (compute_dom_fast_query, calculate_dominance_info,
8531169689Skan	free_dominance_info, verify_dominators): Ditto.
8532169689Skan	(dom_info_available_p): New function.
8533169689Skan	* tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
8534169689Skan	(thread_jumps): Use dom_info_available_p.
8535169689Skan	* tree-complex.c (expand_complex_div_wide): Ditto.
8536169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
8537169689Skan
8538169689Skan2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
8539169689Skan
8540169689Skan	* tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
8541169689Skan	(find_best_candidate): Take also important candidates into account.
8542169689Skan	(find_optimal_iv_set): Initialize important_candidates bitmap.
8543169689Skan
8544169689Skan2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
8545169689Skan
8546169689Skan	PR tree-optimization/17560
8547169689Skan	* predict.c (tree_estimate_probability): Mark irreducible
8548169689Skan	loops.
8549169689Skan
8550169689Skan2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
8551169689Skan
8552169689Skan	PR rtl-optimization/17723
8553169689Skan	* cfgcleanup.c (merge_memattrs): Handle case when
8554169689Skan	MEM_SIZE == NULL_RTX.
8555169689Skan
8556169689Skan2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
8557169689Skan
8558169689Skan	* toplev.c (dump_file_name): Change type to be const.
8559169689Skan
8560169689Skan2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
8561169689Skan
8562169689Skan	* c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
8563169689Skan	non_lvalue to stop something being a null pointer constant.
8564169689Skan
8565169689Skan2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
8566169689Skan
8567169689Skan	* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
8568169689Skan	available for TARGET_FPRS.
8569169689Skan	(FUNCTION_VALUE_REGNO_P): Same.
8570169689Skan
8571169689Skan2004-10-15  Geoffrey Keating  <geoffk@apple.com>
8572169689Skan
8573169689Skan	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
8574169689Skan	-maltivec in same style as other ISA options.
8575169689Skan
8576169689Skan2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
8577169689Skan
8578169689Skan	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
8579169689Skan	definition.
8580169689Skan
8581169689Skan2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
8582169689Skan
8583169689Skan	* bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
8584169689Skan	collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
8585169689Skan	gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
8586169689Skan	genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
8587169689Skan	gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
8588169689Skan	gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
8589169689Skan	lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
8590169689Skan	predict.def, predict.h, protoize.c, reload.h, resource.h,
8591169689Skan	rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
8592169689Skan	tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
8593169689Skan	unwind-sjlj.c, value-prof.h: Update copyright.
8594169689Skan
8595169689Skan2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
8596169689Skan
8597169689Skan	* pointer-set.c, tree-vectorizer.c: Fix comment typos.
8598169689Skan
8599169689Skan2004-10-15  Diego Novillo  <dnovillo@redhat.com>
8600169689Skan
8601169689Skan	* tree-optimize.c (execute_one_pass): Stop timer right after
8602169689Skan	executing the pass.
8603169689Skan
8604169689Skan2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
8605169689Skan
8606169689Skan	Revert:
8607169689Skan	2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
8608169689Skan	PR middle-end/17967
8609169689Skan	Revert:
8610169689Skan		* tree-cfg.c (remove_usless_stmts_cond): Fold statement.
8611169689Skan		(remove_useless_stmts_1): Fold trees we know how to fold.
8612169689Skan
8613169689Skan2004-10-14  David Edelsohn  <edelsohn@gnu.org>
8614169689Skan
8615169689Skan	* configure.ac: Add .machine power4 directive when testing for
8616169689Skan	mfcr field.
8617169689Skan	* configure: Regenerate.
8618169689Skan
8619169689Skan2004-10-14  Geoffrey Keating  <geoffk@apple.com>
8620169689Skan
8621169689Skan	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
8622169689Skan
8623169689Skan2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
8624169689Skan
8625169689Skan	* tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
8626169689Skan	always.
8627169689Skan
8628169689Skan2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
8629169689Skan
8630169689Skan	* config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
8631169689Skan	for 'f' if !TARGET_FPRS.
8632169689Skan
8633169689Skan2004-10-14  Richard Henderson  <rth@redhat.com>
8634169689Skan
8635169689Skan	PR debug/14492
8636169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
8637169689Skan
8638169689Skan2004-10-14  Richard Henderson  <rth@redhat.com>
8639169689Skan
8640169689Skan	PR c/17023
8641169689Skan	* c-decl.c (store_parm_decls_oldstyle): Care for parameter type
8642169689Skan	as error_mark_node.
8643169689Skan	* c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
8644169689Skan	instaed of current_function_decl non-null.
8645169689Skan
8646169689Skan2004-10-14  Matt Austern  <austern@apple.com>
8647169689Skan
8648169689Skan	* pointer-set.c: New file, special-purpose hash table.
8649169689Skan	* pointer-set.h: New file.
8650169689Skan	* tree.h (struct pointer_set_t): Declare as opaque type.
8651169689Skan	(tree_walk): Last argument is pointer_set_t* now.
8652169689Skan	* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
8653169689Skan	(walk_type_fields):
8654169689Skan	(walk_tree): Convert from htab_t to pointer_set_t for keeping
8655169689Skan	track of which nodes have already been visited.
8656169689Skan	(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
8657169689Skan	* cgraphunit.c (cgraph_create_edges): Likewise.
8658169689Skan	(cgraph_characterize_statics_local): Likewise.
8659169689Skan	* tree-dfa.c (collect_dfa_stats): Likewise.
8660169689Skan	* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
8661169689Skan	pointer_set_t* now.
8662169689Skan	* langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
8663169689Skan	* langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
8664169689Skan	of walk_subtrees is pointer_set_t* now.
8665169689Skan	* Makefile.in (OBJS-common): add pointer-set.o
8666169689Skan	(tree-inline.o): Depends on pointer-set.h
8667169689Skan	(tree-dfa.o): Likewise
8668169689Skan	(cgraphunit.o): Likewise
8669169689Skan
8670169689Skan2004-10-14  Geoffrey Keating  <geoffk@apple.com>
8671169689Skan
8672169689Skan	* config/rs6000/darwin.h (ASM_SPEC): Delete.
8673169689Skan	(TARGET_ASM_FILE_START): Define.
8674169689Skan	* config/darwin.h (ASM_SPEC): Define.
8675169689Skan	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
8676169689Skan	-mlong-double-128, it's the default.  Update comment about reason
8677169689Skan	for force_cpusubtype_ALL.
8678169689Skan	* config/rs6000/darwin-vecsave.asm: Supply .machine.
8679169689Skan	* config/rs6000/darwin-world.asm: Likewise.
8680169689Skan	* config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
8681169689Skan	(symbolic_operand): Delete #if 0ed code.
8682169689Skan
8683169689Skan2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
8684169689Skan
8685169689Skan	* stmt.c (add_case_node): Make sure that we have integer
8686169689Skan	constant before calling tree_int_cst_compare.
8687169689Skan
8688169689Skan2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
8689169689Skan
8690169689Skan	PR middle-end/17967
8691169689Skan	Revert:
8692169689Skan		* tree-cfg.c (remove_usless_stmts_cond): Fold statement.
8693169689Skan		(remove_useless_stmts_1): Fold trees we know how to fold.
8694169689Skan
8695169689Skan2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
8696169689Skan
8697169689Skan	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
8698169689Skan	config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
8699169689Skan	-m64.
8700169689Skan
8701169689Skan2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
8702169689Skan
8703169689Skan	* reload.c (find_reloads): When reloading a PLUS with constant
8704169689Skan	operand, make sure the constant is pushed to the constant pool
8705169689Skan	if required.
8706169689Skan	* config/s390/s390.c (s390_secondary_input_reload_class): Remove
8707169689Skan	reload bug workaround.
8708169689Skan	(s390_expand_plus_operand): Likewise.
8709169689Skan
8710169689Skan2004-10-14  David Edelsohn  <edelsohn@gnu.org>
8711169689Skan
8712169689Skan	* opts.c (common_handle_option): Do not enable
8713169689Skan	flag_speculative_prefetching for -fprofile-generate/use.
8714169689Skan
8715169689Skan2004-10-14  Devang Patel  <dpatel@apple.com>
8716169689Skan
8717169689Skan	PR 17635
8718169689Skan	* tree-if-conv.c (process_phi_nodes): Process latch block.
8719169689Skan	(combine_blocks): Process latch block and update loop structure.
8720169689Skan
8721169689Skan2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
8722169689Skan
8723169689Skan	* tree-vectorizer.c (vect_generate_tmps_on_preheader):
8724169689Skan	(vect_update_ivs_after_vectorizer):
8725169689Skan	(vect_transform_for_unknown_loop_bound):
8726169689Skan	(tree_duplicate_loop_to_edge):
8727169689Skan	(allocate_new_names):
8728169689Skan	(rename_use_op):
8729169689Skan	(rename_def_op):
8730169689Skan	(rename_variables_in_bb):
8731169689Skan	(free_new_names):
8732169689Skan	(rename_variables_in_loop):
8733169689Skan	(copy_phi_nodes):
8734169689Skan	(update_phis_for_duplicate_loop):
8735169689Skan	(update_phi_nodes_for_guard):
8736169689Skan	(make_loop_iterate_ntimes):
8737169689Skan	(tree_duplicate_loop_to_edge_cfg):
8738169689Skan	(add_loop_guard):
8739169689Skan	(vect_analyze_loop_with_symbolic_num_of_iters):
8740169689Skan	(verify_loop_for_duplication):
8741169689Skan	(vect_gen_niters_for_prolog_loop):
8742169689Skan	(vect_update_niters_after_peeling):
8743169689Skan	(vect_update_inits_of_dr):
8744169689Skan	(vect_update_inits_of_drs):
8745169689Skan	(vect_build_loop_niters):
8746169689Skan	(vect_do_peeling_for_alignment): New functions.
8747169689Skan	(vect_transform_loop): Add unknown and known but indivisible loop
8748169689Skan	bound support; add peeling for unalignment support.
8749169689Skan	(vect_analyze_loop_form): Support symbolic number of iterations.
8750169689Skan	(vect_transform_loop_bound): New input parameter.
8751169689Skan	(vect_get_loop_niters): Change input parameter type.
8752169689Skan	(new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
8753169689Skan	(vectorizable_store): Allow unaligned access.
8754169689Skan	(vectorize_loops): Add rewrite_into_loop_closed_ssa.
8755169689Skan	(vect_analyze_data_refs_alignment): Allowed one unaligned
8756169689Skan	store.
8757169689Skan	* tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
8758169689Skan	to use tree.
8759169689Skan	(LOOP_VINFO_INT_NITERS): New macro.
8760169689Skan	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
8761169689Skan	(do_peeling_for_alignment):
8762169689Skan	(unaligned_drs): New members of _loop_vec_info.
8763169689Skan	(LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
8764169689Skan
8765169689Skan2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
8766169689Skan
8767169689Skan	* tree.h (TREE_STRING_POINTER): Wrap in "const char *".
8768169689Skan	(struct tree_string): Remove "const" qualifier for "str".
8769169689Skan
8770169689Skan2004-10-14  Ira Rosen  <irar@il.ibm.com>
8771169689Skan
8772169689Skan	* tree-vectorizer.c (vect_analyze_data_refs): Call
8773169689Skan	vect_get_base_and_bit_offset to get memory tag for array ref.
8774169689Skan	(vect_create_addr_base_for_vector_ref): Remove redundant checks.
8775169689Skan
8776169689Skan2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
8777169689Skan
8778169689Skan	* configure.ac: Use $LN_S for creating symlinks (not $LN).
8779169689Skan	* configure: Regenerate.
8780169689Skan
8781169689Skan2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8782169689Skan
8783169689Skan	* doc/install.texi (*-*-solaris2*): Update with info about kernel
8784169689Skan	patches to solve spurious testsuite failures.
8785169689Skan
8786169689Skan2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
8787169689Skan
8788169689Skan	* tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
8789169689Skan	Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
8790169689Skan	(vect_analyze_operations): Make sure the vectorization factor > 1. Add
8791169689Skan	gcc_assert under ENABLE_CHECKING.
8792169689Skan	(vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
8793169689Skan	get_vectype_for_scalar_type).
8794169689Skan
8795169689Skan	(vect_get_vec_def_for_operand): Remove redundant variables.
8796169689Skan	(vect_transform_loop): Likewise.
8797169689Skan
8798169689Skan2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
8799169689Skan
8800169689Skan	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
8801169689Skan	global for -mcaller-super-interworking.
8802169689Skan	(CALLER_INTERWORKING_SLOT_SIZE): New macro.
8803169689Skan	* config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
8804169689Skan	CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
8805169689Skan	not need a frame pointer.
8806169689Skan	(arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
8807169689Skan	the soft frame pointer offset.
8808169689Skan	(thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
8809169689Skan	* config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
8810169689Skan	_interwork_{r7,r11}_call_via_rN if some arguments are passed on
8811169689Skan	the stack.  Use frame_pointer_needed to choose between them.
8812169689Skan	* config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
8813169689Skan	(interwork_with_frame): New macro.
8814169689Skan	(interwork): Add _interwork_{r7,r11}_call_via_rN().
8815169689Skan
8816169689Skan2004-10-14  Ben Elliston  <bje@au.ibm.com>
8817169689Skan
8818169689Skan	PR other/17900
8819169689Skan	* diagnostic.c (trim_filename): Fix logic bug in walking backwards
8820169689Skan	up the filename looking for a previous directory separator.
8821169689Skan
8822169689Skan2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
8823169689Skan
8824169689Skan	* c-tree.h (enum c_typespec_kind, struct c_typespec,
8825169689Skan	parser_xref_tag): New.
8826169689Skan	(struct c_declspecs): Add tag_defined_p.  Adjust definition of
8827169689Skan	typedef_p.
8828169689Skan	(declspecs_add_type): Adjust prototypes.
8829169689Skan	* c-parse.in (%union): Add tstype.
8830169689Skan	(typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
8831169689Skan	typespec_reserved_attr, typespec_nonreserved_nonattr,
8832169689Skan	structsp_attr, structsp_nonattr): Change to tstype.  Update
8833169689Skan	actions.
8834169689Skan	* c-decl.c (build_null_declspecs): Initialize tag_defined_p.
8835169689Skan	(declspecs_add_type): Update to take struct c_typespec argument.
8836169689Skan	Set tag_defined_p and typedef_p as appropriate.
8837169689Skan	(xref_tag): Rename to parser_xref_tag and replace by wrapper.
8838169689Skan	Update to return struct c_typespec.
8839169689Skan	(shadow_tag_warned): Don't let empty declarations with qualifiers
8840169689Skan	or storage class specifiers redeclare a tag if a previous
8841169689Skan	declaration is visible.
8842169689Skan
8843169689Skan2004-10-13  Richard Henderson  <rth@redhat.com>
8844169689Skan
8845169689Skan	PR debug/15860
8846169689Skan	* dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
8847169689Skan	for DECL_INCOMING_RTL.
8848169689Skan
8849169689Skan2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
8850169689Skan
8851169689Skan	PR target/17984
8852169689Skan	* config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
8853169689Skan	trunc_int_for_mode for constants used in shortened mode.
8854169689Skan
8855169689Skan2004-10-13  Richard Henderson  <rth@redhat.com>
8856169689Skan
8857169689Skan	PR c/17384
8858169689Skan	* c-common.c (handle_mode_attribute): Disallow mode changes that
8859169689Skan	alter the CODE of the top-level type.
8860169689Skan
8861169689Skan	* crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
8862169689Skan	integer from internal limits macros.
8863169689Skan	* config/i386/mm3dnow.h (__v2sf): Fix base type.
8864169689Skan
8865169689Skan2004-10-13  Richard Henderson  <rth@redhat.com>
8866169689Skan
8867169689Skan	PR debug/13841
8868169689Skan	* function.c (instantiate_decl): Recurse for CONCAT.
8869169689Skan
8870169689Skan2004-10-13  David Edelsohn  <edelsohn@gnu.org>
8871169689Skan
8872169689Skan	* config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
8873169689Skan	andi./andis.
8874169689Skan	(anddi3): Same.
8875169689Skan	(extzvdi_internal1): Add attribute "compare".
8876169689Skan	(extzvdi_internal2): Same.
8877169689Skan
8878169689Skan2004-10-12  Tom Tromey  <tromey@redhat.com>
8879169689Skan
8880169689Skan	* doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
8881169689Skan
8882169689Skan2004-10-13  Dale Johannesen  <dalej@apple.com>
8883169689Skan
8884169689Skan	* doc/extend.texi (Extended Asm): Rewrite asm volatile description.
8885169689Skan
8886169689Skan2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
8887169689Skan
8888169689Skan	* toplev.c (compile_file): Call mudflap_finish_file from here ...
8889169689Skan	* c-decl.c (c_write_global_declarations): ... instead of here ...
8890169689Skan	* cp/decl.c (cp_finish_file): ... and here.
8891169689Skan	* tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
8892169689Skan
8893169689Skan2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
8894169689Skan
8895169689Skan	* tree-ssa-dom.c (record_range): Free the element if we are not
8896169689Skan	going to use it.
8897169689Skan
8898169689Skan2004-10-13  Tom Tromey  <tromey@redhat.com>
8899169689Skan
8900169689Skan	PR java/15578:
8901169689Skan	* gcc.c (option_map): Added --extdirs and --encoding.
8902169689Skan
8903169689Skan2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
8904169689Skan
8905169689Skan	PR target/14454
8906169689Skan	* config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
8907169689Skan	sparc_can_output_mi_thunk.
8908169689Skan	(sparc_output_mi_thunk): Simplify handling of delta offset.  Add
8909169689Skan	handling of vcall offset.
8910169689Skan	(sparc_can_output_mi_thunk): New predicate.
8911169689Skan	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
8912169689Skan	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
8913169689Skan	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
8914169689Skan
8915169689Skan	* config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
8916169689Skan
8917169689Skan	* config/sparc/sparc.md (movdi): Remove redundant test.
8918169689Skan
8919169689Skan2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
8920169689Skan
8921169689Skan	* tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
8922169689Skan	TDF_IPA from -fdump-tree-*-all.
8923169689Skan
8924169689Skan2004-10-13  Paul Brook  <paul@codesourcery.com>
8925169689Skan
8926169689Skan	* config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
8927169689Skan	* config/arm/arm.c (thumb_find_work_register): Update comments.
8928169689Skan	(arm_load_pic_register): Add argument for scratch register.
8929169689Skan	(arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
8930169689Skan	* config/arm/arm.md (builtin_setjmp_receiver): Ditto.
8931169689Skan
8932169689Skan2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
8933169689Skan
8934169689Skan	* tree-data-ref.c: Fix comment typos.
8935169689Skan
8936169689Skan2004-10-13  Jakub Jelinek  <jakub@redhat.com>
8937169689Skan	    Zdenek Dvorak  <dvorakz@suse.cz>
8938169689Skan
8939169689Skan	PR tree-optimization/17724
8940169689Skan	* tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
8941169689Skan
8942169689Skan2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
8943169689Skan
8944169689Skan	* rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
8945169689Skan	(altivec_builtin_mask_for_store): Likewise.
8946169689Skan	(altivec_init_builtins): Use lang_hooks.builtin_function to
8947169689Skan	create the decls for builtin_altivec_mask_for_load/store.
8948169689Skan
8949169689Skan2004-10-13  Nick Clifton  <nickc@redhat.com>
8950169689Skan
8951169689Skan	* config/c4x/c4x.c: Remove inclusion of loop.h.
8952169689Skan
8953169689Skan2004-10-12  Ben Elliston  <bje@au.ibm.com>
8954169689Skan
8955169689Skan	* basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
8956169689Skan	(ei_container): New; renamed.
8957169689Skan	(ei_start, ei_last): New macros.
8958169689Skan	(ei_start_1, ei_last_1): Renamed from ei_start.
8959169689Skan	(ei_last_1, ei_end_p): Use ei_container() where applicable.
8960169689Skan	(ei_one_before_end_p, ei_next, ei_edge): Likewise.
8961169689Skan	* gcse.c (remove_reachable_equiv_notes): Use ei_container().
8962169689Skan
8963169689Skan2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
8964169689Skan
8965169689Skan	* Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
8966169689Skan	* cfgloop.c (initialize_loops_parallel_p): New.
8967169689Skan	(flow_loops_find): Initialize the parallel_p field to true for all
8968169689Skan	the loops.
8969169689Skan	* tree-ssa-loop-niter.c: Include "tree-data-ref.h".
8970169689Skan	(estimate_numbers_of_iterations_loop): Infers the loop bounds from
8971169689Skan	the size of the data accessed in the loop.
8972169689Skan	(struct nb_iter_bound): Moved...
8973169689Skan	* cfgloop.h (struct nb_iter_bound): ... here.
8974169689Skan	(estimated_nb_iterations, parallel_p): New fields in struct loop.
8975169689Skan	(record_estimate): Declare extern here.
8976169689Skan	* tree-chrec.c: Fix comments.
8977169689Skan	(nb_vars_in_chrec): New function.
8978169689Skan	* tree-chrec.h (nb_vars_in_chrec): Declared here.
8979169689Skan	* tree-data-ref.c: Don't include lambda.h, that is already included
8980169689Skan	in tree-data-ref.h.
8981169689Skan	(tree_fold_divides_p): Don't check for integer_onep.
8982169689Skan	(tree_fold_bezout): Removed.
8983169689Skan	(gcd): New static duplicated function.
8984169689Skan	(int_divides_p, dump_subscript): New.
8985169689Skan	(dump_data_dependence_relation): Use dump_subscript.
8986169689Skan	(dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
8987169689Skan	estimate_niter_from_size_of_data): New.
8988169689Skan	(analyze_array_indexes, analyze_array): Call
8989169689Skan	estimate_niter_from_size_of_data during	the detection of array
8990169689Skan	references.  Pass in a pointer to the statement that contains the
8991169689Skan	array reference.
8992169689Skan	(all_chrecs_equal_p): New.
8993169689Skan	(compute_distance_vector): Renamed compute_subscript_distance.
8994169689Skan	Deal with multivariate conflict functions.
8995169689Skan	(initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
8996169689Skan	DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
8997169689Skan	(non_affine_dependence_relation): New.
8998169689Skan	(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
8999169689Skan	analyze_siv_subscript, analyze_miv_subscript,
9000169689Skan	analyze_overlapping_iterations, subscript_dependence_tester):
9001169689Skan	Initialize and return last_conflicts function.
9002169689Skan	(initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
9003169689Skan	compute_overlap_steps_for_affine_1_2): New.
9004169689Skan	(analyze_siv_subscript_affine_cst): Removed.
9005169689Skan	(analyze_subscript_affine_affine): Disprove dependences based on the
9006169689Skan	iteration domains.  Solve the univariate dependence case as before,
9007169689Skan	but use lambda_matrix_right_hermite instead of tree_fold_bezout.
9008169689Skan	Implement the multivariate case of 2 versus 1 variables.
9009169689Skan	(build_classic_dist_vector, build_classic_dir_vector): Implement some
9010169689Skan	unhandled cases.
9011169689Skan	(find_data_references_in_loop): Compute and initialize
9012169689Skan	loop->estimated_nb_iterations and loop->parallel_p.
9013169689Skan	(analyze_all_data_dependences): Modify the debug dump order.
9014169689Skan	* tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
9015169689Skan	subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
9016169689Skan	(SUB_LAST_CONFLICT, subscript->last_conflict,
9017169689Skan	data_dependence_relation->affine_p, data_dependence_relation->size_vect,
9018169689Skan	DDR_AFFINE_P, DDR_SIZE_VECT): New.
9019169689Skan	(find_data_references_in_loop, initialize_data_dependence_relation,
9020169689Skan	dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
9021169689Skan
9022169689Skan2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
9023169689Skan
9024169689Skan	* configure: Regenerate.
9025169689Skan
9026169689Skan2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
9027169689Skan
9028169689Skan	PR 17892
9029169689Skan	* tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
9030169689Skan	(simplify_rhs_and_lookup_avail_expr): Disallow associativity
9031169689Skan	and constant folding of floating point MULT_EXPR/PLUS_EXPR
9032169689Skan	expressions.
9033169689Skan
9034169689Skan2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
9035169689Skan
9036169689Skan	* config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
9037169689Skan	(s390_gimplify_va_arg): Likewise.
9038169689Skan
9039169689Skan2004-10-12  Daniel Jacobowitz  <dan@debian.org>
9040169689Skan
9041169689Skan	* defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
9042169689Skan	(MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
9043169689Skan	(REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
9044169689Skan	* regclass.c (record_address_regs): Remove ifdef.  Use
9045169689Skan	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
9046169689Skan	* regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
9047169689Skan	definition.
9048169689Skan	(scan_rtx_address, replace_oldest_value_addr): Use
9049169689Skan	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
9050169689Skan	* reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
9051169689Skan	unnecessary definitions.
9052169689Skan	(find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
9053169689Skan	and MODE_BASE_REG_REG_CLASS.
9054169689Skan	* config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
9055169689Skan	(MODE_BASE_REG_REG_CLASS): Define.
9056169689Skan	(REGNO_MODE_OK_FOR_REG_BASE_P): Define.
9057169689Skan	(REG_MODE_OK_FOR_REG_BASE_P): Define.
9058169689Skan	* doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
9059169689Skan	REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
9060169689Skan
9061169689Skan2004-10-12  Daniel Berlin <dberlin@dberlin.org>
9062169689Skan
9063169689Skan	* tree-ssa-alias.c (verify_name_tags): New function.
9064169689Skan	(verify_flow_sensitive_alias_info): Remove code that used to check name tags.
9065169689Skan	(verify_alias_info): Call verify_name_tags.
9066169689Skan
9067169689Skan2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
9068169689Skan
9069169689Skan	PR rtl-optimization/17931
9070169689Skan	* config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
9071169689Skan	ZERO_EXTRACT in it.
9072169689Skan
9073169689Skan2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
9074169689Skan
9075169689Skan	* arm.c (arm_print_operand): Use output_operand_lossage where possible
9076169689Skan	rather than aborting.
9077169689Skan
9078169689Skan2004-10-12  Paul Brook  <paul@coudesourcery.com>
9079169689Skan
9080169689Skan	* config.gcc: Add armv6{k,z,zk}
9081169689Skan	* config/arm/arm-cores.def: Add arm1176 and mpcore.
9082169689Skan	* config/arm/tune.md: Regenerate.
9083169689Skan	* config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
9084169689Skan	Define.
9085169689Skan	(all_architectures): Add armv6k, armv6z, armv6zk.
9086169689Skan	* config/arm/lib1funcs.asm: Recognise new arm arcitectures.
9087169689Skan	* doc/invoke.texi: Document new arch and cpu values.
9088169689Skan
9089169689Skan2004-10-12  Paul Brook  <paul@coodesourcery.com>
9090169689Skan
9091169689Skan	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
9092169689Skan	meabi=4.
9093169689Skan
9094169689Skan2004-10-12  Paul Brook  <paul@codesourcery.com>
9095169689Skan
9096169689Skan	* config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
9097169689Skan	Handle negative constants.
9098169689Skan
9099169689Skan2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
9100169689Skan
9101169689Skan	PR c/17301
9102169689Skan	* c-typeck.c (convert_arguments): Return error_mark_node if there
9103169689Skan	are too few arguments.
9104169689Skan	(build_function_call): Handle error_mark_node return from
9105169689Skan	convert_arguments.
9106169689Skan
9107169689Skan2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
9108169689Skan
9109169689Skan	* configure.ac (symbolic_link): Replace with $LN_S.
9110169689Skan	(Assembler/Linker): Hard link from gas and binutils trees.
9111169689Skan	* aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
9112169689Skan	* configure: Regenerate.
9113169689Skan
9114169689Skan2004-10-12  Paul Brook  <paul@codesourcery.com>
9115169689Skan
9116169689Skan	* configure.ac: Don't look for host assembler when building a canadian
9117169689Skan	cross.
9118169689Skan	* configure: Regenerate.
9119169689Skan
9120169689Skan2004-10-11  Roger Sayle  <roger@eyesopen.com>
9121169689Skan
9122169689Skan	PR other/17361
9123169689Skan	* c-opts.c (permit_fortran_options): Delete/obsolete global variable.
9124169689Skan	(c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
9125169689Skan	line options for "-lang-asm" and if found allow any of the C-family
9126169689Skan	front-end options.
9127169689Skan	(c_common_handle_option): Remove last use of permit_fortran_options.
9128169689Skan
9129169689Skan2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
9130169689Skan
9131169689Skan	* config/s390/s390.c (print_operand): Support 'S' format flag.
9132169689Skan	* config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
9133169689Skan	("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
9134169689Skan	("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
9135169689Skan	("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
9136169689Skan	("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
9137169689Skan	("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
9138169689Skan	("*movstricthi"): Likewise.
9139169689Skan	("*load_multiple_di", "*load_multiple_si"): Likewise.
9140169689Skan	("*store_multiple_di", "*store_multiple_si"): Likewise.
9141169689Skan	("*sethiqisi", "*sethihisi"): Likewise.
9142169689Skan	("*sethiqidi_64", "*sethiqidi_31"): Likewise.
9143169689Skan	("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
9144169689Skan	("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
9145169689Skan	("*xorqi3", "*xc", "*xc_zero"): Likewise.
9146169689Skan	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
9147169689Skan
9148169689Skan	("*tmhi_full"): Fix incorrect op_type attribute.
9149169689Skan
9150169689Skan	("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
9151169689Skan	("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
9152169689Skan	("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
9153169689Skan	("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
9154169689Skan
9155169689Skan2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
9156169689Skan
9157169689Skan	PR middle-end/16266
9158169689Skan	* function.c (temp_slots_at_level): Fix typo which creates too
9159169689Skan	many temp stack slots levels.
9160169689Skan
9161169689Skan2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
9162169689Skan
9163169689Skan	* config/s390/s390.c (s390_trampoline_template): Generate shorter
9164169689Skan	trampoline code.
9165169689Skan	(s390_trampoline_instantiate): Adapt.
9166169689Skan	* config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
9167169689Skan
9168169689Skan2004-10-11  Roger Sayle  <roger@eyesopen.com>
9169169689Skan
9170169689Skan	PR middle-end/17657
9171169689Skan	* stmt.c (add_case_node): Add additional type argument.  Declare
9172169689Skan	as static to match prototype.  Convert the upper and lower bounds
9173169689Skan	to the specified index type.  Optimize away case ranges/values
9174169689Skan	that are outside the index type's bounds.  Truncate case ranges
9175169689Skan	that span the index type's bounds.
9176169689Skan	(expand_case): Avoid unnessary computation and memory allocation
9177169689Skan	when index type is error_mark_node.  Pass index_type as required
9178169689Skan	by change to add_case_node API.  No need to convert case range
9179169689Skan	bounds to index_type, this is now done by add_case_node.
9180169689Skan
9181169689Skan2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
9182169689Skan
9183169689Skan	* config/s390/s390-protos.h (s390_offset_p): Add prototype.
9184169689Skan	* config/s390/s390.c (s390_offset_p): New function.
9185169689Skan	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
9186169689Skan	"*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
9187169689Skan	transform Q->Q alternatives to *clc pattern.
9188169689Skan	("*clc"): Move.
9189169689Skan	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
9190169689Skan	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
9191169689Skan	to transform Q->Q alternatives to *mvc pattern.
9192169689Skan	("*mvc"): Move.  Add peephole to merge adjacent MVCs.
9193169689Skan	("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
9194169689Skan	"*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
9195169689Skan	transform Q->Q alternatives to *nc pattern.
9196169689Skan	("*nc"): New insn.  New peephole to merge adjacent NCs.
9197169689Skan	("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
9198169689Skan	"*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
9199169689Skan	transform Q->Q alternatives to *oc pattern.
9200169689Skan	("*oc"): New insn.  New peephole to merge adjacent OCs.
9201169689Skan	("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
9202169689Skan	transform Q->Q alternatives to *xc pattern.
9203169689Skan	("*xc"): New insn.  New peephole to merge adjacent XCs.
9204169689Skan	("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
9205169689Skan
9206169689Skan2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
9207169689Skan
9208169689Skan	* gimplify.c (gimple_push_condition): Make sure that we don't
9209169689Skan	have any saved condition cleanup if we were at the top level.
9210169689Skan
9211169689Skan2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
9212169689Skan
9213169689Skan	* config/frv/frv.md (*adddi3_internal): Change name to...
9214169689Skan	(adddi3): ...replacing the exisiting define_expand.  Combine
9215169689Skan	alternatives.  Fix the range of the constant constraints ('J' instead
9216169689Skan	of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
9217169689Skan	to extract the lower and upper halves of the DImode operands.
9218169689Skan	Always use addi3_lower and adddi3_upper, not the subdi3 forms.
9219169689Skan	(adddi3_lower): Fix the range of the constant constraints and
9220169689Skan	remove the bogus operands[2] check.
9221169689Skan	(adddi3_upper): Use gpr_or_int10_operand as the predicate for
9222169689Skan	operand 2.  Use addxi to handle constant operands.
9223169689Skan	(subdi3_lower, subdi3_upper): Don't handle constant operands.
9224169689Skan
9225169689Skan2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
9226169689Skan
9227169689Skan	* gengtype-lex.l: Add commented } & ) characters to unconfuse
9228169689Skan	editor's paren matching. Allow #define inside a struct.
9229169689Skan
9230169689Skan2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
9231169689Skan
9232169689Skan	PR middle-end/17703
9233169689Skan	part of PR c++/17657
9234169689Skan	* fold-const.c (fold_build_cleanup_point_expr): New function.
9235169689Skan	* tree.h (fold_build_cleanup_point_expr): Prototype.
9236169689Skan
9237169689Skan2004-10-10  Eric Christopher  <echristo@redhat.com>
9238169689Skan
9239169689Skan	* dwarf2out.c: Move attribute to subprogram declaration
9240169689Skan	instead of subroutine type.
9241169689Skan
9242169689Skan2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
9243169689Skan
9244169689Skan	* basic-block.h: Remove the prototypes for can_hoist_insn_p,
9245169689Skan	hoist_insn_after, and hoist_insn_to_edge.
9246169689Skan	* rtl.h: Remove the prototypes for reg_referenced_between_p,
9247169689Skan	no_jumps_between_p, and insn_dependent_p.
9248169689Skan	* rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
9249169689Skan	insn_dependent_p, insn_dependent_p_1, hoist_test_store,
9250169689Skan	can_hoist_insn_p, hoist_update_store, hoist_insn_after,
9251169689Skan	hoist_insn_to_edge): Remove.
9252169689Skan
9253169689Skan2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9254169689Skan
9255169689Skan	PR c/17881
9256169689Skan	* c-decl.c (grokparms): Don't warn for parameters of incomplete
9257169689Skan	type in declarations that are not definitions except for the case
9258169689Skan	of parameters of void type.
9259169689Skan
9260169689Skan2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
9261169689Skan
9262169689Skan	* tree-cfg.c: Fix comment typos.
9263169689Skan
9264169689Skan2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9265169689Skan
9266169689Skan	PR c/17301
9267169689Skan	* builtins.c (expand_builtin_va_start): Check for too few
9268169689Skan	arguments to va_start.
9269169689Skan
9270169689Skan2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9271169689Skan
9272169689Skan	PR c/17189
9273169689Skan	* c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
9274169689Skan	fields a pedwarn.  Pedwarn here for unnamed structs/unions if
9275169689Skan	pedantic.
9276169689Skan	* c-parse.in (component_decl): Don't pedwarn here for unnamed
9277169689Skan	fields.
9278169689Skan
9279169689Skan2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
9280169689Skan
9281169689Skan	PR tree-optimization/17906
9282169689Skan	* tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
9283169689Skan	copy non-gimple reg arguments.
9284169689Skan
9285169689Skan2004-10-09  Roger Sayle  <roger@eyesopen.com>
9286169689Skan
9287169689Skan	PR rtl-optimization/17853
9288169689Skan	* simplify-rtx.c (simplify_relational_operation): Correct comment.
9289169689Skan	Reorganize handling of comparison operations with floating point
9290169689Skan	results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
9291169689Skan	Likewise, introduce support for comparison operations with vector
9292169689Skan	result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
9293169689Skan
9294169689Skan	* doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
9295169689Skan	* doc/tm.texi: Likewise.
9296169689Skan
9297169689Skan2004-10-09  Steven Bosscher  <stevenb@suse.de>
9298169689Skan
9299169689Skan	* regs.h (struct reg_info_def): Remove the last_node_uid and
9300169689Skan	changes_mode fields.
9301169689Skan	(REGNO_LAST_NOTE_UID): Don't define.
9302169689Skan	* regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
9303169689Skan	* regmove.c (copy_src_to_dest): Likewise.
9304169689Skan
9305169689Skan2004-10-09  Roger Sayle  <roger@eyesopen.com>
9306169689Skan
9307169689Skan	PR middle-end/17894
9308169689Skan	* fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
9309169689Skan	relational comparison operator op needs to be swapped/reversed when
9310169689Skan	C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
9311169689Skan
9312169689Skan2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
9313169689Skan
9314169689Skan	PR tree-opt/17902
9315169689Skan	* tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
9316169689Skan	instead of bsi_start.
9317169689Skan	(value_replacement): Likewise.
9318169689Skan	(abs_replacement): Likewise
9319169689Skan
9320169689Skan2004-10-09  Steven Bosscher  <stevenb@suse.de>
9321169689Skan
9322169689Skan	* cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
9323169689Skan	(expand_gimple_cond_expr, expand_gimple_tailcall,
9324169689Skan	expand_gimple_basic_block): Use it to dump RTL for each stmt.
9325169689Skan	(tree_expand_cfg): Announce full RTL function dump.
9326169689Skan	* tree-optimize.c (execute_one_pass): Use normal RTL printing,
9327169689Skan	not the graph version.
9328169689Skan	* tree-pretty-print.c (dump_generic_node): Allow empty statements
9329169689Skan	in the arms of a COND_EXPR for lowered nodes.
9330169689Skan
9331169689Skan2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
9332169689Skan
9333169689Skan	* config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
9334169689Skan	atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
9335169689Skan	strtoufix16, strtoufix32, strtoufix64): Declare.
9336169689Skan
9337169689Skan2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
9338169689Skan
9339169689Skan	* c-lex.c (interpret_float): Give a pedwarn rather than a warning
9340169689Skan	for an out-of-range floating point constant.
9341169689Skan	* builtins.c (fold_builtin_inf): Give a pedwarn rather than a
9342169689Skan	warning if the target format does not support infinities.
9343169689Skan
9344169689Skan2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
9345169689Skan
9346169689Skan	* emit-rtl.c (last_label_num, base_label_num): Remove.
9347169689Skan	(max_label_num): Always return label_num.
9348169689Skan	(set_new_last_label_num, restore_emit_status): Remove.
9349169689Skan	(init_emit): Don't initialize last_label_num.
9350169689Skan	* function.c (pop_function_context_from): Don't call
9351169689Skan	restore_emit_status.
9352169689Skan	* function.h: Remove the prototype for restore_emit_status.
9353169689Skan	* rtl.h: Remove the prototype for set_new_last_label_num.
9354169689Skan
9355169689Skan2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
9356169689Skan
9357169689Skan	* stmt.c (expand_decl_init): Remove.
9358169689Skan	* tree.h: Remove the corresponding prototype.
9359169689Skan
9360169689Skan2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
9361169689Skan
9362169689Skan	* integrate.c (try_constants, subst_constants, mark_stores):
9363169689Skan	Remove.
9364169689Skan	* integrate.h: Remove the prototype for try_constants.
9365169689Skan
9366169689Skan2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
9367169689Skan
9368169689Skan	* c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
9369169689Skan	(convert_for_assignment): Handle ic_argpass_nonproto.  Add
9370169689Skan	comments about its relevance to errors.
9371169689Skan	(c_convert_parm_for_inlining): Use ic_argpass_nonproto.
9372169689Skan
9373169689Skan2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
9374169689Skan
9375169689Skan	PR c/16999
9376169689Skan	* c-ppoutput.c (cb_ident): Don't quote string as it is already
9377169689Skan	quoted.
9378169689Skan
9379169689Skan2004-10-08  Diego Novillo  <dnovillo@redhat.com>
9380169689Skan
9381169689Skan	* tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
9382169689Skan	reference_node_pool.
9383169689Skan
9384169689Skan2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
9385169689Skan
9386169689Skan	* tree-cfg.c: Fix a comment typo.
9387169689Skan
9388169689Skan2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
9389169689Skan
9390169689Skan	* config/s390/s390.c (s390_register_info): Don't save fprs for
9391169689Skan	-msoft-float.
9392169689Skan	(s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
9393169689Skan
9394169689Skan2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
9395169689Skan
9396169689Skan	* config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
9397169689Skan	(TARGET_DEFAULT): Use symbolic values.
9398169689Skan	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
9399169689Skan	(TARGET_DEFAULT): Use symbolic values.
9400169689Skan	* config/s390/s390.c (s390_backchain_string): Initialize to
9401169689Skan	TARGET_DEFAULT_BACKCHAIN.
9402169689Skan
9403169689Skan2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9404169689Skan
9405169689Skan	* builtins.c (expand_builtin_mempcpy): Move tree handling code to
9406169689Skan	fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
9407169689Skan	code.
9408169689Skan	(expand_builtin_strcat): Accept a type parameter.
9409169689Skan	(fold_builtin_mempcpy): Accept a type and endp parameter.
9410169689Skan
9411169689Skan	* builtins.c (expand_builtin_strncpy): Delete duplicate code.
9412169689Skan	Accept an `exp' instead of an `arglist'.
9413169689Skan
9414169689Skan2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
9415169689Skan
9416169689Skan	* tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
9417169689Skan	reverting my 2004-09-07 patch to use build_int_cst.
9418169689Skan
9419169689Skan2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
9420169689Skan
9421169689Skan	PR target/17245
9422169689Skan	* config/sparc/sparc.c (input_operand): Remove redundant code
9423169689Skan	for handling LO_SUM.
9424169689Skan	(legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
9425169689Skan	<LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
9426169689Skan	Otherwise only accept it for TFmode if quad move insns are available.
9427169689Skan
9428169689Skan2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
9429169689Skan
9430169689Skan	* tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
9431169689Skan	common cases will be caught earlier than others.
9432169689Skan
9433169689Skan2004-10-08  Michael Matz  <matz@suse.de>
9434169689Skan
9435169689Skan	* loop-doloop.c (doloop_optimize): Extend count.
9436169689Skan
9437169689Skan2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
9438169689Skan
9439169689Skan	* config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
9440169689Skan	(prefetch): Convert to expander.
9441169689Skan
9442169689Skan2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
9443169689Skan
9444169689Skan	* config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
9445169689Skan	first argument of CALL.
9446169689Skan	(tls_local_dynamic): Likewise.
9447169689Skan
9448169689Skan2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
9449169689Skan
9450169689Skan	* c-typeck.c (enum impl_conv): New.
9451169689Skan	(convert_for_assignment): Use it.  Take tree for function called
9452169689Skan	instead of its name.  Handle ObjC selectors for diagnostics at
9453169689Skan	start of function.  Select diagnostic text within the function
9454169689Skan	using full sentences for diagnsotics.  Use %qE to name functions
9455169689Skan	in diagnostics.
9456169689Skan	(convert_arguments, build_modify_expr,
9457169689Skan	c_convert_parm_for_inlining, digest_init, c_finish_return): Update
9458169689Skan	callers to convert_for_assignment.
9459169689Skan	(warn_for_assignment): Remove.
9460169689Skan
9461169689Skan2004-10-08  Nick Clifton  <nickc@redhat.com>
9462169689Skan
9463169689Skan	* config/sh/symbian.c (symbian_possibly_export_base_class):
9464169689Skan	Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
9465169689Skan	TYPE_CONTAINS_VPTR_P.
9466169689Skan
9467169689Skan2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
9468169689Skan
9469169689Skan	* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
9470169689Skan	fixed registers form all_used_regs. Update call_really_used_regs.
9471169689Skan	(CALL_REALLY_USED_REGISTERS): Define.
9472169689Skan	* config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
9473169689Skan	with call_really_used_regs.
9474169689Skan
9475169689Skan2004-10-08  Alan Modra  <amodra@bigpond.net.au>
9476169689Skan
9477169689Skan	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
9478169689Skan	for -profile as well as -p and -pg.
9479169689Skan
9480169689Skan2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
9481169689Skan
9482169689Skan	* libgcc2.c (__moddi3): Cast &w to UDWtype*.
9483169689Skan
9484169689Skan2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
9485169689Skan
9486169689Skan	* tree-cfg.c (tree_block_forwards_to): Remove.
9487169689Skan	* tree-flow.h: Remove the corresponding prototype.
9488169689Skan
9489169689Skan2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
9490169689Skan
9491169689Skan	* tree-flow-inline.h (phi_nodes): Remove an unnecessary check
9492169689Skan	for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
9493169689Skan
9494169689Skan2004-10-07  Geoffrey Keating  <geoffk@apple.com>
9495169689Skan
9496169689Skan	Radar 3813796
9497169689Skan	* config/rs6000/rs6000.c (rs6000_generate_compare): When
9498169689Skan	flag_trapping_math is in effect, don't generate subtract
9499169689Skan	instructions.
9500169689Skan
9501169689Skan2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
9502169689Skan
9503169689Skan	* config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
9504169689Skan	* config/s390/s390.c (s390_narrow_logical_operator): New function.
9505169689Skan	(s390_extra_constraint_str): Add 'A' constraints.
9506169689Skan	(s390_const_ok_for_constraint_p): Add 'Nx' constraints.
9507169689Skan	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
9508169689Skan	(CONSTRAINT_LEN): Likewise.
9509169689Skan	* config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
9510169689Skan	("*andsi3_zarch", "*andsi3_esa"): Likewise.
9511169689Skan	("*andhi3_zarch", "*andhi3_esa"): Likewise.
9512169689Skan	("*iordi3"): Add OI alternative and splitter.
9513169689Skan	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
9514169689Skan	("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
9515169689Skan	("*xordi3"): Add XI alternative and splitter.
9516169689Skan	("*xorsi3", "*xorhi3"): Likewise.
9517169689Skan
9518169689Skan2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
9519169689Skan
9520169689Skan	* config/mips/mips.c (mips_function_rodata_section): New function.
9521169689Skan	(TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
9522169689Skan
9523169689Skan2004-10-07  Devang Patel  <dpatel@apple.com>
9524169689Skan
9525169689Skan	* rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
9526169689Skan	UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
9527169689Skan	UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
9528169689Skan	UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
9529169689Skan	UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
9530169689Skan	UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
9531169689Skan	UNSPEC_VCONDU_V16QI): New constant defines.
9532169689Skan	(vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
9533169689Skan	vconduv16qi): New patterns.
9534169689Skan	* rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
9535169689Skan	* rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
9536169689Skan	(get_vec_cmp_insn): Same.
9537169689Skan	(get_vsel_insn): Same.
9538169689Skan	(rs6000_emit_vector_compare): Same.
9539169689Skan	(rs6000_emit_vector_select): Same.
9540169689Skan	(INSN_NOT_AVAILABLE): New.
9541169689Skan
9542169689Skan2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
9543169689Skan
9544169689Skan	PR tree-optimization/17749
9545169689Skan	* tree-tailcall.c (find_tail_calls): Check that parameter is
9546169689Skan	a gimple_reg.
9547169689Skan
9548169689Skan2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
9549169689Skan
9550169689Skan	* config/ia64/ia64.c: Fix a comment typo.
9551169689Skan
9552169689Skan2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
9553169689Skan
9554169689Skan	* doc/install.texi (*-*-solaris2*): Fix marker for URL.
9555169689Skan
9556169689Skan2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
9557169689Skan
9558169689Skan	PR c++/17115
9559169689Skan	* tree-inline.c (expand_call_inline): Do not warn for functions
9560169689Skan	marked with attribute noinline.
9561169689Skan
9562169689Skan2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
9563169689Skan
9564169689Skan	PR target/17862
9565169689Skan	* config/sparc/sparc.c (sparc_output_mi_thunk): Set
9566169689Skan	current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
9567169689Skan
9568169689Skan	* config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
9569169689Skan	of 0 as 4th argument to pass_by_reference.
9570169689Skan	Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
9571169689Skan
9572169689Skan2004-10-06  Eric Christopher  <echristo@redhat.com>
9573169689Skan
9574169689Skan	* config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
9575169689Skan	attribute.
9576169689Skan
9577169689Skan2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
9578169689Skan
9579169689Skan	PR target/17770
9580169689Skan	* config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
9581169689Skan
9582169689Skan2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
9583169689Skan
9584169689Skan	PR rtl-optimization/17791
9585169689Skan	* loop-doloop.c (doloop_modify): Take number of iterations as
9586169689Skan	argument.
9587169689Skan	(doloop_optimize): Extend or shorten the number of iterations
9588169689Skan	when changing mode of counter register.
9589169689Skan	* loop-iv.c (lowpart_subreg): Export.
9590169689Skan	* rtl.h (lowpart_subreg): Declare.
9591169689Skan
9592169689Skan2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
9593169689Skan
9594169689Skan	PR tree-optimization/17806
9595169689Skan	* cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
9596169689Skan	* cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
9597169689Skan	flags moved to split_edge.
9598169689Skan
9599169689Skan2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
9600169689Skan
9601169689Skan	PR middle-end/17835
9602169689Skan	* expmed.c (expand_sdiv_pow2): Force a stack adjustment
9603169689Skan	before tentatively building the conditional move sequence.
9604169689Skan
9605169689Skan2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
9606169689Skan
9607169689Skan	PR target/16815
9608169689Skan	* function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
9609169689Skan	check.
9610169689Skan	* config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
9611169689Skan	function_arg_padding.
9612169689Skan
9613169689Skan2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
9614169689Skan
9615169689Skan	PR bootstrap/17857
9616169689Skan	* Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
9617169689Skan
9618169689Skan2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
9619169689Skan
9620169689Skan	* hooks.c (hook_int_void_1, hook_void_int): Remove.
9621169689Skan	* hooks.h: Remove the corresponding prototypes.
9622169689Skan
9623169689Skan2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
9624169689Skan
9625169689Skan	PR middle-end/17849
9626169689Skan	* tree-nested.c (walk_stmt_info): Add changed field.
9627169689Skan	(convert_nonlocal_reference): Set changed to when we
9628169689Skan	change a decl to unnested decl.
9629169689Skan	<case ADDR_EXPR>: Instead of checking if the immediate part
9630169689Skan	of the ADDR_EXPR changed, check the field changed.
9631169689Skan	Use recompute_tree_invarant_for_addr_expr instead of unsetting
9632169689Skan	TREE_INVARIANT.
9633169689Skan	(convert_local_reference): Set changed to when we
9634169689Skan	change a decl to unnested decl.
9635169689Skan	<case ADDR_EXPR>: Instead of checking if the immediate part
9636169689Skan	of the ADDR_EXPR changed, check the field changed.
9637169689Skan	Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
9638169689Skan
9639169689Skan2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
9640169689Skan
9641169689Skan	* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
9642169689Skan	* dwarf2out.c (dwarf2out_init): Remove references to
9643169689Skan	DWARF2_GENERATE_TEXT_SECTION_LABEL.
9644169689Skan	* system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
9645169689Skan	* doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
9646169689Skan
9647169689Skan2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
9648169689Skan
9649169689Skan	* c-typeck.c (convert_arguments): Take expression for called
9650169689Skan	function rather than its name.  Handle ObjC selectors directly
9651169689Skan	rather than relying on warn_for_assignment to do so.  Call warning
9652169689Skan	directly rather than warn_for_assignment.  Use %qE in diagnostics.
9653169689Skan	Say "argument" rather than "arg" in diagnostics.
9654169689Skan	(build_function_call): Update call to convert_arguments.
9655169689Skan
9656169689Skan2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
9657169689Skan
9658169689Skan	PR debug/17787
9659169689Skan	* dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
9660169689Skan	ENUMs specially instead of just saying we do.
9661169689Skan
9662169689Skan2004-10-06  Eric Christopher  <echristo@redhat.com>
9663169689Skan
9664169689Skan	* dwarf2.h: Sync with include/elf/dwarf2.h
9665169689Skan
9666169689Skan2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
9667169689Skan
9668169689Skan	* tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
9669169689Skan	and TREE_VEC nodes.
9670169689Skan
9671169689Skan2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
9672169689Skan
9673169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
9674169689Skan	to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
9675169689Skan
9676169689Skan2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
9677169689Skan
9678169689Skan	* lambda-code.c (compute_nest_using_fourier_motzkin): New
9679169689Skan	function.
9680169689Skan	(lambda_compute_auxillary_space): Split from here.
9681169689Skan
9682169689Skan2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
9683169689Skan
9684169689Skan	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
9685169689Skan	* tree-flow.h: Add prototype.
9686169689Skan	* lambda-code.c (invariant_in_loop_and_outer_loops): Use
9687169689Skan	expr_invariant_in_loop.
9688169689Skan
9689169689Skan2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
9690169689Skan
9691169689Skan	* tree-cfg.c (thread_jumps): Remove a duplicate check for
9692169689Skan	EXIT_BLOCK_PTR.
9693169689Skan
9694169689Skan2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9695169689Skan
9696169689Skan	* config/s390/s390-protos.h (s_imm_operand): Remove.
9697169689Skan	(s390_pool_operand): Add prototype.
9698169689Skan	* config/s390/s390.c (general_s_operand): Remove.
9699169689Skan	(s_imm_operand): Remove.
9700169689Skan	(s_operand): Merge contents of general_s_operand.
9701169689Skan	(s390_pool_operand): New function.
9702169689Skan	* config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
9703169689Skan	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
9704169689Skan	("*cmpdi_ccu"): Merge Q->Q alternative.
9705169689Skan	("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
9706169689Skan	("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
9707169689Skan	("*cli"): Remove.
9708169689Skan	("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
9709169689Skan	("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
9710169689Skan	("*movstricthi"): Use memory_operand instead of s_imm_operand.
9711169689Skan
9712169689Skan2004-10-06  Steve Ellcey  <sje@cup.hp.com>
9713169689Skan
9714169689Skan	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
9715169689Skan	call ia64_function_arg_boundary.
9716169689Skan	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
9717169689Skan	* config/ia64/ia64.c (ia64_function_arg_boundary): New.
9718169689Skan	(ia64_function_arg_advance): Do not put 128 bit floats into
9719169689Skan	FP registers.
9720169689Skan
9721169689Skan2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9722169689Skan
9723169689Skan	* builtins.c (expand_builtin_strcpy): Delete duplicate code.
9724169689Skan	Accept an expression instead of an arglist.
9725169689Skan	(expand_builtin_stpcpy): Accept an expression instead of an
9726169689Skan	arglist.
9727169689Skan
9728169689Skan2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
9729169689Skan
9730169689Skan	PR target/16007
9731169689Skan	* doc/install.texi (*-*-solaris2*): Mention potential problem
9732169689Skan	with Sun assembler + GNU linker and C++ programs.
9733169689Skan	Document status of binutils 2.15 release.
9734169689Skan
9735169689Skan2004-10-06  Jan Hubicka  <jh@suse.cz>
9736169689Skan
9737169689Skan	* cse.c (cse_main): Kill push/pop context.
9738169689Skan
9739169689Skan2004-10-05  Zack Weinberg  <zack@codesourcery.com>
9740169689Skan
9741169689Skan	* pretty-print.c: Include tree.h.
9742169689Skan	(pp_base_prepare_to_format): New function, logic from
9743169689Skan	text_specifies_location.
9744169689Skan	(pp_base_format_text): Use gcc_assert.
9745169689Skan	* pretty-print.h (pp_prepare_to_format): New macro.
9746169689Skan	(pp_base_prepare_to_format): Prototype.
9747169689Skan	* diagnostic.c (text_specifies_location): Delete.
9748169689Skan	(bug_report_request): Delete.
9749169689Skan	(diagnostic_set_info): Don't call text_specifies_location.
9750169689Skan	(diagnostic_action_after_output): Put text from
9751169689Skan	bug_report_request inline here.  Use gcc_unreachable.
9752169689Skan	(diagnostic_report_current_function): Fix comment.
9753169689Skan	(diagnostic_report_diagnostic): Clarify logic for error recursion.
9754169689Skan	Call pp_prepare_to_format before diagnostic_starter.
9755169689Skan	(trim_filename): Use IS_DIR_SEPARATOR.
9756169689Skan	(fatal_error, internal_error): Use gcc_unreachable.
9757169689Skan	(error_recursion): Call diagnostic_action_after_output to
9758169689Skan	issue the bug_report_request message and exit.
9759169689Skan	* Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
9760169689Skan
9761169689Skan	* c-parse.in: Add list of diagnostic messages to insulate
9762169689Skan	translation template from version of yacc/bison used to
9763169689Skan	compile the grammar.
9764169689Skan
9765169689Skan2004-10-06  Alan Modra  <amodra@bigpond.net.au>
9766169689Skan
9767169689Skan	PR 16406
9768169689Skan	* doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
9769169689Skan
9770169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9771169689Skan
9772169689Skan	* basic-block.h: Remove the prototype for
9773169689Skan	flow_preorder_transversal_compute.
9774169689Skan	* cfganal.c (dfst_node): Remove.
9775169689Skan	(flow_preorder_transversal_compute): Likewise.
9776169689Skan	* rtl.h: Remove the prototype for get_jump_table_offset.
9777169689Skan	* rtlanal.c (get_jump_table_offset): Remove.
9778169689Skan
9779169689Skan2004-10-05  Richard Henderson  <rth@redhat.com>
9780169689Skan
9781169689Skan	PR 17756
9782169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
9783169689Skan
9784169689Skan2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
9785169689Skan
9786169689Skan	PR bootstrap/17817
9787169689Skan	* Makefile.in: Stage the build directory too.
9788169689Skan
9789169689Skan2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
9790169689Skan
9791169689Skan	* config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
9792169689Skan
9793169689Skan	* config/frv/frv-protos.h (frv_legitimize_address): Protoize.
9794169689Skan	(frv_emit_move): Same.
9795169689Skan
9796169689Skan	* config/frv/frv.c (frv_emit_move): New.
9797169689Skan	(frv_legitimize_address): New.
9798169689Skan
9799169689Skan	* config/frv/frv.md ("movsi"): Call frv_emit_move.
9800169689Skan	("movqi"): Same.
9801169689Skan	("movhi"): Same.
9802169689Skan	("movdi"): Same.
9803169689Skan	("movsf"): Same.
9804169689Skan	("movdf"): Same.
9805169689Skan
9806169689Skan2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
9807169689Skan
9808169689Skan	* c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
9809169689Skan	system headers.
9810169689Skan
9811169689Skan2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
9812169689Skan
9813169689Skan	* c-decl.c (pushdecl): When an extern declaration at block scope
9814169689Skan	refers to a visible entity with internal linkage, use the old DECL
9815169689Skan	rather than the new one.
9816169689Skan
9817169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9818169689Skan
9819169689Skan	* tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
9820169689Skan	comments.
9821169689Skan
9822169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9823169689Skan
9824169689Skan	* tree-cfg.c (thread_jumps): Remove a duplicate check for
9825169689Skan	an infinite loop.
9826169689Skan
9827169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9828169689Skan
9829169689Skan	* tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
9830169689Skan	of FOR_BB_BETWEEN.  Remove a useless check for unreachable
9831169689Skan	blocks.
9832169689Skan
9833169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9834169689Skan
9835169689Skan	* tree-cfg.c (cleanup_tree_cfg): Don't call
9836169689Skan	delete_unreachable_blosk() after thread_jumps().
9837169689Skan	(thread_jumps): Always remove basic blocks as they become
9838169689Skan	unreachable.
9839169689Skan
9840169689Skan2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
9841169689Skan
9842169689Skan	* tree-cfg.c (cleanup_tree_cfg): Remove variable
9843169689Skan	something_changed.  Simplify the while loop.
9844169689Skan
9845169689Skan2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9846169689Skan
9847169689Skan	* builtins.c (expand_builtin_memmove): Delete duplicate code
9848169689Skan	and accept a tree type for the result.
9849169689Skan	(expand_builtin_bcopy): Accept a tree type for the result.
9850169689Skan	(fold_builtin_memmove): Accept an arglist and tree type for
9851169689Skan	the result.
9852169689Skan
9853169689Skan2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
9854169689Skan
9855169689Skan	* config/s390/s390.c (s390_dump_pool): Remove return value.
9856169689Skan	Use gen_pool_align, gen_pool_section_start/end instead of
9857169689Skan	gen_pool_start/end_31/64.
9858169689Skan	* config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
9859169689Skan	(UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
9860169689Skan	("pool_start_31", "pool_end_31"): Remove.
9861169689Skan	("pool_start_64", "pool_end_64"): Likewise.
9862169689Skan	("pool_align", "pool_section_start", "pool_section_end": New insns.
9863169689Skan
9864169689Skan	* config/s390/s390.c (s390_cannot_copy_insn_p): New function.
9865169689Skan	(TARGET_CANNOT_COPY_INSN_P): Define.
9866169689Skan	(s390_cannot_force_const_mem): Handle UNSPEC_INSN.
9867169689Skan	(struct constant_pool): New member 'execute'.
9868169689Skan	(s390_add_execute, s390_find_execute): New functions.
9869169689Skan	(s390_execute_label, s390_execute_target): Likewise.
9870169689Skan	(s390_dump_pool): Output in-pool execute target templates.
9871169689Skan	(s390_dump_execute): New function.
9872169689Skan	(s390_alloc_pool, s390_free_pool): Handle execute templates.
9873169689Skan	(s390_mainpool_start, s390_mainpool_finish): Likewise.
9874169689Skan	(s390_chunkify_start, s390_chunkify_finish): Likewise.
9875169689Skan	* config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
9876169689Skan	("*execute"): New insn pattern.
9877169689Skan	("movmem_short", "*movmem_short"): Use splitters to generate
9878169689Skan	explicit execute pattern, remove embedded execute.
9879169689Skan	("clrmem_short", "*clrmem_short"): Likewise.
9880169689Skan	("cmpmem_short", "*cmpmem_short"): Likewise.
9881169689Skan
9882169689Skan2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
9883169689Skan
9884169689Skan	* tree-ssa.c (verify_ssa): Verify phi arguments only
9885169689Skan	contain renamed names.
9886169689Skan
9887169689Skan2004-10-05  Alan Modra  <amodra@bigpond.net.au>
9888169689Skan
9889169689Skan	* config/rs6000/linux.h: Formatting, whitespace.
9890169689Skan	* config/rs6000/linux64.h: Likewise.
9891169689Skan	* config/rs6000/rs6000-protos.h: Likewise.
9892169689Skan	* config/rs6000/rs6000.c: Likewise.
9893169689Skan	(easy_vector_splat_const): Add fall thru comments.
9894169689Skan	(output_vec_const_move): Likewise.
9895169689Skan
9896169689Skan2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
9897169689Skan
9898169689Skan	* Makefile.in: Update -Wno-error exceptions for move to build dir.
9899169689Skan
9900169689Skan2004-10-05  Chao-Ying Fu  <fu@mips.com>
9901169689Skan	    Richard Sandiford  <rsandifo@redhat.com>
9902169689Skan
9903169689Skan	* doc/invoke.texi (-mpaired-single): Link to the new description of the
9904169689Skan	built-in functions.  Document dependencies.
9905169689Skan	(-mips3d): Add link here too.
9906169689Skan	* doc/extend.texi (MIPS Paired-Single Support): New section.
9907169689Skan
9908169689Skan2004-10-04  Chao-ying Fu  <fu@mips.com>
9909169689Skan
9910169689Skan	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
9911169689Skan
9912169689Skan2004-10-04  Diego Novillo  <dnovillo@redhat.com>
9913169689Skan
9914169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
9915169689Skan	Initialize OPT_STATS to 0.
9916169689Skan
9917169689Skan2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
9918169689Skan
9919169689Skan	* tree-data-ref.c: Fix comment typos.
9920169689Skan
9921169689Skan2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
9922169689Skan
9923169689Skan	* tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
9924169689Skan	the predicate cannot be computed, don't initialize the result to
9925169689Skan	false.
9926169689Skan
9927169689Skan2004-10-01  Eric Christopher  <echristo@redhat.com>
9928169689Skan
9929169689Skan	* dwarf2.h (dwarf_calling_convention): Add GNU prefix to
9930169689Skan	locally defined enum.
9931169689Skan	* dwarf2out.c (add_calling_convention_attribute): Don't
9932169689Skan	emit DW_CC_normal.
9933169689Skan
9934169689Skan2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
9935169689Skan
9936169689Skan	PR c/17178, PR c/17820
9937169689Skan	* c-decl.c (pop_scope): Do not warn about unused static
9938169689Skan	variables as they warned in the middle-end.
9939169689Skan
9940169689Skan2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9941169689Skan
9942169689Skan	* builtins.c (expand_builtin_memcpy): Delete duplicate code
9943169689Skan	and make the first parameter the expression not the arglist.
9944169689Skan
9945169689Skan2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
9946169689Skan
9947169689Skan	* expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
9948169689Skan	as valid modes to expand address expressions.
9949169689Skan
9950169689Skan2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
9951169689Skan
9952169689Skan	* c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
9953169689Skan	c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
9954169689Skan	c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
9955169689Skan	code formatting conventions.
9956169689Skan
9957169689Skan2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
9958169689Skan
9959169689Skan	* config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
9960169689Skan
9961169689Skan2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
9962169689Skan
9963169689Skan	PR tree-optimization/16632
9964169689Skan	* fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
9965169689Skan	fold (A & C) == D into 0, fold ~C.  Similarly, for the case
9966169689Skan	where | is used instead of &.
9967169689Skan
9968169689Skan2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
9969169689Skan
9970169689Skan	* ginclude/stddef.h: Fix a comment typo.
9971169689Skan
9972169689Skan2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9973169689Skan
9974169689Skan	PR target/17443
9975169689Skan	* config.gcc (i?86-*-solaris2*): Restore correct logic
9976169689Skan	for --enable-threads option.
9977169689Skan	(sparc64-*-solaris2*): Likewise.
9978169689Skan	(sparc-*-solaris2*): Likewise.
9979169689Skan
9980169689Skan2004-10-03  Alan Modra  <amodra@bigpond.net.au>
9981169689Skan
9982169689Skan	* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
9983169689Skan	(OS_MISSING_POWERPC64): Move, and comment.
9984169689Skan	* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
9985169689Skan	(OS_MISSING_POWERPC64): Move, and comment.
9986169689Skan
9987169689Skan2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
9988169689Skan
9989169689Skan	* arm.c (output_call_mem): Add missing \t.
9990169689Skan
9991169689Skan2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9992169689Skan
9993169689Skan	* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
9994169689Skan	expand_builtin_strncmp): Delete duplicate code.
9995169689Skan
9996169689Skan2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
9997169689Skan
9998169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Reorganize to
9999169689Skan	take check-base and -limit arguments.
10000169689Skan	(mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
10001169689Skan	check ranges for ARRAY_REF and COMPONENT_REF.
10002169689Skan	(execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
10003169689Skan	instrumentation.
10004169689Skan
10005169689Skan2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
10006169689Skan
10007169689Skan	* c-objc-common.c (c_tree_printer): Correct description of %E.
10008169689Skan	Don't fall through after printing an expression.
10009169689Skan
10010169689Skan2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
10011169689Skan
10012169689Skan	* tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
10013169689Skan
10014169689Skan2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
10015169689Skan
10016169689Skan	* tree-cfg.c (cleanup_tree_cfg): Speed up by calling
10017169689Skan	delete_unrechable_blocks() only when necessary.
10018169689Skan
10019169689Skan2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
10020169689Skan
10021169689Skan	* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
10022169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
10023169689Skan	(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
10024169689Skan	__gthread_recursive_mutex_unlock): New functions.
10025169689Skan
10026169689Skan2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
10027169689Skan
10028169689Skan	* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
10029169689Skan	* config/s390/tpf-eh.c: Remove file.
10030169689Skan	* config/s390/tpf-unwind.h: New file.
10031169689Skan	* config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
10032169689Skan	(MD_UNWIND_SUPPORT): Define.
10033169689Skan
10034169689Skan2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
10035169689Skan
10036169689Skan	* c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
10037169689Skan
10038169689Skan2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
10039169689Skan
10040169689Skan	* config/s390/s390-protos.h (s390_comparison): Add prototype.
10041169689Skan	* config/s390/s390.c (s390_comparison): New function.
10042169689Skan	(s390_branch_condition_mask): Return -1 for invalid comparisons.
10043169689Skan	(s390_branch_condition_mnemonic): Assert valid comparison.
10044169689Skan	* config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
10045169689Skan	* config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
10046169689Skan	"*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
10047169689Skan	s390_comparison instead of comparison_operator.
10048169689Skan
10049169689Skan	* config/s390/s390.md (UNSPEC_CMPINT): New constant.
10050169689Skan	("cmpmemdi"): Remove.
10051169689Skan	("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
10052169689Skan	("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
10053169689Skan	("cmpint_si"): Rename to ...
10054169689Skan	("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
10055169689Skan	("cmpint_di", "*cmpint_di"): Likewise.
10056169689Skan	* config/s390/s390.c (s390_canonicalize_comparison): Remove
10057169689Skan	redundant UNSPEC_CMPINT conversions.
10058169689Skan	(s390_expand_cmpmem): Adapt to cmpint pattern changes.
10059169689Skan
10060169689Skan2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
10061169689Skan
10062169689Skan	* collect2.c (COLLECT_PARSE_FLAG): Remove.
10063169689Skan	(main): Remove a reference to COLLECT_PARSE_FLAG
10064169689Skan	* system.h: Poison COLLECT_PARSE_FLAG.
10065169689Skan	* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
10066169689Skan
10067169689Skan2004-10-01  Paul Brook  <paul@codesourcery.com>
10068169689Skan
10069169689Skan	* config/arm/crti.asm: Give _init and _fini function type.
10070169689Skan
10071169689Skan2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
10072169689Skan
10073169689Skan	* common.opt (ftree-loop-ivcanon): Enable by default.
10074169689Skan	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
10075169689Skan	Enable complete loop unrolling.
10076169689Skan	(canonicalize_induction_variables, tree_unroll_loops_completely):
10077169689Skan	Reset scev info.
10078169689Skan
10079169689Skan2004-10-01  Paul Brook  <paul@codesourcery.com>
10080169689Skan
10081169689Skan	* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
10082169689Skan	not register number.
10083169689Skan	(thumb_find_work_register): Search full register range.
10084169689Skan
10085169689Skan2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
10086169689Skan
10087169689Skan	PR tree-opt/17343
10088169689Skan	* tree-cfg.c (group_case_labels): Get the label and not
10089169689Skan	the case expr for the default case.
10090169689Skan	When the label we looking at is the default, decrement the
10091169689Skan	new_size.
10092169689Skan
10093169689Skan2004-10-01  Jan Hubicka  <jh@suse.cz>
10094169689Skan
10095169689Skan	* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
10096169689Skan	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
10097169689Skan	* toplev.h (tree_rest_of_compilation): Update prototype.
10098169689Skan	* tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
10099169689Skan
10100169689Skan2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
10101169689Skan
10102169689Skan	* tree-cfg.c (cleanup_tree_cfg): Pull a call to
10103169689Skan	cleanup_control_flow() out of the while loop.
10104169689Skan
10105169689Skan2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
10106169689Skan
10107169689Skan	* tree-vectorizer.c (vectorizable_operation): Fail unless
10108169689Skan	the mode for the vector type is indeed a vector mode.
10109169689Skan
10110169689Skan2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
10111169689Skan
10112169689Skan	* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
10113169689Skan	chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
10114169689Skan	of convert.
10115169689Skan	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
10116169689Skan	add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
10117169689Skan	follow_ssa_edge_in_rhs): Ditto.
10118169689Skan	* tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
10119169689Skan	(dump_iv): Dump base_object.
10120169689Skan	(dump_use, dump_cand): Use dump_iv.
10121169689Skan	(determine_base_object): New function.
10122169689Skan	(alloc_iv): Initialize base_object field.
10123169689Skan	(record_use): Clear the ssa_name field of iv.
10124169689Skan	(get_computation_cost_at): Do not use difference of addresses of
10125169689Skan	two different objects.
10126169689Skan	(may_eliminate_iv): Do not require the loop to have just single exit.
10127169689Skan	* tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
10128169689Skan	(nonzero_p): New function.
10129169689Skan	(inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
10130169689Skan	tree_simplify_using_condition, simplify_using_initial_conditions,
10131169689Skan	loop_niter_by_eval, find_loop_niter_by_eval,
10132169689Skan	estimate_numbers_of_iterations_loop, compare_trees,
10133169689Skan	upper_bound_in_type, lower_bound_in_type,
10134169689Skan	can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
10135169689Skan	fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
10136169689Skan	instead of integer_(non)zerop.
10137169689Skan
10138169689Skan2004-10-01  Jakub Jelinek  <jakub@redhat.com>
10139169689Skan
10140169689Skan	Revert
10141169689Skan	2004-09-29  Jakub Jelinek  <jakub@redhat.com>
10142169689Skan
10143169689Skan	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
10144169689Skan	and TI_VA_LIST_FPR_COUNTER_FIELD.
10145169689Skan	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
10146169689Skan	* tree-pass.h (pass_stdarg): Add.
10147169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
10148169689Skan	* tree-stdarg.c: New file.
10149169689Skan	* Makefile.in (OBJS-common): Add tree-stdarg.o.
10150169689Skan	(tree-stdarg.o): Add dependencies.
10151169689Skan	* function.h (struct function): Add va_list_gpr_size and
10152169689Skan	va_list_fpr_size fields.
10153169689Skan	* function.c (allocate_struct_function): Initialize them.
10154169689Skan
10155169689Skan	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
10156169689Skan	va_list_{g,f}pr_counter_field.
10157169689Skan	(ix86_setup_incoming_varargs): Don't do anything if reg_save
10158169689Skan	area will not be used.  Only save registers that tree-stdarg.c
10159169689Skan	detected they need saving.
10160169689Skan	(ix86_va_start): Don't set up fields that won't be used.
10161169689Skan
10162169689Skan	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
10163169689Skan	va_list_{g,f}pr_counter_field.
10164169689Skan	(setup_incoming_varargs): Don't do anything if reg_save
10165169689Skan	area will not be used.  Only save registers that tree-stdarg.c
10166169689Skan	detected they need saving.
10167169689Skan	(rs6000_va_start): Don't set up fields that won't be used.
10168169689Skan
10169169689Skan2004-09-30  Eric Christopher  <echristo@redhat.com>
10170169689Skan
10171169689Skan	* dwarf2.h (dwarf_calling_convention): Add enum for renesas
10172169689Skan	sh abi.
10173169689Skan	* dwarf2out.c (add_calling_convention_attribute): New function.
10174169689Skan	(gen_subroutine_type_die): Use.
10175169689Skan	* target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
10176169689Skan	* target.h (gcc_target): Add dwarf_calling_convention.
10177169689Skan	* hooks.c (hook_int_tree_0): New function.
10178169689Skan	* hooks.h: Prototype.
10179169689Skan	* config/sh/sh.c: Include dwarf2.h.
10180169689Skan	(sh_dwarf_calling_convention): New function.
10181169689Skan	(TARGET_DWARF_CALLING_CONVENTION): Use.
10182169689Skan	* doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
10183169689Skan
10184169689Skan2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10185169689Skan
10186169689Skan	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
10187169689Skan	expand_builtin_strrchr, expand_builtin_strpbrk,
10188169689Skan	expand_builtin_strncat, expand_builtin_strspn,
10189169689Skan	expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
10190169689Skan	code.
10191169689Skan
10192169689Skan2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10193169689Skan
10194169689Skan	* config/s390/s390-protos.h (s390_expand_logical_operator): Add
10195169689Skan	prototype.
10196169689Skan	(s390_logical_operator_ok_p): Likewise.
10197169689Skan	* config/s390/s390.c (s390_expand_logical_operator): New function.
10198169689Skan	(s390_logical_operator_ok_p): Likewise.
10199169689Skan	* config/s390/s390.md ("anddi3"): New expander.
10200169689Skan	("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
10201169689Skan	("*anddi3_ss", "*anddi3_ss_inv"): Remove.
10202169689Skan	("andsi3"): Use s390_expand_logical_operator.
10203169689Skan	("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
10204169689Skan	("*andsi3_ss", "*andsi3_ss_inv"): Remove.
10205169689Skan	("andhi3"): New expander.
10206169689Skan	("*andhi3_zarch", "*andhi3_esa"): New patterns.
10207169689Skan	("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
10208169689Skan	("andqi3"): New expander.
10209169689Skan	("*andqi3_zarch", "*andqi3_esa"): New patterns.
10210169689Skan	("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
10211169689Skan	("iordi3"): New expander.
10212169689Skan	("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
10213169689Skan	("*iordi3_ss", "*iordi3_ss_inv"): Remove.
10214169689Skan	("iorsi3"): Use s390_expand_logical_operator.
10215169689Skan	("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
10216169689Skan	("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
10217169689Skan	("iorhi3"): New expiorer.
10218169689Skan	("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
10219169689Skan	("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
10220169689Skan	("iorqi3"): New expiorer.
10221169689Skan	("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
10222169689Skan	("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
10223169689Skan	("xordi3"): New expander.
10224169689Skan	("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
10225169689Skan	("*xordi3_ss", "*xordi3_ss_inv"): Remove.
10226169689Skan	("xorsi3"): New expander.
10227169689Skan	("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
10228169689Skan	("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
10229169689Skan	("xorhi3"): New expander.
10230169689Skan	("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
10231169689Skan	("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
10232169689Skan	("xorqi3"): New expander.
10233169689Skan	("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
10234169689Skan	("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
10235169689Skan
10236169689Skan2004-09-30  Roger Sayle  <roger@eyesopen.com>
10237169689Skan
10238169689Skan	* combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
10239169689Skan	(AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
10240169689Skan	machine mode as the result.
10241169689Skan
10242169689Skan2004-09-30  Ben Elliston  <bje@au.ibm.com>
10243169689Skan
10244169689Skan	PR bootstrap/17761
10245169689Skan	* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
10246169689Skan	FOR_EACH_EDGE macros.
10247169689Skan
10248169689Skan2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
10249169689Skan
10250169689Skan	* c-tree.h (readonly_error): Remove.
10251169689Skan	* c-typeck (enum lvalue_use): New.
10252169689Skan	(lvalue_or_else, readonly_error): Use it.  All callers changed.
10253169689Skan	(readonly_error): Make static.
10254169689Skan
10255169689Skan2004-09-30  Jan Hubicka  <jh@suse.cz>
10256169689Skan
10257169689Skan	PR debug/13974
10258169689Skan	* cfgrtl.c (try_redirect_by_replacing_jump,
10259169689Skan	force_nonfallthru_and_redirect, commit_one_edge_insertion,
10260169689Skan	cfg_layout_merge_blocks): Do not attach any line number information
10261169689Skan	to newly inserted instructions.
10262169689Skan	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
10263169689Skan	emit_insn_*_noloc.
10264169689Skan	(emit_*insn_before, emit_insn*_after): New.
10265169689Skan	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
10266169689Skan	existing locators.
10267169689Skan	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
10268169689Skan	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
10269169689Skan
10270169689Skan2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10271169689Skan
10272169689Skan	* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
10273169689Skan	(s390_return_address_offset): Remove.
10274169689Skan	(s390_can_eliminate): Add prototype.
10275169689Skan	(s390_initial_elimination_offset): Add prototype.
10276169689Skan	* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
10277169689Skan	(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
10278169689Skan	* config/s390/s390.c (s390_arg_frame_offset): Remove.
10279169689Skan	(s390_return_address_offset): Remove.
10280169689Skan	(s390_can_eliminate, s390_initial_elimination_offset): New functions.
10281169689Skan	(struct machine_function): New member split_branches_pending_p.
10282169689Skan	(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
10283169689Skan	(s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
10284169689Skan	(s390_optimize_prologue): Remove base_used argument.  Call
10285169689Skan	s390_update_frame_layout instead of s390_register_info.  Handle
10286169689Skan	prologue/epilogue insns that touch only RETURN_REGNUM.
10287169689Skan	(s390_reorg): Remove base_used.  Clear split_branches_pending_p.
10288169689Skan	(s390_register_info): Remove base_used and return_addr_used
10289169689Skan	arguments, compute special register usage inline.  Return live
10290169689Skan	register data to caller.
10291169689Skan	(s390_frame_info): Remove arguments, do not call s390_register_info.
10292169689Skan	(s390_init_frame_layout): New function.
10293169689Skan	(s390_update_frame_layout): Likewise.
10294169689Skan	(s390_emit_prologue): Call s390_update_frame_layout; some code
10295169689Skan	move to there.  Do not emit pool placeholder insn if unnecessary.
10296169689Skan
10297169689Skan2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10298169689Skan
10299169689Skan	* config/s390/s390.c (legitimate_reload_constant_p): Remove
10300169689Skan	floating point constant workaround.
10301169689Skan	(s390_secondary_input_reload_class): Handle PLUS reloads
10302169689Skan	with too-large constant.
10303169689Skan	(s390_expand_plus_operand): Likewise.
10304169689Skan	* config/s390/s390.md ("movdi"): Do not call force_const_mem.
10305169689Skan	("movsi"): Likewise.  Also, remove workaround for non-general
10306169689Skan	operands.
10307169689Skan	("movdf"): Do not call force_const_mem.
10308169689Skan	("movsf"): Likewise.  Merge expander with *movsf insn.
10309169689Skan	("*movsf"): Remove, merge with movsf expander.
10310169689Skan
10311169689Skan2004-09-30  Paul Brook  <paul@codesourcery.com>
10312169689Skan
10313169689Skan	* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
10314169689Skan	(ENDFILE_SPEC): Define.
10315169689Skan	* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
10316169689Skan
10317169689Skan2004-09-30  Richard Henderson  <rth@redhat.com>
10318169689Skan
10319169689Skan	* config/alpha/qrnnd.asm: Mark for noexecstack.
10320169689Skan
10321169689Skan2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
10322169689Skan
10323169689Skan	* protoize.c, tree-cfg.c: Fix comment typos.
10324169689Skan
10325169689Skan2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
10326169689Skan
10327169689Skan	PR c/17730
10328169689Skan	* c-typeck.c (lvalue_or_else): Pass msgid directly to error.
10329169689Skan
10330169689Skan2004-09-30  Diego Novillo  <dnovillo@redhat.com>
10331169689Skan
10332169689Skan	* tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
10333169689Skan	expressions...
10334169689Skan	(add_pointed_to_expr): ... here.
10335169689Skan	Call add_pointed_to_expr for variables with DECL_INITIAL set.
10336169689Skan	* tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
10337169689Skan	pointer variable, if set.
10338169689Skan
10339169689Skan2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
10340169689Skan
10341169689Skan	* config/sh/sh.c: Follow spelling conventions.
10342169689Skan
10343169689Skan2004-09-29  Richard Henderson  <rth@redhat.com>
10344169689Skan
10345169689Skan	* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
10346169689Skan	* doc/tm.texi (DWARF_ZERO_REG): New.
10347169689Skan
10348169689Skan	* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
10349169689Skan	alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
10350169689Skan	* config/alpha/alpha.h (DWARF_ZERO_REG): New.
10351169689Skan
10352169689Skan2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
10353169689Skan
10354169689Skan	* builtins.c (expand_builtin_strlen): Do not call emit_move_insn
10355169689Skan	with a PLUS as source operand.
10356169689Skan	(expand_movstr): Likewise.
10357169689Skan	(expand_builtin_stpcpy): Likewise.
10358169689Skan
10359169689Skan2004-09-29  Richard Henderson  <rth@redhat.com>
10360169689Skan
10361169689Skan	PR 17739
10362169689Skan	* tree-gimple.c (is_gimple_reg): Reject hard registers.
10363169689Skan	(is_gimple_asm_val): New.
10364169689Skan	* tree-gimple.h (is_gimple_asm_val): Declare.
10365169689Skan	* gimplify.c (gimplify_asm_expr): Use it.
10366169689Skan	* tree-pretty-print.c (print_declaration): Dump hard regs.
10367169689Skan	* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
10368169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
10369169689Skan	* tree-ssa-pre.c (is_undefined_value): Likewise.
10370169689Skan	* tree-ssa-copy.c (may_propagate_copy): Likewise.
10371169689Skan	(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
10372169689Skan	* tree-ssa.c (warn_uninit): Likewise.
10373169689Skan	* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
10374169689Skan
10375169689Skan2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
10376169689Skan
10377169689Skan	* c-decl.c (merge_decls): Use comptype when comparing
10378169689Skan	types to decide on DECL_SIZE save of olddecl.
10379169689Skan
10380169689Skan2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
10381169689Skan
10382169689Skan	* tree.h (INDIRECT_REF_P): New macro.
10383169689Skan	* alias.c (get_alias_set): Use it
10384169689Skan	(nonoverlapping_memrefs_p): Ditto.
10385169689Skan	* emit-rtl.c (mem_expr_equal_p): Ditto.
10386169689Skan	(set_mem_attributes_minus_bitpos): Ditto.
10387169689Skan	(is_gimple_addressable): Ditto.
10388169689Skan	(get_base_address): Ditto.
10389169689Skan	* tree-ssa-alias.c (find_ptr_derefernece): Ditto.
10390169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
10391169689Skan	* tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
10392169689Skan	* tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
10393169689Skan	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
10394169689Skan	(add_address_candidates): Ditto.
10395169689Skan	(rewrite_address_base): Ditto.
10396169689Skan
10397169689Skan2004-09-30  Ben Elliston  <bje@au.ibm.com>
10398169689Skan
10399169689Skan	* tree-flow.h (struct bb_ann_d): Remove num_preds member.
10400169689Skan	* tree-into-ssa.c (rewrite_into_ssa): Don't set it.
10401169689Skan	(rewrite_ssa_into_ssa): Likewise.
10402169689Skan	* tree-phinodes.c (create_phi_node): Access the number of
10403169689Skan	predecessor edges using EDGE_COUNT() and not num_preds.
10404169689Skan
10405169689Skan2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
10406169689Skan
10407169689Skan	PR c/7425
10408169689Skan	* c-decl.c (merge_decls): Merge TREE_DEPRECATED.
10409169689Skan
10410169689Skan2004-09-29  Eric Christopher  <echristo@redhat.com>
10411169689Skan
10412169689Skan	* fold-const.c (tree_swap_operands_p): Remove duplicated code.
10413169689Skan
10414169689Skan2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
10415169689Skan
10416169689Skan	* config/cris/cris.md (moverside, movemside): With MEM, make sure
10417169689Skan	the address is (plus reg mem).
10418169689Skan
10419169689Skan2004-09-29  David Edelsohn  <edelsohn@gnu.org>
10420169689Skan
10421169689Skan	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
10422169689Skan
10423169689Skan2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
10424169689Skan
10425169689Skan	* tree.c (make_node_stat): Fix uninitialized warning.  Replace
10426169689Skan	cascaded if ... else if with a switch.
10427169689Skan
10428169689Skan2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
10429169689Skan
10430169689Skan	* read-rtl.c (apply_macro_to_string): Replace index with strchr.
10431169689Skan
10432169689Skan2004-09-29  Jakub Jelinek  <jakub@redhat.com>
10433169689Skan
10434169689Skan	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
10435169689Skan	and TI_VA_LIST_FPR_COUNTER_FIELD.
10436169689Skan	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
10437169689Skan	* tree-pass.h (pass_stdarg): Add.
10438169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
10439169689Skan	* tree-stdarg.c: New file.
10440169689Skan	* Makefile.in (OBJS-common): Add tree-stdarg.o.
10441169689Skan	(tree-stdarg.o): Add dependencies.
10442169689Skan	* function.h (struct function): Add va_list_gpr_size and
10443169689Skan	va_list_fpr_size fields.
10444169689Skan	* function.c (allocate_struct_function): Initialize them.
10445169689Skan
10446169689Skan	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
10447169689Skan	va_list_{g,f}pr_counter_field.
10448169689Skan	(ix86_setup_incoming_varargs): Don't do anything if reg_save
10449169689Skan	area will not be used.  Only save registers that tree-stdarg.c
10450169689Skan	detected they need saving.
10451169689Skan	(ix86_va_start): Don't set up fields that won't be used.
10452169689Skan
10453169689Skan	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
10454169689Skan	va_list_{g,f}pr_counter_field.
10455169689Skan	(setup_incoming_varargs): Don't do anything if reg_save
10456169689Skan	area will not be used.  Only save registers that tree-stdarg.c
10457169689Skan	detected they need saving.
10458169689Skan	(rs6000_va_start): Don't set up fields that won't be used.
10459169689Skan
10460169689Skan2004-09-29  Jakub Jelinek  <jakub@redhat.com>
10461169689Skan
10462169689Skan	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
10463169689Skan	BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
10464169689Skan	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
10465169689Skan	BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
10466169689Skan	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
10467169689Skan	ATTR_NONNULL_1_4): New.
10468169689Skan
10469169689Skan2004-09-29  Jakub Jelinek  <jakub@redhat.com>
10470169689Skan
10471169689Skan	PR tree-optimization/17697
10472169689Skan	* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
10473169689Skan	cfg if needed.
10474169689Skan
10475169689Skan2004-09-28  Per Bothner  <per@bothner.com>
10476169689Skan
10477169689Skan	* profile.c (branch_prob): Pass correct value to output_location,
10478169689Skan	even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
10479169689Skan
10480169689Skan2004-09-28  Richard Henderson  <rth@redhat.com>
10481169689Skan
10482169689Skan	PR 15089
10483169689Skan	* tree-ssa-copy.c (may_propagate_copy_into_asm): New.
10484169689Skan	* tree-flow.h (may_propagate_copy_into_asm): Declare.
10485169689Skan	* tree-ssa-ccp.c (replace_uses_in): Use it.
10486169689Skan	* tree-ssa-dom.c (cprop_operand): Likewise.
10487169689Skan
10488169689Skan2004-09-28 Jeff Law  <law@redhat.com>
10489169689Skan
10490169689Skan	* tree-ssa-threadupdate.c (create_block_for_threading): Request
10491169689Skan	that no outgoing edges be left in the duplicate block.  Do no
10492169689Skan	update information on outgoing edges or PHI nodes in target
10493169689Skan	blocks here.
10494169689Skan	(remove_ctrl_stmt_and_useless_edges): Renamed from
10495169689Skan	remove_last_stmt_and_useless_edges.  Handle case where the
10496169689Skan	block is empty or has no control statements.  Do not update edge
10497169689Skan	flags here.
10498169689Skan	(thread_block): Create a template block rather than copying the
10499169689Skan	original block every time.  Create outgoing edges from the
10500169689Skan	duplicate blocks and update PHIs at the target of the outgoing
10501169689Skan	edges here.  Fix edge flags for the original block if necessary.
10502169689Skan	* cfghooks (duplicate_block): No longer assert that the original
10503169689Skan	block has incoming edges.
10504169689Skan
10505169689Skan2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
10506169689Skan
10507169689Skan	* doc/extend.texi (Extended Asm): Add blurb about using Explicit
10508169689Skan	Reg Vars to enforce register allocation with general constraints.
10509169689Skan	(Explicit Reg Vars): Clarify relation to asm statements.
10510169689Skan	(Local Reg Vars): Similar.
10511169689Skan
10512169689Skan2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
10513169689Skan
10514169689Skan	* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
10515169689Skan	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
10516169689Skan	build_control_flow, new_edge): Remove.
10517169689Skan	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
10518169689Skan	(bitlst, bitlst_table_last, bitlst_table): Remove.
10519169689Skan	(bblst): Store basic_block pointer instead of block index.
10520169689Skan	(bblst_table): Likewise.
10521169689Skan	(edgelst): Store edge pointer instead of edge index.
10522169689Skan	(edgelst_table, edgelst_last): New variables.
10523169689Skan	(extract_bitlst): Rename to ...
10524169689Skan	(extract_edgelst): ... this.  Return edge pointers, not indices.
10525169689Skan	(split_edges): Update call.
10526169689Skan	(rgn_edges): Store edge pointers instead of indices.
10527169689Skan	(edge_to_bit): Remove.
10528169689Skan	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
10529169689Skan	(SET_EDGE_TO_BIT): New macro.
10530169689Skan	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
10531169689Skan	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
10532169689Skan	data structures instead of haifa_edge et al.  Use edge pointers
10533169689Skan	instead of edge indices everywhere.
10534169689Skan	(compute_dom_prob_ps): Use standard CFG data structures.  Account
10535169689Skan	for exit edges.
10536169689Skan	(compute_trg_info): Likewise.
10537169689Skan	(propagate_deps): Likewise.
10538169689Skan	(debug_candidate): Account for bblst data structure change.
10539169689Skan	(check_live_1, update_live_1, is_pfree): Likewise.
10540169689Skan	(IS_REACHABLE): Use standard CFG data structures.
10541169689Skan	(init_ready_list): Update bblst_table/edgelst_table allocation.
10542169689Skan	(schedule_region): Update alloc/cleanup code to data structure
10543169689Skan	changes.  Use edge->aux to store per-region edge index.
10544169689Skan	(init_regions): No longer call build_control_flow.  Do not
10545169689Skan	create edge list any more.
10546169689Skan
10547169689Skan2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
10548169689Skan
10549169689Skan	* cse.c (cse_insn): Avoid creating direct non-local jumps.
10550169689Skan	* combine.c (can_combine_p): Likewise.
10551169689Skan	* local-alloc. (update_equiv_regs): Likewise.
10552169689Skan
10553169689Skan2004-09-28  Richard Henderson  <rth@redhat.com>
10554169689Skan
10555169689Skan	PR 17531
10556169689Skan	* expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
10557169689Skan	Don't check VOIDmode here.  Force PLUS operands to common type.
10558169689Skan	(expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
10559169689Skan	Pmode if given a non pointer type.
10560169689Skan
10561169689Skan2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10562169689Skan
10563169689Skan	PR 17531
10564169689Skan	* optabs.c (expand_binop): Force constants to the correct mode.
10565169689Skan
10566169689Skan2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
10567169689Skan
10568169689Skan	* config/s390/s390.c (s390_adjust_cost): Remove.
10569169689Skan	(TARGET_SCHED_ADJUST_COST): Do not redefine.
10570169689Skan	(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
10571169689Skan	* config/s390/s390.md ("main_pool"): Use "larl" type
10572169689Skan	attribute if TARGET_CPU_ZARCH.
10573169689Skan
10574169689Skan2004-09-28  Jakub Jelinek  <jakub@redhat.com>
10575169689Skan
10576169689Skan	* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
10577169689Skan	variable.
10578169689Skan
10579169689Skan2004-09-28  Diego Novillo  <dnovillo@redhat.com>
10580169689Skan
10581169689Skan	* tree-ssa-loop.c (pass_record_bounds): Do not assign a
10582169689Skan	name to the pass.
10583169689Skan
10584169689Skan2004-09-28  Steven Bosscher  <stevenb@suse.de>
10585169689Skan
10586169689Skan	* common.opt (flag_gcse_sm): Disable by default.
10587169689Skan	(flag_gcse_las): Likewise.
10588169689Skan	(flag_web): Likewise.  Create from this file.
10589169689Skan	* flags.h: Remove flag_web declaration.
10590169689Skan	* toplev.c (flag_web): Likewise.
10591169689Skan	(process_options): Never set flag_web.
10592169689Skan
10593169689Skan2004-09-28  Steven Bosscher  <stevenb@suse.de>
10594169689Skan
10595169689Skan	* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
10596169689Skan	* tree-ssa-propagate.c: Include vec.h.
10597169689Skan	(interesting_ssa_edges, varying_ssa_edges): Make these VECs
10598169689Skan	instead of varrays.
10599169689Skan	(cfg_blocks_add): Assert the block is not already in the worklist.
10600169689Skan	Update uses of interesting_ssa_edges and varying_ssa_edges.
10601169689Skan	(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
10602169689Skan	ssa_propagate): Likewise.
10603169689Skan
10604169689Skan2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
10605169689Skan
10606169689Skan	PR c/16409
10607169689Skan	* c-decl.c (start_decl): Check for initializing incomplete array
10608169689Skan	of VLAs.
10609169689Skan	(build_compound_literal): Check for TYPE being error_mark_node.
10610169689Skan	* c-parse.in (primary): Check for VLA compound literals.
10611169689Skan
10612169689Skan2004-09-28  Diego Novillo  <dnovillo@redhat.com>
10613169689Skan
10614169689Skan	* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
10615169689Skan	with --disable-checking.
10616169689Skan
10617169689Skan2004-09-28  Devang Patel  <dpatel@apple.com>
10618169689Skan
10619169689Skan	* tree-pretty-print.c (dump_generic_node): Print vector types.
10620169689Skan
10621169689Skan2004-09-28  Nick Clifton  <nickc@redhat.com>
10622169689Skan
10623169689Skan	* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
10624169689Skan	invocation of the function sh_init_cumulative_args.
10625169689Skan	(INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
10626169689Skan	(INIT_CUMULATIVE_INCOMING_ARGS): Delete.
10627169689Skan	* config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
10628169689Skan	* config/sh/sh.c (sh_init_cumulative_args): New function based
10629169689Skan	on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
10630169689Skan	heuristic added to determine the setting of force_mem when a
10631169689Skan	library function is being called.
10632169689Skan
10633169689Skan2004-09-28  Diego Novillo  <dnovillo@redhat.com>
10634169689Skan
10635169689Skan	* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
10636169689Skan	Skip constant arguments.
10637169689Skan
10638169689Skan2004-09-28  Diego Novillo  <dnovillo@redhat.com>
10639169689Skan
10640169689Skan	* tree-ssa-alias.c (create_name_tags): If PTR points to a
10641169689Skan	volatile type, mark the tag volatile.
10642169689Skan	(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
10643169689Skan	volatile.
10644169689Skan
10645169689Skan2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
10646169689Skan
10647169689Skan	* tree.def (vec_cond_expr): Fix. Change 'e'
10648169689Skan	to tcc_expression.
10649169689Skan
10650169689Skan2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
10651169689Skan
10652169689Skan	* basic-block.h: Fix a comment typo.
10653169689Skan
10654169689Skan2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
10655169689Skan
10656169689Skan	* optabs.c, optabs.h: Fix comment typos.
10657169689Skan
10658169689Skan2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
10659169689Skan
10660169689Skan	* config/sparc/sparc.md (call_address_struct_value_sp32):
10661169689Skan	Properly mask the immediate field of the 'unimp' instruction.
10662169689Skan	(call_symbolic_struct_value_sp32): Likewise.
10663169689Skan
10664169689Skan2004-09-28  Ben Elliston  <bje@au.ibm.com>
10665169689Skan	    Steven Bosscher  <stevenb@suse.de>
10666169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
10667169689Skan
10668169689Skan	Merge from edge-vector-branch:
10669169689Skan	* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
10670169689Skan	(struct edge_def): Remove pred_next, succ_next members.
10671169689Skan	(struct basic_block_def): Remove pred, succ members.  Add preds
10672169689Skan	and succs members of type VEC(edge).
10673169689Skan	(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
10674169689Skan	(BRANCH_EDGE): Likewise.
10675169689Skan	(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
10676169689Skan	(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
10677169689Skan	(edge_iterator): New.
10678169689Skan	(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
10679169689Skan	(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
10680169689Skan	(FOR_EACH_EDGE): New.
10681169689Skan	* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
10682169689Skan	where applicable.
10683169689Skan	(rotate_loop): Likewise.
10684169689Skan	(find_traces_1_route): Likewise.
10685169689Skan	(bb_to_key): Likewise.
10686169689Skan	(connect_traces): Likewise.
10687169689Skan	(copy_bb_p): Likewise.
10688169689Skan	(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
10689169689Skan	(add_labels_and_missing_jumps): Likewise.
10690169689Skan	(fix_up_fall_thru_edges): Likewise.
10691169689Skan	(find_jump_block): Likewise.
10692169689Skan	(fix_crossing_conditional_branches): Likewise.
10693169689Skan	(fix_crossing_unconditional_branches): Likewise.
10694169689Skan	(add_reg_crossing_jump_notes): Likewise.
10695169689Skan	* bt-load.c (augment_live_range): Likewise.
10696169689Skan	* cfg.c (clear_edges): Likewise.
10697169689Skan	(unchecked_make_edge): Likewise.
10698169689Skan	(cached_make_edge): Likewise.
10699169689Skan	(make_single_succ_edge): Likewise.
10700169689Skan	(remove_edge): Likewise.
10701169689Skan	(redirect_edge_succ_nodup): Likewise.
10702169689Skan	(check_bb_profile): Likewise.
10703169689Skan	(dump_flow_info): Likewise.
10704169689Skan	(alloc_aux_for_edges): Likewise.
10705169689Skan	(clear_aux_for_edges): Likewise.
10706169689Skan	(dump_cfg_bb_info): Likewise.
10707169689Skan	* cfganal.c (forwarder_block_p): Likewise.
10708169689Skan	(can_fallthru): Likewise.
10709169689Skan	(could_fall_through): Likewise.
10710169689Skan	(mark_dfs_back_edges): Likewise.
10711169689Skan	(set_edge_can_fallthru_flag): Likewise.
10712169689Skan	(find_unreachable_blocks): Likewise.
10713169689Skan	(create_edge_list): Likewise.
10714169689Skan	(verify_edge_list): Likewise.
10715169689Skan	(add_noreturn_fake_exit_edges): Likewise.
10716169689Skan	(connect_infinite_loops_to_exit): Likewise.
10717169689Skan	(flow_reverse_top_sort_order_compute): Likewise.
10718169689Skan	(flow_depth_first_order_compute): Likewise.
10719169689Skan	(flow_preorder_transversal_compute): Likewise.
10720169689Skan	(flow_dfs_compute_reverse_execute): Likewise.
10721169689Skan	(dfs_enumerate_from): Likewise.
10722169689Skan	(compute_dominance_frontiers_1): Likewise.
10723169689Skan	* cfgbuild.c (make_edges): Likewise.
10724169689Skan	(compute_outgoing_frequencies): Likewise.
10725169689Skan	(find_many_sub_basic_blocks): Likewise.
10726169689Skan	(find_sub_basic_blocks): Likewise.
10727169689Skan	* cfgcleanup.c (try_simplify_condjump): Likewise.
10728169689Skan	(thread_jump): Likewise.
10729169689Skan	(try_forward_edges): Likewise.
10730169689Skan	(merge_blocks_move): Likewise.
10731169689Skan	(outgoing_edges_match): Likewise.
10732169689Skan	(try_crossjump_to_edge): Likewise.
10733169689Skan	(try_crossjump_bb): Likewise.
10734169689Skan	(try_optimize_cfg): Likewise.
10735169689Skan	(merge_seq_blocks): Likewise.
10736169689Skan	* cfgexpand.c (expand_gimple_tailcall): Likewise.
10737169689Skan	(expand_gimple_basic_block): Likewise.
10738169689Skan	(construct_init_block): Likewise.
10739169689Skan	(construct_exit_block): Likewise.
10740169689Skan	* cfghooks.c (verify_flow_info): Likewise.
10741169689Skan	(dump_bb): Likewise.
10742169689Skan	(delete_basic_block): Likewise.
10743169689Skan	(split_edge): Likewise.
10744169689Skan	(merge_blocks): Likewise.
10745169689Skan	(make_forwarder_block): Likewise.
10746169689Skan	(tidy_fallthru_edges): Likewise.
10747169689Skan	(can_duplicate_block_p): Likewise.
10748169689Skan	(duplicate_block): Likewise.
10749169689Skan	* cfglayout.c (fixup_reorder_chain): Likewise.
10750169689Skan	(fixup_fallthru_exit_predecessor): Likewise.
10751169689Skan	(can_copy_bbs_p): Likewise.
10752169689Skan	(copy_bbs): Likewise.
10753169689Skan	* cfgloop.c (flow_loops_cfg_dump): Likewise.
10754169689Skan	(flow_loop_entry_edges_find): Likewise.
10755169689Skan	(flow_loop_exit_edges_find): Likewise.
10756169689Skan	(flow_loop_nodes_find): Likewise.
10757169689Skan	(mark_single_exit_loops): Likewise.
10758169689Skan	(flow_loop_pre_header_scan): Likewise.
10759169689Skan	(flow_loop_pre_header_find): Likewise.
10760169689Skan	(update_latch_info): Likewise.
10761169689Skan	(canonicalize_loop_headers): Likewise.
10762169689Skan	(flow_loops_find): Likewise.
10763169689Skan	(get_loop_body_in_bfs_order): Likewise.
10764169689Skan	(get_loop_exit_edges): Likewise.
10765169689Skan	(num_loop_branches): Likewise.
10766169689Skan	(verify_loop_structure): Likewise.
10767169689Skan	(loop_latch_edge): Likewise.
10768169689Skan	(loop_preheader_edge): Likewise.
10769169689Skan	* cfgloopanal.c (mark_irreducible_loops): Likewise.
10770169689Skan	(expected_loop_iterations): Likewise.
10771169689Skan	* cfgloopmanip.c (remove_bbs): Likewise.
10772169689Skan	(fix_bb_placement): Likewise.
10773169689Skan	(fix_irreducible_loops): Likewise.
10774169689Skan	(remove_path): Likewise.
10775169689Skan	(scale_bbs_frequencies): Likewise.
10776169689Skan	(loopify): Likewise.
10777169689Skan	(unloop): Likewise.
10778169689Skan	(fix_loop_placement): Likewise.
10779169689Skan	(loop_delete_branch_edge): Likewise.
10780169689Skan	(duplicate_loop_to_header_edge): Likewise.
10781169689Skan	(mfb_keep_just): Likewise.
10782169689Skan	(create_preheader): Likewise.
10783169689Skan	(force_single_succ_latches): Likewise.
10784169689Skan	(loop_split_edge_with): Likewise.
10785169689Skan	(create_loop_notes): Likewise.
10786169689Skan	* cfgrtl.c (rtl_split_block): Likewise.
10787169689Skan	(rtl_merge_blocks): Likewise.
10788169689Skan	(rtl_can_merge_blocks): Likewise.
10789169689Skan	(try_redirect_by_replacing_jump): Likewise.
10790169689Skan	(force_nonfallthru_and_redirect): Likewise.
10791169689Skan	(rtl_tidy_fallthru_edge): Likewise.
10792169689Skan	(commit_one_edge_insertion): Likewise.
10793169689Skan	(commit_edge_insertions): Likewise.
10794169689Skan	(commit_edge_insertions_watch_calls): Likewise.
10795169689Skan	(rtl_verify_flow_info_1): Likewise.
10796169689Skan	(rtl_verify_flow_info): Likewise.
10797169689Skan	(purge_dead_edges): Likewise.
10798169689Skan	(cfg_layout_redirect_edge_and_branch): Likewise.
10799169689Skan	(cfg_layout_can_merge_blocks_p): Likewise.
10800169689Skan	(rtl_flow_call_edges_add): Likewise.
10801169689Skan	* cse.c (cse_cc_succs): Likewise.
10802169689Skan	* df.c (hybrid_search): Likewise.
10803169689Skan	* dominance.c (calc_dfs_tree_nonrec): Likewise.
10804169689Skan	(calc_dfs_tree): Likewise.
10805169689Skan	(calc_idoms): Likewise.
10806169689Skan	(recount_dominator): Likewise.
10807169689Skan	* domwalk.c (walk_dominator_tree): Likewise.
10808169689Skan	* except.c (emit_to_new_bb_before): Likewise.
10809169689Skan	(connect_post_landing_pads): Likewise.
10810169689Skan	(sjlj_emit_function_enter): Likewise.
10811169689Skan	(sjlj_emit_function_exit): Likewise.
10812169689Skan	(finish_eh_generation): Likewise.
10813169689Skan	* final.c (compute_alignments): Likewise.
10814169689Skan	* flow.c (calculate_global_regs_live): Likewise.
10815169689Skan	(initialize_uninitialized_subregs): Likewise.
10816169689Skan	(init_propagate_block_info): Likewise.
10817169689Skan	* function.c (thread_prologue_and_epilogue_insns): Likewise.
10818169689Skan	* gcse.c (find_implicit_sets): Likewise.
10819169689Skan	(bypass_block): Likewise.
10820169689Skan	(bypass_conditional_jumps): Likewise.
10821169689Skan	(compute_pre_data): Likewise.
10822169689Skan	(insert_insn_end_bb): Likewise.
10823169689Skan	(insert_store): Likewise.
10824169689Skan	(remove_reachable_equiv_notes): Likewise.
10825169689Skan	* global.c (global_conflicts): Likewise.
10826169689Skan	(calculate_reg_pav): Likewise.
10827169689Skan	* graph.c (print_rtl_graph_with_bb): Likewise.
10828169689Skan	* ifcvt.c (mark_loop_exit_edges): Likewise.
10829169689Skan	(merge_if_block): Likewise.
10830169689Skan	(find_if_header): Likewise.
10831169689Skan	(block_jumps_and_fallthru_p): Likewise.
10832169689Skan	(find_if_block): Likewise.
10833169689Skan	(find_cond_trap): Likewise.
10834169689Skan	(block_has_only_trap): Likewise.
10835169689Skan	(find_if_case1): Likewise.
10836169689Skan	(find_if_case_2): Likewise.
10837169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
10838169689Skan	(perfect_nestify): Likewise.
10839169689Skan	* lcm.c (compute_antinout_edge): Likewise.
10840169689Skan	(compute_laterin): Likewise.
10841169689Skan	(compute_available): Likewise.
10842169689Skan	(compute_nearerout): Likewise.
10843169689Skan	* loop-doloop.c (doloop_modify): Likewise.
10844169689Skan	* loop-init.c (loop_optimizer_init): Likewise.
10845169689Skan	* loop-invariant.c (find_exits): Likewise.
10846169689Skan	* loop-iv.c (simplify_using_initial_values): Likewise.
10847169689Skan	(check_simple_exit): Likewise.
10848169689Skan	(find_simple_exit): Likewise.
10849169689Skan	* loop-unroll.c (peel_loop_completely): Likewise.
10850169689Skan	(unroll_loop_constant_iterations): Likewise.
10851169689Skan	(unroll_loop_runtime_iterations): Likewise.
10852169689Skan	* loop-unswitch.c (may_unswitch_on): Likewise.
10853169689Skan	(unswitch_loop): Likewise.
10854169689Skan	* modulo-sched.c (generate_prolog_epilog): Likewise.
10855169689Skan	(sms_schedule): Likewise.
10856169689Skan	* postreload-gcse.c (eliminate_partially_redundant_load):
10857169689Skan	Likewise.
10858169689Skan	* predict.c (can_predict_insn_p): Likewise.
10859169689Skan	(set_even_probabilities): Likewise.
10860169689Skan	(combine_predictions_for_bb): Likewise.
10861169689Skan	(predict_loops): Likewise.
10862169689Skan	(estimate_probability): Likewise.
10863169689Skan	(tree_predict_by_opcode): Likewise.
10864169689Skan	(tree_estimate_probability): Likewise.
10865169689Skan	(last_basic_block_p): Likewise.
10866169689Skan	(propagate_freq): Likewise.
10867169689Skan	(estimate_loops_at_level): Likewise.
10868169689Skan	(estimate_bb_frequencies): Likewise.
10869169689Skan	* profile.c (instrument_edges): Likewise.
10870169689Skan	(get_exec_counts): Likewise.
10871169689Skan	(compute_branch_probabilities): Likewise.
10872169689Skan	(branch_prob): Likewise.
10873169689Skan	* ra-build.c (live_in): Likewise.
10874169689Skan	* ra-rewrite.c (rewrite_program2): Likewise.
10875169689Skan	* ra.c (reg_alloc): Likewise.
10876169689Skan	* reg-stack.c (reg_to_stack): Likewise.
10877169689Skan	(convert_regs_entry): Likewise.
10878169689Skan	(compensate_edge): Likewise.
10879169689Skan	(convert_regs_1): Likewise,
10880169689Skan	(convert_regs_2): Likewise.
10881169689Skan	(convert_regs): Likewise.
10882169689Skan	* regrename.c (copyprop_hardreg_forward): Likewise.
10883169689Skan	* reload1.c (fixup_abnormal_edges): Likewise.
10884169689Skan	* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
10885169689Skan	(sbitmap_insersection_of_preds): Likewise.
10886169689Skan	(sbitmap_union_of_succs): Likewise.
10887169689Skan	(sbitmap_union_of_preds): Likewise.
10888169689Skan	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
10889169689Skan	(fix_basic_block_boundaries): Likewise.
10890169689Skan	(sched_ebbs): Likewise.
10891169689Skan	* sched-rgn.c (build_control_flow): Likewise.
10892169689Skan	(find_rgns): Likewise.
10893169689Skan	* tracer.c (find_best_successor): Likewise.
10894169689Skan	(find_best_predecessor): Likewise.
10895169689Skan	(tail_duplicate): Likewise.
10896169689Skan	* tree-cfg.c (make_edges): Likewise.
10897169689Skan	(make_ctrl_stmt_edges): Likewise.
10898169689Skan	(make_goto_expr_edges): Likewise.
10899169689Skan	(tree_can_merge_blocks_p): Likewise.
10900169689Skan	(tree_merge_blocks): Likewise.
10901169689Skan	(cfg_remove_useless_stmts_bb): Likewise.
10902169689Skan	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
10903169689Skan	(tree_block_forwards_to): Likewise.
10904169689Skan	(cleanup_control_expr_graph): Likewise.
10905169689Skan	(find_taken_edge): Likewise.
10906169689Skan	(dump_cfg_stats): Likewise.
10907169689Skan	(tree_cfg2vcg): Likewise.
10908169689Skan	(disband_implicit_edges): Likewise.
10909169689Skan	(tree_find_edge_insert_loc): Likewise.
10910169689Skan	(bsi_commit_edge_inserts): Likewise.
10911169689Skan	(tree_split_edge): Likewise.
10912169689Skan	(tree_verify_flow_info): Likewise.
10913169689Skan	(tree_make_forwarder_block): Likewise.
10914169689Skan	(tree_forwarder_block_p): Likewise.
10915169689Skan	(thread_jumps): Likewise.
10916169689Skan	(tree_try_redirect_by_replacing_jump): Likewise.
10917169689Skan	(tree_split_block): Likewise.
10918169689Skan	(add_phi_args_after_copy_bb): Likewise.
10919169689Skan	(rewrite_to_new_ssa_names_bb): Likewise.
10920169689Skan	(dump_function_to_file): Likewise.
10921169689Skan	(print_pred_bbs): Likewise.
10922169689Skan	(print_loop): Likewise.
10923169689Skan	(tree_flow_call_edges_add): Likewise.
10924169689Skan	(split_critical_edges): Likewise.
10925169689Skan	(execute_warn_function_return): Likewise.
10926169689Skan	(extract_true_false_edges_from_block): Likewise.
10927169689Skan	* tree-if-conv.c (tree_if_conversion): Likewise.
10928169689Skan	(if_convertable_bb_p): Likewise.
10929169689Skan	(find_phi_replacement_condition): Likewise.
10930169689Skan	(combine_blocks): Likewise.
10931169689Skan	* tree-into-ssa.c (compute_global_livein): Likewise.
10932169689Skan	(ssa_mark_phi_uses): Likewise.
10933169689Skan	(ssa_rewrite_initialize_block): Likewise.
10934169689Skan	(rewrite_add_phi_arguments): Likewise.
10935169689Skan	(ssa_rewrite_phi_arguments): Likewise.
10936169689Skan	(insert_phi_nodes_for): Likewise.
10937169689Skan	(rewrite_into_ssa): Likewise.
10938169689Skan	(rewrite_ssa_into_ssa): Likewise.
10939169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Likewise.
10940169689Skan	* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
10941169689Skan	(rewrite_trees): Likewise.
10942169689Skan	* tree-pretty-print.c (dump_bb_header): Likewise.
10943169689Skan	(dump_implicit_edges): Likewise.
10944169689Skan	* tree-sra.c (insert_edge_copies): Likewise.
10945169689Skan	(find_obviously_necessary_stmts): Likewise.
10946169689Skan	(remove_data_stmt): Likewise.
10947169689Skan	* tree-ssa-dom.c (thread_across_edge): Likewise.
10948169689Skan	(dom_opt_finalize_block): Likewise.
10949169689Skan	(single_incoming_edge_ignoring_loop_edges): Likewise.
10950169689Skan	(record_equivalences_from_incoming_edges): Likewise.
10951169689Skan	(cprop_into_successor_phis): Likewise.
10952169689Skan	* tree-ssa-live.c (live_worklist): Likewise.
10953169689Skan	(calculate_live_on_entry): Likewise.
10954169689Skan	(calculate_live_on_exit): Likewise.
10955169689Skan	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
10956169689Skan	(copy_loop_headers): Likewise.
10957169689Skan	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
10958169689Skan	(fill_always_executed_in): Likewise.
10959169689Skan	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
10960169689Skan	* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
10961169689Skan	(compute_phi_arg_on_exit): Likewise.
10962169689Skan	* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
10963169689Skan	(get_loops_exit): Likewise.
10964169689Skan	(split_loop_exit_edge): Likewise.
10965169689Skan	(ip_normal_pos): Likewise.
10966169689Skan	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
10967169689Skan	Likewise.
10968169689Skan	* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
10969169689Skan	(replace_phi_with_stmt): Likewise.
10970169689Skan	(value_replacement): Likewise.
10971169689Skan	* tree-ssa-pre.c (compute_antic_aux): Likewise.
10972169689Skan	(insert_aux): Likewise.
10973169689Skan	(init_pre): Likewise.
10974169689Skan	* tree-ssa-propagate.c (simulate_stmt): Likewise.
10975169689Skan	(simulate_block): Likewise.
10976169689Skan	(ssa_prop_init): Likewise.
10977169689Skan	* tree-ssa-threadupdate.c (thread_block): Likewise.
10978169689Skan	(create_block_for_threading): Likewise.
10979169689Skan	(remove_last_stmt_and_useless_edges): Likewise.
10980169689Skan	* tree-ssa.c (verify_phi_args): Likewise.
10981169689Skan	(verify_ssa): Likewise.
10982169689Skan	* tree_tailcall.c (independent_of_stmt_p): Likewise.
10983169689Skan	(find_tail_calls): Likewise.
10984169689Skan	(eliminate_tail_call): Likewise.
10985169689Skan	(tree_optimize_tail_calls_1): Likewise.
10986169689Skan	* tree-vectorizer.c (vect_transform_loop): Likewise.
10987169689Skan	* var-tracking.c (prologue_stack_adjust): Likewise.
10988169689Skan	(vt_stack_adjustments): Likewise.
10989169689Skan	(vt_find_locations): Likewise.
10990169689Skan	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
10991169689Skan	* config/i386/i386.c (ix86_pad_returns): Likewise.
10992169689Skan	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
10993169689Skan	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
10994169689Skan
10995169689Skan2004-09-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
10996169689Skan
10997169689Skan	PR target/16532
10998169689Skan	* config/sparc/sparc.c (struct machine_function): New field
10999169689Skan	'leaf_function_p' and 'prologue_data_valid_p'.
11000169689Skan	(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
11001169689Skan	to conveniently access the above fields.
11002169689Skan	(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
11003169689Skan	(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
11004169689Skan	of the generic flavor 'current_function_uses_only_leaf_regs'.
11005169689Skan	(eligible_for_sibcall_delay): Likewise.
11006169689Skan	(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
11007169689Skan	'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
11008169689Skan	(sparc_asm_function_prologue): Add sanity check for the assumption
11009169689Skan	made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
11010169689Skan	(sparc_can_use_return_insn_p): New function.
11011169689Skan	(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
11012169689Skan	(output_restore): Likewise.
11013169689Skan	(output_sibcall): Likewise.
11014169689Skan	(sparc_output_mi_thunk): Likewise.
11015169689Skan	* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
11016169689Skan	* config/sparc/sparc.md (return): New expander.
11017169689Skan
11018169689Skan	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
11019169689Skan
11020169689Skan2004-09-27  Mark Mitchell  <mark@codesourcery.com>
11021169689Skan
11022169689Skan	PR c++/17642
11023169689Skan	* stor-layout.c (layout_decl): Use fold_convert, not convert.
11024169689Skan	(bit_from_pos): Likewise.
11025169689Skan	(byte_from_pos): Likewise.
11026169689Skan	(pos_from_bit): Likewise.
11027169689Skan	(normalize_offset): Likewise.
11028169689Skan	(place_field): Likewise.
11029169689Skan	(finalize_type_size): Likewise.
11030169689Skan	(layout_type): Likewise.
11031169689Skan	* tree.c (build_index_type): Likewise.
11032169689Skan
11033169689Skan2004-09-27  Devang Patel  <dpatel@apple.com>
11034169689Skan
11035169689Skan	* expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
11036169689Skan	* genopinit.c (optabs): New entry for vcond_gen_code and
11037169689Skan	vcondu_gen_code.
11038169689Skan	* optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
11039169689Skan	(get_rtx_code): New function.
11040169689Skan	(vector_compare_rtx): New function.
11041169689Skan	(init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
11042169689Skan	(expand_vec_cond_expr_p): New function.
11043169689Skan	(expand_vec_cond_expr): New function.
11044169689Skan	(get_vcond_icode): New function.
11045169689Skan	* optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
11046169689Skan	(vcond_gen_code, vcondu_gen_code): Same.
11047169689Skan
11048169689Skan2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
11049169689Skan
11050169689Skan	* Makefile.in (STAGESTUFF): Split into ...
11051169689Skan	(STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
11052169689Skan	(mostlyclean): Update.
11053169689Skan	(stage1-start, stage2-start, stage3-start, stage4-start,
11054169689Skan	stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
11055169689Skan	Move the STAGEMOVESTUFF.
11056169689Skan
11057169689Skan2004-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
11058169689Skan
11059169689Skan	* system.h (getpagesize): Return 'int' instead of 'long'.
11060169689Skan
11061169689Skan2004-09-27  Michael Matz <matz@suse.de>
11062169689Skan
11063169689Skan	PR bootstrap/17698
11064169689Skan	PR bootstrap/17702
11065169689Skan	* bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
11066169689Skan	bmp_iter_and_init): Shift by bit_in_word.
11067169689Skan
11068169689Skan2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
11069169689Skan
11070169689Skan	* aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
11071169689Skan	* configure.ac: Don't sinclude it here.
11072169689Skan	* configure: Regenerate.
11073169689Skan
11074169689Skan2004-09-27  Dorit Naishlos  <dorit@il.ibm.com>
11075169689Skan
11076169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
11077169689Skan	Handle AND pattern
11078169689Skan
11079169689Skan2004-09-27  Joseph S. Myers  <jsm@polyomino.org.uk>
11080169689Skan
11081169689Skan	PR c/13804
11082169689Skan	* c-typeck.c (build_component_ref): Name type involved in
11083169689Skan	diagnostic for structure or union without a member of the given
11084169689Skan	name.
11085169689Skan
11086169689Skan2004-09-27  DJ Delorie  <dj@redhat.com>
11087169689Skan
11088169689Skan	* config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
11089169689Skan	.comm alignment is bytes, not bits.
11090169689Skan
11091169689Skan2004-09-27  Devang Patel  <dpatel@apple.com>
11092169689Skan
11093169689Skan	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
11094169689Skan	(print_call_name): Do not print VEC_COND_EXPR.
11095169689Skan
11096169689Skan2004-09-27  Devang Patel  <dpatel@apple.com>
11097169689Skan
11098169689Skan	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
11099169689Skan
11100169689Skan2004-09-27  Jan Hubicka  <jh@suse.cz>
11101169689Skan
11102169689Skan	* i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
11103169689Skan
11104169689Skan2004-09-27  Kazu Hirata  <kazu@cs.umass.edu>
11105169689Skan
11106169689Skan	* bitmap.h: Fix a comment typo.
11107169689Skan
11108169689Skan2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
11109169689Skan
11110169689Skan	* libgcc2.c (getpagesize): Change type of return value to int.
11111169689Skan
11112169689Skan2004-09-26  Matt Austern  <austern@apple.com>
11113169689Skan
11114169689Skan	* ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
11115169689Skan	using mmap.
11116169689Skan
11117169689Skan2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11118169689Skan
11119169689Skan	* bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
11120169689Skan	EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
11121169689Skan	(bitmap_iterator): New type.
11122169689Skan	(bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
11123169689Skan	bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
11124169689Skan	bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
11125169689Skan	bmp_iter_and_init, bmp_iter_and_next): New functions.
11126169689Skan	* basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
11127169689Skan	EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
11128169689Skan	use iterator-style EXECUTE_IF_IN_BITMAP macros.
11129169689Skan	* bitmap.c (bitmap_print): Ditto.
11130169689Skan	* bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
11131169689Skan	btr_def_live_range): Ditto.
11132169689Skan	* cfganal.c (compute_dominance_frontiers_1) Ditto.
11133169689Skan	* cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
11134169689Skan	Ditto.
11135169689Skan	* ddg.c (build_inter_loop_deps): Ditto.
11136169689Skan	* df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
11137169689Skan	Ditto.
11138169689Skan	* except.c (remove_eh_handler): Ditto.
11139169689Skan	* flow.c (reg_set_to_hard_reg_set): Ditto.
11140169689Skan	* gcse.c (clear_modify_mem_tables): Ditto.
11141169689Skan	* global.c (build_insn_chain): Ditto.
11142169689Skan	* ifcvt.c (dead_or_predicable): Ditto.
11143169689Skan	* loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
11144169689Skan	Ditto.
11145169689Skan	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
11146169689Skan	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
11147169689Skan	detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
11148169689Skan	* tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
11149169689Skan	tree_purge_all_dead_eh_edges): Ditto.
11150169689Skan	* tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
11151169689Skan	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
11152169689Skan	rewrite_ssa_into_ssa): Ditto.
11153169689Skan	* tree-outof-ssa.c (find_replaceable_exprs): Ditto.
11154169689Skan	* tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
11155169689Skan	Ditto.
11156169689Skan	* tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
11157169689Skan	compute_flow_sensitive_aliasing, maybe_create_global_var,
11158169689Skan	dump_points_to_info_for): Ditto.
11159169689Skan	* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
11160169689Skan	* tree-ssa-dse.c (dse_finalize_block): Ditto.
11161169689Skan	* tree-ssa-live.c (live_worklist, calculate_live_on_entry,
11162169689Skan	calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
11163169689Skan	Ditto.
11164169689Skan	* tree-ssa-loop-ivopts.c (find_induction_variables,
11165169689Skan	find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
11166169689Skan	determine_use_iv_costs, determine_set_costs, find_best_candidate,
11167169689Skan	set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
11168169689Skan	Ditto.
11169169689Skan	* tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
11170169689Skan	* tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
11171169689Skan	add_call_read_ops): Ditto.
11172169689Skan	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
11173169689Skan
11174169689Skan2004-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11175169689Skan
11176169689Skan	* pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
11177169689Skan	UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
11178169689Skan
11179169689Skan2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11180169689Skan
11181169689Skan	* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
11182169689Skan	reflect size of memory regions being compared.
11183169689Skan
11184169689Skan2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11185169689Skan
11186169689Skan	* builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
11187169689Skan	expressions.  Always clear MEM_SIZE and alias set.
11188169689Skan
11189169689Skan2004-09-26  Roger Sayle  <roger@eyesopen.com>
11190169689Skan	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
11191169689Skan
11192169689Skan	PR middle-end/17112
11193169689Skan	* stor-layout.c (compute_record_mode): For records with a single
11194169689Skan	field, only use the field's mode if its size matches what we'd
11195169689Skan	have choosen for the record ourselves.  This forces the use of
11196169689Skan	BLKmode for packed records that don't completely fill a mode.
11197169689Skan
11198169689Skan2004-09-26  Roger Sayle  <roger@eyesopen.com>
11199169689Skan
11200169689Skan	PR middle-end/17151
11201169689Skan	* combine.c (force_to_mode): Remove dubious early return test that
11202169689Skan	inhibits further optimization.
11203169689Skan
11204169689Skan2004-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11205169689Skan
11206169689Skan	* profile.c: Fix a comment typo.
11207169689Skan
11208169689Skan2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11209169689Skan
11210169689Skan	PR bootstrap/17591
11211169689Skan	* tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
11212169689Skan	with varying offset.
11213169689Skan	* tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
11214169689Skan	(idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
11215169689Skan	ARRAY_REFS.
11216169689Skan	(expr_invariant_in_loop_p): New function.
11217169689Skan	(idx_find_step): Handle step and lower bound for ARRAY_REFs.  Handle
11218169689Skan	component_ref_field_offset for COMPONENT_REFs.  Do not allow
11219169689Skan	ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
11220169689Skan	(add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
11221169689Skan	MISALIGNED_INDIRECT_REFs.
11222169689Skan	(idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
11223169689Skan	(rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
11224169689Skan	MISALIGNED_INDIRECT_REFs.
11225169689Skan
11226169689Skan2004-09-26  Joseph S. Myers  <jsm@polyomino.org.uk>
11227169689Skan
11228169689Skan	PR c/11459
11229169689Skan	* gcc.c (cpp_options, cc1_options): Preserve relative order of
11230169689Skan	-std and -ansi options.
11231169689Skan
11232169689Skan2004-09-26  Jan Hubicka  <jh@suse.cz>
11233169689Skan
11234169689Skan	* dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
11235169689Skan	for nested functions whose proper parent has not been output.
11236169689Skan
11237169689Skan	* profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
11238169689Skan	when re-constructing profile previously invalidated by loop.
11239169689Skan
11240169689Skan2004-09-25  Dale Johannesen  <dalej@apple.com>
11241169689Skan
11242169689Skan	* tree-gimple.c: Move GIMPLE definition...
11243169689Skan	* doc/tree-ssa.texi: here.
11244169689Skan
11245169689Skan2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
11246169689Skan
11247169689Skan	* tree-vectorizer.c: Fix a comment typo.
11248169689Skan
11249169689Skan2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
11250169689Skan
11251169689Skan	* c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
11252169689Skan	gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
11253169689Skan	lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
11254169689Skan	tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
11255169689Skan
11256169689Skan2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
11257169689Skan
11258169689Skan	* tree-ssa-loop-unswitch.c: Fix a comment typo.
11259169689Skan
11260169689Skan2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
11261169689Skan
11262169689Skan	* doc/passes.texi: Fix a typo.
11263169689Skan
11264169689Skan2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11265169689Skan
11266169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
11267169689Skan	pass_record_bounds.
11268169689Skan	* tree-pass.h (pass_record_bounds): Declare.
11269169689Skan	* tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
11270169689Skan	New pass.
11271169689Skan
11272169689Skan2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11273169689Skan
11274169689Skan	PR tree-optimization/17474
11275169689Skan	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
11276169689Skan	offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
11277169689Skan
11278169689Skan2004-09-25  Jan Hubicka  <jh@suse.cz>
11279169689Skan
11280169689Skan	* predict.c (counts_to_freqs): Make global.
11281169689Skan	* predict.h (counts_to_freqa): Declare.
11282169689Skan	* profile.c (compute_branch_probabilities): Compute frequencies
11283169689Skan	* tree-profile.c (do_tree_profiling): Refine conditional on when
11284169689Skan	tree profiling pass is needed.
11285169689Skan
11286169689Skan	* passes.c (rest_of_handle_cfg): Disable const/pure function
11287169689Skan	detection when doing tree based profiling.
11288169689Skan
11289169689Skan	* tree-inline.c (expand_call_inline): Fix incorrectly reversed
11290169689Skan	conditional.
11291169689Skan
11292169689Skan2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
11293169689Skan
11294169689Skan	* config/mips/mips.h (struct mips_args): Clarify comments.
11295169689Skan	* config/mips/mips.c (struct mips_arg_info): Likewise.
11296169689Skan	(mips_arg_info): Don't allow fpr_p to affect the register or
11297169689Skan	stack alignment.  Remove o64 silliness.
11298169689Skan	(function_arg): Deal with the o32 float,float case specially.
11299169689Skan
11300169689Skan2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
11301169689Skan
11302169689Skan	* config/mips/mips.md (loadx, storex): Define for V2SF.
11303169689Skan
11304169689Skan2004-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
11305169689Skan
11306169689Skan	* config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
11307169689Skan	* config/s390/s390.c (s390_back_chain_rtx): New function.
11308169689Skan	* config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
11309169689Skan	Call anti_adjust_stack.
11310169689Skan	("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
11311169689Skan	only if compiling with back chain.
11312169689Skan	("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
11313169689Skan	back chain only if back chain enabled.  Use s390_back_chain_rtx.
11314169689Skan
11315169689Skan2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
11316169689Skan
11317169689Skan	* doc/trouble.texi: Remove obsolete information.  Update
11318169689Skan	information on how to regenerate fixincluded headers.
11319169689Skan
11320169689Skan2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
11321169689Skan
11322169689Skan	PR c/12951
11323169689Skan	* doc/invoke.texi: Document that
11324169689Skan	-Wno-error-implicit-function-declaration is not accepted.
11325169689Skan
11326169689Skan2004-09-24  Richard Henderson  <rth@redhat.com>
11327169689Skan
11328169689Skan	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
11329169689Skan	* config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
11330169689Skan	on TARGET_MAX.
11331169689Skan	(alpha_expand_mov): Allow unaligned vectors.
11332169689Skan	(alpha_expand_unaligned_store): Use CONST0_RTX.
11333169689Skan	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
11334169689Skan
11335169689Skan2004-09-24 Jeff Law  <law@redhat.com>
11336169689Skan
11337169689Skan	* tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
11338169689Skan	aliasing rules.
11339169689Skan	(simplify_cond_and_lookup_avail_expr): Likewise.
11340169689Skan
11341169689Skan2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
11342169689Skan
11343169689Skan	PR c/12802
11344169689Skan	* doc/extend.texi (Unnamed Fields): Remove "." from end of long
11345169689Skan	title.  Document interaction with -fms-extensions.
11346169689Skan	* doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
11347169689Skan	section.
11348169689Skan
11349169689Skan2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
11350169689Skan
11351169689Skan	PR c/12713
11352169689Skan	* doc/extend.texi: Document interaction of attribute noreturn and
11353169689Skan	longjmp.
11354169689Skan
11355169689Skan2004-09-24  Richard Henderson  <rth@redhat.com>
11356169689Skan
11357169689Skan	PR rtl-opt/17503
11358169689Skan	* regclass.c (subregs_of_mode): Turn into an htab.  Make static.
11359169689Skan	(som_hash, som_eq): New.
11360169689Skan	(init_subregs_of_mode, record_subregs_of_mode): New.
11361169689Skan	(cannot_change_mode_set_regs): Rewrite for htab implementation.
11362169689Skan	(invalid_mode_change_p): Likewise.
11363169689Skan	* combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
11364169689Skan	* flow.c (mark_used_regs): Likewise.
11365169689Skan	(life_analysis): Use init_subregs_of_mode.
11366169689Skan	* regs.h (subregs_of_mode): Remove.
11367169689Skan	* rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
11368169689Skan
11369169689Skan2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
11370169689Skan
11371169689Skan	* tree-ssa-phiopt.c (conditional_replacement): Use the correct
11372169689Skan	type with the copy of the conditional.
11373169689Skan
11374169689Skan2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
11375169689Skan
11376169689Skan	PR tree-opt/16954
11377169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
11378169689Skan	Prevent renaming if the aliasing sets of the type which the
11379169689Skan	pointer points to are different.
11380169689Skan
11381169689Skan2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
11382169689Skan
11383169689Skan	PR c/17188
11384169689Skan	* c-decl.c (diagnose_mismatched_decls): Check for duplicate
11385169689Skan	declarations of enumerators.
11386169689Skan	(start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
11387169689Skan	for redefinition.  Check for nested redefinition.
11388169689Skan	(finish_struct): Don't check for nested redefinition.
11389169689Skan	(start_enum): Check for nested redefinition.
11390169689Skan
11391169689Skan2004-09-24  Devang Patel  <dpatel@apple.com>
11392169689Skan
11393169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
11394169689Skan	only when necesssary.
11395169689Skan	(combine_blocks): Combine loop header and exit block.
11396169689Skan
11397169689Skan2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
11398169689Skan
11399169689Skan	* hooks.c (hook_tree_tree_bool_null): New.
11400169689Skan	* hooks.h (hook_tree_tree_bool_null): Declare it.
11401169689Skan	* target-def.c (TARGET_FOLD_BUILTIN): Point to it.
11402169689Skan	* targhooks.c (default_fold_builtin): Remove.
11403169689Skan	* targhooks.h (default_fold_builtin): Remove.
11404169689Skan
11405169689Skan2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11406169689Skan
11407169689Skan	PR rtl-optimization/17625
11408169689Skan	* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
11409169689Skan
11410169689Skan2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
11411169689Skan
11412169689Skan	PR tree-opt/17624
11413169689Skan	* tree-ssa-forwprop.c (record_single_argument_cond_exprs):
11414169689Skan	Reject if any of the operands occur in an abnormal PHI.
11415169689Skan
11416169689Skan2004-09-24  Andreas Schwab  <schwab@suse.de>
11417169689Skan
11418169689Skan	* tree-ssa-dom.c (record_range): Fix violation of strict aliasing
11419169689Skan	rules.
11420169689Skan
11421169689Skan2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
11422169689Skan
11423169689Skan	* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
11424169689Skan	if the GNU assembler is used.
11425169689Skan	(sparc-*-solaris2*): Likewise.
11426169689Skan	* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
11427169689Skan	(dbxout_function_end): Protect N_ENSYM with it.
11428169689Skan	(dbxout_begin_prologue): Protect N_BNSYM with it.
11429169689Skan	* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
11430169689Skan	* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
11431169689Skan	* config/sparc/sol2-gas.h: New file.
11432169689Skan
11433169689Skan2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
11434169689Skan
11435169689Skan	PR bootstrap/17369
11436169689Skan	* Makefile.in (@set_gcc_lib_path@): Added.
11437169689Skan
11438169689Skan	* configure.ac: Include ../config/gcc-lib-path.m4. Use
11439169689Skan	TL_AC_GNU_MAKE_GCC_LIB_PATH.
11440169689Skan	* configure: Regenerated.
11441169689Skan
11442169689Skan2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
11443169689Skan
11444169689Skan	PR c/6980
11445169689Skan	* c-typeck.c (build_c_cast): Improve wording of
11446169689Skan	-Wbad-function-cast diagnostic.
11447169689Skan
11448169689Skan2004-09-23  Hans-Peter Nilsson  <hp@axis.com>
11449169689Skan
11450169689Skan	PR target/17626
11451169689Skan	* config/cris/cris.md (moverside, movemside): Rename variable
11452169689Skan	"reg" to "otherop".  To generate canonical RTX, check that otherop
11453169689Skan	isn't constant instead of checking that operand 1 is a register.
11454169689Skan
11455169689Skan2004-09-23  Jakub Jelinek  <jakub@redhat.com>
11456169689Skan
11457169689Skan	* tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
11458169689Skan
11459169689Skan2004-09-23  Diego Novillo  <dnovillo@redhat.com>
11460169689Skan	    Jakub Jelinek  <jakub@redhat.com>
11461169689Skan
11462169689Skan	* tree-flow.h (find_new_referenced_vars): Add prototype.
11463169689Skan	* tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
11464169689Skan	Move to...
11465169689Skan	* tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
11466169689Skan	... here.
11467169689Skan	(mark_new_vars_to_rename): Walk through all operands.
11468169689Skan	* tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
11469169689Skan	(execute_fold_all_builtins): Use it.
11470169689Skan	(pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
11471169689Skan
11472169689Skan2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
11473169689Skan
11474169689Skan	* gthr-tpf.h: New file.
11475169689Skan	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
11476169689Skan	* gthr.h: Use gthr-tpf.h on TPF OS.
11477169689Skan
11478169689Skan2004-09-23 Jeff Law  <law@redhat.com>
11479169689Skan
11480169689Skan	* tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
11481169689Skan	than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
11482169689Skan	(substitute_and_fold): Likewise.
11483169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
11484169689Skan	except invariants from SSA_NAME_VALUE.
11485169689Skan	(thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
11486169689Skan	and SET_SSA_NAME_EQUIV.
11487169689Skan	(restore_vars_to_original_value, record_const_or_copy): Likewise.
11488169689Skan	(record_equivalences_from_phis, record_const_or_copy_1): Likewise.
11489169689Skan	(record_equality, cprop_into_successor_phis): Likewise.
11490169689Skan	(record_equivalences_from_stmt, cprop_operand): Likewise.
11491169689Skan	(lookup_avail_expr): Likewise.
11492169689Skan	* tree-ssa-pre.c (fini_pre): Remove everything except invariants
11493169689Skan	from SSA_NAME_VALUE.
11494169689Skan	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
11495169689Skan	(struct tree_ssa_name): Kill EQUIV field.  Remove GGC skip
11496169689Skan	annotation from the VALUE_HANDLE field.
11497169689Skan
11498169689Skan2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
11499169689Skan
11500169689Skan	PR c++/13989
11501169689Skan	PR c++/9844
11502169689Skan	* tree.c (reconstruct_complex_type): Remove extra "this".
11503169689Skan	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
11504169689Skan	Add V4SFmode to case statement.
11505169689Skan
11506169689Skan2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
11507169689Skan
11508169689Skan	PR c/16833
11509169689Skan	* doc/extend.texi, doc/invoke.texi: Document interaction of
11510169689Skan	-fno-builtin with format checks.  Note that built-in functions
11511169689Skan	have effects beyond generating code that avoids calls to those
11512169689Skan	functions.
11513169689Skan
11514169689Skan2004-09-23  Frank Ch. Eigler <fche@redhat.com>
11515169689Skan
11516169689Skan	PR tree-optimization/17533
11517169689Skan	* dominance.c (verify_dominators): Tolerate even more incorrect
11518169689Skan	dominance data during error message printing.
11519169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
11520169689Skan	and edges more correctly.
11521169689Skan
11522169689Skan2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
11523169689Skan
11524169689Skan	* tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
11525169689Skan	New tree-codes.
11526169689Skan	* tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
11527169689Skan	MISALIGNED_INDIRECT_REF.
11528169689Skan	* alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
11529169689Skan	* emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
11530169689Skan	Likewise.
11531169689Skan	* expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
11532169689Skan	(find_interesting_uses_address): Likewise.
11533169689Skan	* fold-const.c (non_lvalue, operand_equal_p): Likewise.
11534169689Skan	(build_fold_addr_expr_with_type): Likewise.
11535169689Skan	* gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
11536169689Skan	* print-rtl.c (print_mem_expr): Likewise.
11537169689Skan	* tree-dump.c (dequeue_and_dump): Likewise.
11538169689Skan	* tree-eh.c (tree_could_trap_p): Likewise.
11539169689Skan	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
11540169689Skan	* tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
11541169689Skan	* tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
11542169689Skan	Likewise.
11543169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
11544169689Skan	* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
11545169689Skan	* tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
11546169689Skan	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
11547169689Skan	(add_address_candidates, rewrite_address_base): Likewise.
11548169689Skan	* tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
11549169689Skan	Likewise.
11550169689Skan	* tree.c (staticp, build1_stat): Likewise.
11551169689Skan
11552169689Skan	* tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
11553169689Skan	* tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
11554169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
11555169689Skan	* expr.c (expand_expr_real_1): Likewise.
11556169689Skan
11557169689Skan	* optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
11558169689Skan	optabs.
11559169689Skan	(OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
11560169689Skan	for the new optabs.
11561169689Skan	(expand_ternary_op): New function.
11562169689Skan	* genopinit.c (optabs): Handle the new optabs.
11563169689Skan	* optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
11564169689Skan	(init_optabs): Initialize vec_realign_load_optab.
11565169689Skan	(expand_ternary_op): New functions.
11566169689Skan
11567169689Skan	* target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
11568169689Skan	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
11569169689Skan	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
11570169689Skan	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
11571169689Skan	* target.h (struct vectorize): New member for struct gcc_target.
11572169689Skan	(misaligned_mem_ok): New member for targetm.vectorize.
11573169689Skan	(builtin_mask_for_load): Likewise.
11574169689Skan	(builtin_mask_for_store): Likewise.
11575169689Skan	* targethooks.c (default_vect_misaligned_mem_ok): New function.
11576169689Skan	* targethooks.h (default_vect_misaligned_mem_ok): New function.
11577169689Skan
11578169689Skan	* config/rs6000/altivec.md (build_vector_mask_for_load): New
11579169689Skan	define_expand.
11580169689Skan	(vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
11581169689Skan	(vec_realign_load_v16qi): New define_insn.
11582169689Skan	* config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
11583169689Skan	(ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
11584169689Skan	* config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
11585169689Skan	(altivec_builtin_mask_for_store): New variables.
11586169689Skan	(rs6000_builtin_mask_for_load): New function. Implements
11587169689Skan	TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
11588169689Skan	(rs6000_builtin_mask_for_store): New function. Implements
11589169689Skan	TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
11590169689Skan	(rs6000_expand_builtin): Expand the target builtins
11591169689Skan	builtin_mask_for_load and builtin_mask_for_store.
11592169689Skan	(altivec_init_builtins): Initialize the new target builtins.
11593169689Skan	* config/i386/i386.c (ix86_misaligned_mem_ok): New function.
11594169689Skan	Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
11595169689Skan
11596169689Skan	* tree-vectorizer.c (vect_create_data_ref): Renamed to
11597169689Skan	vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
11598169689Skan	(vect_create_addr_base_for_vector_ref): Additional argument (offset).
11599169689Skan	(vectorizable_store): Call vect_create_data_ref_ptr with additional
11600169689Skan	arguments, and create an indirect_ref with its return value data_ref.
11601169689Skan	Check aligned_access_p.
11602169689Skan	(vectorizable_load): Handle misaligned loads, using software-pipelined
11603169689Skan	scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
11604169689Skan	vec_realign_load_optab is supported, or using a scheme without
11605169689Skan	software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
11606169689Skan	misaligned_mem_ok is supported.
11607169689Skan
11608169689Skan	(vect_finish_stmt_generation): Typo.
11609169689Skan	(vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
11610169689Skan	(vect_analyze_data_refs_alignment): Don't fail vectorization in the
11611169689Skan	presence of misaligned loads.
11612169689Skan	(vect_analyze_data_ref_access): Add check for constant init.
11613169689Skan	(vect_get_symbl_and_dr): Remove duplicate line.
11614169689Skan	* tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
11615169689Skan
11616169689Skan2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11617169689Skan
11618169689Skan	* builtins.c: Fix a comment typo.
11619169689Skan
11620169689Skan2004-09-23  Jan Hubicka  <jh@suse.cz>
11621169689Skan
11622169689Skan	* profile.c (branch_prob): Do not verify flow info in the middle of the
11623169689Skan	pass.
11624169689Skan
11625169689Skan2004-09-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11626169689Skan
11627169689Skan	* cfgloop.h (update_single_exits_after_duplication): Declare.
11628169689Skan	(loopify, split_loop_bb): Declaration changed.
11629169689Skan	* cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
11630169689Skan	of rtx.
11631169689Skan	(loopify): Added redirect_all_edges argument.
11632169689Skan	(update_single_exits_after_duplication): Export.
11633169689Skan	* loop-unswitch.c (unswitch_loop): Changed due to loopify change.
11634169689Skan	* tree-flow.h (tree_duplicate_loop_to_header_edge,
11635169689Skan	tree_ssa_loop_version): Declare.
11636169689Skan	* tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
11637169689Skan	set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
11638169689Skan	lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
11639169689Skan	lv_update_pending_stmts, tree_ssa_loop_version): New functions.
11640169689Skan
11641169689Skan	* tree-ssa-loop-unswitch.c: New file.
11642169689Skan	* Makefile.in (tree-ssa-loop-unswitch.o): Add.
11643169689Skan	* timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
11644169689Skan	* tree-flow.h (tree_ssa_unswitch_loops): Declare.
11645169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
11646169689Skan	* tree-pass.h (pass_unswitch): Declare.
11647169689Skan	* tree-ssa-loop.c (tree_ssa_loop_unswitch,
11648169689Skan	gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
11649169689Skan	* doc/passes.texi: Documen tree level loop unswitching.
11650169689Skan
11651169689Skan2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11652169689Skan
11653169689Skan	* cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
11654169689Skan
11655169689Skan2004-09-22  Eric Christopher  <echristo@redhat.com>
11656169689Skan
11657169689Skan	* builtins.c (simplify_builtin_va_start): Remove.
11658169689Skan	(simplify_builtin): Ditto.
11659169689Skan	(fold_builtin_strchr): Ditto.
11660169689Skan	(simplify_builtin_*): Rename remainders to fold_builtin_*.
11661169689Skan	(expand_builtin): Fix up for above changes.
11662169689Skan	(fold_builtin_1): Add new folders. Change for above.
11663169689Skan	(expand_builtin_va_start): Call fold_builtin_next_arg.
11664169689Skan	* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
11665169689Skan	* tree.h: Remove prototype for simplify_builtin.
11666169689Skan
11667169689Skan2004-09-23  Jan Hubicka  <jh@suse.cz>
11668169689Skan
11669169689Skan	PR debug/17389
11670169689Skan	* dwarf2out.c (dwarf2out_finish): Deal with nested functions
11671169689Skan	of fully inlined functions.
11672169689Skan	* tree-inline.c (inline_forbidden_p_1): Nested functions can be
11673169689Skan	inlined.
11674169689Skan
11675169689Skan	* cfgexpand.c (add_reg_br_prob_note): New function.
11676169689Skan	(expand_gimple_cond_expr): Use it.
11677169689Skan	(tree_expand_cfg): No longer kill the profile.
11678169689Skan	* cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
11679169689Skan	only if it is present.
11680169689Skan	* passes.c (rest_of_handle_loop_optimize): Kill the profile.
11681169689Skan	* predict.c (combine_predictions_for_insn): Set the probabilities
11682169689Skan	based on REG_BR_PROB note if present.
11683169689Skan	* predict.c (branch_prob): Profile is read only with
11684169689Skan	flag_branch_probabilities.
11685169689Skan
11686169689Skan2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
11687169689Skan
11688169689Skan	* aclocal.m4: Add in gettext's m4 includes.
11689169689Skan	(AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
11690169689Skan	* configure.ac: Add in check for iconv.h
11691169689Skan	* configure: Regenerate.
11692169689Skan
11693169689Skan2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
11694169689Skan
11695169689Skan	* aclocal.m4: Update for rename of gettext-sister.m4.
11696169689Skan
11697169689Skan2004-09-22  Daniel Berlin <dberlin@dberlin.org>
11698169689Skan
11699169689Skan	Fix PR tree-optimization/17587
11700169689Skan	* tree-ssa-pre.c (fini_pre): Commit edge inserts here.
11701169689Skan	(insert_aux): Instead of here.
11702169689Skan
11703169689Skan2004-09-22  Diego Novillo  <dnovillo@redhat.com>
11704169689Skan
11705169689Skan	PR tree-optimization/16721
11706169689Skan	* tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
11707169689Skan	* tree-ssa-alias.c (create_memory_tag): Move setting of
11708169689Skan	TREE_THIS_VOLATILE ...
11709169689Skan	(get_tmt_for): ... here.
11710169689Skan
11711169689Skan2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
11712169689Skan
11713169689Skan	* config/sparc/sparc.md (cmove splitter): Fix formatting.
11714169689Skan	(conditional_trap expander): Reject inappropriate CCmodes.
11715169689Skan	(conditional trap insn): Use V9 syntax if possible.
11716169689Skan
11717169689Skan2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
11718169689Skan
11719169689Skan	PR c/16566
11720169689Skan	* c-typeck.c (build_component_ref): Don't special-case
11721169689Skan	COMPOUND_EXPR.
11722169689Skan
11723169689Skan2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
11724169689Skan
11725169689Skan	* dominance.c (verify_dominators): Don't SEGV if recount_dominator
11726169689Skan	returns NULL.
11727169689Skan
11728169689Skan2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
11729169689Skan
11730169689Skan	* doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
11731169689Skan	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
11732169689Skan	TRUTH_XOR_EXPR): Mention the restriction on types.
11733169689Skan
11734169689Skan2004-09-22  Matt Austern  <austern@apple.com>
11735169689Skan
11736169689Skan	* config/darwin.c (darwin_make_decl_one_only):
11737169689Skan	Allow coalesced symbol to appear in static archive's table of contents
11738169689Skan
11739169689Skan2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
11740169689Skan
11741169689Skan	PR tree-optimization/17512
11742169689Skan	* convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
11743169689Skan	special cases.
11744169689Skan
11745169689Skan2004-09-22  David Edelsohn  <edelsohn@gnu.org>
11746169689Skan
11747169689Skan	* dbxout.c (get_lang_number): Do not define if
11748169689Skan	DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
11749169689Skan
11750169689Skan2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
11751169689Skan
11752169689Skan	PR target/15583
11753169689Skan	* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
11754169689Skan	builtin_define ("__USE_INIT_FINI__").
11755169689Skan
11756169689Skan2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>
11757169689Skan
11758169689Skan	* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
11759169689Skan	* config/s390/s390.c (s390_emit_tpf_eh_return): New function.
11760169689Skan	* config/s390/s390.h (TARGET_TPF): New macro.
11761169689Skan	* config/s390/s390.md ("eh_return"): New expander.
11762169689Skan	* config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
11763169689Skan	unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
11764169689Skan	(LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
11765169689Skan	* config/s390/tpf.h (TARGET_TPF): Define to 1.
11766169689Skan	(STACK_POINTER_OFFSET): Increase to 448.
11767169689Skan	(TARGET_DEFAULT): Set -mtpf-trace on as default.
11768169689Skan	(TPF_LOC_DIFF_OFFSET): New macro.
11769169689Skan	(ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
11770169689Skan	encoding.
11771169689Skan	(__isPATrange): Add prototype.
11772169689Skan	(MD_FALLBACK_FRAME_STATE_FOR): Define.
11773169689Skan	* config/s390/tpf-eh.c: New file.
11774169689Skan
11775169689Skan2004-09-22  Diego Novillo  <dnovillo@redhat.com>
11776169689Skan
11777169689Skan	* fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
11778169689Skan	operands in an integer comparison.
11779169689Skan	* tree-cfg.c (find_taken_edge): Call fold() to determine
11780169689Skan	whether the predicate is known.
11781169689Skan
11782169689Skan2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
11783169689Skan
11784169689Skan	* aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
11785169689Skan	* configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
11786169689Skan	Create build and doc directories along with the language directories.
11787169689Skan	Don't create doc directory separately.
11788169689Skan	* configure: Regenerate.
11789169689Skan	* Makefile.in: Create all object and executables files built
11790169689Skan	with the build compiler in a build/ directory.
11791169689Skan	(genobjnames): Add missing build objects.
11792169689Skan	(STAGESTUFF): Don't stage the gen* programs.
11793169689Skan	(ggc-none.o): Define dependencies for the target compiler.
11794169689Skan	(build-print-rtl.o): Rename to build/print-rtl.o.
11795169689Skan	(build-errors.o): Rename to build/errors.o.
11796169689Skan	(build-varray.o): Rename to build/varray.o.
11797169689Skan	(maintainerclean): Delete the contents of the build directory.
11798169689Skan	($(genobjs): %.o): Explicitly use -o.
11799169689Skan	(build/insn-conditions.o): Delete specfic rule to use generic rule.
11800169689Skan	(build/gengtype-lex.o): Likewise.
11801169689Skan	(build/gengtype-yacc.o): Likewise.
11802169689Skan	(build/gcov-iov.o): Likewise.
11803169689Skan
11804169689Skan2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
11805169689Skan
11806169689Skan	* vec.h (VEC_space): Return true if there _is_ space.
11807169689Skan	(VEC_reserve): Adjust.
11808169689Skan
11809169689Skan2004-09-22  Richard Sandiford  <rsandifo@redhat.com>
11810169689Skan
11811169689Skan	* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
11812169689Skan	use FPRs for scalar, complex and vector types only.
11813169689Skan
11814169689Skan2004-09-21 Jeff Law  <law@redhat.com>
11815169689Skan
11816169689Skan	* tree-ssa-dom.c (opt_stats): Move so that it lives just after
11817169689Skan	the opt_stats_d structure.
11818169689Skan	(vrp_data): Change from a varray into a hash table.
11819169689Skan	(vrp_hash_elt): New structure for elements in the vrp hash table.
11820169689Skan	(vrp_hash, vrp_eq):New functions for hashing and testing equality
11821169689Skan	in the vrp hash table.
11822169689Skan	(tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
11823169689Skan	initialization slightly to make it easier to read.  No longer need
11824169689Skan	to grow/clear the varray.  Instead empty and delete the hash table.
11825169689Skan	(dom_opt_finalize_block): Update due to change of VRP_DATA from
11826169689Skan	a varray to a hash table.
11827169689Skan	(simplify_cond_and_loop_avail_expr, record_range): Similarly.
11828169689Skan
11829169689Skan	* tree-ssa-ccp.c (get_default_value): If we have a constant
11830169689Skan	value recorded for an SSA_NAME, then use that constant as
11831169689Skan	the initial lattice value.
11832169689Skan	(substitute_and_fold): Transfer equivalences discovered into
11833169689Skan	SSA_NAME_EQUIV.
11834169689Skan
11835169689Skan	* tree.h (SSA_NAME_EQUIV): Add comments.
11836169689Skan	(SET_SSA_NAME_EQUIV): Similarly.
11837169689Skan
11838169689Skan2004-09-21  David Edelsohn  <edelsohn@gnu.org>
11839169689Skan
11840169689Skan	* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
11841169689Skan
11842169689Skan	* config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
11843169689Skan
11844169689Skan2004-09-21  Mark Mitchell  <mark@codesourcery.com>
11845169689Skan
11846169689Skan	* c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
11847169689Skan	(finish_decl): Likewise.
11848169689Skan
11849169689Skan2004-09-21  Devang Patel  <dpatel@apple.com>
11850169689Skan
11851169689Skan	* tree.def (VEC_COND_EXPR): New tree node.
11852169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
11853169689Skan
11854169689Skan2004-09-21  Stan Shebs  <shebs@apple.com>
11855169689Skan
11856169689Skan	* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
11857169689Skan	* config/rs6000/darwin-world.asm: Likewise.
11858169689Skan
11859169689Skan2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
11860169689Skan
11861169689Skan	* tree-ssa.c (verify_def): Use print_generic_stmt,
11862169689Skan	not debug_generic_stmt.
11863169689Skan	(verify_use): Ditto.
11864169689Skan	(verify_phi_args): Ditto.
11865169689Skan	(verify_ssa): Ditto.
11866169689Skan
11867169689Skan2004-09-21  Paul Brook  <paul@codesourcery.com>
11868169689Skan
11869169689Skan	* varasm.c (default_assemble_integer): Return false for values wider
11870169689Skan	than the target word size.  Works around GAS bug.
11871169689Skan
11872169689Skan2004-09-21  Zack Weinberg  <zack@codesourcery.com>
11873169689Skan
11874169689Skan	* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
11875169689Skan	gets value 0.
11876169689Skan	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
11877169689Skan	if it has value 0.
11878169689Skan
11879169689Skan2004-09-21  Daniel Berlin <dberlin@dberlin.org>
11880169689Skan
11881169689Skan	* c-typeck.c (build_function_call): Give name of object
11882169689Skan	we are attempting to call in error message.
11883169689Skan	* c-objc-common.c (c_tree_printer): Call pp_expression,
11884169689Skan	not return false, for 'E' case.
11885169689Skan
11886169689Skan2004-09-21  Steven Bosscher  <stevenb@suse.de>
11887169689Skan
11888169689Skan	PR rtl-optimization/17482
11889169689Skan	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
11890169689Skan	load_killed_in_block_p): Clarify comments.
11891169689Skan	(record_last_reg_set_info): Make static inline.
11892169689Skan	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
11893169689Skan	(record_opr_changes): New function to replace the above.
11894169689Skan	(compute_hash_table): Clarify comments.  Use record_opr_changes.
11895169689Skan	(reg_set_between_after_reload_p): Clean up.
11896169689Skan	(reg_used_between_after_reload_p): Likewise.
11897169689Skan	(eliminate_partially_redundant_load): Clarify comments.
11898169689Skan
11899169689Skan2004-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
11900169689Skan
11901169689Skan	PR rtl-optimization/17266
11902169689Skan	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
11903169689Skan
11904169689Skan2004-09-21  Uros Bizjak  <uros@kss-loka.si>
11905169689Skan
11906169689Skan	PR rtl-optimization/14851
11907169689Skan	* rtlanal.c (commutative_operand_precedence): Calculate
11908169689Skan	precedence of stripped constant.
11909169689Skan
11910169689Skan2004-09-20 Jeff Law  <law@redhat.com>
11911169689Skan	   Jan Hubicka  <jh@suse.cz>
11912169689Skan
11913169689Skan	* tree-ssanames.c (make_ssa_name): No longer need to clear, then
11914169689Skan	initialize key elements here.
11915169689Skan	(release_ssa_name): Zero the released SSA_NAME here.
11916169689Skan	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
11917169689Skan	(struct tree_ssa_name): Add new "equiv" field.
11918169689Skan	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
11919169689Skan	(tree_ssa_dominator_optimize): No longer allocate, resize or
11920169689Skan	clear CONST_AND_COPIES.
11921169689Skan	(get_value_for, set_value_for): Kill.
11922169689Skan	(thread_across_edge): Get/set the equivalency using
11923169689Skan	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
11924169689Skan	(restore_vars_to_original_value): Likewise.
11925169689Skan	(record_equivalences_from_phis): Likewise.
11926169689Skan	(record_dominating_conditions): Likewise.
11927169689Skan	(record_const_or_copy, record_equality): Likewise.
11928169689Skan	(lookup_avail_expr): Likewise.
11929169689Skan	(record_equivalences_from_stmt, cprop_operand): Likewise.
11930169689Skan	(cprop_into_successor_phis): No longer need to pass around
11931169689Skan	CONST_AND_COPIES.  Callers updated. Get equivalences via
11932169689Skan	SSA_NAME_EQUIV.
11933169689Skan	(cprop_into_phis): Likewise.
11934169689Skan
11935169689Skan2004-09-20  Matt Austern <austern@apple.com>
11936169689Skan	    Zack Weinberg  <zack@codesourcery.com>
11937169689Skan
11938169689Skan	* c-common.c (fix_string_type): Build the unqualified array
11939169689Skan	type unconditionally, then use c_build_qualified_type to get
11940169689Skan	the proper const-qualified variant, and set its
11941169689Skan	TYPE_MAIN_VARIANT to refer to the unqualified type.
11942169689Skan	* c-lex.c (c_lex_return_raw_string): New global.
11943169689Skan	(c_lex_with_flags): Honor it.
11944169689Skan	* c-pragma.h: Declare it.
11945169689Skan
11946169689Skan2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
11947169689Skan
11948169689Skan	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
11949169689Skan
11950169689Skan2004-09-21  Jan Hubicka  <jh@suse.cz>
11951169689Skan
11952169689Skan	PR middle-end/17126
11953169689Skan	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
11954169689Skan	(tree_rest_of_compilation): Cleanup.
11955169689Skan
11956169689Skan2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
11957169689Skan
11958169689Skan	* config/s390/s390.c (s390_select_rtx_section): Remove.
11959169689Skan	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
11960169689Skan
11961169689Skan2004-09-20  Kaz Kojima  <kkojima@gcc.gnu.org>
11962169689Skan
11963169689Skan	* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
11964169689Skan	note to pretend a direct save from the original register when an
11965169689Skan	intermediate register is used for the save.
11966169689Skan
11967169689Skan2004-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11968169689Skan
11969169689Skan	* tsystem.h (alloca): Provide a default definition.
11970169689Skan
11971169689Skan	Revert:
11972169689Skan	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11973169689Skan	    * unwind-dw2.c: Call __builtin_alloca, not alloca.
11974169689Skan
11975169689Skan2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>
11976169689Skan
11977169689Skan	PR tree-opt/17558
11978169689Skan	* tree-ssa-copy.c (may_propagate_copy): Only allow if the
11979169689Skan	aliasing sets are the same rather than just conflicting.
11980169689Skan
11981169689Skan2004-09-20  Jan Hubicka  <jh@suse.cz>
11982169689Skan
11983169689Skan	PR middle-end/16460
11984169689Skan
11985169689Skan	* cgraph.c (cgraph_unnest_node): New function.
11986169689Skan	(c_finalize): Rename to ....
11987169689Skan	(c_warn_unused_result_recursivly): ... this one; do only the warning
11988169689Skan	(finish_function): Finalize the toplevel function; do not lower nested tree.
11989169689Skan	* cgraph.h (cgraph_unnest_node): Declare.
11990169689Skan	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
11991169689Skan	nestedness datastructure.
11992169689Skan	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
11993169689Skan	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
11994169689Skan	* tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
11995169689Skan
11996169689Skan2004-09-20  Richard Henderson  <rth@redhat.com>
11997169689Skan
11998169689Skan	* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
11999169689Skan	from some_small_symbolic_operand_1; export.
12000169689Skan	(some_small_symbolic_operand): Remove.
12001169689Skan	* config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
12002169689Skan	extra C check.
12003169689Skan	* config/alpha/predicates.md (some_small_symbolic_operand): New.
12004169689Skan
12005169689Skan2004-09-20  Jan Hubicka  <jh@suse.cz>
12006169689Skan
12007169689Skan	* predict.c (return_prediction): New function.
12008169689Skan	(apply_return_prediction): Likewise.
12009169689Skan	(tree_bb_level_predictions): Likewise.
12010169689Skan	(tree_estimate_probability): Add noreturn exit edges; call
12011169689Skan	bb_level_predictions; fix logic of return heuristics.
12012169689Skan	(predict_paths_leading_to): Rescuesce from old CVS version of
12013169689Skan	process_note_prediction function.
12014169689Skan	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.
12015169689Skan
12016169689Skan2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
12017169689Skan
12018169689Skan	* config/s390/s390.c (s390_frame_info): Added alignment statement for
12019169689Skan	floating point register area on stack.
12020169689Skan
12021169689Skan2004-09-20  Jakub Jelinek  <jakub@redhat.com>
12022169689Skan
12023169689Skan	* predict.c (expr_expected_value): Use *_CLASS_P macros.
12024169689Skan
12025169689Skan2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
12026169689Skan
12027169689Skan	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
12028169689Skan	generating useless garbage.
12029169689Skan
12030169689Skan2004-09-20  Paolo Bonzini  <bonzini@gnu.org>
12031169689Skan
12032169689Skan	* builtins.c (fold_builtin): Call the new omonymous
12033169689Skan	target hook for machine-dependent built-ins.
12034169689Skan	* target-def.h (TARGET_FOLD_BUILTIN): New.
12035169689Skan	* target.h (struct gcc_target): Add the fold_builtin hook.
12036169689Skan	* targhooks.c (default_fold_builtin): New.
12037169689Skan	* targhooks.h (default_fold_builtin): Declare it.
12038169689Skan
12039169689Skan2004-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12040169689Skan
12041169689Skan	* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
12042169689Skan	comment typos.
12043169689Skan
12044169689Skan2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
12045169689Skan
12046169689Skan	PR target/17565
12047169689Skan	* config/mips/mips.md (define_asm_attributes): Set can_delay to no.
12048169689Skan
12049169689Skan2004-09-20  Jan Hubicka  <jh@suse.cz>
12050169689Skan
12051169689Skan	* predict.c (estimate_probability): Remove unnecesary code.
12052169689Skan
12053169689Skan2004-09-19  Ira Rosen  <irar@il.ibm.com>
12054169689Skan
12055169689Skan	* tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
12056169689Skan	(STMT_VINFO_VECT_DR_BASE): Declare.
12057169689Skan	(VECT_SMODULO): Declare.
12058169689Skan	* tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
12059169689Skan	(vect_compute_array_base_alignment): New function.
12060169689Skan	(vect_analyze_data_ref_access): Check array indices. Remove one
12061169689Skan	dimensional arrays restriction.
12062169689Skan	(vect_get_ptr_offset): New function.
12063169689Skan	(vect_get_symbl_and_dr): New function.
12064169689Skan	(vect_get_base_and_bit_offset): Support additional data refs. Renamed
12065169689Skan	(former name vect_get_base_decl_and_bit_offset).
12066169689Skan	(vect_create_index_for_array_ref): Removed.
12067169689Skan	(vect_create_index_for_vector_ref): New function.
12068169689Skan	(vect_create_addr_base_for_vector_ref): New function.
12069169689Skan	(vect_create_data_ref): Handle additional data refs. Call
12070169689Skan	vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
12071169689Skan	(vect_compute_data_ref_alignment): Support the changes. Call
12072169689Skan	vect_get_base_and_bit_offset.
12073169689Skan	(vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
12074169689Skan	data refs. Store vect_dr_base.
12075169689Skan	(vect_analyze_data_ref_accesses): Support nonconstant init.
12076169689Skan	(new_stmt_vec_info): Initialize vect_dr_base field.
12077169689Skan	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
12078169689Skan	(get_vectype_for_scalar_type): Check for BLKmode.
12079169689Skan	* tree-chrec.h (initial_condition_in_loop_num): Declare.
12080169689Skan	* tree-chrec.c (initial_condition_in_loop_num): New function.
12081169689Skan	(chrec_component_in_loop_num): New function.
12082169689Skan	(evolution_part_in_loop_num): Call chrec_component_in_loop_num.
12083169689Skan	* tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
12084169689Skan	to be pointer to varray_type.
12085169689Skan
12086169689Skan2004-09-19  Jan Hubicka  <jh@suse.cz>
12087169689Skan
12088169689Skan	* basic-block.h (update_bb_profile_after_threading): Declare.
12089169689Skan	* cfg.c (update_bb_profile_after_threading): Break out from ...
12090169689Skan	* cfgcleanup.c (try_forward_edges): ... here; use it.
12091169689Skan	* tree-ssa-dom.c (thread_across_edge): Use it.
12092169689Skan	* tree-ssa-threadupdate.c (create_block_for_threading): Zero out
12093169689Skan	profile of the new BB.
12094169689Skan
12095169689Skan2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
12096169689Skan
12097169689Skan	* tree-ssa-pre.c (insert_into_set): Don't put
12098169689Skan	is_gimple_min_invariant values into the set.
12099169689Skan
12100169689Skan2004-09-19  Andreas Jaeger  <aj@suse.de>
12101169689Skan
12102169689Skan	* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
12103169689Skan	prototype.
12104169689Skan
12105169689Skan2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12106169689Skan
12107169689Skan	* config/cris/cris.h: Preserve the original spelling in a
12108169689Skan	quote.
12109169689Skan
12110169689Skan2004-09-18 Jeff Law  <law@redhat.com>
12111169689Skan
12112169689Skan	* tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
12113169689Skan	global varrays to replace the block local varrays.
12114169689Skan	(struct dom_walk_block_data): Remove, no longer used.
12115169689Skan	(get_eq_expr_value): No longer need to pass around pointers to local
12116169689Skan	varrays.  Callers updated.  Unused markers added to unused parameters.
12117169689Skan	(record_range, record_equivalences_from_stmt): Likewise.
12118169689Skan	(record_equivalences_from_incoming_edge): Likewise.
12119169689Skan	(record_var_is_nonzero): Likewise.  Update now that we have a
12120169689Skan	single global varray of SSA_NAMEs that need restoring.
12121169689Skan	(dom_opt_initialize_block_local_data): Kill, no longer used.
12122169689Skan	(tree_ssa_dominator_optimize): Initialize new global varrays.
12123169689Skan	Update callbacks in dominator walker structure.
12124169689Skan	(dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
12125169689Skan	VRP_VARIABLES_STACK.
12126169689Skan	(restore_nonzero_vars_to_original_value): Update now that we have
12127169689Skan	a single global varray of SSA_NAMEs that need restoring.
12128169689Skan	(dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
12129169689Skan	Remove unused variables.
12130169689Skan	(optimize_stmt): Remove unused variable.
12131169689Skan
12132169689Skan2004-09-18  Jan Hubicka  <jh@suse.cz>
12133169689Skan
12134169689Skan	* tree-cfg.c (thread_jumps): Fix updating of the profile.
12135169689Skan
12136169689Skan	* tree-optimize.c (tree_rest_of_compilation): Kill forgotten
12137169689Skan	verify_cgraph call.
12138169689Skan
12139169689Skan2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12140169689Skan
12141169689Skan	* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
12142169689Skan	gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
12143169689Skan	optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
12144169689Skan	tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
12145169689Skan	tree-ssa-operands.c, tree-ssa-phiopt.c,
12146169689Skan	tree-ssa-threadupdate.c: Fix comment typos.
12147169689Skan
12148169689Skan2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12149169689Skan
12150169689Skan	* config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
12151169689Skan	config/arm/README-interworking, config/arm/arm-cores.def,
12152169689Skan	config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
12153169689Skan	config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
12154169689Skan	config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
12155169689Skan	config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
12156169689Skan	config/frv/frv.md, config/i386/winnt.c,
12157169689Skan	config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
12158169689Skan	config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
12159169689Skan	config/m68hc11/m68hc11.md, config/m68k/m68k.c,
12160169689Skan	config/mcore/mcore.c, config/mips/mips.h,
12161169689Skan	config/mn10300/mn10300.md, config/pa/pa.c,
12162169689Skan	config/pa/pa64-regs.h, config/pdp11/pdp11.c,
12163169689Skan	config/rs6000/rs6000.c, config/sh/symbian.c,
12164169689Skan	config/sparc/sparc.h: Fix comment typos.  Follow spelling
12165169689Skan	conventions.
12166169689Skan
12167169689Skan2004-09-18  Joseph S. Myers  <jsm@polyomino.org.uk>
12168169689Skan
12169169689Skan	PR c/17424
12170169689Skan	* c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
12171169689Skan
12172169689Skan2004-09-18  Diego Novillo  <dnovillo@redhat.com>
12173169689Skan
12174169689Skan	* tree-ssa-alias.c (setup_pointers_and_addressables): Don't
12175169689Skan	remove TREE_ADDRESSABLE from RESULT_DECL.
12176169689Skan
12177169689Skan2004-09-18  Diego Novillo  <dnovillo@redhat.com>
12178169689Skan
12179169689Skan	* tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
12180169689Skan
12181169689Skan2004-09-18  Jan Hubicka  <jh@suse.cz>
12182169689Skan
12183169689Skan	* tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
12184169689Skan	NULL.
12185169689Skan	* tree-ssa-alias.c (init_alias_info): Likewise.
12186169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
12187169689Skan	(verify_ssa): Likewise.
12188169689Skan	* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
12189169689Skan
12190169689Skan2004-09-18  Jan Hubicka  <jh@suse.cz>
12191169689Skan
12192169689Skan	* i386.c (legitimize_pic_address): Fix splitting of PLUS with
12193169689Skan	huge offset.
12194169689Skan
12195169689Skan2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
12196169689Skan
12197169689Skan	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
12198169689Skan	* config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12199169689Skan	DW_EH_PE_sdata* for data.
12200169689Skan	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
12201169689Skan
12202169689Skan2004-09-17  Geoffrey Keating  <geoffk@apple.com>
12203169689Skan
12204169689Skan	* tree-inline.c (copy_tree_r): Don't duplicate constants, they're
12205169689Skan	shared anyway.
12206169689Skan
12207169689Skan	PR pch/13361
12208169689Skan	* c-typeck.c (constructor_asmspec): Delete.
12209169689Skan	(struct initializer_stack): Delete field 'asmspec'.
12210169689Skan	(start_init): Delete saving of asmspec.
12211169689Skan	(finish_init): Don't update constructor_asmspec.
12212169689Skan	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
12213169689Skan	* stmt.c (expand_asm): Duplicate strings from tree.
12214169689Skan	(expand_asm_operands): Likewise.
12215169689Skan	* tree.c (tree_size): Update computation of size of STRING_CST.
12216169689Skan	(make_node): Don't make STRING_CST nodes.
12217169689Skan	(build_string): Allocate string with tree node.
12218169689Skan	(tree_code_size): Clean up assertions, don't allow requests
12219169689Skan	for "the size of a STRING_CST".
12220169689Skan	* tree.def (STRING_CST): Update comment.
12221169689Skan	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
12222169689Skan	(tree_string): Place contents of string in tree node.
12223169689Skan	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
12224169689Skan	from tree.
12225169689Skan
12226169689Skan2004-09-17  Zack Weinberg  <zack@codesourcery.com>
12227169689Skan
12228169689Skan	* Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
12229169689Skan	* objc/Make-lang.in (objc/objc-parse.o): Likewise.
12230169689Skan
12231169689Skan2004-09-17  Jones Desougi  <jones@ingate.com>
12232169689Skan
12233169689Skan	* configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
12234169689Skan	* configure, config.in: Regenerate.
12235169689Skan
12236169689Skan2004-09-17  Zack Weinberg  <zack@codesourcery.com>
12237169689Skan
12238169689Skan	* tree.c, tree.h (tree_class_strings): Make array const.
12239169689Skan	Reindent per coding convention.  Move asterisk to proper place
12240169689Skan	per coding convention.
12241169689Skan
12242169689Skan2004-09-18  Andreas Schwab  <schwab@suse.de>
12243169689Skan
12244169689Skan	* Makefile.in (gimple-low.o): Depend on $(EXPR_H).
12245169689Skan	(tree-vectorizer.o): Likewise.
12246169689Skan	(targhooks.o): Likewise.
12247169689Skan
12248169689Skan2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
12249169689Skan	    Zack Weinberg  <zack@codesourcery.com>
12250169689Skan
12251169689Skan	* alias.c (find_base_decl): Remove unreachable case '3' block.
12252169689Skan	* expr.c (safe_from_p): Abort if passed a type.
12253169689Skan	* tree-gimple.c (recalculate_side_effects): Abort if passed
12254169689Skan	anything other than an expression.
12255169689Skan	* tree-ssa-pre.c (phi_translate): Return expr immediately if
12256169689Skan	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
12257169689Skan	Abort on un-handled tree classes.
12258169689Skan	(valid_in_set): Likewise.
12259169689Skan	* tree.c (tree_code_class_strings): New static data.
12260169689Skan
12261169689Skan	* tree.h (enum tree_code_class): New.
12262169689Skan	(tree_code_class_strings): Declare.
12263169689Skan	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
12264169689Skan	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
12265169689Skan	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
12266169689Skan	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
12267169689Skan	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
12268169689Skan
12269169689Skan	* tree.def, c-common.def, objc/objc-tree.def: Use
12270169689Skan	tree_code_class enumeration constants instead of code letters.
12271169689Skan
12272169689Skan	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
12273169689Skan	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
12274169689Skan	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
12275169689Skan	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
12276169689Skan	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
12277169689Skan	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
12278169689Skan	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
12279169689Skan	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
12280169689Skan	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
12281169689Skan	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
12282169689Skan	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
12283169689Skan	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
12284169689Skan	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
12285169689Skan	Update to match.
12286169689Skan
12287169689Skan	* LANGUAGES: Add note about change.
12288169689Skan
12289169689Skan2004-09-17  Diego Novillo  <dnovillo@redhat.com>
12290169689Skan
12291169689Skan	PR tree-optimization/17319
12292169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
12293169689Skan	examine pointers on the LHS of an assignment.
12294169689Skan	(collect_points_to_info_r): Handle RETURN_EXPR.
12295169689Skan
12296169689Skan2004-09-17 Jeff Law  <law@redhat.com>
12297169689Skan
12298169689Skan	* tree-ssa-dom.c (const_and_copies_stack): New.
12299169689Skan	(dom_walk_block_data): Remove const_and_copies field.
12300169689Skan	(record_const_or_copy): No longer need to pass in varray_type *.
12301169689Skan	Use CONST_AND_COPIES_STACK rather than passed in block local stack.
12302169689Skan	Callers updated.
12303169689Skan	(record_equality): Similarly.
12304169689Skan	(restore_vars_to_original_value): Similarly.  Revamp to use new
12305169689Skan	single global stack rather than per-block stacks.
12306169689Skan	(tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
12307169689Skan	(thread_across_edge): Remove now unused parameters.
12308169689Skan	(dom_opt_initialize_block_local_data): No longer test the block
12309169689Skan	local CONST_AND_COPIES.
12310169689Skan	(dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
12311169689Skan
12312169689Skan2004-09-17  Jan Hubicka  <jh@suse.cz>
12313169689Skan
12314169689Skan	PR tree-optimization/17509
12315169689Skan	* tree-optimize.c (update_inlined_to_pointers): New function.
12316169689Skan	(tree_rest_of_compilation): Use it.
12317169689Skan
12318169689Skan2004-09-17  Devang Patel  <dpatel@apple.com>
12319169689Skan
12320169689Skan	* dbxout.c (get_lang_number): New.
12321169689Skan	(dbxout_init): Include lang number in N_SO  stab.
12322169689Skan	* dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
12323169689Skan	N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
12324169689Skan
12325169689Skan2004-09-17  Diego Novillo  <dnovillo@redhat.com>
12326169689Skan
12327169689Skan	PR tree-optimization/17273
12328169689Skan	* tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
12329169689Skan	replacement is a constant.
12330169689Skan
12331169689Skan2004-09-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12332169689Skan
12333169689Skan	* c-tree.h (enum c_typespec_keyword): New.
12334169689Skan	(struct c_declspecs): Adjust description of "type".  Remove
12335169689Skan	specbits, explicit_int_p and explicit_char_p.  Rename
12336169689Skan	typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
12337169689Skan	short_p, signed_p, unsigned_p and complex_p.
12338169689Skan	(finish_declspecs): New.
12339169689Skan	* c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
12340169689Skan	typename): Call finish_declspecs.
12341169689Skan	* c-decl.c (finish_declspecs): New.
12342169689Skan	(declspecs_add_type): Check for combinations which cannot occur in
12343169689Skan	valid specifier lists.  Update comments.
12344169689Skan	(shadow_tag_warned): Remove checks done in finish_declspecs.
12345169689Skan	Don't report useless type name if type defaulted to int.
12346169689Skan	(grokdeclarator): Remove checks and actions done in
12347169689Skan	finish_declspecs.  Don't allow for type being NULL.  Update for
12348169689Skan	datastructures changes.  Initialize decl_attr.
12349169689Skan	(build_null_declspecs, quals_from_declspecs): Update for
12350169689Skan	datastructures changes.
12351169689Skan
12352169689Skan2004-09-17  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
12353169689Skan
12354169689Skan	* doc/extend.texi: Fix duplicated word.
12355169689Skan
12356169689Skan2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>
12357169689Skan
12358169689Skan	* doc/invoke.texi: Remove stray explanation on
12359169689Skan	-freduce-all-givs and -fmove-all-movables.
12360169689Skan
12361169689Skan2004-09-17  James Morrison  <phython@gcc.gnu.org>
12362169689Skan
12363169689Skan	* doc/cfg.texi: Use @smallexample.
12364169689Skan	* doc/md.texi: Likewise.
12365169689Skan	* doc/tree-ssa.texi: Likewise.
12366169689Skan	* doc/extend.texi: Likewise.  Use @r{} in comments.
12367169689Skan	* doc/trouble.texi: Use @r{} in comments.
12368169689Skan
12369169689Skan2004-09-17  Hans-Peter Nilsson  <hp@bitrange.com>
12370169689Skan
12371169689Skan	* configure.ac (gcc_cv_gld_version): Handle whitespace before
12372169689Skan	"VERSION=".
12373169689Skan	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
12374169689Skan	* configure: Regenerate.
12375169689Skan
12376169689Skan2004-09-17  J"orn Rennecke <joern.rennecke@superh.com>
12377169689Skan
12378169689Skan	* sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
12379169689Skan	(sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
12380169689Skan	* t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
12381169689Skan	* t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match dashes and trailing
12382169689Skan	slashes in substitutions.
12383169689Skan	(MULTILIB_DIRNAMES): Remove defunct removal of /media32.
12384169689Skan
12385169689Skan2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12386169689Skan
12387169689Skan	* basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
12388169689Skan	gimplify.c, lambda-code.c, optabs.c, predict.c,
12389169689Skan	tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
12390169689Skan	tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
12391169689Skan	conventions.
12392169689Skan
12393169689Skan2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12394169689Skan
12395169689Skan	* doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
12396169689Skan	doc/extend.texi, doc/install.texi, doc/invoke.texi,
12397169689Skan	doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
12398169689Skan	doc/trouble.texi: Use @option around options.
12399169689Skan
12400169689Skan2004-09-17  Richard Sandiford  <rsandifo@redhat.com>
12401169689Skan
12402169689Skan	* Makefile.in (gen-protos.o): Depend on errors.h.
12403169689Skan
12404169689Skan2004-09-17  Steven Bosscher  <stevenb@suse.de>
12405169689Skan
12406169689Skan	PR tree-optimization/17513
12407169689Skan	* cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
12408169689Skan	for successors of the entry block.
12409169689Skan
12410169689Skan2004-09-17  Uros Bizjak  <uros@kss-loka.si>
12411169689Skan
12412169689Skan	PR rtl-optimization/15187
12413169689Skan	* ifcvt.c (noce_try_cmove_arith): Exit early if total
12414169689Skan	insn_rtx_cost of both branches > BRANCH_COST
12415169689Skan
12416169689Skan2004-09-16  Diego Novillo  <dnovillo@redhat.com>
12417169689Skan
12418169689Skan	PR tree-optimization/17528
12419169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
12420169689Skan	erase the may-alias set for a tag when merging it with
12421169689Skan	another.
12422169689Skan
12423169689Skan2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
12424169689Skan
12425169689Skan	* config/sh/sh.md (call): Extend 32-bit addresses to DImode
12426169689Skan	for 32-bit TARGET_SHMEDIA.
12427169689Skan	(call_value): Likewise.
12428169689Skan
12429169689Skan2004-09-16  Diego Novillo  <dnovillo@redhat.com>
12430169689Skan
12431169689Skan	* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
12432169689Skan	test apply only to TREE_STATIC and DECL_EXTERNAL.
12433169689Skan
12434169689Skan2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12435169689Skan
12436169689Skan	* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
12437169689Skan	* basic-block.h (get_dominated_by_region): Declare.
12438169689Skan	* dominance.c (get_dominated_by_region): New function.
12439169689Skan	* tree-cfg.c: Include cfglayout.h.
12440169689Skan	(tree_duplicate_bb): Duplicate also phi nodes.
12441169689Skan	(struct ssa_name_map_entry): New type.
12442169689Skan	(add_phi_args_after_copy_bb, add_phi_args_after_copy,
12443169689Skan	ssa_name_map_entry_hash, ssa_name_map_entry_eq,
12444169689Skan	allocate_ssa_names, rewrite_to_new_ssa_names_def,
12445169689Skan	rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
12446169689Skan	rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
12447169689Skan	* tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
12448169689Skan	add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
12449169689Skan	rewrite_to_new_ssa_names, allocate_ssa_names,
12450169689Skan	rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
12451169689Skan	* tree-ssa-loop-ch.c (duplicate_blocks): Removed.
12452169689Skan	(copy_loop_headers): Use tree_duplicate_sese_region.
12453169689Skan
12454169689Skan2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
12455169689Skan
12456169689Skan	* profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
12457169689Skan
12458169689Skan2004-09-16 Jeff Law  <law@redhat.com>
12459169689Skan
12460169689Skan	* tree-into-ssa.c (block_defs_stack): New toplevel varray.
12461169689Skan	(rewrite_block_data): Remove, no longer used.
12462169689Skan	(rewrite_initialize_block_local_data): Remove, no longer used.
12463169689Skan	(rewrite_initialize_block): Mark parameters as unused as needed.
12464169689Skan	Change references to the block local block_defs to be block_defs_stack.
12465169689Skan	Push a marker onto the block_defs_stack.
12466169689Skan	(ssa_rewrite_initialize_block): Similarly.
12467169689Skan	(rewrite_stmt, ssa_rewrite_stmt): Similarly.
12468169689Skan	(ssa_register_new_def): No longer needs varray argument.  Use
12469169689Skan	block_defs_stack instead.  No longer handle possibly null block_defs
12470169689Skan	varray.  Reverse order of items we push on the stack to make it
12471169689Skan	easier to identify our marker.
12472169689Skan	(register_new_def): No longer handle possibly null block_defs
12473169689Skan	varray.
12474169689Skan	(rewrite_finalize_block): Revamp to look for markers in the global
12475169689Skan	block_defs_stack varray rather than wiping a block local varray.
12476169689Skan	Mark arguments as unused as needed.
12477169689Skan	(ssa_rewrite_finalize_block): Similarly.
12478169689Skan	(rewrite_into_ssa): Update initialization of dom walker structure
12479169689Skan	to reflect that we don't need block local data anymore.  Initialize
12480169689Skan	the block_defs_stack varray.
12481169689Skan	(rewrite_ssa_into_ssa): Similarly.
12482169689Skan	* tree-ssa-dom.c (block_defs_stack): New toplevel varray.
12483169689Skan	(struct dom_walk_data): Kill block_defs field.
12484169689Skan	(tree_ssa_dominator_optimize): Initialize block_defs_stack.
12485169689Skan	(thread_across_edge): Use the global block_defs_stack instead of
12486169689Skan	the old block_defs varray.
12487169689Skan	(dom_opt_initialize_block_local_data): Update now that we don't have
12488169689Skan	block_defs field to check anymore.
12489169689Skan	(dom_opt_initialize_block): Push a marker onto block_defs_stack.
12490169689Skan	(restore_currdefs_to_original_value): Use the new block_defs_stack
12491169689Skan	instead of a block local varray.
12492169689Skan	(dom_opt_finalize_block): Similarly.
12493169689Skan	(record_equivalencs_from_phis): Similarly.
12494169689Skan	(optimize_stmt, register_definitions_for_stmt): Similarly.
12495169689Skan
12496169689Skan2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
12497169689Skan
12498169689Skan	PR tree-optimization/17517
12499169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
12500169689Skan	coalesce same-root variables without checking for abnormal PHI usage.
12501169689Skan
12502169689Skan2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
12503169689Skan
12504169689Skan	* cfgloop.h (duplicate_loop): Add prototype.
12505169689Skan	* cfgloopmanip.c (duplicate_loop): Make non-static.
12506169689Skan	* lambda-code.c (perfect_nestify): Factor out test whether
12507169689Skan	we can handle this loop into separate function.
12508169689Skan	Call it.
12509169689Skan	(can_convert_to_perfect_nest): New function.
12510169689Skan	(replace_uses_of_x_with_y): Add modify_stmt call.
12511169689Skan	* tree-loop-linear.c (linear_transform_loops): Call
12512169689Skan	rewrite_into_loop_closed_ssa and free_df.
12513169689Skan
12514169689Skan2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
12515169689Skan
12516169689Skan	* lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
12517169689Skan	loop invariant as well.
12518169689Skan	(perfect_nestify): new function.
12519169689Skan	(gcc_loop_to_lambda_loop): New parameters to track lower bounds,
12520169689Skan	upper bounds, and steps.
12521169689Skan	Set outerinductionvar properly.
12522169689Skan	(gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
12523169689Skan	parameters.
12524169689Skan	Return NULL if we need a perfect loop and can't make one.
12525169689Skan	(lambda_loopnest_to_gcc_loopnest): Correct algorithm.
12526169689Skan	(not_interesting_stmt): New function.
12527169689Skan	(phi_loop_edge_uses_def): Ditto.
12528169689Skan	(stmt_uses_phi_result): Ditto.
12529169689Skan	(stmt_is_bumper_for_loop): Ditto.
12530169689Skan	(perfect_nest_p): Ditto.
12531169689Skan	(nestify_update_pending_stmts): Ditto.
12532169689Skan	(replace_uses_of_x_with_y): Ditto.
12533169689Skan	(stmt_uses_op): Ditto.
12534169689Skan	(perfect_nestify): Ditto.
12535169689Skan	* lambda-mat.c (lambda_matrix_id_p): New function.
12536169689Skan	* lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
12537169689Skan	* lambda.h: Update prototypes.
12538169689Skan	* tree-loop-linear (linear_transform_loop): Use new
12539169689Skan	perfect_nest_p. Detect and ignore identity transform.
12540169689Skan	* tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
12541169689Skan
12542169689Skan2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
12543169689Skan
12544169689Skan	* tree-loop-linear.c (gather_interchange_stats): Add more comments.
12545169689Skan	Gather also strides of accessed data.  Pass in the data references
12546169689Skan	array.
12547169689Skan	(try_interchange_loops): Add a new heuristic for handling the temporal
12548169689Skan	locality.  Pass in the data references array.
12549169689Skan	(linear_transform_loops): Pass the data references array to
12550169689Skan	try_interchange_loops.
12551169689Skan
12552169689Skan2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
12553169689Skan
12554169689Skan	* doc/invoke.texi: Fix typos.  Follow spelling conventions.
12555169689Skan
12556169689Skan2004-09-16  Nathan Sidwell  <nathan@codesourcery.com>
12557169689Skan
12558169689Skan	* doc/c-tree.texi (Classes): Remove index entries for
12559169689Skan	TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
12560169689Skan
12561169689Skan2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12562169689Skan
12563169689Skan	* fold-const.c (fold): Fold difference of addresses.
12564169689Skan	(ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
12565169689Skan	get_inner_reference.
12566169689Skan	* tree-ssa-loop-ivopts.c (peel_address): Removed.
12567169689Skan	(ptr_difference_const): Moved to fold-const.c.
12568169689Skan	(split_address_cost): Use get_inner_reference instead of peel_address.
12569169689Skan	(ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
12570169689Skan	* tree.h (ptr_difference_const): Export.
12571169689Skan
12572169689Skan	* tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
12573169689Skan	variable type to the dump.  Fix indentation.
12574169689Skan	(idx_find_step): Handle nonconstant array_ref_element_size and
12575169689Skan	array_ref_low_bound.
12576169689Skan	(idx_record_use): Handle array_ref_element_size and
12577169689Skan	array_ref_low_bound.
12578169689Skan	(find_interesting_uses_stmt): Handle memory = nontrivial_expression
12579169689Skan	statements correctly.
12580169689Skan	(get_computation_at, iv_value): Do not unshare expressions here.
12581169689Skan	(rewrite_use_outer): Unshare the expression before it is emitted
12582169689Skan	to code.
12583169689Skan	* tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
12584169689Skan	Moved to tree.c.
12585169689Skan	* tree.c (unsigned_type_for, signed_type_for): Moved from
12586169689Skan	tree-ssa-loop-niter.c.  Use langhooks.
12587169689Skan	* tree.h (signed_type_for): Export.
12588169689Skan
12589169689Skan2004-09-16  David Edelsohn  <edelsohn@gnu.org>
12590169689Skan
12591169689Skan	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
12592169689Skan	prototype.
12593169689Skan
12594169689Skan2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>
12595169689Skan
12596169689Skan	PR target/11572
12597169689Skan	* c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
12598169689Skan	Add two parameters to extra_includes.
12599169689Skan	(C_INCPATH_INIT): Remove.
12600169689Skan	* c-incpath.c (register_include_chains): Call extra_pre_includes
12601169689Skan	before adding the standard include directory.
12602169689Skan	Update call to extra_includes.
12603169689Skan	(!defined TARGET_EXTRA_INCLUDES): Update
12604169689Skan	hook_void_charptr_charptr_int and add !define
12605169689Skan	TARGET_EXTRA_PRE_INCLUDES.
12606169689Skan	(!define TARGET_EXTRA_INCLUDES): Define as
12607169689Skan	hook_void_charptr_charptr_int.
12608169689Skan	(!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
12609169689Skan	(target_c_incpath): Always declare.
12610169689Skan	* fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
12611169689Skan	empty function.
12612169689Skan	(define TARGET_EXTRA_PRE_INCLUDES): Likewise.
12613169689Skan	* config/darwin.h: (darwin_register_frameworks): Update for
12614169689Skan	the two new parameters.
12615169689Skan	(darwin_register_objc_includes): Add prototype.
12616169689Skan	(TARGET_EXTRA_PRE_INCLUDES): Define.
12617169689Skan	* config/darwin-c.c (darwin_register_objc_includes): New function.
12618169689Skan	(darwin_register_frameworks): Update for the two new parameters.
12619169689Skan	(target_c_incpath): Remove.
12620169689Skan	* config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
12621169689Skan	the compile line.
12622169689Skan	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
12623169689Skan	parameters.
12624169689Skan	(TARGET_EXTRA_PRE_INCLUDES): Document.
12625169689Skan
12626169689Skan	* gcc.c (spec_function): Add replace-outfile.
12627169689Skan	(replace_outfile_spec_function): New function.
12628169689Skan	* config/darwin.h (LINK_SPEC): Add replace
12629169689Skan	-lobjc with -lobjc-gnu if -fgnu-runtime is
12630169689Skan	supplied.
12631169689Skan	* invoke.texi (replace-outfile): Document.
12632169689Skan
12633169689Skan2004-09-13  Jan Hubicka  <jh@suse.cz>
12634169689Skan
12635169689Skan	* predict.c (expr_expected_value, strip_builtin_expect): New function.
12636169689Skan	(tree_predict_by_opcode): Use it.
12637169689Skan	(tree_estimate_probability): Add, for now disabled,
12638169689Skan	strip_builtin_expect call.
12639169689Skan
12640169689Skan2004-09-15  James E Wilson  <wilson@specifixinc.com>
12641169689Skan
12642169689Skan	PR target/17455
12643169689Skan	* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
12644169689Skan	if current_function_decl is a sibcall.
12645169689Skan
12646169689Skan2004-09-15  Mark Mitchell  <mark@codesourcery.com>
12647169689Skan
12648169689Skan	* varasm.c (default_function_rdodata_section): Make sure to pass
12649169689Skan	along a decl for a link-once section.
12650169689Skan
12651169689Skan2004-09-15  Richard Henderson  <rth@redhat.com>
12652169689Skan
12653169689Skan	* tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
12654169689Skan	warning with code disable.  Fix formatting.
12655169689Skan
12656169689Skan2004-09-15  Steven Bosscher  <stevenb@suse.de>
12657169689Skan
12658169689Skan	* Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
12659169689Skan	* tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
12660169689Skan	after propagating into an ADDR_EXPR.
12661169689Skan
12662169689Skan2004-09-15  Andrew Pinski  <apinski@apple.com>
12663169689Skan
12664169689Skan	PR rtl-opt/17427
12665169689Skan	* gcse.c (process_insert_insn): insn_invalid_p has side effects.
12666169689Skan	Move it out of gcc_assert.
12667169689Skan
12668169689Skan2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
12669169689Skan
12670169689Skan	* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
12671169689Skan	except.c, fold-const.c, function.c, langhooks.c, params.c,
12672169689Skan	reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
12673169689Skan	tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
12674169689Skan	for quoting in diagnostics going through pretty-print.c.  Use ''
12675169689Skan	for quoting in other diagnostic text.
12676169689Skan	* langhooks.c: Include intl.h.  Mark text locating diagnostics for
12677169689Skan	translation.
12678169689Skan	* Makefile.in (langhooks.o): Update dependencies.
12679169689Skan	* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
12680169689Skan	formats.
12681169689Skan
12682169689Skan2004-09-15  Mark Mitchell  <mark@codesourcery.com>
12683169689Skan
12684169689Skan	* configure.ac: Check for COMDAT support.  Robustify check for
12685169689Skan	SHF_MERGE support.
12686169689Skan	* configure: Regenerated.
12687169689Skan	* config.in: Likewise.
12688169689Skan	* langhooks-def.h (lhd_comdat_group): New function.
12689169689Skan	(LANG_HOOKS_COMDAT_GROUP): New macro.
12690169689Skan	(LANG_HOOKS_DECLS): Use it.
12691169689Skan	* langhooks.c (lhd_comdat_group): Define.
12692169689Skan	* langhooks.h (lang_hooks_for_decls): Add comdat_group.
12693169689Skan	* output.h (named_section_flags): Make it a macro.
12694169689Skan	(named_section_real): New function.
12695169689Skan	(default_no_named_section): Add decl parameter.
12696169689Skan	(default_elf_asm_named_section): Likewise.
12697169689Skan	(default_coff_asm_named_section): Likewise.
12698169689Skan	(default_pe_asm_named_section): Likewise.
12699169689Skan	* target.h (gcc_target): Adjust type of named_section.
12700169689Skan	* varasm.c (named_section_flags): Rename to named_section_real.
12701169689Skan	Add decl parameter.
12702169689Skan	(default_no_named_section): Add decl parameter.
12703169689Skan	(default_elf_asm_named_section): Use COMDAT, if available.  Deal
12704169689Skan	with the case that ASM_COMMENT_START is "@".
12705169689Skan	(default_coff_asm_named_section): Add decl parameter.
12706169689Skan	(default_pe_asm_named_section): Likewise.
12707169689Skan	* config/alpha/alpha.c (vms_asm_named_section): Add decl
12708169689Skan	parameter.
12709169689Skan	(unicosmk_asm_named_section): Likewise.
12710169689Skan	* config/arm/arm.c (arm_elf_asm_named_section): Remove.
12711169689Skan	* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
12712169689Skan	* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
12713169689Skan	* config/cris/cris-protos.h (cris_target_asm_named_section):
12714169689Skan	Likewise.
12715169689Skan	* config/cris/cris.c (cris_target_asm_named_section):
12716169689Skan	Likewise.
12717169689Skan	* config/darwin/darwin-protos.h (darwin_asm_named_section):
12718169689Skan	Likewise.
12719169689Skan	* config/darwin/darwin.c (darwin_asm_named_section): Likewise.
12720169689Skan	* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
12721169689Skan	* config/i386/i386-protos.h (i386_pe_asm_named_section):
12722169689Skan	Likewise.
12723169689Skan	* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
12724169689Skan	* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
12725169689Skan	* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
12726169689Skan	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
12727169689Skan	Likewise.
12728169689Skan	* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
12729169689Skan	* cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
12730169689Skan	* cp/cp-tree.h (cxx_comdat_group): Declare.
12731169689Skan	* cp/decl.c (cxx_comdat_group): New function.
12732169689Skan
12733169689Skan2004-09-15  Jan Hubicka  <jh@suse.cz>
12734169689Skan
12735169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
12736169689Skan	* tree-tailcall.c (eliminate_tail_call): Release SSA name.
12737169689Skan
12738169689Skan	* tree-cfg.c (remove_bb): Release SSA defs.
12739169689Skan
12740169689Skan2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12741169689Skan
12742169689Skan	* doc/tm.texi: Follow spelling conventions.
12743169689Skan
12744169689Skan2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12745169689Skan
12746169689Skan	* tree-ssa-dom.c: Fix comment typos.
12747169689Skan
12748169689Skan2004-09-15  Alan Modra  <amodra@bigpond.net.au>
12749169689Skan
12750169689Skan	* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
12751169689Skan	include ccr.
12752169689Skan	(ppc_fallback_frame_state): Save location of CR.
12753169689Skan
12754169689Skan2004-09-15  Jakub Jelinek  <jakub@redhat.com>
12755169689Skan
12756169689Skan	* expr.c (string_constant): Handle also read-only variables
12757169689Skan	initialized to string literals.
12758169689Skan
12759169689Skan	* builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
12760169689Skan	into memcpy (x, y, 1) if memcpy can be expanded inline.
12761169689Skan
12762169689Skan2004-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12763169689Skan
12764169689Skan	PR tree-optimization/17468
12765169689Skan	* tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
12766169689Skan	definition inside a block precede uses.
12767169689Skan	* tree-tailcall.c (adjust_return_value): Emit statements in the
12768169689Skan	correct order.
12769169689Skan
12770169689Skan2004-09-15  Richard Sandiford  <rsandifo@redhat.com>
12771169689Skan
12772169689Skan	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
12773169689Skan
12774169689Skan2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
12775169689Skan
12776169689Skan	* doc/install.texi (sparc-sun-solaris2*): Properly format warning.
12777169689Skan
12778169689Skan2004-09-14 Jeff Law  <law@redhat.com>
12779169689Skan
12780169689Skan	* tree-ssa-dom.c (avail_exprs_stack): New global varray.
12781169689Skan	(struct dom_walk_block_data): Remove avail_exprs member.
12782169689Skan	(tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
12783169689Skan	(lookup_avail_expr): No longer need to pass in address of
12784169689Skan	the block local available exprs stack.  All callers changed.
12785169689Skan	(simplify_cond_and_lookup_avail_expr): Similarly.
12786169689Skan	(simplify_switch_and_lookup_avail_expr): Similarly.
12787169689Skan	(get_eq_expr_value, record_cond): Likewise.
12788169689Skan	(record_dominating_conditions): Likewise.
12789169689Skan	(update_rhs_and_lookup_avail_expr): Likewise.
12790169689Skan	(record_equivalences_from_stmt): Likewise.
12791169689Skan	(dom_opt_initialize_block_local_data): No longer test state of
12792169689Skan	block local avail_exprs.
12793169689Skan	(dom_opt_initialize_block): Mark unwind point in the global
12794169689Skan	avail_expr stack.
12795169689Skan	(remove_expressions_from_table): Update to unwind to the
12796169689Skan	most recent unwind marker in the global avail_expr stack.
12797169689Skan	All callers changed.
12798169689Skan	(dom_opt_finalize_block): Mark unwind point in the global
12799169689Skan	avail_expr stack as needed.
12800169689Skan	(record_cond): Push elements into the global avail_exprs stack.
12801169689Skan
12802169689Skan	* tree-dfa.c (free_df_for_stmt): No longer static.
12803169689Skan	(free_df): Update comments.
12804169689Skan	* tree-flow.h (free_df_for_stmt): Prototype.
12805169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
12806169689Skan	call release_defs.
12807169689Skan
12808169689Skan2004-09-14  Diego Novillo  <dnovillo@redhat.com>
12809169689Skan
12810169689Skan	PR tree-optimization/17252
12811169689Skan	* tree-ssa-alias.c (may_alias_p): Don't assume that a
12812169689Skan	pointer may not point to itself when using relaxed
12813169689Skan	aliasing rules.
12814169689Skan
12815169689Skan2004-09-14  Richard Henderson  <rth@redhat.com>
12816169689Skan
12817169689Skan	PR middle-end/17397
12818169689Skan	* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
12819169689Skan	while folding <ADDR_EXPR <INDIRECT_REF X>>.
12820169689Skan
12821169689Skan2004-09-14  Andrew Pinski  <apinski@apple.com>
12822169689Skan
12823169689Skan	* tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
12824169689Skan	sets of the pointers but the aliasing sets of what they point to.
12825169689Skan
12826169689Skan2004-09-14  Roger Sayle  <roger@eyesopen.com>
12827169689Skan
12828169689Skan	PR rtl-optimization/9771
12829169689Skan	* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
12830169689Skan	conditional compilation in init_reg_sets_1.
12831169689Skan	(init_reg_sets_1): Let global_regs[i] take priority over the frame
12832169689Skan	(but not stack) pointer exceptions to regs_invalidated_by_call.
12833169689Skan	(globalize_reg): Globalizing a fixed register may need to update
12834169689Skan	regs_invalidated_by_call.
12835169689Skan
12836169689Skan2004-09-14  Diego Novillo  <dnovillo@redhat.com>
12837169689Skan
12838169689Skan	PR tree-optimization/15262
12839169689Skan	* tree-dfa.c (dump_variable): Also print the type of the
12840169689Skan	variable.
12841169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
12842169689Skan	memory tags are of conflicting alias sets but have no aliased
12843169689Skan	symbols in common, add one tag to the alias set of the other.
12844169689Skan	(setup_pointers_and_addressables): Remove hack to deal with
12845169689Skan	programs with no aliased symbols.
12846169689Skan	(may_alias_p): Don't special case aggregate types.
12847169689Skan
12848169689Skan2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
12849169689Skan
12850169689Skan	PR c/15498
12851169689Skan	* doc/invoke.texi (Environment Variables): Correct example locale.
12852169689Skan
12853169689Skan2004-09-14  Jan Hubicka  <jh@suse.cz>
12854169689Skan
12855169689Skan	* cfg.c (expunge_block): Revert previous change adding ggc_free call.
12856169689Skan
12857169689Skan2004-09-14  Mark Mitchell  <mark@codesourcery.com>
12858169689Skan
12859169689Skan	* config.gcc: Do not build a shared libgcc for arm-none-eabi.
12860169689Skan
12861169689Skan2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
12862169689Skan
12863169689Skan	* c-tree.h (struct c_declspecs): Add const_p, volatile_p and
12864169689Skan	restrict_p.
12865169689Skan	(struct c_declarator): Change u.array.quals and pointer_quals to
12866169689Skan	int.  Add u.array.attrs.
12867169689Skan	(quals_from_declspecs): New.
12868169689Skan	* c-decl.c (quals_from_declspecs): New.
12869169689Skan	(shadow_tag_warned): Give more specific message for useless type
12870169689Skan	qualifiers.
12871169689Skan	(build_array_declarator, set_array_declarator_inner,
12872169689Skan	grokdeclarator, make_pointer_declarator, build_null_declspecs,
12873169689Skan	declspecs_add_qual): Update for changed structures.
12874169689Skan
12875169689Skan2004-09-14  Jeff Law  <law@redhat.com>
12876169689Skan
12877169689Skan	* tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
12878169689Skan	to a global varray.
12879169689Skan	(tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
12880169689Skan	(dom_opt_initialize_block_local_data): No longer test state
12881169689Skan	of stmts_to_rescan.
12882169689Skan	(dom_opt_finalize_block): Update due to change in scope of
12883169689Skan	stmts_to_rescan.
12884169689Skan	(optimize_stmt): Similarly.
12885169689Skan
12886169689Skan2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12887169689Skan
12888169689Skan	* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
12889169689Skan	lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
12890169689Skan	comment typos.  Follow spelling conventions.
12891169689Skan
12892169689Skan2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12893169689Skan
12894169689Skan	* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
12895169689Skan	config/i386/predicates.md, config/sparc/sparc.c: Follow
12896169689Skan	spelling conventions.
12897169689Skan
12898169689Skan2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12899169689Skan	    Steven Bosscher  <stevenb@suse.de>
12900169689Skan
12901169689Skan	* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
12902169689Skan	* basic-block.h (struct reorder_block_def): Add copy_number field.
12903169689Skan	* cfgloop.h (biv_p): Declare.
12904169689Skan	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
12905169689Skan	* common.opt (fsplit-ivs-in-unroller): New flag.
12906169689Skan	* loop-iv.c (biv_p): New function.
12907169689Skan	* loop-unroll.c: Include hashtab.h and recog.h.
12908169689Skan	(struct iv_to_split, struct split_ivs_info): New types.
12909169689Skan	(analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
12910169689Skan	free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
12911169689Skan	determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
12912169689Skan	insert_base_initialization, split_iv): New functions.
12913169689Skan	(peel_loop_completely, unroll_loop_constant_iterations,
12914169689Skan	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
12915169689Skan	Use them.
12916169689Skan	* doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
12917169689Skan
12918169689Skan2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12919169689Skan
12920169689Skan	* tree-cfg.c (thread_jumps): Update dominators correctly in
12921169689Skan	case destination of threaded edge dominates its source.
12922169689Skan
12923169689Skan2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12924169689Skan
12925169689Skan	* unroll.c: Removed.
12926169689Skan	* loop.h: Removed.
12927169689Skan	* Makefile.in (LOOP_H, unroll.o): Removed.
12928169689Skan	(toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
12929169689Skan	dependency.
12930169689Skan	* alias.c (init_alias_analysis): Remove flag_old_unroll_loops
12931169689Skan	reference.
12932169689Skan	* cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
12933169689Skan	* common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
12934169689Skan	* loop.c: Do not include loop.h.
12935169689Skan	(LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
12936169689Skan	REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
12937169689Skan	struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
12938169689Skan	REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
12939169689Skan	struct loop_regs, struct loop_movables, struct loop_info): Moved
12940169689Skan	from loop.h.
12941169689Skan	(back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
12942169689Skan	reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
12943169689Skan	find_common_reg_term, loop_iterations, final_giv_value): Moved
12944169689Skan	from unroll.c.
12945169689Skan	(uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
12946169689Skan	loop_dump_stream, for_each_insn_in_loop, express_from,
12947169689Skan	extend_value_for_giv, loop_iv_add_mult_emit_before,
12948169689Skan	loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
12949169689Skan	loop_insn_first_p, get_condition_for_loop,
12950169689Skan	loop_insn_emit_before, loop_insn_hoist,
12951169689Skan	loop_insn_sink): Made static.
12952169689Skan	(loop_invariant_p): Made static.  Removed flag_old_unroll_loops
12953169689Skan	reference.
12954169689Skan	(strength_reduce): Do not call unroller.
12955169689Skan	(record_giv): Do not initialize unrolled field.
12956169689Skan	(prescan_loop): Do not set loop_info->preconditioned.
12957169689Skan	* passes.c: Do not include loop.h.
12958169689Skan	(rest_of_handle_loop_optimize): Do not call unroller.
12959169689Skan	* predict.c: Do not include loop.h.
12960169689Skan	* rtl.h (NOTE_PRECONDITIONED): Removed.
12961169689Skan	* stmt.c: Do not include loop.h.
12962169689Skan	* toplev.c: Do not include loop.h.
12963169689Skan	(process_options): Do not handle flag_old_unroll_loops.
12964169689Skan
12965169689Skan	* doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
12966169689Skan	Documentation removed.
12967169689Skan	* doc/passes.texi (unroll.c, loop.h): Documentation removed.
12968169689Skan
12969169689Skan2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
12970169689Skan
12971169689Skan	* Makefile.in (STAGE1_CHECKING): New variable.
12972169689Skan	(stage1_build): Use it.
12973169689Skan	* tree-ssa.c (verify_ssa): Preserve state of dominance
12974169689Skan	information.
12975169689Skan
12976169689Skan2004-09-14  Uros Bizjak  <uros@kss-loka.si>
12977169689Skan
12978169689Skan	* config/i386/i386.c (output_fp_compare): Add generation
12979169689Skan	of ftst instruction.
12980169689Skan	* config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
12981169689Skan	Use output_fp_compare () function.
12982169689Skan	(cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
12983169689Skan	(fix_truncdi_memory): Remove operands[5] copy.
12984169689Skan
12985169689Skan2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12986169689Skan
12987169689Skan	* config/m32r/m32r.md, config/m68k/m68kelf.h,
12988169689Skan	config/mcore/mcore.md, config/rs6000/linux64.h,
12989169689Skan	config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
12990169689Skan	typos.
12991169689Skan
12992169689Skan2004-09-13  James E Wilson  <wilson@specifixinc.com>
12993169689Skan
12994169689Skan	* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
12995169689Skan	* gen-protos.c: Include errors.h.
12996169689Skan	(progname): Delete.
12997169689Skan
12998169689Skan2004-09-14  Jan Hubicka  <jh@suse.cz>
12999169689Skan
13000169689Skan	* Makefile.in (predict.o): Depend on tree-scalar-evolution.h
13001169689Skan	* predict.c: Include tree-scalar-evolution.h and cfgloop.h
13002169689Skan	(predict_loops): Use number_of_iterations_exit to predict
13003169689Skan	number of iterations on trees.
13004169689Skan
13005169689Skan2004-09-13  Dale Johannesen  <dalej@apple.com>
13006169689Skan
13007169689Skan	PR 17408
13008169689Skan	PR 17409
13009169689Skan	* c-decl.c (start_decl): Repair TREE_STATIC for initialized
13010169689Skan	objects declared extern.
13011169689Skan
13012169689Skan2004-09-14  Paul Brook  <paul@codesourcery.com>
13013169689Skan
13014169689Skan	* config/arm/arm.c (arm_expand_prologue): Make args_to_push a
13015169689Skan	HOST_WIDE_INT.
13016169689Skan
13017169689Skan2004-09-13  Daniel Jacobowitz  <dan@debian.org>
13018169689Skan
13019169689Skan	* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
13020169689Skan	Only use TYPE_BINFO for aggregates.
13021169689Skan
13022169689Skan2004-09-13  Daniel Jacobowitz  <dan@debian.org>
13023169689Skan
13024169689Skan	* expmed.c (synth_mult): Initialize latency.  Check cost before
13025169689Skan	checking ops count.
13026169689Skan
13027169689Skan2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
13028169689Skan
13029169689Skan	* tree-ssa-operands.c (get_call_expr_operands): Added parm to
13030169689Skan	add_call_clobber_ops and add_call_read_ops.
13031169689Skan	(add_call_clobber_ops, add_call_read_ops): Added code to reduce
13032169689Skan	the number of vdefs and vuses inserted based on analysis of global
13033169689Skan	variables across calls.
13034169689Skan	* tree-dfa.c (find_referenced_vars): Needed to reset static
13035169689Skan	var maps before each function is compiled.
13036169689Skan	* cgraphunit.c:
13037169689Skan	(static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
13038169689Skan	static_vars_info,functions_to_static_vars_info,module_statics_escape,
13039169689Skan	all_module_statics,searchc_env,dfs_info): New fields to support
13040169689Skan	analysis of static global variables.
13041169689Skan	(print_order, convert_UIDs_in_bitmap, new_static_vars_info,
13042169689Skan	cgraph_reset_static_var_maps, get_global_static_vars_info,
13043169689Skan	get_global_statics_not_read, get_global_statics_not_written,
13044169689Skan	searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
13045169689Skan	check_rhs_var, check_lhs_var, get_asm_expr_operands,
13046169689Skan	process_call_for_static_vars, scan_for_static_refs,
13047169689Skan	cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
13048169689Skan	clear_static_vars_maps, cgraph_propagate_bits,
13049169689Skan	cgraph_characterize_statics): New. Functions to support analysis
13050169689Skan	of static global variables.
13051169689Skan	(cgraph_mark_local_and_external_functions): Renamed from:
13052169689Skan	(cgraph_mark_local_functions)
13053169689Skan	(cgraph_expand_all_functions): Remove call to
13054169689Skan	cgraph_mark_local_and_external_functions.
13055169689Skan	(cgraph_optimize): Added driver to analyze static variables whose
13056169689Skan	scope is within the compilation unit.
13057169689Skan	* cgraph.h (struct cgraph_local_info, GTY): Added
13058169689Skan	statics_read, statics_written, local, calls_read_all,
13059169689Skan	calls_write_all, for_functions_valid.  (struct cgraph_node):
13060169689Skan	Added next_cycle.
13061169689Skan	* cgraph.c (dump_cgraph_node): Added print routines for new fields.
13062169689Skan	* makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
13063169689Skan	list.
13064169689Skan
13065169689Skan2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
13066169689Skan
13067169689Skan	* c-decl.c (grokdeclarator): Correct comments about where storage
13068169689Skan	class specifiers are rejected by grammar and add corresponding
13069169689Skan	asserts.  Diagnose typedefs and parameters declared inline.
13070169689Skan	Change warning for inline main to a pedwarn.  Only diagnose inline
13071169689Skan	main if hosted.
13072169689Skan	(declspecs_add_scspec): Allow duplicate "inline".
13073169689Skan
13074169689Skan2004-09-13  Steve Ellcey  <sje@cup.hp.com>
13075169689Skan
13076169689Skan	* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
13077169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
13078169689Skan
13079169689Skan2004-09-13  Richard Henderson  <rth@redhat.com>
13080169689Skan
13081169689Skan	PR 17436
13082169689Skan	* tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
13083169689Skan	(tree_type): Replace spare with contains_placeholder_bits.
13084169689Skan	(type_contains_placeholder_1): Rename from type_contains_placeholder_p,
13085169689Skan	make static.  Remove seen_types list.
13086169689Skan	(type_contains_placeholder_p): New.
13087169689Skan
13088169689Skan2004-09-13  James E Wilson  <wilson@specifixinc.com>
13089169689Skan
13090169689Skan	* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
13091169689Skan	(sb1_bdesc, bdesc_map, bdesc_arrays): New.
13092169689Skan	(mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
13093169689Skan	bdesc_arrays instead of mips_bdesc.
13094169689Skan	(mips_init_builtins): Likewise.
13095169689Skan	* config/mips/mips.h (TARGET_SB1): New.
13096169689Skan	(HAVE_SQRT_P): Delete.
13097169689Skan	* config/mips/mips.md (divide_condition): Support V2SF.
13098169689Skan	(sqrt_condition, recip_condition): New.
13099169689Skan	(div<mode>3): Use ANYF instead of SCALARF.
13100169689Skan	(*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
13101169689Skan	MODE.
13102169689Skan	(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
13103169689Skan	instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
13104169689Skan	instead of MODE.
13105169689Skan	(sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
13106169689Skan	instead of SCALARF.  Use UNITMODE instead of MODE.
13107169689Skan
13108169689Skan2004-09-13  Zack Weinberg  <zack@codesourcery.com>
13109169689Skan
13110169689Skan	* config.in: Regenerate after removal of libbanshee.
13111169689Skan
13112169689Skan2004-09-13  Andrew MacLeod  <amacleod@redhat.com>
13113169689Skan
13114169689Skan	PR tree-optimization/17400
13115169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
13116169689Skan	coalesce partitions when one occurs in an abnormal PHI.
13117169689Skan
13118169689Skan2004-09-13  Andrew Pinski  <apinski@apple.com>
13119169689Skan
13120169689Skan	* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
13121169689Skan	name to _new_size.
13122169689Skan
13123169689Skan2004-09-13  Richard Henderson  <rth@redhat.com>
13124169689Skan
13125169689Skan	PR inline-asm/6806
13126169689Skan	* cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
13127169689Skan	(cselib_invalidate_rtx_note_stores): New.
13128169689Skan	(cselib_record_sets, cselib_process_insn): Update to match.
13129169689Skan	* cselib.h (cselib_invalidate_rtx): Declare.
13130169689Skan	* postreload.c (reload_cse_simplify): Invalidate asm clobbers.
13131169689Skan
13132169689Skan2004-09-13  Richard Henderson  <rth@redhat.com>
13133169689Skan
13134169689Skan	PR tree-opt/10528
13135169689Skan	* tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
13136169689Skan	after copying its argument.
13137169689Skan
13138169689Skan2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
13139169689Skan
13140169689Skan	* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
13141169689Skan	c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
13142169689Skan	in diagnostics.  Use %' for English apostrophes.
13143169689Skan	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
13144169689Skan	(pedwarn_c90, pedwarn_c99): Use it.
13145169689Skan	* c-decl.c (lookup_label): Quote label name in diagnostic.
13146169689Skan	* c-parse.in (yyprint): Use ' instead of ` for left quote.
13147169689Skan	* c-typeck.c (warn_for_assignment): Likewise.
13148169689Skan
13149169689Skan2004-09-13  Jan Hubicka  <jh@suse.cz>
13150169689Skan
13151169689Skan	* i386.c (x86_schedule): New global variable.
13152169689Skan	(override_options): Disable scheduling when not supported.
13153169689Skan	* i386.h (x86_schedule): Declare.
13154169689Skan	(TARGET_SCHEDULE): New macro.
13155169689Skan
13156169689Skan2004-09-12  Richard Henderson  <rth@redhat.com>
13157169689Skan
13158169689Skan	PR c++/16254
13159169689Skan	* fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
13160169689Skan	* tree.c, tree.h (has_cleanups): Remove.
13161169689Skan
13162169689Skan2004-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13163169689Skan
13164169689Skan	* tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
13165169689Skan	arguments of the phi nodes correctly.
13166169689Skan
13167169689Skan2004-09-12  Jan Hubicka  <jh@suse.cz>
13168169689Skan
13169169689Skan	* ggc-common.c (cmp_statistics): Fix sorting.
13170169689Skan
13171169689Skan2004-09-12  David Edelsohn  <edelsohn@gnu.org>
13172169689Skan
13173169689Skan	PR target/16795
13174169689Skan	* expmed.c (expand_divmod): If cheap power of 2 divide is
13175169689Skan	available, use it for negative constant as well.
13176169689Skan
13177169689Skan2004-09-12  Andrew Pinski  <apinski@apple.com>
13178169689Skan
13179169689Skan	* darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
13180169689Skan	size of 0.
13181169689Skan
13182169689Skan	* tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
13183169689Skan
13184169689Skan2004-09-12  Richard Henderson  <rth@redhat.com>
13185169689Skan
13186169689Skan	* config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
13187169689Skan	or minus one.
13188169689Skan	(ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
13189169689Skan	post-reload, and scratch NULL.
13190169689Skan	* config/i386/i386.md (testqi_1): Use FLAGS_REG name.
13191169689Skan	(x86_shift_adj_2): Use ix86_expand_clear.
13192169689Skan	(ashldi3): Remove CMOVE expansion difference.
13193169689Skan	(ashldi3_1): Remove.
13194169689Skan	(*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
13195169689Skan	add constraints for immediates.  New peephole for split-with-temp.
13196169689Skan	Run splitter after peep2 pass.
13197169689Skan	(ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
13198169689Skan	(lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
13199169689Skan	(setcc_2): Rename with *.
13200169689Skan	* config/i386/predicates.md (reg_or_pm1_operand): New.
13201169689Skan	(ashldi_input_operand): New.
13202169689Skan
13203169689Skan2004-09-12  Richard Henderson  <rth@redhat.com
13204169689Skan
13205169689Skan	* print-rtl.c (print_decl_name): New.
13206169689Skan	(print_mem_expr): Use it.
13207169689Skan
13208169689Skan2004-09-12  Richard Henderson  <rth@redhat.com
13209169689Skan
13210169689Skan	PR 17186, part deux
13211169689Skan	* except.c (sjlj_emit_function_exit): Fix logic locating
13212169689Skan	sjlj_exit_after in final block.
13213169689Skan
13214169689Skan2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>
13215169689Skan
13216169689Skan	* common.opt: Remove flags -fmove-all-movables and
13217169689Skan	-freduce-all-givs.
13218169689Skan	* loop-invariant.c (find_invariants_to_move):
13219169689Skan	Remove all uses of flag_move_all_movables.
13220169689Skan	* loop.c (move_movables): Remove all uses of
13221169689Skan	flag_move_all_movables.
13222169689Skan	(strength_reduce): Remove all uses of
13223169689Skan	flag_reduce_all_givs.
13224169689Skan	* doc/invoke.texi: Remove documentation of flags
13225169689Skan	-fremove-all-movables and -freduce-all-givs.
13226169689Skan
13227169689Skan2004-09-11  Roger Sayle  <roger@eyesopen.com>
13228169689Skan
13229169689Skan	PR middle-end/17411
13230169689Skan	* tree-sra.c (generate_element_zero): Revert recent build_int_cst
13231169689Skan	change. elt->type may be a floating point type, so use fold_convert.
13232169689Skan
13233169689Skan2004-09-11  Geoffrey Keating  <geoffk@apple.com>
13234169689Skan
13235169689Skan	* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
13236169689Skan	the thing referenced as used, not the stub itself.
13237169689Skan
13238169689Skan2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
13239169689Skan
13240169689Skan	* c-tree.h (enum c_storage_class): New.
13241169689Skan	(struct c_declspecs): Add storage_class, inline_p and thread_p.
13242169689Skan	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
13243169689Skan	declarations and "auto" or "register" in file scope empty
13244169689Skan	declarations.  Give more specific warnings for other cases of
13245169689Skan	storage class specifiers in empty declarations.
13246169689Skan	(grokdeclarator): Update for new structures.  Don't check for
13247169689Skan	multiple storage classes.  Diagnose file-scope "register" if
13248169689Skan	pedantic.
13249169689Skan	(build_null_declspecs): Update.
13250169689Skan	(declspecs_add_scspec): Update.  Diagnose multiple storage class
13251169689Skan	specifiers and invalid uses of "__thread".
13252169689Skan
13253169689Skan2004-09-11  Zack Weinberg  <zack@codesourcery.com>
13254169689Skan
13255169689Skan	* tree.c (tree_code_size): New function, bulk of code from tree_size.
13256169689Skan	(tree_size, make_node): Use it.
13257169689Skan	* tree-ssa-pre.c (init_pre): Use it.
13258169689Skan	* tree.h: Prototype it.
13259169689Skan
13260169689Skan2004-09-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13261169689Skan
13262169689Skan	* tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
13263169689Skan	* tree-dfa.c (compute_immediate_uses, add_immediate_use,
13264169689Skan	redirect_immediate_use): Use PHI_DF.
13265169689Skan	* tree-flow-inline.h (stmt_ann): Abort on phi nodes.
13266169689Skan	(bb_for_stmt): Use PHI_BB.
13267169689Skan	(get_immediate_uses): Use PHI_DF.
13268169689Skan	* tree-ssa-dse.c (max_stmt_uid): New variable.
13269169689Skan	(get_stmt_uid): New function.
13270169689Skan	(dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
13271169689Skan	node annotations.
13272169689Skan	* tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
13273169689Skan	(max_uid): Renamed to max_stmt_uid.
13274169689Skan	(get_stmt_uid): New function.
13275169689Skan	(maybe_queue_var, single_reachable_address, determine_lsm): Do not use
13276169689Skan	phi node annotations.
13277169689Skan	* tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
13278169689Skan	* tree.h (PHI_BB, PHI_DF): New accessor functions.
13279169689Skan	(struct tree_phi_node): Add bb and df fields.
13280169689Skan
13281169689Skan2004-09-11  Richard Henderson  <rth@redhat.com>
13282169689Skan
13283169689Skan	PR middle-end/17416
13284169689Skan	* cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
13285169689Skan	in conflict loop.
13286169689Skan
13287169689Skan2004-09-11  Jan Hubicka  <jh@suse.cz>
13288169689Skan
13289169689Skan	* i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
13290169689Skan	(EMIT_MODE_SET): UNINITIALIZED mode needs no set.
13291169689Skan	* i386.md (i387_cw): Add 'uninitialized' mode.
13292169689Skan
13293169689Skan	* profile.c (BB_TO_GCOV_INDEX): move more to the front.
13294169689Skan	(output_location): Break out from ....
13295169689Skan	(branch_prob): ... here; handle gcov output on trees.
13296169689Skan	* toplev.c (process_options): No longer be sorry about coverage for
13297169689Skan	trees.
13298169689Skan
13299169689Skan2004-09-11  Steven Bosscher  <stevenb@suse.de>
13300169689Skan
13301169689Skan	PR c++/17412
13302169689Skan	* fold-const.c (fold): Do not try to fold the operand of a
13303169689Skan	CLEANUP_POINT_EXPR if that operand does itself not have any
13304169689Skan	operands.
13305169689Skan
13306169689Skan	PR middle-end/17417
13307169689Skan	* langhooks.c (lhd_decl_printable_name): Make sure that this
13308169689Skan	function is called with is a decl node that has an identifier.
13309169689Skan	* tree-pretty-print.c (dump_function_name): New function to
13310169689Skan	wrap PRINT_FUNCTION_NAME and dump_decl_name.
13311169689Skan	(print_call_name): Use it.
13312169689Skan
13313169689Skan2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
13314169689Skan
13315169689Skan	* ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
13316169689Skan	"config.h" if not.
13317169689Skan
13318169689Skan2004-09-11  Jakub Jelinek  <jakub@redhat.com>
13319169689Skan
13320169689Skan	* tree-ssa-alias.c (collect_points_to_info_r): Handle
13321169689Skan	pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
13322169689Skan	to OFFSET.
13323169689Skan
13324169689Skan2004-09-11  Richard Henderson  <rth@redhat.com>
13325169689Skan
13326169689Skan	* expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
13327169689Skan	(expand_expr_addr_expr): New function.  Take ADDR_EXPR instead of the
13328169689Skan	operand of the ADDR_EXPR.
13329169689Skan	(expand_expr_real_1): Update to match.
13330169689Skan
13331169689Skan2004-09-11  David Edelsohn  <edelsohn@gnu.org>
13332169689Skan
13333169689Skan	PR target/17277
13334169689Skan	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
13335169689Skan	choose 64-bit version.
13336169689Skan
13337169689Skan2004-09-11  Richard Henderson  <rth@redhat.com>
13338169689Skan
13339169689Skan	PR c/17396
13340169689Skan	* c-typeck.c (build_unary_op): Add legacy offsetof hack.
13341169689Skan
13342169689Skan2004-09-11  Kazu Hirata  <kazu@cs.umass.edu>
13343169689Skan
13344169689Skan	* doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
13345169689Skan	doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
13346169689Skan	Insert @: after i.e. or e.g.
13347169689Skan
13348169689Skan2004-09-10  Geoffrey Keating  <geoffk@apple.com>
13349169689Skan
13350169689Skan	* tree-pretty-print.c (dump_decl_name): Print unnamed decls as
13351169689Skan	D.xxx rather than <Dxxx>.
13352169689Skan
13353169689Skan2004-09-10  Adam Nemet  <anemet@lnxw.com>
13354169689Skan
13355169689Skan	* configure.ac (AC_MSG_CHECKING(what linker to use)):
13356169689Skan	in_tree_ld_is_elf should be true for LynxOS.
13357169689Skan	* configure: Regenerate.
13358169689Skan
13359169689Skan2004-09-10  Adam Nemet  <anemet@lnxw.com>
13360169689Skan
13361169689Skan	* Makefile.in (all.cross): Add srcextra.
13362169689Skan
13363169689Skan2004-09-10  Roger Sayle  <roger@eyesopen.com>
13364169689Skan
13365169689Skan	PR middle-end/17024
13366169689Skan	* fold-const.c (fold_cond_expr_with_comparison): Handle unordered
13367169689Skan	floating point comparison operators.  Change aborts to gcc_asserts.
13368169689Skan
13369169689Skan2004-09-10  Geoffrey Keating  <geoffk@apple.com>
13370169689Skan
13371169689Skan	* final.c (output_asm_insn): Correct problem with -fverbose-asm.
13372169689Skan
13373169689Skan2004-09-10  James E Wilson  <wilson@specifixinc.com>
13374169689Skan
13375169689Skan	* Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
13376169689Skan	(stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
13377169689Skan
13378169689Skan	* convert.c (convert_to_vector): Replace recursive call with
13379169689Skan	error_mark_node.
13380169689Skan
13381169689Skan	* emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
13382169689Skan	Add integer argument named constant.  Use const_tiny_rtx instead of
13383169689Skan	CONST0_RTX.
13384169689Skan	(gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
13385169689Skan	and CONST1_RTX.
13386169689Skan	(init_emit_once): Fix users of gen_const_vector.  Set CONST1_RTX for
13387169689Skan	vector types.
13388169689Skan	* expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
13389169689Skan	of gen_rtx_raw_CONST_VECTOR.
13390169689Skan
13391169689Skan2004-09-10  Eric Christopher  <echristo@redhat.com>
13392169689Skan
13393169689Skan	PR c/16046
13394169689Skan	* c-parse.in (attribute): Add NULL_TREE for error case
13395169689Skan	for error recovery.
13396169689Skan
13397169689Skan2004-09-10  Zack Weinberg  <zack@codesourcery.com>
13398169689Skan
13399169689Skan	* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
13400169689Skan	(extract_interface_info): Delete prototype.
13401169689Skan	* c-decl.c (extract_interface_info): Delete stub.
13402169689Skan	* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
13403169689Skan	it's not already been done ...
13404169689Skan	(init_c_lex): ... not here.
13405169689Skan	(fe_file_change): Don't call extract_interface_info.
13406169689Skan
13407169689Skan2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
13408169689Skan
13409169689Skan	* c-tree.h (struct c_declspecs): Remove typedef_decl.  Add
13410169689Skan	typedef_p and typedef_signed_p.
13411169689Skan	* c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
13412169689Skan	(grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
13413169689Skan	Check typedef_p and typedef_signed_p, not typedef_decl.
13414169689Skan	(grokfield): Check typedef_p, not typedef_decl.
13415169689Skan	(build_null_declspecs): Initialize typedef_p and typedef_signed_p,
13416169689Skan	not typedef_decl.
13417169689Skan	(declspecs_add_type): Set typedef_p and typedef_signed_p, not
13418169689Skan	typedef_decl.
13419169689Skan
13420169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13421169689Skan
13422169689Skan	* doc/tm.texi, doc/tree-ssa.texi: Fix typos.
13423169689Skan
13424169689Skan2004-09-10  Geoffrey Keating  <geoffk@apple.com>
13425169689Skan
13426169689Skan	* gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
13427169689Skan	temporary variables.
13428169689Skan
13429169689Skan	* dbxout.c (dbxout_block): Update for
13430169689Skan	current_function_func_begin_label a string.
13431169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Likewise.
13432169689Skan	* except.c (dw2_output_call_site_table): Likewise.
13433169689Skan	* toplev.c (current_function_func_begin_label): Likewise.
13434169689Skan	* tree.h (current_function_func_begin_label): Likewise.
13435169689Skan	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
13436169689Skan
13437169689Skan	* final.c (output_asm_insn): Use strtoul instead of atoi, save a
13438169689Skan	loop.
13439169689Skan
13440169689Skan	* config/darwin.c: Include target.h.
13441169689Skan	(struct machopic_indirection): Make ptr_name a string.
13442169689Skan	(machopic_indirection_hash): Update for ptr_name a string.
13443169689Skan	(machopic_indirection_eq): Likewise.
13444169689Skan	(machopic_indirection_name): Likewise.
13445169689Skan	(machopic_output_indirection): Likewise.
13446169689Skan	(machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
13447169689Skan	string.  Don't expect stub names to be in the identifier hash table.
13448169689Skan	Do call strip_name_encoding before looking up entry in ID hash table.
13449169689Skan	* config/t-darwin (darwin.o): Add target.h to dependencies.
13450169689Skan
13451169689Skan	* config/rs6000/rs6000.c (print_operand): Use fputs instead
13452169689Skan	of fprintf for register names.
13453169689Skan
13454169689Skan	* output.h (unlikely_section_label): Delete declaration.
13455169689Skan	(unlikely_text_section_name): Likewise.
13456169689Skan	* varasm.c (unlikely_section_label_printed): Make static.
13457169689Skan	(unlikely_section_label): Likewise.
13458169689Skan	(unlikely_text_section_name): Likewise.
13459169689Skan	(assemble_start_function): Use reconcat.
13460169689Skan
13461169689Skan	* rtl.def (REG): Add comment to describe third field.
13462169689Skan
13463169689Skan2004-09-10  Andrew Pinski  <apinski@apple.com>
13464169689Skan
13465169689Skan	* config/darwin.c (machopic_mcount_stub_name): Call
13466169689Skan	machopic_indirection_name instead of making the string
13467169689Skan	ourselves.
13468169689Skan
13469169689Skan2004-09-10  Diego Novillo  <dnovillo@redhat.com>
13470169689Skan
13471169689Skan	Revert
13472169689Skan
13473169689Skan	2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
13474169689Skan
13475169689Skan	    * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
13476169689Skan	    memory tag is call clobbered, so are its aliases.
13477169689Skan	    (group_aliases): When two memory tags being grouped, if one is
13478169689Skan	    call clobbered, so are the other and its aliases.
13479169689Skan	    (add_may_alias): Remove call-clobbering stuff.
13480169689Skan	    (replace_may_alias): Likewise.
13481169689Skan	    (merge_pointed_to_info): Merge pt_global_mem
13482169689Skan
13483169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13484169689Skan
13485169689Skan	* bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
13486169689Skan	genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
13487169689Skan	passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
13488169689Skan	tree-scalar-evolution.c, tree-ssa-copyrename.c,
13489169689Skan	tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
13490169689Skan
13491169689Skan2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
13492169689Skan
13493169689Skan	* config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
13494169689Skan	(maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
13495169689Skan	pair.  Remove match_dup from inputs.  Remove masaccs handling.
13496169689Skan	(mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
13497169689Skan	(masaccs, mdasaccs): Turn into define_insns.
13498169689Skan
13499169689Skan2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
13500169689Skan
13501169689Skan	* tree-tailcall.c (process_assignment): Only do accumulator transforms
13502169689Skan	for floating-point types if flag_unsafe_math_optimizations.
13503169689Skan
13504169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13505169689Skan
13506169689Skan	* config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
13507169689Skan	config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
13508169689Skan	config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
13509169689Skan	config/h8300/h8300.md, config/i386/gmm_malloc.h,
13510169689Skan	config/ia64/ia64.md, config/ip2k/libgcc.S,
13511169689Skan	config/mips/mips-ps-3d.md, config/mips/mips.c,
13512169689Skan	config/rs6000/rs6000.c, config/s390/s390.c,
13513169689Skan	config/sh/symbian.c: Fix comment typos.
13514169689Skan
13515169689Skan2004-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
13516169689Skan
13517169689Skan	* config/s390/s390.c (s390_emit_prologue): Added missing
13518169689Skan	"{}" brackets.
13519169689Skan
13520169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13521169689Skan
13522169689Skan	* doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
13523169689Skan	typos.  Follow spelling conventions.
13524169689Skan
13525169689Skan2004-09-10  Joseph S. Myers  <jsm@polyomino.org.uk>
13526169689Skan
13527169689Skan	* toplev.c (warn_deprecated_use): Correct logic for saying "type"
13528169689Skan	in diagnostic.  Don't dereference NULL TYPE_NAME.
13529169689Skan
13530169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13531169689Skan
13532169689Skan	* c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
13533169689Skan	tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
13534169689Skan	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
13535169689Skan	value-prof.c: Fix comment typos.  Follow spelling conventions.
13536169689Skan
13537169689Skan2004-09-10  Jan Hubicka  <jh@suse.cz>
13538169689Skan
13539169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Update profile.
13540169689Skan	* tree-split_edge.c (tree_split_edge): Likewise.
13541169689Skan	(thread_jumps): Likewise.
13542169689Skan
13543169689Skan2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
13544169689Skan
13545169689Skan	* cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
13546169689Skan	typos.
13547169689Skan
13548169689Skan2004-09-10  Paolo Bonzini  <bonzini@gnu.org>
13549169689Skan
13550169689Skan	* cgraph.h (cgraph_dump_file): Do not declare.
13551169689Skan	* cgraphunit.c (cgraph_dump_file): Declare as static.
13552169689Skan	(init_cgraph): New.
13553169689Skan	* toplev.c (cgraph_dump_file): Do not declare.
13554169689Skan	(compile_file): Call init_cgraph.
13555169689Skan	* tree-dump.c (dump_files): Add IPA dump file, remove
13556169689Skan	XML dump of call graph.
13557169689Skan	(get_dump_file_name): Support IPA dump file naming scheme.
13558169689Skan	* tree.h (enum tree_dump_index): Add IPA dump file, remove
13559169689Skan	XML dump of call graph.
13560169689Skan	* doc/invoke.texi (Debugging Options): Document the new options.
13561169689Skan
13562169689Skan2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
13563169689Skan
13564169689Skan	* doc/extend.texi: Document the FR-V built-in functions.
13565169689Skan
13566169689Skan2004-09-09  James E Wilson  <wilson@specifixinc.com>
13567169689Skan
13568169689Skan	* doc/sourcebuild.texi: Delete libbanshee reference.
13569169689Skan
13570169689Skan2004-09-10  Kelley Cook  <kcook@gcc.gnu.org>
13571169689Skan
13572169689Skan	* Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
13573169689Skan
13574169689Skan2004-09-09  James E Wilson  <wilson@specifixinc.com>
13575169689Skan
13576169689Skan	* c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
13577169689Skan	before calling vector_types_convertible_p.
13578169689Skan	(digest_init): Check that inside_init has VECTOR_TYPE before calling
13579169689Skan	vector_types_convertible_p.  Don't give another error if
13580169689Skan	convert_for_assignment returns error_mark_node.
13581169689Skan
13582169689Skan2004-09-09  Roger Sayle  <roger@eyesopen.com>
13583169689Skan
13584169689Skan	PR middle-end/17055
13585169689Skan	* fold-const.c (build_zero_vector): New function to construct a
13586169689Skan	vector (either floating point or integer) of zeros.
13587169689Skan	(fold_convert): Internally, enable conversions of integer zero
13588169689Skan	to arbitrary vector types, using the new build_zero_vector.
13589169689Skan
13590169689Skan2004-09-09  Roger Sayle  <roger@eyesopen.com>
13591169689Skan
13592169689Skan	* config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
13593169689Skan	expand a left shift by an immediate constant as either an ashl or
13594169689Skan	a sequence of additions.
13595169689Skan	(ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
13596169689Skan	instead of calling gen_ashlsi3 with a constant directly.
13597169689Skan
13598169689Skan2004-09-09  Roger Sayle  <roger@eyesopen.com>
13599169689Skan
13600169689Skan	* config/i386/i386.c (ix86_split_long_move): When optimizing for
13601169689Skan	size, and the low and high parts of a DImode constant are equal,
13602169689Skan	copy one register to another instead of loading the same immediate
13603169689Skan	value twice.
13604169689Skan
13605169689Skan2004-09-09  Richard Henderson  <rth@redhat.com>
13606169689Skan
13607169689Skan	PR middle-end/17367
13608169689Skan	* function.c (assign_parm_setup_block): Only put PARALLELs into
13609169689Skan	a register if use_register_for_decl.
13610169689Skan
13611169689Skan2004-09-09  Eric Christopher  <echristo@redhat.com>
13612169689Skan
13613169689Skan	* ra-colorize.c (reset_lists): Move variable declaration inside
13614169689Skan	ENABLE_CHECKING to avoid unused variable warnings when
13615169689Skan	not --enable-checking.
13616169689Skan	(check_colors): Ditto.
13617169689Skan
13618169689Skan2004-09-09  Mike Stump  <mrs@apple.com>
13619169689Skan
13620169689Skan	* version.c (version_string): Bump to 4.0.0.
13621169689Skan	* doc/include/gcc-common.texi (version-GCC): Likewise.
13622169689Skan
13623169689Skan2004-09-10  Jakub Jelinek  <jakub@redhat.com>
13624169689Skan
13625169689Skan	* doc/extend.texi (nothrow attribute): The attribute is not
13626169689Skan	implemented in 3.2 and earlier.
13627169689Skan
13628169689Skan2004-09-09  Steve Ellcey  <sje@cup.hp.com>
13629169689Skan
13630169689Skan	* genrecog.c (compute_predicate_codes): Use op0_codes
13631169689Skan	instead of codes.
13632169689Skan
13633169689Skan2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
13634169689Skan
13635169689Skan	* ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
13636169689Skan	implementation changes.
13637169689Skan
13638169689Skan2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
13639169689Skan
13640169689Skan	* combine.c (try_combine): When swapping i2 and i3, newi2pat may be
13641169689Skan	a PARALLEL instead of a SET due to added clobbers.
13642169689Skan
13643169689Skan2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
13644169689Skan
13645169689Skan	* reload.c (find_reloads_address): Pass correct operand to
13646169689Skan	maybe_memory_address_p.
13647169689Skan
13648169689Skan2004-09-09  Daniel Berlin  <dberlin@dberlin.org>
13649169689Skan
13650169689Skan	* Makefile.in: Remove libbanshee, tree-alias-*.
13651169689Skan	Remove tree-alias-common.h dependencies.
13652169689Skan	* common.opt: Remove -ftree-points-to.
13653169689Skan	* configure.ac: Remove libbanshee.
13654169689Skan	* flags.h: Remove pta_type, flag_tree_points_to.
13655169689Skan	* gengtype.c (open_base_files): Remove tree-alias-type.h.
13656169689Skan	* opts.c (OPT_ftree_points_to): Remove.
13657169689Skan	* toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
13658169689Skan	* tree-dfa.c: Remove tree-alias-common.h
13659169689Skan	* tree-into-ssa.c: Ditto.
13660169689Skan	* tree-outof-ssa.c: Ditto.
13661169689Skan	* tree-ssa-copyrename.c: Ditto.
13662169689Skan	* tree-ssa-live.c: Ditto.
13663169689Skan	* tree-optimize.c: Ditto.
13664169689Skan	* tree-ssa.c: Ditto.
13665169689Skan	Remove pass_build_pta, pass_del_pta.
13666169689Skan	* tree-pass.h: Ditto.
13667169689Skan	* tree-ssa-alias.c: Remove tree-alias-common.h.
13668169689Skan	(struct alias_stats_d):	Remove pta_queries, pta_resolved.
13669169689Skan	(pass_may_alias): Remove PROP_pta requirement.
13670169689Skan	(may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
13671169689Skan	(get_tmt_for): Ditto.
13672169689Skan	(dump_alias_stats): Ditto.
13673169689Skan	* doc/passes.texi: Remove blurb about points-to analysis.
13674169689Skan	* fortran/Make-lang.in: Remove tree-alias-*.o.
13675169689Skan
13676169689Skan2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
13677169689Skan
13678169689Skan	* genattrtab.c (write_insn_cases): New function, split out from
13679169689Skan	write_attr_case.  Correctly handle define_peepholes when printing
13680169689Skan	the instruction name.
13681169689Skan	(write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
13682169689Skan
13683169689Skan2004-09-09  Hans-Peter Nilsson  <hp@axis.com>
13684169689Skan
13685169689Skan	PR target/17377
13686169689Skan	* config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
13687169689Skan	* config/cris/cris.c (cris_return_address_on_stack): New function.
13688169689Skan	* config/cris/cris.md ("return"): For location of return address,
13689169689Skan	also check cris_return_address_on_stack.
13690169689Skan
13691169689Skan2004-09-09  Diego Novillo  <dnovillo@redhat.com>
13692169689Skan
13693169689Skan	* tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
13694169689Skan	calling phi_ssa_name_p.
13695169689Skan
13696169689Skan2004-09-09  Richard Henderson  <rth@redhat.com>
13697169689Skan
13698169689Skan	PR c/17322
13699169689Skan	* c-typeck.c (valid_compound_expr_initializer): Use only
13700169689Skan	initializer_constant_valid_p, and not TREE_CONSTANT.
13701169689Skan	(digest_init): Likewise.
13702169689Skan	(output_init_element): Likewise.
13703169689Skan
13704169689Skan2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
13705169689Skan
13706169689Skan	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
13707169689Skan	live_out_1, prune_hardregs_for_mode, init_one_web_common,
13708169689Skan	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
13709169689Skan	record_conflict, compare_and_free_webs, init_webs_defs_uses,
13710169689Skan	parts_to_webs_1, parts_to_webs, reset_conflicts,
13711169689Skan	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
13712169689Skan	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
13713169689Skan	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
13714169689Skan	put_move, remove_move, combine, select_spill, colorize_one_web,
13715169689Skan	try_recolor_web, insert_coalesced_conflicts, check_colors,
13716169689Skan	break_precolored_alias, restore_conflicts_from_coalesce,
13717169689Skan	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
13718169689Skan	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
13719169689Skan	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
13720169689Skan	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
13721169689Skan	check_df): Likewise.
13722169689Skan	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
13723169689Skan	real_arithmetic, real_compare, real_exponent, real_ldexp,
13724169689Skan	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
13725169689Skan	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
13726169689Skan	real_digit, real_nan, real_maxval, round_for_format, real_convert,
13727169689Skan	real_to_target, real_from_target, real_hash, encode_ieee_single,
13728169689Skan	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
13729169689Skan	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
13730169689Skan	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
13731169689Skan	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
13732169689Skan	extract_insn, peep2_next_insn, peep2_reg_dead_p,
13733169689Skan	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
13734169689Skan	if_test_bypass_p): Likewise.
13735169689Skan	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
13736169689Skan	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
13737169689Skan	emit_swap_insn, swap_to_top, move_for_stack_reg,
13738169689Skan	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
13739169689Skan	compensate_edge, convert_regs_1): Likewise.
13740169689Skan	* regclass.c (init_reg_sets, init_reg_sets_1,
13741169689Skan	memory_move_secondary_cost): Likewise.
13742169689Skan	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
13743169689Skan	Likewise.
13744169689Skan	* reload.c (push_secondary_reload, find_valid_class, push_reload,
13745169689Skan	operands_match_p, decompose, immune_p, find_reloads,
13746169689Skan	find_reloads_toplev, find_reloads_address_1, subst_reloads,
13747169689Skan	copy_replacements, refers_to_regno_for_reload_p,
13748169689Skan	reg_overlap_mentioned_for_reload_p): Likewise.
13749169689Skan	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
13750169689Skan	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
13751169689Skan	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
13752169689Skan	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
13753169689Skan	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
13754169689Skan	do_output_reload, fixup_abnormal_edges): Likewise.
13755169689Skan	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
13756169689Skan	fill_slots_from_thread, relax_delay_slots): Likewise.
13757169689Skan	* resource.c (mark_referenced_resources, mark_set_resources):
13758169689Skan	Likewise.
13759169689Skan	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
13760169689Skan	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
13761169689Skan	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
13762169689Skan	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
13763169689Skan	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
13764169689Skan	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
13765169689Skan	* rtlhooks.c (gen_lowpart_general): Likewise.
13766169689Skan	* sbitmap.c (sbitmap_difference): Likewise.
13767169689Skan	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
13768169689Skan	sched_analyze, add_forward_dependence): Likewise.
13769169689Skan	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
13770169689Skan	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
13771169689Skan	schedule_insns): Likewise.
13772169689Skan	* sched-vis.c (print_pattern): Likewise.
13773169689Skan	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
13774169689Skan	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
13775169689Skan	simplify_const_relational_operation, simplify_ternary_operation,
13776169689Skan	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
13777169689Skan	Likewise.
13778169689Skan	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
13779169689Skan	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
13780169689Skan	resolve_operand_name_1, expand_return, expand_decl,
13781169689Skan	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
13782169689Skan	* stor-layout.c (put_pending_size, smallest_mode_for_size,
13783169689Skan	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
13784169689Skan	set_sizetype, get_mode_bounds): Likewise.
13785169689Skan
13786169689Skan2004-09-09  Zack Weinberg  <zack@codesourcery.com>
13787169689Skan
13788169689Skan	* defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
13789169689Skan	* config/arm/pecoff.h, config/i386/beos-elf.h
13790169689Skan	* config/i386/cygming.h, config/i386/i386-interix.h:
13791169689Skan	Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
13792169689Skan	comment cloned from manual.
13793169689Skan	* doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
13794169689Skan
13795169689Skan2004-09-09  Frank Ch. Eigler  <fche@redhat.com>
13796169689Skan
13797169689Skan	* builtins.c (build_va_arg_indirect_ref): New function.
13798169689Skan	(std_gimplify_va_arg_expr): Call it instead of mudflap check and
13799169689Skan	build_fold_indirect_ref.
13800169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
13801169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
13802169689Skan	* tree.h: Declare new function.
13803169689Skan
13804169689Skan2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
13805169689Skan
13806169689Skan	* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
13807169689Skan	dumping for development builds.
13808169689Skan	* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
13809169689Skan	development builds only.
13810169689Skan	* genattrtab.c (write_eligible_delay): Fix typo in previous
13811169689Skan	commit.
13812169689Skan	* tree.c (iterative_hash_expr): Replace gcc_unreachable with
13813169689Skan	gcc_assert.
13814169689Skan
13815169689Skan2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
13816169689Skan
13817169689Skan	* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
13818169689Skan	cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
13819169689Skan	process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
13820169689Skan	hoist_code, extract_mentioned_regs_helper, compute_store_table,
13821169689Skan	insert_store): Use gcc_assert and gcc_unreachable.
13822169689Skan	* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
13823169689Skan	gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
13824169689Skan	ggc_record_overhead): Likewise.
13825169689Skan	* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
13826169689Skan	init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
13827169689Skan	ggc_pop_context, clear_marks, validate_free_objects,
13828169689Skan	ggc_pch_read): Likewise.
13829169689Skan	* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
13830169689Skan	ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
13831169689Skan	ggc_push_context, check_cookies, ggc_collect,
13832169689Skan	ggc_print_statistics): Likewise.
13833169689Skan	* gimple-low.c (lower_function_body, lower_stmt,
13834169689Skan	lower_bind_expr): Likewise.
13835169689Skan	* gimplify.c (gimple_tree_eq, push_gimplify_context,
13836169689Skan	pop_gimplify_context, gimple_pop_condition, create_tmp_var,
13837169689Skan	declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
13838169689Skan	mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
13839169689Skan	gimplify_case_label_expr, gimplify_exit_block_expr,
13840169689Skan	canonicalize_component_ref, gimplify_compound_lval,
13841169689Skan	gimplify_self_mod_expr, gimplify_call_expr,
13842169689Skan	gimplify_init_ctor_eval, gimplify_init_constructor,
13843169689Skan	gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
13844169689Skan	gimplify_expr, check_pointer_types_r,
13845169689Skan	force_gimple_operand): Likewise.
13846169689Skan	* global.c (global_alloc, build_insn_chain): Likewise.
13847169689Skan	* graph.c (clean_graph_dump_file,
13848169689Skan	finish_graph_dump_file): Likewise.
13849169689Skan	gcov-io.c (gcov_open): Use GCOV_CHECK.
13850169689Skan
13851169689Skan2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
13852169689Skan
13853169689Skan	* config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
13854169689Skan
13855169689Skan2004-09-09  Jan Hubicka  <jh@suse.cz>
13856169689Skan
13857169689Skan	middle-end/17128
13858169689Skan	* tree-inline.c (expand_call_inline): Make overactive sanity check
13859169689Skan	happy.
13860169689Skan
13861169689Skan2004-09-09  Jan Hubicka  <jh@suse.cz>
13862169689Skan
13863169689Skan	* tree-ssa-loop-ivopts.c (peel_address): Fix abort on
13864169689Skan	VIEW_CONVERT_EXPR.
13865169689Skan
13866169689Skan2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
13867169689Skan
13868169689Skan	* Makefile.in (gengtype): Use $(BUILD_ERRORS).
13869169689Skan	(gengtype.o): Depend on errors.h.
13870169689Skan	* genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
13871169689Skan	(attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
13872169689Skan	attr_alt_subset_p, attr_alt_subset_of_compl_p,
13873169689Skan	attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
13874169689Skan	write_test_expr, write_attr_value, write_eligible_delay,
13875169689Skan	make_internal_attr, make_numeric_value): Likewise.
13876169689Skan	* genautomata.c (regexp_name, get_str_vect,
13877169689Skan	gen_presence_absence_set, automaton_decl_hash,
13878169689Skan	automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
13879169689Skan	decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
13880169689Skan	process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
13881169689Skan	test_unit_reserv, it_is_empty_reserv_sets,
13882169689Skan	reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
13883169689Skan	reserv_sets_and, output_cycle_reservs, get_free_state,
13884169689Skan	intersected_state_reservs_p, states_union, remove_arc,
13885169689Skan	copy_insn_regexp, transform_1, transform_2, transform_3,
13886169689Skan	regexp_transform_func, store_alt_unit_usage,
13887169689Skan	check_regexp_units_distribution, process_seq_for_forming_states,
13888169689Skan	process_alts_for_forming_states, make_automaton,
13889169689Skan	form_arcs_marked_by_insn, create_composed_state,
13890169689Skan	set_out_arc_insns_equiv_num, partition_equiv_class,
13891169689Skan	process_insn_equiv_class, set_insn_equiv_classes,
13892169689Skan	units_to_automata_heuristic_distr, form_regexp,
13893169689Skan	longest_path_length, output_dfa_max_issue_rate, add_vect,
13894169689Skan	out_state_arcs_num, add_vect_el, output_trans_table,
13895169689Skan	output_state_alts_table, output_dead_lock_vect,
13896169689Skan	output_max_insn_queue_index_def,
13897169689Skan	output_min_insn_conflict_delay_func,
13898169689Skan	output_internal_insn_latency_func, output_print_reservation_func,
13899169689Skan	output_cpu_unit_reservation_p, output_state_arcs,
13900169689Skan	make_insn_alts_attr, make_internal_dfa_insn_code_attr,
13901169689Skan	make_default_insn_latency_attr,
13902169689Skan	form_important_insn_automata_lists): Likewise.
13903169689Skan	* genemit.c (gen_exp, output_add_clobbers,
13904169689Skan	output_added_clobbers_hard_reg_p): Likewise.
13905169689Skan	* genextract.c (print_path, main): Likewise.
13906169689Skan	* genflags.c (gen_macro): Likewise.
13907169689Skan	* gengenrtl.c: Include errors.h
13908169689Skan	(type_from_format, accessor_from_format): Likewise.
13909169689Skan	* gengtype.c (get_file_basename, output_mangled_typename,
13910169689Skan	walk_type, write_types_process_field,
13911169689Skan	write_types_local_process_field): Likewise.
13912169689Skan	* genmodes.c (complete_mode): Likewise.
13913169689Skan	* genopinit.c (gen_insn): Likewise.
13914169689Skan	* genoutput.c (output_insn_data, check_constraint_len,
13915169689Skan	constraint_len): Likewise.
13916169689Skan	* genpreds.c (add_mode_tests):Likewise.
13917169689Skan	* gen-protos.c (add_hash): Likewise.
13918169689Skan	* genrecog.c (find_operand, find_matching_operand,
13919169689Skan	validate_pattern, add_to_sequence, maybe_both_true,
13920169689Skan	nodes_identical_1, merge_trees, write_switch, write_cond,
13921169689Skan	write_action, is_unconditional, make_insn_sequence,
13922169689Skan	debug_decision_2): Likewise.
13923169689Skan	* gensupport.c (is_predicable, collect_insn_data,
13924169689Skan	alter_predicate_for_insn, maybe_eval_c_test): Likewise.
13925169689Skan
13926169689Skan2004-09-09  Jan Hubicka  <jh@suse.cz>
13927169689Skan
13928169689Skan	* basic-block.h (guess_outgoing_edge_probabilities): Declare.
13929169689Skan	* cfgbuild.c (compute_outgoing_frequencies): When probability is
13930169689Skan	missing, guess it.
13931169689Skan	(find_many_sub_basic_blocks): Do update profile only when it is
13932169689Skan	present.
13933169689Skan	* predict.c (set_even_probabilities): Break out from ...
13934169689Skan	(combine_predictions_for_insn): ... here; deal with
13935169689Skan	!can_predict_insn_p insns.
13936169689Skan	(combine_predictions_for_bb): Use set_even_probabilities.
13937169689Skan	(bb_estimate_probability_locally): Break out from ....
13938169689Skan	(estimate_probability): ... here.
13939169689Skan	(guess_outgoing_edge_probabilities): New entry point.
13940169689Skan
13941169689Skan2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
13942169689Skan
13943169689Skan	* gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
13944169689Skan	handle_braces, process_brace_body, main, used_arg,
13945169689Skan	set_multilib_dir, print_multilib_info): Use fatal, not abort.
13946169689Skan
13947169689Skan	* tree-nested.c (create_tmp_var_for): Correct missinverted assert.
13948169689Skan
13949169689Skan	* tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
13950169689Skan	* tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
13951169689Skan	Morgan's theorem in last checkin.
13952169689Skan
13953169689Skan2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
13954169689Skan	    Nathan Sidwell  <nathan@codesourcery.com>
13955169689Skan
13956169689Skan	* targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
13957169689Skan	Use gcc_assert, gcc_unreachable & internal_error instead of abort.
13958169689Skan	* timevar.c (timevar_push, timevar_pop, timevar_start,
13959169689Skan	timevar_stop): Likewise.
13960169689Skan	* toplev.c (default_pch_valid_p): Likewise.
13961169689Skan	* tracer.c (tail_duplicate): Likewise.
13962169689Skan	* tree-alias-common.c (get_alias_var_decl,
13963169689Skan	get_values_from_constructor, create_alias_var, delete_alias_vars,
13964169689Skan	empty_points_to_set, same_points_to_set, ptr_may_alias_var):
13965169689Skan	Likewise.
13966169689Skan	* tree.c (tree_size, make_node_stat, copy_node_stat,
13967169689Skan	build_int_cst_wide, integer_all_onesp, list_length, chainon,
13968169689Skan	tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
13969169689Skan	substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
13970169689Skan	build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
13971169689Skan	lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
13972169689Skan	build_method_type_directly, decl_type_context, get_callee_fndecl,
13973169689Skan	get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
13974169689Skan	tree_fold_gcd): Likewise.
13975169689Skan	* tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
13976169689Skan	make_cond_expr_edges, group_case_labels, tree_merge_blocks,
13977169689Skan	cleanup_control_expr_graph, find_taken_edge,
13978169689Skan	find_taken_edge_switch_expr, phi_alternatives_equal,
13979169689Skan	is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
13980169689Skan	stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
13981169689Skan	tree_split_edge, tree_verify_flow_info, thread_jumps,
13982169689Skan	tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
13983169689Skan	* tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
13984169689Skan	chrec_fold_multiply_poly_poly): Likewise.
13985169689Skan	* tree-complex.c (extract_component, expand_complex_division,
13986169689Skan	expand_complex_comparison, expand_complex_operations_1,
13987169689Skan	build_replicated_const, expand_vector_operations_1): Likewise.
13988169689Skan	* tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
13989169689Skan	build_classic_dir_vector): Likewise.
13990169689Skan	* tree-dfa.c (compute_immediate_uses_for_phi,
13991169689Skan	compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
13992169689Skan	create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
13993169689Skan	* tree-dump.c (dequeue_and_dump): Likewise.
13994169689Skan	* tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
13995169689Skan	record_in_finally_tree, replace_goto_queue_1,
13996169689Skan	maybe_record_in_goto_queue, verify_norecord_switch_expr,
13997169689Skan	do_return_redirection): Likewise.
13998169689Skan	* tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
13999169689Skan	add_to_dst_predicate_list, find_phi_replacement_condition,
14000169689Skan	replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
14001169689Skan	Likewise.
14002169689Skan	* tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
14003169689Skan	initialize_inlined_parameters, declare_return_variable,
14004169689Skan	estimate_num_insns_1, expand_call_inline, expand_calls_inline,
14005169689Skan	optimize_inline_calls, copy_tree_r): Likewise.
14006169689Skan	* tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
14007169689Skan	ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
14008169689Skan	* tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
14009169689Skan	tsi_split_statement_list_after, tsi_split_statement_list_before):
14010169689Skan	Likewise.
14011169689Skan	* tree-mudflap.c (mf_varname_tree): Likewise.
14012169689Skan	* tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
14013169689Skan	lookup_tramp_for_decl, convert_all_function_calls): Likewise.
14014169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
14015169689Skan	* tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
14016169689Skan	coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
14017169689Skan	free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
14018169689Skan	Likewise.
14019169689Skan	* tree-phinodes.c (resize_phi_node, add_phi_arg,
14020169689Skan	remove_all_phi_nodes_for): Likewise.
14021169689Skan	* tree-pretty-print.c (op_prio, print_call_name): Likewise.
14022169689Skan	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
14023169689Skan	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
14024169689Skan	* tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
14025169689Skan	sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
14026169689Skan	generate_one_element_ref, generate_element_copy,
14027169689Skan	generate_element_zero, scalarize_copy, scalarize_init,
14028169689Skan	scalarize_ldst): Likewise.
14029169689Skan	* tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
14030169689Skan	add_may_alias, add_pointed_to_expr, add_pointed_to_var,
14031169689Skan	collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
14032169689Skan	* tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
14033169689Skan	* tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
14034169689Skan	set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
14035169689Skan	widen_bitfield, ccp_fold_builtin): Likewise.
14036169689Skan	* tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
14037169689Skan	replace_exp_1, propagate_tree_value): Likewise.
14038169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
14039169689Skan	* tree-ssa-dce.c (set_control_dependence_map_bit,
14040169689Skan	find_control_dependence, find_pdom, mark_operand_necessary,
14041169689Skan	mark_stmt_if_obviously_necessary,
14042169689Skan	mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
14043169689Skan	* tree-ssa-dom.c (dom_opt_initialize_block_local_data,
14044169689Skan	simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
14045169689Skan	eliminate_redundant_computations, avail_expr_eq): Likewise.
14046169689Skan	* tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
14047169689Skan	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
14048169689Skan	duplicate_blocks): Likewise.
14049169689Skan	* tree-ssa-loop-im.c (for_each_index, set_level,
14050169689Skan	is_call_clobbered_ref): Likewise.
14051169689Skan	* tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
14052169689Skan	stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
14053169689Skan	find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
14054169689Skan	peel_address, ptr_difference_cost, may_replace_final_value,
14055169689Skan	determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
14056169689Skan	rewrite_use, rewrite_uses): Likewise.
14057169689Skan	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
14058169689Skan	check_loop_closed_ssa_use): Likewise.
14059169689Skan	* tree-ssanames.c (make_ssa_name): Likewise.
14060169689Skan	* tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
14061169689Skan	finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
14062169689Skan	get_stmt_operands, get_expr_operands, get_asm_expr_operands,
14063169689Skan	get_indirect_ref_operands, add_stmt_operand): Likewise.
14064169689Skan	* tree-ssa-pre.c (value_exists_in_set_bitmap,
14065169689Skan	value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
14066169689Skan	phi_translate, valid_in_set, compute_antic,
14067169689Skan	find_or_generate_expression, create_expression_by_pieces, insert_aux,
14068169689Skan	create_value_expr_from, eliminate): Likewise.
14069169689Skan	* tree-ssa-propagate.c (cfg_blocks_get): Likewise.
14070169689Skan	* tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
14071169689Skan	Likewise.
14072169689Skan	* tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
14073169689Skan	eliminate_tail_call): Likewise.
14074169689Skan	* tree-vectorizer.c (vect_create_index_for_array_ref,
14075169689Skan	vect_align_data_ref, vect_create_data_ref,
14076169689Skan	vect_create_destination_var, vect_get_vec_def_for_operand,
14077169689Skan	vect_finish_stmt_generation, vect_transform_stmt,
14078169689Skan	vect_transform_loop_bound, vect_transform_loop,
14079169689Skan	vect_analyze_operations): Likewise.
14080169689Skan	* tree-vn.c (vn_compute, set_value_handle, get_value_handle):
14081169689Skan	Likewise.
14082169689Skan	* tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
14083169689Skan	get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
14084169689Skan	bsi_after_labels, bsi_last): Likewise.
14085169689Skan	* tree-ssa-live.c (var_union, change_partition_var,
14086169689Skan	create_ssa_var_map, calculate_live_on_entry, root_var_init,
14087169689Skan	type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
14088169689Skan	Likewise.
14089169689Skan	* tree-ssa-live.h (partition_is_global, live_entry_blocks,
14090169689Skan	tpa_find_tree): Likewise.
14091169689Skan	(register_ssa_partition_check): Declare.
14092169689Skan	(register_ssa_partition): use it.
14093169689Skan	* tree-ssa-live.c: Include errors.h.
14094169689Skan	(register_ssa_partition_check): New.
14095169689Skan	* tree-ssa-operands.c: Include errors.h.
14096169689Skan	* Makefile.in (tree-ssa-operands.o): Depend on errors.h.
14097169689Skan
14098169689Skan2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
14099169689Skan	    Catherine Moore  <clm@redhat.com>
14100169689Skan
14101169689Skan	* config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
14102169689Skan	(FRV_CPU_FR405): New processor enums.
14103169689Skan	(frv_issue_rate, frv_acc_group): Declare.
14104169689Skan	* config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
14105169689Skan	(CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
14106169689Skan	(MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
14107169689Skan	(SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
14108169689Skan	(TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
14109169689Skan	handled by CPP_SPEC.
14110169689Skan	(MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
14111169689Skan	(MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
14112169689Skan	(ACC_MASK): New macro.
14113169689Skan	(TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
14114169689Skan	(TARGET_MEDIA_FR450): New macro.
14115169689Skan	(TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
14116169689Skan	(TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
14117169689Skan	(LABEL_ALIGN_AFTER_BARRIER): Define.
14118169689Skan	(ACC_LAST, ACCG_LAST): Add four new accumulator registers.
14119169689Skan	(IACC_FIRST, IACC_LAST): New pair of SPRs.
14120169689Skan	(ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
14121169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
14122169689Skan	(REGISTER_NAMES): Add entries for new registers.
14123169689Skan	(REG_CLASS_CONTENTS): Update for new register ranges.
14124169689Skan	(EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
14125169689Skan	(ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
14126169689Skan	(PACKING_FLAG_USED_P): Delete.
14127169689Skan	(FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
14128169689Skan	(FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
14129169689Skan	(FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
14130169689Skan	(FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
14131169689Skan	(FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
14132169689Skan	(FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
14133169689Skan	(FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
14134169689Skan	(FRV_BUILTIN_FIRST_NONMEDIA): New macro.
14135169689Skan	(CPU_UNITS_QUERY): Define to 1.
14136169689Skan	* config/frv/frv.c: Include gt-frv.h
14137169689Skan	(NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
14138169689Skan	(SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
14139169689Skan	(frv_insn_group): New enumeration.
14140169689Skan	(frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
14141169689Skan	(frv_type_to_unit, frv_nops, frv_num_nops): New variables.
14142169689Skan	(REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
14143169689Skan	(REGSTATE_CONDJUMP): Delete.  Shuffle other numbers to cover the
14144169689Skan	gap left by REGSTATE_LIVE.
14145169689Skan	(regstate_t): New typedef.
14146169689Skan	(TARGET_MACHINE_DEPENDENT_REORG): Define.
14147169689Skan	(frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
14148169689Skan	(frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
14149169689Skan	Initialize frv_unit_codes[] and frv_type_to_unit[].
14150169689Skan	(frv_conditional_register_usage): Remove redundant fixing of
14151169689Skan	accumulator registers.
14152169689Skan	(frv_insn_packing_flag): Update specification.
14153169689Skan	(frv_function_prologue): Don't set frv_insn_packing_flag here.
14154169689Skan	Zero out frv_nops[].
14155169689Skan	(frv_expand_epilogue): Remove comments about the no-longer-present
14156169689Skan	SIBCALL_P argument.
14157169689Skan	(frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
14158169689Skan	PACKING_FLAG_USED_P() when deciding whether to pack instructions.
14159169689Skan	(frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
14160169689Skan	of the new meaning of frv_insn_packing_flag.  Emit an mnop.p if
14161169689Skan	packing is disabled and if INSN can only issue to M1.
14162169689Skan	(call_operand): Check TARGET_LONG_CALLS.
14163169689Skan	(acc_operand, even_acc_operand, quad_acc_operand)
14164169689Skan	(accg_operand): Simplify.  Don't accept pseudo registers.
14165169689Skan	(output_move_single): Handle SPR<-zero moves.
14166169689Skan	(frv_issue_rate): Make non-static.  Handle FRV_CPU_{FR550,FR450,FR405}.
14167169689Skan	(frv_registers_update, frv_registers_used_p): Delete.
14168169689Skan	(frv_registers_set_p): Delete.
14169169689Skan	(frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
14170169689Skan	(frv_issues_to_branch_unit_p): New function.
14171169689Skan	(frv_packet): New structure.
14172169689Skan	(frv_cond_flags, frv_regstate_conflict_p): New functions.
14173169689Skan	(frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
14174169689Skan	(frv_registers_update_1, frv_registers_update): New functions.
14175169689Skan	(frv_start_packet, frv_start_packet_block, frv_finish_packet)
14176169689Skan	(frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
14177169689Skan	(frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
14178169689Skan	(frv_sort_insn_group, frv_reorder_packet): New functions.
14179169689Skan	(frv_pack_insns): Use frv_reorder_packet.
14180169689Skan	(frv_packet_address): New variable.
14181169689Skan	(frv_fill_unused_units, frv_align_label, frv_reorg_packet)
14182169689Skan	(frv_register_nop, frv_reorg): New functions.
14183169689Skan	(bdesc_1arg): Add __SCUTSS.
14184169689Skan	(bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
14185169689Skan	__SUBSS, __SLASS and __SCAN.
14186169689Skan	(bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
14187169689Skan	(bdesc_int_void2arg, bdesc_prefetches): New arrays.
14188169689Skan	(frv_init_builtins): Register the above builtins.
14189169689Skan	(frv_int_to_acc): Use ACC_MASK to check for valid accumulator
14190169689Skan	registers.  Turn the referenced accumulators into global registers.
14191169689Skan	(frv_read_iacc_argument): New function.
14192169689Skan	(frv_expand_int_void2arg, frv_expand_prefetches): New functions.
14193169689Skan	(frv_split_iacc_move): New function.
14194169689Skan	(frv_expand_builtin): Handle the new builtins.
14195169689Skan	* config/frv/frv.md: Replace old schedulers with new order-independent
14196169689Skan	ones.  Add schedulers for the FR405, FR450 and FR550.  Describe new
14197169689Skan	packing algorithm.
14198169689Skan	(cpu): Add fr550, fr450 and fr405.
14199169689Skan	(type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
14200169689Skan	mqshift.  Replace fmas with fsmadd and fmad with fdmadd.  Delete m7.
14201169689Skan	(*muladd[sd]f4, *mulsub[sd]f4): Fix types.
14202169689Skan	(*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
14203169689Skan	(fnop, mnop): New patterns.
14204169689Skan	(UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
14205169689Skan	New constants.
14206169689Skan	(mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
14207169689Skan	(mclracca8): Use ACC_MASK to determine the upper set of accumulator
14208169689Skan	registers.
14209169689Skan	(mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
14210169689Skan	(UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
14211169689Skan	(UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
14212169689Skan	(UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
14213169689Skan	(UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
14214169689Skan	(UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
14215169689Skan	(smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
14216169689Skan	(frv_prefetch0, frv_prefetch): New patterns.
14217169689Skan	* config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
14218169689Skan	-mcpu=simple.  Add -mcpu=fr550.
14219169689Skan	(MULTILIB_DIRNAMES): Update accordingly.
14220169689Skan	(MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
14221169689Skan	-mcpu=fr450.
14222169689Skan	* doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
14223169689Skan	-mlong-calls and -malign-labels options for FR-V.
14224169689Skan
14225169689Skan2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
14226169689Skan
14227169689Skan	PR c/8420
14228169689Skan	* c-tree.h (struct c_declspecs): New.
14229169689Skan	(struct c_declarator, struct c_type_name, struct c_parm): Update
14230169689Skan	element types.
14231169689Skan	(build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
14232169689Skan	start_function, start_decl, build_c_parm,
14233169689Skan	make_pointer_declarator): Update prototypes.
14234169689Skan	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
14235169689Skan	declspecs_add_scspec, declspecs_add_attrs): New.
14236169689Skan	(split_specs_attrs): Remove.
14237169689Skan	* c-parse.in (%union): Add dsptype.
14238169689Skan	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
14239169689Skan	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
14240169689Skan	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
14241169689Skan	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
14242169689Skan	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
14243169689Skan	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
14244169689Skan	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
14245169689Skan	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
14246169689Skan	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
14247169689Skan	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
14248169689Skan	maybe_type_quals_attrs): Change to dsptype.
14249169689Skan	(struct c_declspec_stack): New.
14250169689Skan	(current_declspecs, declspec_stack): Change type.
14251169689Skan	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
14252169689Skan	structures.
14253169689Skan	(extdefs): Likewise.
14254169689Skan	(setspecs): Likewise.
14255169689Skan	(fndef): Use current_declspecs for empty declspecs list.
14256169689Skan	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
14257169689Skan	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
14258169689Skan	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
14259169689Skan	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
14260169689Skan	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
14261169689Skan	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
14262169689Skan	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
14263169689Skan	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
14264169689Skan	structures and helper functions.  Update comments.
14265169689Skan	(typespec_nonattr): Correct comment.
14266169689Skan	(maybe_type_quals_attrs, typename): Update to new structures.
14267169689Skan	* c-decl.c (grokdeclarator, build_array_declarator, grokfield,
14268169689Skan	shadow_tag, shadow_tag_warned, start_function, start_decl,
14269169689Skan	build_c_parm, make_pointer_declarator,
14270169689Skan	set_array_declarator_inner, groktypename): Update to new
14271169689Skan	structures.
14272169689Skan	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
14273169689Skan	declspecs_add_scspec, declspecs_add_attrs): New.
14274169689Skan	(split_specs_attrs): Remove.
14275169689Skan	(shadow_tag_warned): Make warning for useless type names a
14276169689Skan	pedwarn.  Give hard error for long, short, signed, unsigned or
14277169689Skan	_Complex used with struct, union or enum in empty declaration.
14278169689Skan	Make found_tag a bool.
14279169689Skan	(grokdeclarator): Remove checks now done at parse time.
14280169689Skan
14281169689Skan2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
14282169689Skan
14283169689Skan	* c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
14284169689Skan	c_declarator, struct c_type_name, struct c_parm): New.
14285169689Skan	(build_array_declarator, set_array_declarator_inner,
14286169689Skan	get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
14287169689Skan	start_function, start_decl, build_c_parm, build_attrs_declarator,
14288169689Skan	build_function_declarator, make_pointer_declarator, c_cast_expr,
14289169689Skan	store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
14290169689Skan	(build_id_declarator): New.
14291169689Skan	* c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
14292169689Skan	structures.
14293169689Skan	* c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
14294169689Skan	ARG_INFO_OTHERS): Remove.
14295169689Skan	(build_id_declarator): New.
14296169689Skan	(build_array_declarator, set_array_declarator_inner, groktypename,
14297169689Skan	start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
14298169689Skan	grokfield, start_function, store_parm_decls_newstyle,
14299169689Skan	store_parm_decls_oldstyle, store_parm_decls,
14300169689Skan	build_c_parm, build_attrs_declarator, build_function_declarator,
14301169689Skan	make_pointer_declarator, grokdeclarator): Update to new
14302169689Skan	structures.
14303169689Skan	* c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
14304169689Skan	parmtype.
14305169689Skan	(declarator, notype_declarator, after_type_declarator,
14306169689Skan	parm_declarator, parm_declarator_starttypename,
14307169689Skan	parm_declarator_nostarttypename, array_declarator, typename,
14308169689Skan	absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
14309169689Skan	absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
14310169689Skan	parmlist_1, parmlist_2, parmlist_or_identifiers,
14311169689Skan	parmlist_or_identifiers_1): Use these types.
14312169689Skan	(primary, after_type_declarator, parm_declarator_starttypename,
14313169689Skan	notype_declarator, component_decl, component_declarator,
14314169689Skan	component_notype_declarator, typename, absdcl,
14315169689Skan	absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
14316169689Skan	parmlist_2, parmlist_or_identifiers_1): Update to new structures.
14317169689Skan
14318169689Skan2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
14319169689Skan
14320169689Skan	* c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
14321169689Skan	in_typeof, record_maybe_used_decl, pop_maybe_used,
14322169689Skan	c_expr_sizeof_expr, c_expr_sizeof_type): New.
14323169689Skan	* c-decl.c (parser_obstack): New.
14324169689Skan	(c_init_decl_processing): Initialize parser_obstack.
14325169689Skan	(c_write_global_declarations_1): Check for used but undefined
14326169689Skan	static functions.
14327169689Skan	* c-parse.in (%union): Add otype.
14328169689Skan	(save_obstack_position): New.
14329169689Skan	(extdefs): Use it.
14330169689Skan	(unary_expr): Update in_sizeof and in_alignof.  Use
14331169689Skan	c_expr_sizeof_expr and c_expr_sizeof_type.
14332169689Skan	(sizeof): Update in_sizeof.
14333169689Skan	(alignof): Update in_alignof.
14334169689Skan	(typeof): Update in_typeof.
14335169689Skan	(typespec_nonreserved_nonattr): Call pop_maybe_used.
14336169689Skan	* c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
14337169689Skan	maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
14338169689Skan	pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
14339169689Skan	(build_external_ref): Set C_DECL_USED or call
14340169689Skan	record_maybe_used_decl if appropriate.
14341169689Skan	* toplev.c (check_global_declarations): Check TREE_NO_WARNING.
14342169689Skan
14343169689Skan2004-09-08  Eric Christopher  <echristo@redhat.com>
14344169689Skan
14345169689Skan	* builtins.c: Fix prototype for fold_builtin_atan.
14346169689Skan
14347169689Skan2004-09-08  Eric Christopher  <echristo@redhat.com>
14348169689Skan
14349169689Skan	* builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
14350169689Skan	fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
14351169689Skan	fold_builtin_atan): New functions. Migrate function bodies...
14352169689Skan	(fold_builtin_1): ... from here.
14353169689Skan
14354169689Skan2004-09-09  Alan Modra  <amodra@bigpond.net.au>
14355169689Skan
14356169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
14357169689Skan	save_size.
14358169689Skan
14359169689Skan2004-09-08  David Edelsohn  <edelsohn@gnu.org>
14360169689Skan
14361169689Skan	* config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
14362169689Skan	* config/rs6000/power5.md (power5-lmul): Same.
14363169689Skan
14364169689Skan2004-09-08  Richard Henderson  <rth@redhat.com>
14365169689Skan
14366169689Skan	PR rtl-opt/17186
14367169689Skan	* function.c (expand_function_end): Have fall-off-the-end
14368169689Skan	return path jump around return register setup.
14369169689Skan
14370169689Skan2004-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
14371169689Skan
14372169689Skan	* config/sparc/sparc.c (sparc_indent_opcode): New variable.
14373169689Skan	(output_return): Do not test for the presence of the 'unimp' insn.
14374169689Skan	Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
14375169689Skan	as predicates instead of custom ones.  Return raw strings when
14376169689Skan	possible.
14377169689Skan	(output_sibcall): Likewise.  Concatenate strings.
14378169689Skan	(output_ubranch): Remove kludge for TurboSPARC.
14379169689Skan	(output_cbranch): Remove 'noop' parameter.  Do not output 'nop'.
14380169689Skan	(output_v9branch): Likewise.
14381169689Skan	(print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
14382169689Skan	<#>: Set sparc_indent_opcode if the delay slot is filled.
14383169689Skan	<(>: Likewise.
14384169689Skan	<)>: New operand to emit the displacement from the saved PC on return.
14385169689Skan	<@>: Remove.
14386169689Skan	* config/sparc/sparc.h (sparc_indent_opcode): Declare it.
14387169689Skan	(ASM_OUTPUT_OPCODE): New macro.
14388169689Skan	(PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
14389169689Skan	* config/sparc/sparc.md (normal_branch, inverted_branch,
14390169689Skan	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
14391169689Skan	inverted_fpe_branch): Adjust call to output_cbranch.
14392169689Skan	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
14393169689Skan	call to output_v9branch.
14394169689Skan	* config/sparc/sparc-protos.h (output_cbranch): Adjust.
14395169689Skan	(output_v9branch): Likewise.
14396169689Skan
14397169689Skan2004-09-08  Devang Patel  <dpatel@apple.com>
14398169689Skan
14399169689Skan	* config/darwin.h  (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
14400169689Skan	-segs_read_only_addr and -segs_read_write_addr.
14401169689Skan	(WORD_SWITCH_TAKES_ARG): Same.
14402169689Skan	(LINK_SPEC): Same.
14403169689Skan	* doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
14404169689Skan	-segs_read_write_addr.
14405169689Skan
14406169689Skan2004-09-08  Richard Henderson  <rth@redhat.com>
14407169689Skan
14408169689Skan	* function.c (reference_callee_copied): New.
14409169689Skan	(assign_parm_setup_reg): Use it.
14410169689Skan	* calls.c (initialize_argument_information): Likewise.
14411169689Skan	(emit_library_call_value_1): Likewise.
14412169689Skan	* function.h (reference_callee_copied): Declare.
14413169689Skan
14414169689Skan	* target.h (struct gcc_target): Add callee_copies.
14415169689Skan	* target-def.h (TARGET_CALLEE_COPIES): New.
14416169689Skan	(TARGET_PASS_BY_REFERENCE): Update default.
14417169689Skan	* expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14418169689Skan	* targhooks.c (hook_callee_copies_named): New.
14419169689Skan	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
14420169689Skan	hook_pass_by_reference_false.
14421169689Skan	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
14422169689Skan	* targhooks.h: Update decls.
14423169689Skan	* config/arc/arc.c (TARGET_CALLEE_COPIES): New.
14424169689Skan	* config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14425169689Skan	* config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
14426169689Skan	* config/frv/frv.c (frv_function_arg_callee_copies): Remove.
14427169689Skan	* config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14428169689Skan	* config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
14429169689Skan	* config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14430169689Skan	* config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
14431169689Skan	* config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14432169689Skan	* config/mips/mips.c (TARGET_CALLEE_COPIES): New.
14433169689Skan	(mips_callee_copies): New.
14434169689Skan	* config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14435169689Skan	* config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
14436169689Skan	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14437169689Skan	* config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
14438169689Skan	* config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14439169689Skan	* config/pa/pa.c (TARGET_CALLEE_COPIES): New.
14440169689Skan	* config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14441169689Skan	* config/sh/sh.c (sh_callee_copies): New.
14442169689Skan	(TARGET_CALLEE_COPIES): New.
14443169689Skan	* config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14444169689Skan	* config/v850/v850.c (TARGET_CALLEE_COPIES): New.
14445169689Skan	* config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
14446169689Skan	* doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
14447169689Skan	for FUNCTION_ARG_CALLEE_COPIES.
14448169689Skan	* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
14449169689Skan
14450169689Skan2004-09-08  Devang Patel  <dpatel@apple.com>
14451169689Skan
14452169689Skan	* tree-if-conv.c (find_phi_replacement_condition): Return true
14453169689Skan	edge block.
14454169689Skan	(replace_phi_with_cond_modify_expr): Select conditional expr args
14455169689Skan	based on true edge basic block.
14456169689Skan
14457169689Skan2004-09-08  Jan Hubicka  <jh@suse.cz>
14458169689Skan
14459169689Skan	* tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
14460169689Skan	variables being alias set.
14461169689Skan
14462169689Skan2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14463169689Skan
14464169689Skan	* final.c (shorten_branches, final, get_insn_template,
14465169689Skan	output_alternate_entry_point, final_scan_insn, alter_subreg,
14466169689Skan	alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
14467169689Skan	leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
14468169689Skan	* fix-header.c (lookup_std_proto): Likewise.
14469169689Skan	* flow.c (first_insn_after_basic_block_note, verify_wide_reg,
14470169689Skan	verify_local_live_at_start, update_life_info, mark_reg,
14471169689Skan	calculate_global_regs_live, allocate_reg_life_data,
14472169689Skan	init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
14473169689Skan	ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
14474169689Skan	attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
14475169689Skan	* fold-const.c (force_fit_type, div_and_round_double,
14476169689Skan	may_negate_without_overflow_p, int_const_binop, const_binop,
14477169689Skan	size_binop, size_diffop, fold_convert_const, fold_convert,
14478169689Skan	invert_tree_comparison, swap_tree_comparison,
14479169689Skan	comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
14480169689Skan	range_binop, make_range, fold_cond_expr_with_comparison,
14481169689Skan	fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
14482169689Skan	fold_abs_const, fold_not_const, fold_relational_const, round_up,
14483169689Skan	round_down): Likewise.
14484169689Skan	* function.c (find_function_data, assign_stack_temp_for_type,
14485169689Skan	instantiate_virtual_regs_lossage, aggregate_value_p,
14486169689Skan	assign_parm_find_entry_rtl, assign_parm_setup_block,
14487169689Skan	expand_function_start, expand_function_end, keep_stack_depressed,
14488169689Skan	handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
14489169689Skan
14490169689Skan2004-09-08  Daniel Berlin  <dberlin@dberlin.org>
14491169689Skan
14492169689Skan	* Makefile.in (tree-loop-linear.o): Added.
14493169689Skan	(OBJS-common): Add tree-loop-linear.o
14494169689Skan	* common.opt: New flag, ftree-loop-linear.
14495169689Skan	* timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
14496169689Skan	* tree-flow.h: Add prototype for linear_transform_loops.
14497169689Skan	* tree-optimize.c: Add linear transform after vectorization.
14498169689Skan	* tree-pass.h: Add struct pass_linear_transform.
14499169689Skan	* tree-ssa-loop.c: Add pass_linear_transform.
14500169689Skan	* tree-loop-linear.c: New file.
14501169689Skan	* lambda-code.c: gcc_assertify.
14502169689Skan	(gcc_loop_to_lambda_loop): Handle all exit tests.
14503169689Skan	Handle case where we have (invariant >= induction var).
14504169689Skan	(find_induction_var_from_exit_cond): Ditto.
14505169689Skan
14506169689Skan2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
14507169689Skan
14508169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
14509169689Skan	memory tag is call clobbered, so are its aliases.
14510169689Skan	(group_aliases): When two memory tags being grouped, if one is
14511169689Skan	call clobbered, so are the other and its aliases.
14512169689Skan	(add_may_alias): Remove call-clobbering stuff.
14513169689Skan	(replace_may_alias): Likewise.
14514169689Skan	(merge_pointed_to_info): Merge pt_global_mem
14515169689Skan
14516169689Skan2004-09-08  Jan Hubicka  <jh@suse.cz>
14517169689Skan
14518169689Skan	* cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
14519169689Skan	* cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
14520169689Skan	(cgraph_expand_function): Remove stale cgraph edges of currently
14521169689Skan	compiled function; fix non-unit-at-a-time code copying function
14522169689Skan	node for later reuse.
14523169689Skan
14524169689Skan2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14525169689Skan
14526169689Skan	* vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
14527169689Skan	(vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
14528169689Skan	(vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
14529169689Skan	(vec_gc_free, vec_heap_free): New.
14530169689Skan	* vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
14531169689Skan	(DEF_VEC_P): Add allocator argument. Adjust.
14532169689Skan	(DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
14533169689Skan	(DEF_VEC_O): Add allocator argument. Adjust.
14534169689Skan	(VEC(free)): New.
14535169689Skan
14536169689Skan	* tree.h (tree): Define a GC'd vector.
14537169689Skan	* lamba-code.c (lambda_loop): Likewise.
14538169689Skan	* value-prof.h (histogram_value): Likewise.
14539169689Skan
14540169689Skan2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14541169689Skan
14542169689Skan	* emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
14543169689Skan	(gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
14544169689Skan	gen_lowpart_common, gen_highpart, gen_highpart_mode,
14545169689Skan	subreg_highpart_offset, operand_subword, operand_subword_force,
14546169689Skan	mem_expr_equal_p, set_mem_attributes_minus_bitpos,
14547169689Skan	set_mem_alias_set, change_address_1, verify_rtx_sharing,
14548169689Skan	copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
14549169689Skan	try_split, add_insn_after, add_insn_before, remove_insn,
14550169689Skan	remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
14551169689Skan	emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
14552169689Skan	emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
14553169689Skan	set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
14554169689Skan	gen_const_vector_0, emit_copy_of_insn_after): Likewise.
14555169689Skan	* et-forest.c (set_prev, set_next, et_check_occ_sanity,
14556169689Skan	record_path_before_1, check_path_after_1, check_path_after): Likewise.
14557169689Skan	* except.c (gen_eh_region, resolve_one_fixup_region,
14558169689Skan	remove_unreachable_regions, convert_from_eh_region_ranges_1,
14559169689Skan	add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
14560169689Skan	connect_post_landing_pads, sjlj_emit_function_exit,
14561169689Skan	remove_exception_handler_label, remove_eh_handler,
14562169689Skan	reachable_next_level, collect_one_action_chain,
14563169689Skan	output_function_exception_table): Likewise.
14564169689Skan	* explow.c (trunc_int_for_mode, copy_to_mode_reg,
14565169689Skan	optimize_save_area_alloca, allocate_dynamic_stack_space,
14566169689Skan	probe_stack_range, hard_function_value): Likewise.
14567169689Skan	* expmed.c (mode_for_extraction, store_bit_field,
14568169689Skan	store_fixed_bit_field, extract_bit_field, expand_shift,
14569169689Skan	expand_mult_const, expand_mult, choose_multiplier,
14570169689Skan	expand_mult_highpart, expand_divmod, emit_store_flag,
14571169689Skan	do_cmp_and_jump): Likewise.
14572169689Skan	* expr.c (convert_move, convert_modes, move_by_pieces,
14573169689Skan	move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
14574169689Skan	move_block_from_reg, gen_group_rtx, emit_group_load,
14575169689Skan	emit_group_move, emit_group_store, use_reg, use_regs,
14576169689Skan	can_store_by_pieces, store_by_pieces, store_by_pieces_1,
14577169689Skan	emit_move_insn, emit_move_insn_1, emit_push_insn,
14578169689Skan	expand_assignment, store_expr, count_type_elements,
14579169689Skan	store_constructor, store_field, safe_from_p, expand_var,
14580169689Skan	expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
14581169689Skan
14582169689Skan2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14583169689Skan
14584169689Skan	* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
14585169689Skan	gcc_assert and gcc_unreachable.
14586169689Skan	* ddg.c (create_ddg_dependence, add_deps_for_def,
14587169689Skan	add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
14588169689Skan	* df.c (df_ref_unlink, df_ref_record, df_uses_record,
14589169689Skan	df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
14590169689Skan	df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
14591169689Skan	df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
14592169689Skan	df_bb_reg_live_end_p, df_bb_regs_lives_compare,
14593169689Skan	df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
14594169689Skan	dataflow_set_copy, hybrid_search, diagnostic.c,
14595169689Skan	diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
14596169689Skan	* dojump.c (do_jump): Likewise.
14597169689Skan	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
14598169689Skan	compute_dom_fast_query, calculate_dominance_info,
14599169689Skan	free_dominance_info, get_immediate_dominator,
14600169689Skan	set_immediate_dominator, get_dominated_by,
14601169689Skan	redirect_immediate_dominators, nearest_common_dominator,
14602169689Skan	dominated_by_p, verify_dominators, recount_dominator,
14603169689Skan	iterate_fix_dominators, add_to_dominance_info,
14604169689Skan	delete_from_dominance_info): Likewise.
14605169689Skan	* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
14606169689Skan	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
14607169689Skan	dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
14608169689Skan	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
14609169689Skan	initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
14610169689Skan	flush_queued_reg_saves, dwarf2out_frame_debug_expr,
14611169689Skan	dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
14612169689Skan	output_call_frame_info, output_loc_operands, build_cfa_loc,
14613169689Skan	decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
14614169689Skan	AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
14615169689Skan	AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
14616169689Skan	splice_child_die, attr_checksum, same_dw_val_p,
14617169689Skan	break_out_includes, build_abbrev_table, size_of_die, mark_dies,
14618169689Skan	unmark_dies, value_format, output_loc_list, output_die,
14619169689Skan	output_pubnames, output_aranges, base_type_die, is_base_type,
14620169689Skan	modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
14621169689Skan	mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
14622169689Skan	field_byte_offset, add_data_member_location_attribute,
14623169689Skan	add_const_value_attribute, rtl_for_decl_location,
14624169689Skan	add_location_or_const_value_attribute, add_byte_size_attribute,
14625169689Skan	add_bit_offset_attribute, add_bit_size_attribute,
14626169689Skan	add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
14627169689Skan	decl_start_label, gen_formal_parameter_die,
14628169689Skan	gen_type_die_for_member, gen_subprogram_die, gen_label_die,
14629169689Skan	gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
14630169689Skan	force_decl_die, force_type_die, gen_decl_die,
14631169689Skan	dwarf2out_imported_module_or_decl, prune_unused_types_prune,
14632169689Skan	dwarf2out_finish): Likewise.
14633169689Skan
14634169689Skan2004-09-08  Andreas Tobler  <toa@pop.agri.ch>
14635169689Skan
14636169689Skan	* Makefile.in (builtins.o): Depend on tree-mudflap.h.
14637169689Skan	* builtins.c: Include tree-mudflap.h.
14638169689Skan
14639169689Skan2004-09-08  Uros Bizjak  <uros@kss-loka.si>
14640169689Skan
14641169689Skan	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
14642169689Skan	force operand 0.0 into register in XFmode. Also do not force
14643169689Skan	operand 0.0 into register if !TARGET_CMOVE.
14644169689Skan	* config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
14645169689Skan	(*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
14646169689Skan	implement ftst x87 instruction.
14647169689Skan	(*fp_jcc_7): New insn pattern. Change corresponding split
14648169689Skan	pattern to handle "general_operand" instead of
14649169689Skan	"nonimmediate_operand".
14650169689Skan
14651169689Skan2004-09-08  Ben Elliston  <bje@au.ibm.com>
14652169689Skan
14653169689Skan	* doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
14654169689Skan
14655169689Skan2004-09-07  Frank Ch. Eigler  <fche@redhat.com>
14656169689Skan
14657169689Skan	* builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
14658169689Skan	generated from standard va_arg expansion.
14659169689Skan	* tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
14660169689Skan	marked nodes.
14661169689Skan	(mf_varname_tree, mf_file_function_line_tree): Add some support
14662169689Skan	for column numbers if compiled with USE_MAPPED_LOCATION.
14663169689Skan
14664169689Skan2004-09-07  Ziemowit Laski  <zlaski@apple.com>
14665169689Skan
14666169689Skan	* c-decl.c (groktypename_in_parm_context): Remove function.
14667169689Skan	* c-tree.h (groktypename_in_parm_context): Remove prototype.
14668169689Skan
14669169689Skan2004-09-07  Ziemowit Laski  <zlaski@apple.com>
14670169689Skan
14671169689Skan	* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
14672169689Skan	* c-parse.in: Include c-common.h instead of objc-act.h.
14673169689Skan	(ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
14674169689Skan	myparms, myparm): Remove %type declarations.
14675169689Skan	(methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
14676169689Skan	objc_typename, objc_try_catch_stmt, optellipsis): Add %type
14677169689Skan	declarations.
14678169689Skan	(objc_inherit_code, objc_public_flag): Remove.
14679169689Skan	(typespec_nonreserved_nonattr): Call
14680169689Skan	objc_get_protocol_qualified_type() instead of get_static_reference()
14681169689Skan	and get_protocol_reference().
14682169689Skan	(stmt_nocomp): Call grokparm() on @catch parameter.
14683169689Skan	(objcdef): Move semantic action to objc_finish_implementation().
14684169689Skan	(classdef): Move semantic action to objc_start_class_interface(),
14685169689Skan	objc_continue_interface(), objc_finish_interface(),
14686169689Skan	objc_start_class_implementation(), objc_continue_implementation(),
14687169689Skan	objc_start_category_interface() and
14688169689Skan	objc_start_category_implementation().
14689169689Skan	(protocoldef): Move semantic actions to objc_start_protocol() and
14690169689Skan	objc_finish_interface().
14691169689Skan	(ivar_decl_list): Remove nonterminal.
14692169689Skan	(visibility_spec): Move semantic actions to objc_set_visibility().
14693169689Skan	(ivar_decls): Remove assignment to $$.
14694169689Skan	(ivar_decl): Rephrase in terms of component_decl; call
14695169689Skan	objc_add_instance_variable().
14696169689Skan	(ivars, ivar_declarator): Remove nonterminals.
14697169689Skan	(opt_semi): New nonterminal.
14698169689Skan	(methodtype): Remove semantic actions.
14699169689Skan	(methoddef): Move semantic actions to objc_set_method_type(),
14700169689Skan	objc_start_method_definition() and objc_finish_method_definition().
14701169689Skan	(methodproto): Move semantic actions to objc_set_method_type() and
14702169689Skan	objc_add_method_declaration().
14703169689Skan	(methoddecl): Use objc_typename instead of typename; move semantic
14704169689Skan	actions to objc_build_method_signature().
14705169689Skan	(optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
14706169689Skan	(optparmlist): Express in terms of optparms and optellipsis.
14707169689Skan	(optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
14708169689Skan	nonterminals.
14709169689Skan	(keyworddecl): Use objc_typename instead of typename.
14710169689Skan	(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
14711169689Skan	and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
14712169689Skan
14713169689Skan2004-09-08  Alan Modra  <amodra@bigpond.net.au>
14714169689Skan
14715169689Skan	* doc/tm.texi (MD_UNWIND_SUPPORT): Document.
14716169689Skan	(MD_FALLBACK_FRAME_STATE_FOR): Update.
14717169689Skan	* unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
14718169689Skan	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
14719169689Skan	(MD_FROB_UPDATE_CONTEXT): Remove default.
14720169689Skan	(uw_update_context_1): Instead #ifdef invocation.
14721169689Skan	* config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
14722169689Skan	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
14723169689Skan	* config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
14724169689Skan	(MD_UNWIND_SUPPORT): Undefine this instead.
14725169689Skan	* config/i386/gnu.h: Likewise.
14726169689Skan	* config/alpha/linux-unwind.h: New file, macro converted to
14727169689Skan	function, extracted from..
14728169689Skan	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
14729169689Skan	(MD_UNWIND_SUPPORT): Define.
14730169689Skan	* config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
14731169689Skan	* config/i386/linux-unwind.h, config/i386/linux.h,
14732169689Skan	config/i386/linux64.h: Likewise.
14733169689Skan	* config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
14734169689Skan	MD_HANDLE_UNWABI too.
14735169689Skan	* config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
14736169689Skan	* config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
14737169689Skan	* config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
14738169689Skan	* config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
14739169689Skan	* config/sparc/linux-unwind.h, config/sparc/linux.h,
14740169689Skan	config/sparc/linux64.h: Likewise.
14741169689Skan	* config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
14742169689Skan	SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
14743169689Skan	* config/rs6000/linux-unwind.h, config/rs6000/linux.h,
14744169689Skan	config/rs6000/linux64.h: Likewise.  Split out get_sigcontext
14745169689Skan	function.  Use ARG_POINTER_REGNUM for 32-bit temp reg too.
14746169689Skan
14747169689Skan2004-09-07  Jan Hubicka  <jh@suse.cz>
14748169689Skan
14749169689Skan	* cse.c (fold_rtx): Avoid building of
14750169689Skan	(CONST (MINUS (CONST_INT) (SYMBOL_REF)))
14751169689Skan
14752169689Skan	* tree-ssa-pre.c (grand_bitmap_obstack): New.
14753169689Skan	(value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
14754169689Skan	(init_pre): Initialize obstack.
14755169689Skan	(fini_pre): Free obstack.
14756169689Skan
14757169689Skan2004-09-07  David Daney  <ddaney@avtrex.com>
14758169689Skan
14759169689Skan	* config.gcc: Added support for --with-divide=[breaks|traps] for
14760169689Skan	mips targets.
14761169689Skan	* config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
14762169689Skan	(TARGET_DIVIDE_TRAPS): New macro.
14763169689Skan	(TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
14764169689Skan	(OPTION_DEFAULT_SPECS): Added --with-divide= support.
14765169689Skan	* config/mips/mips.c (mips_idiv_insns): Generate proper count on
14766169689Skan	GENERATE_DIVIDE_TRAPS.
14767169689Skan	(mips_output_division): Emit conditional trap if
14768169689Skan	GENERATE_DIVIDE_TRAPS is set.
14769169689Skan	* doc/install.texi: Document --with-divide.
14770169689Skan	* doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
14771169689Skan
14772169689Skan2004-09-07  Caroline Tice  <ctice@apple.com>
14773169689Skan
14774169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
14775169689Skan	EDGE_CROSSING, to flags test case.
14776169689Skan
14777169689Skan2004-09-07  Jan Hubicka  <jh@suse.cz>
14778169689Skan
14779169689Skan	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
14780169689Skan	class too.
14781169689Skan
14782169689Skan2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
14783169689Skan
14784169689Skan	* cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
14785169689Skan	cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
14786169689Skan	make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
14787169689Skan	or gcc_unreachable.
14788169689Skan	* cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
14789169689Skan	remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
14790169689Skan	alloc_aux_for_edges, free_aux_for_edges): Likewise.
14791169689Skan	* cfgcleanup.c (try_forward_edges,
14792169689Skan	merge_blocks_move_predecessor_nojumps,
14793169689Skan	merge_blocks_move_successor_nojumps): Likewise.
14794169689Skan	* cfgexpand.c (expand_gimple_cond_expr,
14795169689Skan	expand_gimple_tailcall): Likewise.
14796169689Skan	* cfghooks.c (duplicate_block): Likewise.
14797169689Skan	* cfglayout.c (record_effective_endpoints,
14798169689Skan	insn_locators_initialize, change_scope, fixup_reorder_chain,
14799169689Skan	verify_insn_chain, fixup_fallthru_exit_predecessor,
14800169689Skan	duplicate_insn_chain, cfg_layout_finalize): Likewise.
14801169689Skan	* cfgloopanal.c (check_irred): Likewise.
14802169689Skan	* cfgloop.c (superloop_at_depth, flow_loops_free,
14803169689Skan	flow_loop_entry_edges_find, flow_loops_find,
14804169689Skan	flow_loop_outside_edge_p, get_loop_body,
14805169689Skan	get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
14806169689Skan	get_loop_exit_edges, num_loop_branches, cancel_loop,
14807169689Skan	verify_loop_structure): Likewise.
14808169689Skan	cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
14809169689Skan	duplicate_loop_to_header_edge, create_preheader,
14810169689Skan	create_loop_notes): Likewise.
14811169689Skan	* cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
14812169689Skan	edirect_branch_edge, force_nonfallthru_and_redirect,
14813169689Skan	rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
14814169689Skan	commit_edge_insertions, commit_edge_insertions_watch_calls,
14815169689Skan	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
14816169689Skan	cfg_layout_redirect_edge_and_branch_force,
14817169689Skan	cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
14818169689Skan	* cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
14819169689Skan	cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
14820169689Skan	cgraph_varpool_node): Likewise.
14821169689Skan	* cgraphunit.c (cgraph_finalize_function,
14822169689Skan	cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
14823169689Skan	cgraph_expand_function, cgraph_remove_unreachable_nodes,
14824169689Skan	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
14825169689Skan	cgraph_mark_inline, cgraph_expand_all_functions,
14826169689Skan	cgraph_build_static_cdtor): Likewise.
14827169689Skan	* combine.c  (do_SUBST, try_combine, subst, combine_simplify_rtx,
14828169689Skan	simplify_logical, distribute_notes, insn_cuid): Likewise.
14829169689Skan	* conflict.c (conflict_graph_add, print_conflict): Likewise.
14830169689Skan	* coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
14831169689Skan	coverage_checksum_string): Likewise.
14832169689Skan	* cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
14833169689Skan	hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
14834169689Skan	cse_cc_succs, cse_condition_code_reg): Likewise.
14835169689Skan	* cselib.c (entry_and_rtx_equal_p, remove_useless_values,
14836169689Skan	rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
14837169689Skan	new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
14838169689Skan	cselib_record_set): Likewise.
14839169689Skan
14840169689Skan2004-09-07  Jan Hubicka  <jh@suse.cz>
14841169689Skan
14842169689Skan	* tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
14843169689Skan
14844169689Skan2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
14845169689Skan
14846169689Skan	* builtins.c (fold_builtin_strchr): Use build_int_cst, not
14847169689Skan	fold_convert.
14848169689Skan	(fold_builtin_strpbrk): Likewise.
14849169689Skan	* expr.c (array_ref_low_bound): Likewise.
14850169689Skan	* tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
14851169689Skan	interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
14852169689Skan	* tree-sra.c (generate_element_zero): Likewise.
14853169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
14854169689Skan	* tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
14855169689Skan	add_old_iv_candidates, add_iv_candidates): Likewise.
14856169689Skan	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
14857169689Skan
14858169689Skan2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
14859169689Skan
14860169689Skan	* c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
14861169689Skan	* c-common.c (c_type_hash, c_common_nodes_and_builtins,
14862169689Skan	c_expand_expr, boolean_increment, nonnull_check_p,
14863169689Skan	check_function_arguments_recurse, fold_offsetof_1): Likewise.
14864169689Skan	* c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
14865169689Skan	builtin_define_type_max): Likewise.
14866169689Skan	* c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
14867169689Skan	implicit_decl_warning, builtin_function, build_compound_literal,
14868169689Skan	complete_array_type, grokdeclarator, get_parm_info,
14869169689Skan	start_function, store_parm_decls_oldstyle,
14870169689Skan	c_write_global_declarations): Likewise.
14871169689Skan	* c-format.c (get_constant, decode_format_attr,
14872169689Skan	maybe_read_dollar_number, get_flag_spec, check_format_arg,
14873169689Skan	check_format_types, format_type_warning,
14874169689Skan	find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
14875169689Skan	init_dynamic_diag_info, handle_format_attribute): Likewise.
14876169689Skan	* c-gimplify.c (push_context, pop_context, finish_bc_block):
14877169689Skan	* c-lex.c (c_lex_with_flags, lex_string): Likewise.
14878169689Skan	* c-objc-common.c (c_tree_printer): Likewise.
14879169689Skan	* c-pch.c (pch_init): Likewise.
14880169689Skan	* c-pragma.c (maybe_apply_pragma_weak): Likewise.
14881169689Skan	* c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
14882169689Skan	* c-typeck.c (c_incomplete_type_error, composite_type,
14883169689Skan	common_pointer_type, common_type, same_translation_unit_p,
14884169689Skan	tagged_types_tu_compatible_p, finish_init, pop_init_level,
14885169689Skan	set_designator, set_nonincremental_init_from_string,
14886169689Skan	process_init_element, c_finish_if_stmt): Likewise.
14887169689Skan	* caller-save.c (init_caller_save, save_call_clobbered_regs,
14888169689Skan	insert_restore, insert_save, insert_one_insn): Likewise.
14889169689Skan	* calls.c (emit_call_1, compute_argument_block_size,
14890169689Skan	precompute_arguments, expand_call, emit_library_call_value_1,
14891169689Skan	store_one_arg): Likewise.
14892169689Skan
14893169689Skan2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
14894169689Skan
14895169689Skan	* configure.ac (enable-checking): Add release option. Reorganize
14896169689Skan	to avoid repetition.
14897169689Skan	* configure: Rebuilt.
14898169689Skan	* doc/install.texi (enable-checking): Amend documentation.
14899169689Skan
14900169689Skan2004-09-06  H.J. Lu  <hongjiu.lu@intel.com>
14901169689Skan
14902169689Skan	PR bootstrap/17313
14903169689Skan	* Makefile.in (specs.ready): Depend on cc1$(exeext).
14904169689Skan
14905169689Skan2004-09-06  James E Wilson  <wilson@specifixinc.com>
14906169689Skan
14907169689Skan	* config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
14908169689Skan	movdf_hardfloat_32bit): Split fG into two alternatives.
14909169689Skan	(movv2sf_hardfloat_64bit): Split fYG into two alternatives.
14910169689Skan
14911169689Skan	* emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
14912169689Skan
14913169689Skan2004-09-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
14914169689Skan
14915169689Skan	* final.c (output_in_slot): Delete.
14916169689Skan	(final_scan_insn): Revert 2004-09-03 change.
14917169689Skan	(output_asm_insn): Likewise.
14918169689Skan	* config/sparc/sparc.c (output_return): Likewise.
14919169689Skan	(output_sibcall): Likewise.
14920169689Skan
14921169689Skan2004-09-06  Jan Hubicka  <jh@suse.cz>
14922169689Skan
14923169689Skan	* loop.c (loop_dump_aux): Do not print RTL when not available.
14924169689Skan	* tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
14925169689Skan	frontend specific type nodes.
14926169689Skan	(produce_memory_decl_rtl): Break out from ...
14927169689Skan	(prepare_decl_rtl): ... here.  Handle ADDR_EXPR correctly.
14928169689Skan	(get_computation_at): Avoid random tree sharing.
14929169689Skan	(tree_ssa_iv_optimize): Verify tree sharing; dump loops.
14930169689Skan
14931169689Skan2004-09-06  Zack Weinberg  <zack@codesourcery.com>
14932169689Skan
14933169689Skan	* Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
14934169689Skan	unnecessary commands.
14935169689Skan
14936169689Skan2004-09-06  Mohan Embar  <gnustuff@thisiscool.com>
14937169689Skan
14938169689Skan	* Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
14939169689Skan	(bitmap.o): Likewise.
14940169689Skan
14941169689Skan2004-09-06  Paolo Bonzini  <bonzini@gnu.org>
14942169689Skan
14943169689Skan	Unify the management of RTL and tree-level dump files.
14944169689Skan
14945169689Skan	* cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
14946169689Skan	Don't print function name to the dump file, the pass manager
14947169689Skan	would do this for us. Add code from the top of
14948169689Skan	rest_of_compilation, up to the initial RTL dump.
14949169689Skan	* passes.c (rest_of_handle_jump): Call fixup_tail_calls and
14950169689Skan	close the DFI_sibling dump file.
14951169689Skan	(rest_of_compilation): Don't do that here.  Remove code up to the
14952169689Skan	initial RTL dump.
14953169689Skan	(init_optimization_passes): Remove.
14954169689Skan	(pass_rest_of_compilation): Change pass name to NULL.
14955169689Skan	* toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
14956169689Skan	Do not call init_optimization_passes.
14957169689Skan	* toplev.h (init_optimization_passes): Remove.
14958169689Skan
14959169689Skan	* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
14960169689Skan	finish_graph_dump_file): Remove SUFFIX parameter.
14961169689Skan	* graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
14962169689Skan	finish_graph_dump_file): Likewise.
14963169689Skan
14964169689Skan	* tree-pass.h (struct tree_opt_pass): Add `letter' field.
14965169689Skan	* cfgexpand.c (pass_expand): Adjust.
14966169689Skan	* gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
14967169689Skan	* passes.c (pass_rest_of_compilation): Adjust.
14968169689Skan	* predict.c (pass_profile): Adjust.
14969169689Skan	* tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
14970169689Skan	* tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
14971169689Skan	pass_split_crit_edges, pass_warn_function_return): Adjust.
14972169689Skan	* tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
14973169689Skan	* tree-dfa.c (pass_referenced_vars): Adjust.
14974169689Skan	* tree-eh.c (pass_lower_eh): Adjust.
14975169689Skan	* tree-if-conv.c (pass_build_ssa): Adjust.
14976169689Skan	* tree-into-ssa.c (pass_build_ssa): Adjust.
14977169689Skan	* tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
14978169689Skan	* tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
14979169689Skan	* tree-nrv.c (pass_nrv): Adjust.
14980169689Skan	* tree-optimize.c (pass_gimple, pass_all_optimizations,
14981169689Skan	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
14982169689Skan	pass_init_datastructures): Adjust.
14983169689Skan	* tree-outof-ssa.c (pass_del_ssa): Adjust.
14984169689Skan	* tree-profile.c (pass_tree_profile): Adjust.
14985169689Skan	* tree-sra.c (pass_sra): Adjust.
14986169689Skan	* tree-ssa-alias.c (pass_may_alias): Adjust.
14987169689Skan	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
14988169689Skan	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
14989169689Skan	* tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
14990169689Skan	* tree-ssa-dom.c (pass_dominator): Adjust.
14991169689Skan	* tree-ssa-dse.c (pass_dse): Adjust.
14992169689Skan	* tree-ssa-forwprop.c (pass_forwprop): Adjust.
14993169689Skan	* tree-ssa-if-conv.c (pass_if_conversion): Adjust.
14994169689Skan	* tree-ssa-loop-ch.c (pass_ch): Adjust.
14995169689Skan	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
14996169689Skan	pass_loop_done, pass_complete_unroll, pass_iv_canon,
14997169689Skan	pass_iv_optimize, pass_vectorize): Adjust.
14998169689Skan	* tree-ssa-phiopt.c (pass_phiopt): Adjust.
14999169689Skan	* tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
15000169689Skan	* tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
15001169689Skan	pass_late_warn_uninnitialized): Adjust.
15002169689Skan	* tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
15003169689Skan
15004169689Skan	* Makefile.in (tree-dump.o): Add new dependencies.
15005169689Skan	* cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
15006169689Skan	* cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
15007169689Skan	Likewise.
15008169689Skan	* toplev.c (dump_file_name): New.
15009169689Skan	* tree-dump.c (dump_enable_all): Add LETTER parameter.
15010169689Skan	(struct dump_file_info): Add NUM and LETTER fields.
15011169689Skan	(dump_files): Adjust and add RTL dump files.
15012169689Skan	(dump_register): Add NUM and LETTER fields.
15013169689Skan	(get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
15014169689Skan	(dump_begin): Use get_dump_file_name.
15015169689Skan	(dump_switch_p_1): Adjust call to dump_enable_all.
15016169689Skan	* tree-dump.h (dump_register): Adjust prototype.
15017169689Skan	* tree-optimize.c (register_one_dump_file): Take dump file index.
15018169689Skan	Support flags for RTL dumps.
15019169689Skan	(register_dump_files): Fill in NUM field of struct dump_file_info.
15020169689Skan	Track properties both when the gate is executed and when it is not.
15021169689Skan	(execute_todo): Dump RTL.  Add PROPERTIES parameter.
15022169689Skan	(execute_one_pass): Pass properties to execute_todo.  Handle VCG
15023169689Skan	dumps of RTL.
15024169689Skan	* tree-pass.h (dump_file_name): New.
15025169689Skan	* tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
15026169689Skan	New.
15027169689Skan
15028169689Skan	* Makefile.in (passes.o): Add new dependencies.
15029169689Skan	* passes.c (struct dump_file_info, enum dump_file_index,
15030169689Skan	dump_file_tbl, init_optimization_passes): Remove.
15031169689Skan	(open_dump_file, close_dump_file): Use tree-dumping infrastructure.
15032169689Skan	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
15033169689Skan	dump_enabled_p.
15034169689Skan	(finish_optimization_passes): Update finish_graph_dump_file loop.
15035169689Skan	(enable_rtl_dump_file): Remove.
15036169689Skan	* tree-dump.c (dump_files): Adjust and add RTL dump files.
15037169689Skan	(enable_rtl_dump_file): Add here.
15038169689Skan	* tree.h (enum tree_dump_index): Add RTL dump file indices.
15039169689Skan	* doc/invoke.texi (Debugging options): Document new RTL debugging
15040169689Skan	options.  Update.
15041169689Skan
15042169689Skan2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
15043169689Skan
15044169689Skan	* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
15045169689Skan	gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
15046169689Skan	stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
15047169689Skan	tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
15048169689Skan	tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
15049169689Skan	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
15050169689Skan	tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
15051169689Skan	vec.h: Fix comment formatting.
15052169689Skan
15053169689Skan2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
15054169689Skan
15055169689Skan	* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
15056169689Skan	et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
15057169689Skan	hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
15058169689Skan	tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
15059169689Skan	tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
15060169689Skan	tree-ssa-loop-niter.c, tree-ssa-operands.c,
15061169689Skan	tree-ssa-operands.h, tree-ssa-propagate.c,
15062169689Skan	tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
15063169689Skan	vec.c, vec.h: Fix comment typos.  Follow spelling conventions.
15064169689Skan
15065169689Skan2004-09-05  Diego Novillo  <dnovillo@redhat.com>
15066169689Skan
15067169689Skan	* tree-if-conv.c (gate_tree_if_conversion): Enable only if the
15068169689Skan	vectorizer is enabled.
15069169689Skan
15070169689Skan2004-09-05  Andreas Jaeger  <aj@suse.de>
15071169689Skan
15072169689Skan	* tree-if-conv.c: Spell check comments and clean up whitespace.
15073169689Skan
15074169689Skan2004-09-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15075169689Skan
15076169689Skan	* tree-ssa-loop-ivopts.c: New file.
15077169689Skan	* Makefile.in (tree-ssa-loop-ivopts.c): Add.
15078169689Skan	* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
15079169689Skan	target_pres_cost, target_spill_cost): Declare.
15080169689Skan	* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
15081169689Skan	spill_cost): Renamed to ...
15082169689Skan	(target_avail_regs, target_res_regs, target_small_cost,
15083169689Skan	target_pres_cost, target_spill_cost): ... and exported.
15084169689Skan	(init_set_costs, global_cost_for_size): Work with renamed variables.
15085169689Skan	* common.opt (flag_ivopts): New flag.
15086169689Skan	* expr.c (expand_expr_real_1): Handle SSA_NAME case.  Handle
15087169689Skan	REF_ORIGINAL.
15088169689Skan	* gimplify.c (struct gimplify_ctx): Add into_ssa field.
15089169689Skan	(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
15090169689Skan	generating SSA form.
15091169689Skan	(force_gimple_operand): New function.
15092169689Skan	* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
15093169689Skan	* tree-cfg.c (stmt_bsi): New function.
15094169689Skan	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
15095169689Skan	PARAM_IV_MAX_CONSIDERED_USES): New.
15096169689Skan	* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
15097169689Skan	bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
15098169689Skan	ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
15099169689Skan	* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
15100169689Skan	* tree-nested.c (build_addr): Export.
15101169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
15102169689Skan	pass_iv_optimize.
15103169689Skan	* tree-pass.h (pass_iv_optimize): Declare.
15104169689Skan	* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
15105169689Skan	IMAGPART_EXPR.
15106169689Skan	* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
15107169689Skan	as a phi node argument.
15108169689Skan	(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
15109169689Skan	ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
15110169689Skan	functions.
15111169689Skan	* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
15112169689Skan	* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
15113169689Skan	pass_iv_optimize): New pass.
15114169689Skan	* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
15115169689Skan	* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
15116169689Skan	* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
15117169689Skan	* tree.h (REF_ORIGINAL): New macro.
15118169689Skan	(build_int_cst_type, unsigned_type_for, zero_p,
15119169689Skan	cst_and_fits_in_hwi, build_addr): Declare.
15120169689Skan	* doc/invoke.texi (-fivopts): Document.
15121169689Skan	(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
15122169689Skan	PARAM_IV_MAX_CONSIDERED_USES): Document.
15123169689Skan	* doc/passes.texi: Document induction variable optimizations pass.
15124169689Skan
15125169689Skan2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15126169689Skan
15127169689Skan	* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
15128169689Skan	* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
15129169689Skan	* c-common.c (c_common_attribute_table): Accept parameters to
15130169689Skan	sentinel attribute.
15131169689Skan	(check_function_sentinel, handle_sentinel_attribute): Likewise.
15132169689Skan	* doc/extend.texi: Update accordingly.
15133169689Skan
15134169689Skan2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15135169689Skan
15136169689Skan	* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
15137169689Skan	New.
15138169689Skan	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
15139169689Skan	attribute.
15140169689Skan	* c-common.c (handle_sentinel_attribute, check_function_sentinel):
15141169689Skan	New functions.
15142169689Skan	(c_common_attribute_table): Add `sentinel' attribute.
15143169689Skan	(check_function_arguments): Handle `sentinel' attribute.
15144169689Skan	* doc/extend.texi: Document `sentinel' attribute.
15145169689Skan
15146169689Skan2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>
15147169689Skan
15148169689Skan	* configure: Regenerated.
15149169689Skan
15150169689Skan2004-09-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15151169689Skan
15152169689Skan	* gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
15153169689Skan
15154169689Skan	* tree.c (save_expr): No longer TREE_READONLY.
15155169689Skan
15156169689Skan2004-09-04  Jan Hubicka  <jh@suse.cz>
15157169689Skan
15158169689Skan	* passes.c (rest_of_clean_state): Fix merge conflict made during
15159169689Skan	commiting the patch.
15160169689Skan
15161169689Skan2004-09-04  Jan Hubicka  <jh@suse.cz>
15162169689Skan
15163169689Skan	* passes.c (rest_of_clean_state): Decompose the instruction stream.
15164169689Skan
15165169689Skan2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
15166169689Skan
15167169689Skan	* doc/md.texi (shift patterns): New anchor.  Add reference to
15168169689Skan	TARGET_SHIFT_TRUNCATION_MASK.
15169169689Skan	* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
15170169689Skan	* target.h (shift_truncation_mask): New target hook.
15171169689Skan	* targhook.h (default_shift_truncation_mask): Declare.
15172169689Skan	* targhook.c (default_shift_truncation_mask): Define.
15173169689Skan	* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
15174169689Skan	(TARGET_INITIALIZER): Include it.
15175169689Skan	* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
15176169689Skan	and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
15177169689Skan	reject all out-of-range values.  Fix sign-extension code for modes
15178169689Skan	whose width is smaller than HOST_BITS_PER_WIDE_INT.
15179169689Skan	* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
15180169689Skan	(expand_superword_shift, expand_subword_shift): Likewise.
15181169689Skan	(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
15182169689Skan	(expand_binop): Use them to implement double-word shifts.
15183169689Skan	* config/arm/arm.c (arm_shift_truncation_mask): New function.
15184169689Skan	(TARGET_SHIFT_TRUNCATION_MASK): Define.
15185169689Skan
15186169689Skan2004-09-04  Jan Hubicka  <jh@suse.cz>
15187169689Skan
15188169689Skan	* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
15189169689Skan	(mix): New macro copied from hashtab.c
15190169689Skan	(iterative_hash_hashval_t, iterative_hash_pointer,
15191169689Skan	iterative_hash_host_wide_int): New functions based on hashtab.c
15192169689Skan	implementation.
15193169689Skan
15194169689Skan2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
15195169689Skan
15196169689Skan	* config/mips/mips.md (mask): New mode attribute.
15197169689Skan	(zero_extendsidi2): Add memory alternative.
15198169689Skan	(*zero_extendsidi2_mem): Delete.
15199169689Skan	(zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.  Use
15200169689Skan	memory_operand in the TARGET_MIPS16 check.
15201169689Skan	(*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
15202169689Skan	Redefine using :GPR and :SHORT.
15203169689Skan	(zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
15204169689Skan
15205169689Skan2004-09-04  Uros Bizjak  <uros@kss-loka.si>
15206169689Skan
15207169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
15208169689Skan	using rint_optab.
15209169689Skan	(expand_builtin): Expand BUILT_IN_RINT{,F,L} using
15210169689Skan	expand_builtin_mathfn.
15211169689Skan	* genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
15212169689Skan	btrunc?f patterns for btrunc_optab. Implement rint_optab using
15213169689Skan	rint?f patterns.
15214169689Skan	* optabs.c (init_optabs): Initialize rint_optab.
15215169689Skan	* optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
15216169689Skan	Add new OTI_rint.
15217169689Skan	(btrunc_optab): Rename macro from trunc_optab.
15218169689Skan	(rint_optab): Define corresponding macro.
15219169689Skan
15220169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
15221169689Skan	UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
15222169689Skan
15223169689Skan	* config/i386/i386-protos.h (emit_i387_cw_initialization):
15224169689Skan	Change prototype. Add new int parameter.
15225169689Skan	* config/i386/i386.c (emit_i387_cw_initialization):
15226169689Skan	Handle new rounding modes.
15227169689Skan
15228169689Skan	* config/i386/i386.h (enum fp_cw_mode): Delete.
15229169689Skan	(MODE_NEEDED): Handle new rounding modes.
15230169689Skan	(EMIT_MODE_SET): Change condition to handle new rounding modes.
15231169689Skan
15232169689Skan	* config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
15233169689Skan	UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
15234169689Skan	represent different rounding modes of frndint insn.
15235169689Skan	(type): Add frndint type.
15236169689Skan	(i387, length, memory): Handle this type.
15237169689Skan	(i387_cw): New attribute definition.
15238169689Skan	(*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
15239169689Skan	*fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
15240169689Skan	*fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
15241169689Skan	Add "i387_cw" attribute defined to "trunc".
15242169689Skan	(x86_fnstcw_1): Remove comment.
15243169689Skan	(*frndintxf2): Rename insn definition to frndintxf2. Move
15244169689Skan	insn definition near rint?f2 expanders.
15245169689Skan	(rintdf2, rintsf2, rintxf2): New expanders to implement rint,
15246169689Skan	rintf and rintl built-ins as inline x87 intrinsics.
15247169689Skan	(frndintxf2_floor): New pattern to implement floor rounding
15248169689Skan	mode with frndint x87 instruction.
15249169689Skan	(floordf2, floorsf2, floorxf2): New expanders to implement floor,
15250169689Skan	floorf and floorl built-ins as inline x87 intrinsics.
15251169689Skan	(frndintxf2_ceil): New pattern to implement ceil rounding
15252169689Skan	mode with frndint x87 instruction.
15253169689Skan	(ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
15254169689Skan	ceilf and ceill built-ins as inline x87 intrinsics.
15255169689Skan	(frndintxf2_trunc): New pattern to implement trunc rounding
15256169689Skan	mode with frndint x87 instruction.
15257169689Skan	(btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
15258169689Skan	truncf and truncl built-ins as inline x87 intrinsics.
15259169689Skan	(frndintxf2_mask_pm): New pattern to implement rounding
15260169689Skan	mode with exceptions with frndint x87 instruction.
15261169689Skan	(nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
15262169689Skan	implement nearbyint, nearbyintf and nearbyintl built-ins as
15263169689Skan	inline x87 intrinsics.
15264169689Skan
15265169689Skan2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
15266169689Skan
15267169689Skan	* config/mips/mips.md (SHORT): New mode macro.
15268169689Skan	(size): New mode attribute.
15269169689Skan	(extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
15270169689Skan	(*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
15271169689Skan	*extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns.  Use only if
15272169689Skan	!ISA_HAS_SEB_SEH.
15273169689Skan	(*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
15274169689Skan	*extend[qh]isi2_hw patterns and extending them to di.
15275169689Skan	(extendqihi2): Implement as define_insn_and_split that produces
15276169689Skan	extendqisi2 after reload.
15277169689Skan
15278169689Skan2004-09-03  Devang Patel  <dpatel@apple.com>
15279169689Skan
15280169689Skan	* Makefile.in (OBJS-common): Add tree-if-conv.o
15281169689Skan	(tree-if-conv.o): New rule.
15282169689Skan	* cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
15283169689Skan	(get_loop_body_in_bfs_order): New.
15284169689Skan	* cfgloop.h (get_loop_body_in_bfs_order): New.
15285169689Skan	* tree-flow.h (enum move_pos): Move here from ..
15286169689Skan	* tree-ssa-loop-im.c (enum move_pos): here.
15287169689Skan	(movement_possibility): Make externally visible.
15288169689Skan	* tree-optimize.c (init_tree_optimization_passes): New entry for
15289169689Skan	if conversion pass.
15290169689Skan	* tree-pass.h (pass_if_conversion): New.
15291169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
15292169689Skan	* tree-if-conv.c: New file.
15293169689Skan	* doc/passes.texi: Document tree if-conversion pass.
15294169689Skan	* doc/tree-ssa.texi: Same.
15295169689Skan
15296169689Skan2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
15297169689Skan
15298169689Skan	PR target/14925:
15299169689Skan	Makefile.in (LIB2ADDEHSTATIC): New.
15300169689Skan	(LIB2ADDEHSHARED): New.
15301169689Skan	(LIBUNWIND): New.
15302169689Skan	(LIBUNWINDDEP): New.
15303169689Skan	(SHLIBUNWIND_LINK): New.
15304169689Skan	(SHLIBUNWIND_INSTALL): New.
15305169689Skan	(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
15306169689Skan	LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
15307169689Skan	(clean): Remove libunwind*
15308169689Skan	(stage1-start): Remove and copy stage1/libunwind*.
15309169689Skan	(stage2-start): Remove and copy stage2/libunwind*.
15310169689Skan	(stage3-start): Remove and copy stage3/libunwind*.
15311169689Skan	(stage4-start): Remove and copy stage4/libunwind*.
15312169689Skan	(stageprofile-start): Remove and copy stageprofile/libunwind*.
15313169689Skan	(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
15314169689Skan
15315169689Skan	* config.gcc (ia64*-*-linux*): Always add t-libunwind to
15316169689Skan	tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
15317169689Skan	tmake_file if --with-system-libunwind isn't used.
15318169689Skan
15319169689Skan	* config/ia64/t-glibc-libunwind: New file.
15320169689Skan	* config/t-libunwind-elf: Likewise.
15321169689Skan	* unwind-compat.c: Likewise.
15322169689Skan	* unwind-compat.h: Likewise.
15323169689Skan	* unwind-dw2-fde-compat.c: Likewise.
15324169689Skan
15325169689Skan	* config/ia64/t-glibc (LIB2ADDEH): Updated.
15326169689Skan	* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
15327169689Skan
15328169689Skan	* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
15329169689Skan	aliases if needed.
15330169689Skan	* unwind-dw2-fde-glibc.c: Likewise.
15331169689Skan	* unwind-dw2.c: Likewise.
15332169689Skan
15333169689Skan	* config/t-libunwind (LIB2ADDEH): Updated.
15334169689Skan	(LIB2ADDEHSTATIC): New.
15335169689Skan	(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
15336169689Skan	(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
15337169689Skan
15338169689Skan	* configure.ac: Change --enable-libunwind-exceptions to
15339169689Skan	--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
15340169689Skan	* configure: Regenerated.
15341169689Skan	* config.in: Updated.
15342169689Skan
15343169689Skan	* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
15344169689Skan	above and mention --with-system-libunwind.
15345169689Skan	(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
15346169689Skan	removed in gcc 3.4.3 and later.
15347169689Skan
15348169689Skan	* gcc.c (init_spec): Add -lunwind to -lgcc_s if
15349169689Skan	USE_LIBUNWIND_EXCEPTIONS is defined.
15350169689Skan
15351169689Skan	* mklibgcc.in: Support libunwind.
15352169689Skan
15353169689Skan2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
15354169689Skan
15355169689Skan	* config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
15356169689Skan	m_NOCONA.
15357169689Skan
15358169689Skan2004-09-03  Richard Henderson  <rth@redhat.com>
15359169689Skan
15360169689Skan	PR middle-end/9997
15361169689Skan	* cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
15362169689Skan	(STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
15363169689Skan	(struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
15364169689Skan	stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
15365169689Skan	frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
15366169689Skan	resize_stack_vars_conflict, add_stack_var_conflict,
15367169689Skan	stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
15368169689Skan	union_stack_vars, partition_stack_vars, dump_stack_var_partition,
15369169689Skan	expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
15370169689Skan	expand_one_static_var, expand_one_hard_reg_var,
15371169689Skan	expand_one_register_var, expand_one_error_var, defer_stack_allocation,
15372169689Skan	expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
15373169689Skan	(expand_used_vars): Rewrite.
15374169689Skan	* Makefile.in (cfgexpand.o): Update dependencies.
15375169689Skan
15376169689Skan2004-09-04  Jan Hubicka  <jh@suse.cz>
15377169689Skan
15378169689Skan	* cfg.c (free_edge): Use ggc_free.
15379169689Skan	(expunge_block): Use ggc_free.
15380169689Skan	* passes.c (rest_of_clean_state): Free after compilation.
15381169689Skan	* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
15382169689Skan	* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
15383169689Skan
15384169689Skan2004-09-03  James E Wilson  <wilson@specifixinc.com>
15385169689Skan
15386169689Skan	* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
15387169689Skan	DECL_EXTERNAL check.
15388169689Skan
15389169689Skan2004-09-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15390169689Skan
15391169689Skan	* final.c (output_in_slot): New global variable.
15392169689Skan	(final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
15393169689Skan	Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
15394169689Skan	'output_in_slot' before invoking output_asm_insn.
15395169689Skan	(output_asm_insn): Add a space after the tab if 'output_in_slot'
15396169689Skan	is set.
15397169689Skan	* config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
15398169689Skan	final_scan_insn.
15399169689Skan	(output_sibcall): Likewise.
15400169689Skan
15401169689Skan2004-09-03  Jan Hubicka  <jh@suse.cz>
15402169689Skan
15403169689Skan	* tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
15404169689Skan	* tree-ssanames (init_ssanames): Likewise.
15405169689Skan
15406169689Skan2004-09-03  Ziemowit Laski  <zlaski@apple.com>
15407169689Skan
15408169689Skan	* stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
15409169689Skan	objc_declare_protocols, objc_start_protocol,
15410169689Skan	objc_start_class_interface, objc_start_category_interface,
15411169689Skan	objc_continue_interface, objc_finish_interface,
15412169689Skan	objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
15413169689Skan	objc_start_class_implementation, objc_start_category_implementation,
15414169689Skan	objc_continue_implementation, objc_finish_implementation,
15415169689Skan	objc_add_method_declaration, objc_start_method_definition,
15416169689Skan	objc_finish_method_definition, objc_build_keyword_decl,
15417169689Skan	objc_build_method_signature, objc_build_encode_expr,
15418169689Skan	objc_build_protocol_expr, objc_build_selector_expr,
15419169689Skan	objc_build_message_expr, objc_build_string_object,
15420169689Skan	objc_get_class_reference, objc_get_protocol_qualified_type,
15421169689Skan	objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
15422169689Skan
15423169689Skan2004-09-03  James E Wilson  <wilson@specifixinc.com>
15424169689Skan
15425169689Skan	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
15426169689Skan
15427169689Skan	* config/mips/generic.md (generic_frecip_fsqrt_step): New.
15428169689Skan	* config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
15429169689Skan	(mips_rsqrt2_<fmt>): Use frsqrt2 type.
15430169689Skan	(mips_recip1_<fmt>): Use frdiv1 type.
15431169689Skan	(mips_recip2_<fmt>): Use frdiv2 type.
15432169689Skan	* config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
15433169689Skan	* config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
15434169689Skan	and frsqrt1.
15435169689Skan	(ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
15436169689Skan
15437169689Skan2004-09-03  Daniel Jacobowitz  <dan@debian.org>
15438169689Skan
15439169689Skan	* reload.c (find_reloads): Swap operand_loc pointers for
15440169689Skan	find_dummy_reload if we have swapped two operands.
15441169689Skan
15442169689Skan2004-09-03  Hans-Peter Nilsson  <hp@axis.com>
15443169689Skan
15444169689Skan	* config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
15445169689Skan	to get the tablejump-insn before the jump-table label.
15446169689Skan
15447169689Skan2004-09-03  Ziemowit Laski  <zlaski@apple.com>
15448169689Skan
15449169689Skan	* c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
15450169689Skan	objc_declare_protocols, objc_build_message_expr,
15451169689Skan	objc_finish_message_expr, objc_build_selector_expr,
15452169689Skan	objc_build_protocol_expr, objc_build_encode_expr,
15453169689Skan	objc_build_string_object, objc_get_protocol_qualified_type,
15454169689Skan	objc_get_class_reference, objc_get_class_ivars,
15455169689Skan	objc_start_class_interface, objc_start_category_interface,
15456169689Skan	objc_start_protocol, objc_continue_interface, objc_finish_interface,
15457169689Skan	objc_start_class_implementation, objc_start_category_implementation,
15458169689Skan	objc_continue_implementation, objc_finish_implementation,
15459169689Skan	objc_set_visibility, objc_set_method_type, objc_build_method_signature,
15460169689Skan	objc_add_method_declaration, objc_start_method_definition,
15461169689Skan	objc_finish_method_definition, objc_add_instance_variable,
15462169689Skan	objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
15463169689Skan	objc_finish_try_stmt, objc_begin_catch_clause,
15464169689Skan	objc_finish_catch_clause, objc_build_finally_clause,
15465169689Skan	objc_build_synchronized, objc_static_init_needed_p,
15466169689Skan	objc_generate_static_init_call): New prototypes.
15467169689Skan
15468169689Skan2004-09-03  Steve Ellcey  <sje@cup.hp.com>
15469169689Skan
15470169689Skan	* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
15471169689Skan	is only one reg.
15472169689Skan	(ia64_function_value): Ditto.
15473169689Skan
15474169689Skan2004-09-03  Jan Beulich  <jbeulich@novell.com>
15475169689Skan
15476169689Skan	* config.gcc: Resurrect NetWare as a target. Handle special case of
15477169689Skan	Novell linker to be used (specified through --with-ld=) and threading
15478169689Skan	model of either Posix (default) or NKS.
15479169689Skan	* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
15480169689Skan	of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
15481169689Skan	* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
15482169689Skan	* config/i386/netware.c, config/i386/netware.h: New.
15483169689Skan	* config/i386/nwld.c, config/i386/nwld.h: New.
15484169689Skan	* config/i386/netware-crt0.c: New.
15485169689Skan	* config/i386/netware-libgcc.c: New.
15486169689Skan	* config/i386/netware-libgcc.def: New.
15487169689Skan	* config/i386/netware-libgcc.exp: New.
15488169689Skan	* config/i386/t-netware, config/i386/t-nwld: New.
15489169689Skan	* gthr-nks.h: New.
15490169689Skan	* doc/install.texi: Document NKS threading model.
15491169689Skan
15492169689Skan2004-09-03  Jan Beulich  <jbeulich@novell.com>
15493169689Skan
15494169689Skan	PR c/7054
15495169689Skan	* defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
15496169689Skan	* tree.h (initial_max_fld_align): Declare
15497169689Skan	* stor-layout.c (initial_max_fld_align): Define and initialize.
15498169689Skan	(maximum_field_alignment): Initialize to the same value.
15499169689Skan	* common.opt: Add -fpack-struct= variant of switch.
15500169689Skan	* opts.c: Handle -fpack-struct= variant of switch.
15501169689Skan	* c-pragma.c: Change #pragma pack() handling so that it becomes
15502169689Skan	compatible to other compilers: accept individual 'push' argument,
15503169689Skan	make final pop restore (command line) default, correct interaction
15504169689Skan	of push/pop and sole specification of a new alignment (so that the
15505169689Skan	sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
15506169689Skan	to #pragma pack(push, <n>).
15507169689Skan	* doc/extend.texi: New node "Structure-Packing Pragmas" under
15508169689Skan	"Pragmas", describing #pragma pack.
15509169689Skan	* doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
15510169689Skan	* doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
15511169689Skan	Document new TARGET_DEFAULT_PACK_STRUCT.
15512169689Skan
15513169689Skan2004-09-03  Devang Patel  <dpatel@apple.com>
15514169689Skan
15515169689Skan	* dwarf2out.c (gen_field_die). Equate decl number to die.
15516169689Skan
15517169689Skan2004-09-03  Vladimir Makarov  <vmakarov@redhat.com>
15518169689Skan
15519169689Skan	PR target/15832
15520169689Skan	* global.c (modify_reg_pav): New function.
15521169689Skan	(make_accurate_live_analysis): Call the new function.  Move pavin
15522169689Skan	modification by earlyclobber set into the new function.
15523169689Skan
15524169689Skan2004-09-03  Andreas Schwab  <schwab@suse.de>
15525169689Skan
15526169689Skan	* config/m68k/m68k.c (output_andsi3): Use -1 instead of
15527169689Skan	(HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
15528169689Skan	extended.
15529169689Skan
15530169689Skan2004-09-02  Jan Beulich  <jbeulich@novell.com>
15531169689Skan
15532169689Skan	* Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
15533169689Skan	* mklibgcc.in (libgcc_dep): New, covering general dependencies, but
15534169689Skan	not unwind code specific ones.
15535169689Skan	(libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
15536169689Skan	Remove unwind code specific dependencies.
15537169689Skan	(libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
15538169689Skan	Remove gbl-ctors.h.
15539169689Skan	Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
15540169689Skan	LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
15541169689Skan	* tsystem.h: Declare memcpy and memset when inhibit_libc.
15542169689Skan
15543169689Skan2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
15544169689Skan
15545169689Skan	* combine.c (try_combine): Delay modifying of insns which cannot
15546169689Skan	be easily undone.
15547169689Skan
15548169689Skan2004-09-02  Daniel Berlin  <dberlin@dberlin.org>
15549169689Skan
15550169689Skan	* common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
15551169689Skan	tree-loop-im.
15552169689Skan	* tree-ssa-loop.c: Ditto
15553169689Skan	* tree-ssa-loop-ivcanon.c: Ditto
15554169689Skan	* doc/invoke.texi: Ditto.
15555169689Skan
15556169689Skan2004-09-02  Ziemowit Laski  <zlaski@apple.com>
15557169689Skan
15558169689Skan	* c-decl.c (store_parm_decls_newstyle): Make static.
15559169689Skan	(store_parm_decls_from): New function.
15560169689Skan	* c-tree.h (store_parm_decls_newstyle): Remove prototype.
15561169689Skan	(store_parm_decls_from): New prototype.
15562169689Skan
15563169689Skan2004-09-02  David Edelsohn  <edelsohn@gnu.org>
15564169689Skan
15565169689Skan	* config/rs6000/rs6000.c (expand_block_move): Use SImode and
15566169689Skan	HImode with STRICT_ALIGNMENT.
15567169689Skan
15568169689Skan2004-09-02  Mark Mitchell  <mark@codesourcery.com>
15569169689Skan
15570169689Skan	* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
15571169689Skan	(TARGET_OS_CPP_BUILTINS): Likewise.
15572169689Skan	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
15573169689Skan	TARGET_BPABI_CPP_BUILTINS.
15574169689Skan
15575169689Skan2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
15576169689Skan
15577169689Skan	* combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
15578169689Skan
15579169689Skan2004-09-02  Eric Christopher  <echristo@redhat.com>
15580169689Skan
15581169689Skan	* builtins.c (expand_builtin_cabs): Delete.
15582169689Skan	(expand_builtin): If unable to fold the values do a normal
15583169689Skan	library call for builtin_cab*.
15584169689Skan	(fold_builtin_cabs): Depend on optimize and optimize_size.
15585169689Skan	* optabs.c (expand_cmplxdiv_straight): Delete.
15586169689Skan	(expand_cmplxdiv_wide): Ditto.
15587169689Skan	(expand_vector_binop): Ditto.
15588169689Skan	(expand_vector_unop): Ditto.
15589169689Skan	(expand_complex_abs): Delete.
15590169689Skan	(expand_binop): Remove calls to above functions.
15591169689Skan	Remove open coding of complex arithmetic.
15592169689Skan	(expand_unop): Ditto.
15593169689Skan	* optabs.h: Remove prototypes.
15594169689Skan
15595169689Skan2004-09-02  Ziemowit Laski  <zlaski@apple.com>
15596169689Skan
15597169689Skan	* c-decl.c (store_parm_decls_newstyle): Make externally visible.
15598169689Skan	* c-tree.h (store_parm_decls_newstyle): New prototype.
15599169689Skan
15600169689Skan2004-09-02  Geoffrey Keating  <geoffk@apple.com>
15601169689Skan
15602169689Skan	* config/rs6000/rs6000.c (expand_block_clear): Use vector
15603169689Skan	instructions if available.
15604169689Skan	(expand_block_move): Likewise.
15605169689Skan
15606169689Skan2004-09-03  Jan Hubicka  <jh@suse.cz>
15607169689Skan
15608169689Skan	* rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
15609169689Skan
15610169689Skan2004-09-02  Mark Mitchell  <mark@codesourcery.com>
15611169689Skan
15612169689Skan	* config/arm/symbian.h (LIB_SPEC): Define to empty.
15613169689Skan	* config/arm/t-symbian (SHLIB_LC): Likewise.
15614169689Skan
15615169689Skan2004-09-02  Paul Brook  <paul@codesourcery.com>
15616169689Skan
15617169689Skan	* config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
15618169689Skan
15619169689Skan2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
15620169689Skan
15621169689Skan	* config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
15622169689Skan	(mips_restore_gp, mips_set_return_address, mips_expand_prologue)
15623169689Skan	(mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
15624169689Skan	(build_mips16_call_stub): Likewise.  Remove daft CALL_INSN checks.
15625169689Skan	(mips_issue_rate): Remove unreachable abort.
15626169689Skan	(mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
15627169689Skan	(mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
15628169689Skan	(mips_block_move_straight, print_operand_address, mips_file_start)
15629169689Skan	(mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
15630169689Skan	(mips_output_conditional_branch, mips_expand_builtin_direct)
15631169689Skan	(mips_expand_builtin_compare): Replace abort with gcc_unreachable.
15632169689Skan	* config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
15633169689Skan	with gcc_assert.
15634169689Skan
15635169689Skan2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
15636169689Skan
15637169689Skan	* config/mips/mips.md (*lea_high64): Change split condition to
15638169689Skan	flow2_completed.  Add a peephole2 to generate a more parallel version.
15639169689Skan
15640169689Skan2004-09-02  Jan Hubicka  <jh@suse.cz>
15641169689Skan
15642169689Skan	* gimplify.c (gimplify_compound_lval): Move "stack" varray out of
15643169689Skan	GGC.
15644169689Skan
15645169689Skan	* ggc-page.c: include tree-flow.h.
15646169689Skan	(extra_order_size_table): Add stmt_ann_d.
15647169689Skan	(STAT_LABEL): Rename from ....
15648169689Skan	(LABEL): ... this one.
15649169689Skan	* Makefile.in (ggc-page.o): Add dependency.
15650169689Skan
15651169689Skan	* ggc-common.c (ggc_force_collect): New global variable.
15652169689Skan	(loc_description): Add fields "freed", "collected"
15653169689Skan	(ptr_hash): New static hash
15654169689Skan	(ptr_hash_entry): New structure.
15655169689Skan	(hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
15656169689Skan	(ggc_record_overhead): Take ptr argument, record it
15657169689Skan	(ggc_prune_overhead_list, ggc_free_overhead): New functions.
15658169689Skan	(cmp_statistics): Imrove sorting.
15659169689Skan	(dump_ggc_loc_statistics): Output newly collected statistics
15660169689Skan	* ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
15661169689Skan	(ggc_free): Call ggc_free_overhead.
15662169689Skan	(ggc_collect): Force collection when asked to be forced.
15663169689Skan	(ggc_collect): Call ggc_prune_overhead_list.
15664169689Skan	* ggc.h (ggc_force_collect): Declare
15665169689Skan	(ggc_record_overhead): Update prototype.
15666169689Skan	(ggc_free_overhead, ggc_prune_overhead_list): Declare.
15667169689Skan
15668169689Skan2004-09-02  James E Wilson  <wilson@specifixinc.com>
15669169689Skan
15670169689Skan	* common.opt (ftrapping-math): Default to on.
15671169689Skan
15672169689Skan2004-09-02  Richard Earnshaw  <rearnsha@arm.com>
15673169689Skan
15674169689Skan	* arm/predicates.md (arm_reload_memory_operand): Allow MEM.
15675169689Skan
15676169689Skan2004-09-02  Denis Chertykov  <denisc@overta.ru>
15677169689Skan
15678169689Skan	PR target/16884
15679169689Skan	* config/avr/avr.md ("movmemhi"): Substitute match_dup to
15680169689Skan	match_scratch.
15681169689Skan	(*movmemqi_insn): Likewise.
15682169689Skan	(*movmemhi): Likewise.
15683169689Skan	(clrmemhi): Likewise.
15684169689Skan	(*clrmemqi): Likewise.
15685169689Skan	(*clrmemhi): Likewise.
15686169689Skan
15687169689Skan2004-09-02  Paul Brook  <paul@codesourcery.com>
15688169689Skan
15689169689Skan	* config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
15690169689Skan	default_use_cxa_atexit=yes.
15691169689Skan
15692169689Skan2004-09-02  Alan Modra  <amodra@bigpond.net.au>
15693169689Skan
15694169689Skan	* config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
15695169689Skan	(struct kernel_old_ucontext): Delete.
15696169689Skan	(struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
15697169689Skan	(MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs.  Only define
15698169689Skan	when IN_LIGGCC2.
15699169689Skan
15700169689Skan2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
15701169689Skan
15702169689Skan	* toplev.c (process_options): Fix typo.
15703169689Skan
15704169689Skan2004-09-01  Richard Henderson  <rth@redhat.com>
15705169689Skan
15706169689Skan	PR middle-end/17258
15707169689Skan	* calls.c (initialize_argument_information): Tighten pass-through
15708169689Skan	conditions for pass-by-reference.  Remove dead TARGET_EXPR code.
15709169689Skan	Use build_fold_addr_expr.
15710169689Skan	(emit_library_call_value_1): Use build_fold_addr_expr.  Remove code
15711169689Skan	that assumes ADDR_EXPR allocates stack space.
15712169689Skan	* fold-const.c (build_fold_addr_expr_with_type): Look through
15713169689Skan	WITH_SIZE_EXPR.
15714169689Skan
15715169689Skan2004-09-01  Dan Nicolaescu  <dann@ics.uci.edu>
15716169689Skan
15717169689Skan	* gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
15718169689Skan	* ggc.h (ggc_alloc_rtx): Delete.
15719169689Skan
15720169689Skan2004-09-01  Roger Sayle  <roger@eyesopen.com>
15721169689Skan
15722169689Skan	* expmed.c (enum alg_code): Remove long unused enumeration values.
15723169689Skan	(struct mult_cost): New structure to hold the "score" of a synthetic
15724169689Skan	multiply sequence, including both a rtx_cost and a latency field.
15725169689Skan	(MULT_COST_LESS): New macro to compare mult_cost to a constant.
15726169689Skan	(CHEAPER_MULT_COST): New macro to compare two mult_costs.
15727169689Skan	(struct algorithm): Change type of cost field to be mult_cost.
15728169689Skan	(synth_mult): Change type of cost_limit argument to be a
15729169689Skan	pointer to a mult_cost.  Update all cost comparisons to use the
15730169689Skan	new mult_cost infrastructure.  For alg_add_factor and
15731169689Skan	alg_sub_factor operations, latency is lower than the rtx_cost.
15732169689Skan	(choose_mult_variant): Update calls to synth_mult.  Perform
15733169689Skan	cost comparisons using the new mult_cost infrastructure.
15734169689Skan	(expand_mult_highpart): Use alg.cost.cost instead of alg.cost
15735169689Skan	to optain the total rtx_cost of a synth_mult "algorithm".
15736169689Skan
15737169689Skan2004-09-01  David Edelsohn  <edelsohn@gnu.org>
15738169689Skan
15739169689Skan	* config/rs6000/power4.md: Increase store latency to 12.
15740169689Skan	* config/rs6000/power5.md: Same.
15741169689Skan
15742169689Skan2004-09-01  James E Wilson  <wilson@specifixinc.com>
15743169689Skan
15744169689Skan	PR target/14064
15745169689Skan	* config/avr/avr.c (avr_unique_section): Delete prototype and
15746169689Skan	definition.
15747169689Skan	(TARGET_ASM_UNIQUE_SECTION): Delete.
15748169689Skan
15749169689Skan2004-09-01  Ziemowit Laski  <zlaski@apple.com>
15750169689Skan
15751169689Skan	* c-parse.in (primary): Call objc_build_message_expr(),
15752169689Skan	objc_build_selector_expr(), objc_build_protocol_expr(),
15753169689Skan	objc_build_encode_expr() and objc_build_string_object() instead of
15754169689Skan	build_message_expr(), build_selector_expr(), build_protocol_expr(),
15755169689Skan	build_encode_expr() and build_objc_string_object(), respectively.
15756169689Skan	(component_decl_list2): Call objc_get_class_ivars() instead of
15757169689Skan	get_class_ivars_from_name().
15758169689Skan	(keyworddecl): Call objc_build_keyword_decl() instead of
15759169689Skan	build_keyword_decl().
15760169689Skan	(receiver): Call objc_get_class_reference() instead of
15761169689Skan	get_class_reference().
15762169689Skan	(reswords): Add blank line before @@ifobjc section, for clarity.
15763169689Skan
15764169689Skan2002-09-01  Fariborz Jahanian <fjahanian@apple.com>
15765169689Skan
15766169689Skan	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
15767169689Skan	to Altivec vetors.
15768169689Skan
15769169689Skan2004-09-01  Wu Yongwei  <adah@sh163.net>
15770169689Skan	    Danny Smith  <dannysmith@users.sourceforge.net>
15771169689Skan
15772169689Skan	* gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
15773169689Skan	not Windows 'DWORD'.
15774169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
15775169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
15776169689Skan	(__gthr_win32_recursive_mutex_init_function): Add prototype for
15777169689Skan	__GTHREAD_HIDE_WIN32API case..
15778169689Skan	(__gthr_win32_recursive_mutex_lock): Likewise.
15779169689Skan	(__gthr_win32_recursive_mutex_trylock): Likewise.
15780169689Skan	(__gthr_win32_recursive_mutex_unlock): Likewise.
15781169689Skan	(__gthread_recursive_mutex_init_function); Add definition for
15782169689Skan	__GTHREAD_HIDE_WIN32API case.
15783169689Skan	(__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
15784169689Skan	* config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
15785169689Skan	call to InterlockedDecrement.
15786169689Skan
15787169689Skan2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15788169689Skan
15789169689Skan	* tree-tailcall.c (find_tail_calls): Also fail is statement has
15790169689Skan	volatile operands.
15791169689Skan
15792169689Skan	* tree-ssa.c (propagate_into_addr): Properly test for LHR.
15793169689Skan
15794169689Skan	* doc/c-tree.texi: Document new operands for ARRAY_REF and
15795169689Skan	COMPONENT_REF.
15796169689Skan
15797169689Skan2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15798169689Skan
15799169689Skan	* Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
15800169689Skan	* common.opt (fspeculative-prefetching): New.
15801169689Skan	* flags.h (flag_speculative_prefetching_set): Declare.
15802169689Skan	* gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
15803169689Skan	values.
15804169689Skan	* opts.c (flag_sepculative_prefetching_set): New variable.
15805169689Skan	(common_handle_option): Handle -fspeculative-prefetching.
15806169689Skan	* passes.c (rest_of_compilation): Ditto.
15807169689Skan	* profile.c (instrument_values, compute_value_histograms, branch_prob):
15808169689Skan	Use vectors instead of arrays.
15809169689Skan	* toplev.c (process_options): Handle -fspeculative-prefetching.
15810169689Skan	* rtl-profile.c: Include ggc.h.
15811169689Skan	(rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
15812169689Skan	rtl_gen_one_value_profiler_no_edge_manipulation,
15813169689Skan	rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
15814169689Skan	argument changed.
15815169689Skan	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
15816169689Skan	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
15817169689Skan	argument changed.
15818169689Skan	* value-prof.c: Include ggc.h.
15819169689Skan	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
15820169689Skan	macros.
15821169689Skan	(insn_prefetch_values_to_profile, find_mem_reference_1,
15822169689Skan	find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
15823169689Skan	speculative_prefetching_transform): New.
15824169689Skan	(value_profile_transformations): Call speculative_prefetching_transform.
15825169689Skan	(insn_values_to_profile): Call insn_prefetch_values_to_profile.
15826169689Skan	(insn_divmod_values_to_profile, rtl_find_values_to_profile,
15827169689Skan	tree_find_values_to_profile, find_values to profile): Use vectors
15828169689Skan	instead of arrays.
15829169689Skan	(free_profiled_values): Removed.
15830169689Skan	* value-prof.h (struct histogram_value): Renamed to
15831169689Skan	struct histogram_value_t.
15832169689Skan	(histogram_value, histogram_values): New types.
15833169689Skan	(find_values_to_profile): Declaration changed.
15834169689Skan	(free_profiled_values): Removed.
15835169689Skan	(struct profile_hooks): Type of argument of the hooks changed to
15836169689Skan	histogram_value.
15837169689Skan	* doc/invoke.texi (-fspeculative-prefetching): Document.
15838169689Skan
15839169689Skan2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15840169689Skan
15841169689Skan	PR rtl-optimization/16408
15842169689Skan	* gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
15843169689Skan
15844169689Skan2004-09-01  Richard Henderson  <rth@redhat.com>
15845169689Skan
15846169689Skan	* config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15847169689Skan	(TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
15848169689Skan
15849169689Skan2004-09-01  Jakub Jelinek  <jakub@redhat.com>
15850169689Skan
15851169689Skan	* libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
15852169689Skan
15853169689Skan2004-09-01  Mike Stump  <mrs@apple.com>
15854169689Skan
15855169689Skan	* config/darwin.c (machopic_symbol_defined_p): In addition to
15856169689Skan	being SYMBOL_REF_LOCAL_P, a symbol must also be
15857169689Skan	! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
15858169689Skan	defined in this output file, or translation unit in the case
15859169689Skan	of IMA not being used.
15860169689Skan	(machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
15861169689Skan	never need .indirect_symbol when indirecting.
15862169689Skan
15863169689Skan2004-09-01  Jakub Jelinek  <jakub@redhat.com>
15864169689Skan
15865169689Skan	* Makefile.in (bb-reorder.o): Add several dependencies.
15866169689Skan
15867169689Skan2004-09-01  Jakub Jelinek  <jakub@redhat.com>
15868169689Skan
15869169689Skan	* fold-const.c (operand_equal_p): Require equal sign also for
15870169689Skan	FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
15871169689Skan
15872169689Skan2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
15873169689Skan
15874169689Skan	* config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
15875169689Skan	for use in configargs.h.  Put the cname in a separate variable.  Use
15876169689Skan	that to set target_cpu_default2.
15877169689Skan
15878169689Skan2004-09-01  J"orn Rennecke <joern.rennecke@superh.com>
15879169689Skan	    Nick Clifton  <nickc@redhat.com>
15880169689Skan
15881169689Skan	* config/sh/sh.md ("length"): Increase branch length when
15882169689Skan	SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
15883169689Skan	constant, 2 byte for aligning the constant.
15884169689Skan
15885169689Skan2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
15886169689Skan
15887169689Skan	* arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
15888169689Skan	CPU.
15889169689Skan	(arm7tdmi-s): New CPU name.
15890169689Skan	* arm/arm.c (ARM_CORE): Update for new format.
15891169689Skan	* arm/arm.h (ARM_CORE): Likewise.
15892169689Skan	* arm/gentune.sh: Update for extra field.
15893169689Skan	* config.gcc: Likewise.
15894169689Skan	* arm/arm-tune.md: Regenerate.
15895169689Skan	* doc/invoke.texi: Document the real processor names for ARM cpus.
15896169689Skan
15897169689Skan2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
15898169689Skan
15899169689Skan	* arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
15900169689Skan	(floatdidf): New functions.
15901169689Skan	* arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
15902169689Skan	(floatdisf): New functions.
15903169689Skan	* t-arm-elf: Use them.
15904169689Skan
15905169689Skan2004-09-01  Ziemowit Laski  <zlaski@apple.com>
15906169689Skan
15907169689Skan	* c-common.h (lookup_interface): Remove prototype.
15908169689Skan	(is_class_name): Rename to objc_is_class_name.
15909169689Skan	(lookup_objc_ivar): Rename to objc_lookup_ivar.
15910169689Skan	(get_current_scope): Rename to objc_get_current_scope.
15911169689Skan	* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
15912169689Skan	* c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
15913169689Skan	(yylexname): Call objc_is_class_name() instead of is_class_name().
15914169689Skan	* c-typeck.c (build_external_ref): Call objc_lookup_ivar()
15915169689Skan	instead of lookup_objc_ivar().
15916169689Skan	* stub-objc.c (lookup_interface): Remove stub.
15917169689Skan	(is_class_name): Rename to objc_is_class_name.
15918169689Skan	(lookup_objc_ivar): Rename to objc_lookup_ivar.
15919169689Skan
15920169689Skan2004-08-31  Mark Mitchell  <mark@codesourcery.com>
15921169689Skan
15922169689Skan	* config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
15923169689Skan	* config/arm/lib1funcs.asm: Do not include supplemental .S files
15924169689Skan	when compiling for Symbian.
15925169689Skan	* config/arm/symbian.h (RENAME_LIBRARY): New macro.
15926169689Skan	(TARGET_OS_CPP_BUILTINS): Likewise.
15927169689Skan	* config/arm/t-symbian (LIB1ASMFUNCS): Define.
15928169689Skan
15929169689Skan2004-08-31  Stan Shebs  <shebs@apple.com>
15930169689Skan
15931169689Skan	* toplev.c (process_options): Ensure debug_hooks is initialized.
15932169689Skan
15933169689Skan2004-08-31  Mark Mitchell  <mark@codesourcery.com>
15934169689Skan
15935169689Skan	* target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
15936169689Skan	* target.h (cxx): Add export_class_data.
15937169689Skan	* config/arm/arm.c (arm_cxx_export_class_data): New function.
15938169689Skan	(TARGET_CXX_EXPORT_CLASS_DATA): Use it.
15939169689Skan	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
15940169689Skan
15941169689Skan2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
15942169689Skan
15943169689Skan	* config/sh/sh.c (output_branch): Check the insn length possibly
15944169689Skan	in the delayed slot.
15945169689Skan
15946169689Skan2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15947169689Skan
15948169689Skan	* tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
15949169689Skan	blank after ')'.
15950169689Skan	(op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
15951169689Skan
15952169689Skan	* c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
15953169689Skan	(c_sizeof_of_alignof_type): Likewise.
15954169689Skan	* expr.c (array_ref_element_size): Likewise.
15955169689Skan	(highest_pow2_factor_for_target): Likewise.
15956169689Skan	* gimplify.c (canonicalize_addr_expr): Likewise.
15957169689Skan	(gimplify_compound_lval): Likewise.
15958169689Skan	* stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
15959169689Skan	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
15960169689Skan	* varasm.c (assemble_variable): Likewise.
15961169689Skan	(output_constant_def_contents): Alignments are unsigned.
15962169689Skan
15963169689Skan2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15964169689Skan	    Jeff Law  <law@redhat.com>
15965169689Skan
15966169689Skan	* tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
15967169689Skan	gets modified.
15968169689Skan
15969169689Skan2004-08-31  Mark Mitchell  <mark@codesourcery.com>
15970169689Skan
15971169689Skan	* hooks.c (hook_bool_void_true): New function.
15972169689Skan	* hooks.h (hook_bool_void_true): Declare.
15973169689Skan	* target-def.h (TARGET_CXX): Add
15974169689Skan	TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
15975169689Skan	* target.h (struct cxx): Add key_method_may_be_inline.
15976169689Skan	* config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
15977169689Skan	function.
15978169689Skan	(TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
15979169689Skan	* config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
15980169689Skan	__THUMB_INTERWORK.
15981169689Skan
15982169689Skan2004-08-31  Denis Chertykov  <denisc@overta.ru>
15983169689Skan
15984169689Skan	PR target/15417
15985169689Skan	* config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
15986169689Skan	frame pointer register only in Pmode while reload in progress.
15987169689Skan
15988169689Skan2004-08-31  Stephane Carrez  <stcarrez@nerim.fr>
15989169689Skan
15990169689Skan	PR target/15334
15991169689Skan	* config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
15992169689Skan	because it breaks the 32-bit shift patterns that rely on a match_dup.
15993169689Skan
15994169689Skan2004-08-31  Matt Austern  <austern@apple.com>
15995169689Skan
15996169689Skan	* config/darwin.c (darwin_make_decl_one_only): Allocate section
15997169689Skan	names once per compilation, instead of once per symbol.
15998169689Skan
15999169689Skan2004-08-31  Paolo Bonzini  <bonzini@gnu.org>
16000169689Skan
16001169689Skan	* Makefile.in (build_subdir): New substitution.
16002169689Skan	(fixinc.sh): Simplify heavily since fixincludes is already built.
16003169689Skan	(stmp-fixinc): Depend on specs.ready.
16004169689Skan	(install-mkheaders): Use new location of fixincludes.
16005169689Skan	(clean): Do not descend into fixinc.
16006169689Skan	(FORBUILD): Replace with ../$(build_subdir).
16007169689Skan	* configure.ac (build_subdir): Substitute.
16008169689Skan	(FORBUILD): Do not set.
16009169689Skan	(all_outputs): Remove fixinc/Makefile.
16010169689Skan	(default commands): Do not create links in fixinc.
16011169689Skan	* mkfixinc.sh: New, from fixinc/mkfixinc.sh without
16012169689Skan	the fixincludes configuration steps and substituting
16013169689Skan	@FIXINCL@ in fixinc.in.
16014169689Skan	* fixinc.in: New, from fixinc/fixincl.sh.
16015169689Skan
16016169689Skan	* fixinc/*: Removed.
16017169689Skan
16018169689Skan2004-08-31  Joseph S. Myers  <jsm@polyomino.org.uk>
16019169689Skan
16020169689Skan	* attribs.c (strip_attrs): Remove.
16021169689Skan	(split_specs_attrs): Move ...
16022169689Skan	* c-decl.c: ... to here.
16023169689Skan	* tree.h (split_specs_attrs, strip_attrs): Remove.
16024169689Skan	* c-tree.h (split_specs_attrs): Declare.
16025169689Skan
16026169689Skan2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
16027169689Skan
16028169689Skan	* read-rtl.c: Disable RTL checking.
16029169689Skan	(apply_macro_to_rtx): Use XTMPL to access 'T' fields.
16030169689Skan
16031169689Skan2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
16032169689Skan
16033169689Skan	* config/mips/mips.md (fcond): New code macro and attribute.
16034169689Skan	(sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
16035169689Skan	(seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
16036169689Skan	(sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
16037169689Skan
16038169689Skan2004-08-30  Mark Mitchell  <mark@codesourcery.com>
16039169689Skan
16040169689Skan	Revert:
16041169689Skan	2004-08-29  Mark Mitchell  <mark@codesourcery.com>
16042169689Skan	PR rtl-optimization/16590
16043169689Skan	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
16044169689Skan
16045169689Skan2004-08-30  Andrew Pinski  <apinski@apple.com>
16046169689Skan
16047169689Skan	* hard-reg-set.h:
16048169689Skan	s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
16049169689Skan	* ChangeLog: Fix previous ChangeLog entry.
16050169689Skan
16051169689Skan	PR rtl-opt/13987
16052169689Skan	* config.host (use_long_long_for_widest_fast_int): New, default is
16053169689Skan	off.
16054169689Skan	(ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
16055169689Skan	* configure.ac: If use_long_long_for_widest_fast_int, then
16056169689Skan	define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
16057169689Skan	* configure: Regenerate.
16058169689Skan	* config.in: Regenerate.
16059169689Skan	* hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
16060169689Skan	New: widest integer type supported efficiently in hardware for the
16061169689Skan	host.
16062169689Skan	* sbitmap.h (SBITMAP_ELT_BITS): Define based on
16063169689Skan	HOST_BITS_PER_WIDEST_FAST_INT.
16064169689Skan	(SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
16065169689Skan	* hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
16066169689Skan	HOST_WIDEST_FAST_INT
16067169689Skan	instead of HOST_WIDE_INT.
16068169689Skan	(HARD_REG_SET_LONGS): Likewise.
16069169689Skan	(UHOST_BITS_PER_WIDE_INT): Likewise.
16070169689Skan	Change the checks for the fast cases to be based on
16071169689Skan	HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
16072169689Skan
16073169689Skan2004-08-30  Steven Bosscher  <stevenb@suse.de>
16074169689Skan
16075169689Skan	* cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
16076169689Skan	not the pointers.
16077169689Skan
16078169689Skan2004-08-30  Geoffrey Keating  <geoffk@apple.com>
16079169689Skan
16080169689Skan	PR 12738
16081169689Skan	PR 17205
16082169689Skan	Radar 3460526
16083169689Skan	Radar 3775729
16084169689Skan	* c-decl.c (grokdeclarator): Produce error for 'static' on local
16085169689Skan	function declaration.
16086169689Skan
16087169689Skan2004-08-30  Richard Henderson  <rth@redhat.com>
16088169689Skan
16089169689Skan	* expr.c (array_ref_element_size): Force aligned_size back to
16090169689Skan	sizetype.
16091169689Skan	(component_ref_field_offset): Similarly for aligned_offset.
16092169689Skan	* tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
16093169689Skan	low-bound, element-size, field-offset fields rather than
16094169689Skan	computed values.
16095169689Skan
16096169689Skan2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
16097169689Skan
16098169689Skan	* c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
16099169689Skan	redundant code.
16100169689Skan
16101169689Skan2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
16102169689Skan
16103169689Skan	* c-tree.h (struct language_function): Add arg_info element.
16104169689Skan	* c-decl.c (current_function_arg_info): New.
16105169689Skan	(grokdeclarator, store_parm_decls): Use it instead of
16106169689Skan	DECL_ARGUMENTS.
16107169689Skan	(c_push_function_context, c_pop_function_context): Save and
16108169689Skan	restore it.
16109169689Skan
16110169689Skan2004-08-30  Richard Henderson  <rth@redhat.com>
16111169689Skan
16112169689Skan	* c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
16113169689Skan	COMPONENT_REF to pointer arithmetic.
16114169689Skan	* varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
16115169689Skan	constant "c" as a valid constant initializer.  Allow narrowing of
16116169689Skan	differences against the same base object, for any base object.
16117169689Skan
16118169689Skan2004-08-30  Richard Henderson  <rth@redhat.com>
16119169689Skan
16120169689Skan	* expr.c (expand_expr_addr_expr): New.
16121169689Skan	(expand_expr_real_1) <case ADDR_EXPR>: Use it.
16122169689Skan
16123169689Skan2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
16124169689Skan
16125169689Skan	* config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
16126169689Skan	(mips_fp_condition): New enum.
16127169689Skan	(mips_fp_conditions): New array.
16128169689Skan	(print_fcc_operand): Delete.
16129169689Skan	(print_operand): Remove %V, %v and %Q.  Redefine %Z so that it prints
16130169689Skan	the operand and comma if and only if ISA_HAS_8CC.  Add %Y.
16131169689Skan	(builtin_description): Add "cond" field.
16132169689Skan	(DIRECT_BUILTIN): Initialize it.
16133169689Skan	(CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
16134169689Skan	into INSN and CODE.  Initialize the "cond" field.
16135169689Skan	(CMP_BUILTINS): Update accordingly.
16136169689Skan	(mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
16137169689Skan	(mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
16138169689Skan	mips_fp_condition as argument.  Make it the final operand of the
16139169689Skan	comparison instruction.
16140169689Skan	(mips_expand_builtin): Update accordingly.
16141169689Skan	* config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
16142169689Skan	(UNSPEC_C, UNSPEC_CABS): New constants.  Shuffle others to fill
16143169689Skan	the gaps.
16144169689Skan	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
16145169689Skan	Don't use the 'Q' operand prefix; just print the operand normally.
16146169689Skan	(mips_cabs_*, mips_c_*): Delete, replacing with...
16147169689Skan	(mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
16148169689Skan	patterns.  Split the 4s versions into 2 ps patterns after reload.
16149169689Skan
16150169689Skan2004-08-30  Richard Henderson  <rth@redhat.com>
16151169689Skan
16152169689Skan	* fold-const.c (tree_expr_nonzero_p): Use get_base_address before
16153169689Skan	assuming an ADDR_EXPR is non-null.
16154169689Skan
16155169689Skan2004-08-30  Jason Merrill  <jason@redhat.com>
16156169689Skan
16157169689Skan	* gthr-posix.h, gthr-dce.h: Add #pragma weaks.
16158169689Skan
16159169689Skan2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
16160169689Skan
16161169689Skan	* alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
16162169689Skan	record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
16163169689Skan	gcc_assert and gcc_unreachable instead of abort.
16164169689Skan	* alloc-pool.c (abort, fancy_abort): Remove.
16165169689Skan	(create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
16166169689Skan	gcc_assert or gcc_unreachable.
16167169689Skan	* attribs.c (init_attributes, decl_attributes): Likewise.
16168169689Skan	* bb-reorder.c (FREE, find_traces_1_round, copy_bb,
16169169689Skan	mark_bb_for_unlikely_executed_section,
16170169689Skan	add_labels_and_missing_jumps, fix_crossing_conditional_branches,
16171169689Skan	fix_crossing_unconditional_branches): Likewise.
16172169689Skan	* bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
16173169689Skan	bitmap_operation): Likewise.
16174169689Skan	* bt-load.c (insn_sets_btr_p, augment_live_range,
16175169689Skan	move_btr_def): Likewise.
16176169689Skan	* builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
16177169689Skan	apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
16178169689Skan	expand_builtin_mathfn_2, expand_builtin_mathfn_3,
16179169689Skan	builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
16180169689Skan	expand_builtin_memcmp, expand_builtin_args_info,
16181169689Skan	std_gimplify_va_arg_expr, expand_builtin_unop,
16182169689Skan	expand_builtin_fputs, expand_builtin_profile_func,
16183169689Skan	expand_builtin_fork_or_exec, fold_builtin_bitop,
16184169689Skan	fold_builtin_classify, fold_builtin_fputs): Likewise.
16185169689Skan
16186169689Skan2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
16187169689Skan
16188169689Skan	* gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
16189169689Skan	* gcov.c (abort): Remove undef.
16190169689Skan
16191169689Skan	* tree.h (BINFO_PRIMARY_BASE_OF): Remove.
16192169689Skan	(struct tree_binfo): Remove primary field.
16193169689Skan
16194169689Skan2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
16195169689Skan
16196169689Skan	* fixinc/Makefile.in (machname.h): Remove.
16197169689Skan	(fixincl.x): Do not pass $@ to genfixes.
16198169689Skan	* fixinc/genfixes: Remove code to produce machname.h.
16199169689Skan	* fixinc/fixincl.sh: Move it here instead.
16200169689Skan	* fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
16201169689Skan	instead check if pz_mn_name_pat is NULL.  Make mn_get_regexps
16202169689Skan	return a bool indicating whether pz_mn_name_pat is NULL.
16203169689Skan	* fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
16204169689Skan	Declare extern C variables for the ENV_TABLE.
16205169689Skan	* fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
16206169689Skan	instead use the result of mn_get_regexps.
16207169689Skan	* fixinc/fixtests.c: Likewise.
16208169689Skan
16209169689Skan2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
16210169689Skan
16211169689Skan	* configure.ac: Do not run fixincludes after stage1 during
16212169689Skan	toplevel bootstrap.
16213169689Skan	* configure: Regenerate.
16214169689Skan
16215169689Skan2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
16216169689Skan
16217169689Skan	* sched-deps.c (get_condition): Partially revert previous, by never
16218169689Skan	trying to extract the condition from a condjump.
16219169689Skan
16220169689Skan2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
16221169689Skan
16222169689Skan	* c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
16223169689Skan	(handle_visibility_attribute, c_determine_visibility): Likewise.
16224169689Skan	* c-common.h (my_friendly_assert): Remove.
16225169689Skan
16226169689Skan2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
16227169689Skan
16228169689Skan	* config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
16229169689Skan	(UNSPEC_{RSQRT,RECIP}[12]): New constants.
16230169689Skan	(UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
16231169689Skan	* config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
16232169689Skan	(mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
16233169689Skan
16234169689Skan2004-08-30  Diego Novillo  <dnovillo@redhat.com>
16235169689Skan
16236169689Skan	* tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
16237169689Skan	in COMPONENT_REF nodes.
16238169689Skan
16239169689Skan2004-08-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16240169689Skan
16241169689Skan	PR c++/15378
16242169689Skan	* c-opts.c (c_common_handle_option): <case OPT_Werror> set
16243169689Skan	global_dc->warning_as_error_requested.
16244169689Skan	* diagnostic.c (diagnostic_initialize): Tidy.
16245169689Skan	* diagnostic.h (diagnostic_context::x_data): Remove
16246169689Skan	(diagnostic_context::issue_warnings_are_errors_message): Rename
16247169689Skan	from warnings_are_errors_message.
16248169689Skan	(diagnostic_context::warning_as_error_requested): New.
16249169689Skan
16250169689Skan2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
16251169689Skan
16252169689Skan	* sched-deps.c (get_condition): Fix breakage in previous patch.
16253169689Skan
16254169689Skan2004-08-30  Paul Brook  <paul@codesourcery.com>
16255169689Skan
16256169689Skan	* doc/install.texi: Fix broken mpfr link.
16257169689Skan
16258169689Skan2004-08-29  David O'Brien  <obrien@FreeBSD.org>
16259169689Skan
16260169689Skan	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
16261169689Skan	other FreeBSD platforms.
16262169689Skan
16263169689Skan2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
16264169689Skan
16265169689Skan	* arm.h (REVERSE_CONDITION): Define.
16266169689Skan	(REVERSIBLE_CC_MODE): All comparisons are now reversible.
16267169689Skan
16268169689Skan2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
16269169689Skan
16270169689Skan	* flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
16271169689Skan	just the codes, call reversed_comparison_code ().
16272169689Skan	(ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
16273169689Skan	(not_reg_cond): Use reversed_comparison_code.
16274169689Skan	(and_reg_cond): Likewise.
16275169689Skan	* ifcvt.c (cond_exec_process_if_block): Likewise.
16276169689Skan	* doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
16277169689Skan
16278169689Skan2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
16279169689Skan
16280169689Skan	* sched-deps.c (get_condition): Rewrite using jump support functions.
16281169689Skan	Use reversed_comparison_code.
16282169689Skan	(conditions_mutex_p): Use reversed_comparison_code.
16283169689Skan
16284169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16285169689Skan
16286169689Skan	* config/mips/mips.c (override_options): Disable hot/cold partitioning
16287169689Skan	for MIPS16.
16288169689Skan
16289169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16290169689Skan
16291169689Skan	* config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
16292169689Skan	(mips_function_type): Move to mips.c.
16293169689Skan	* config/mips/mips.c (mips_builtin_type): New enum.
16294169689Skan	(builtin_description): Replace code and ftype with builtin_type
16295169689Skan	and function_type.
16296169689Skan	(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
16297169689Skan	(MOVTF_BUILTINS, CMP_BUILTINS): New macros.
16298169689Skan	(CODE_FOR_mips_abs_ps): Define.
16299169689Skan	(mips_bdesc): Use new macros.
16300169689Skan	(mips_expand_builtin): Use builtin_type.  Update calls to subroutines.
16301169689Skan	(mips_init_builtins): Use the mips_bdesc[] index as the function code.
16302169689Skan	(mips_expand_builtin_direct): New function.
16303169689Skan	(mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
16304169689Skan	builtin.  Replace boolean parameter with builtin_type.
16305169689Skan	(mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
16306169689Skan	(mips_expand_4s_compare_builtin): Delete, replacing with...
16307169689Skan	(mips_expand_builtin_compare): ...this new function.
16308169689Skan
16309169689Skan2004-08-29  Mark Mitchell  <mark@codesourcery.com>
16310169689Skan
16311169689Skan	PR rtl-optimization/16590
16312169689Skan	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
16313169689Skan
16314169689Skan2004-08-29  Diego Novillo  <dnovillo@redhat.com>
16315169689Skan
16316169689Skan	* tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
16317169689Skan	* tree-ssa-propagate.c: Fix documentation.
16318169689Skan
16319169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16320169689Skan
16321169689Skan	* config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
16322169689Skan	(mov[sd]fcc): Likewise.
16323169689Skan
16324169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16325169689Skan
16326169689Skan	* config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
16327169689Skan
16328169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16329169689Skan
16330169689Skan	* config/mips/mips.md (divide_condition): New mode attribute.
16331169689Skan	(div[sd]f3, *div[sd]f3): Use it.  Redefine using :SCALARF.
16332169689Skan	(sqrt[sd]f3): Redefine using SCALARF.
16333169689Skan	(*recip[sd]f3, *rsqrt<mode>[ab]): Likewise.  Name formerly unnamed
16334169689Skan	patterns.
16335169689Skan
16336169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16337169689Skan
16338169689Skan	* config/mips/mips.md (ANYF, SCALARF): New mode macros.
16339169689Skan	(loadx, storex, fmt, UNITMODE): New mode attributes.
16340169689Skan	(add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
16341169689Skan	(mul[sd]f3): Redefine using :SCALARF.
16342169689Skan	(*mul[sd]f3): Renamed from mul[sd]f3_internal.  Use :SCALARF.
16343169689Skan	(*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
16344169689Skan	(*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns.  Use :ANYF.
16345169689Skan	Check TARGET_FUSED_MADD for V2SF too.
16346169689Skan	(*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
16347169689Skan	were already named.
16348169689Skan	(abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
16349169689Skan	(*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
16350169689Skan
16351169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16352169689Skan
16353169689Skan	* config/mips/mips.c (mips_init_builtins): Simplify.  Only create
16354169689Skan	V2SF_type_node if it will be needed.
16355169689Skan
16356169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16357169689Skan
16358169689Skan	* config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
16359169689Skan	* config/mips/mips.c (mips_prepare_builtin_arg): New function.
16360169689Skan	(mips_prepare_builtin_target): New function.
16361169689Skan	(mips_expand_builtin): Use them.  Update calls to subroutines.
16362169689Skan	(mips_expand_ps_cond_move_builtin): Use the new functions.  Replace
16363169689Skan	cmp_choice with a boolean argument to select between movt and movf.
16364169689Skan	Take the comparison's icode as an argument, not the function's fcode.
16365169689Skan	(mips_expand_compare_builtin): New function.  Rename existing function
16366169689Skan	to mips_expand_scalar_compare_builtin.
16367169689Skan	(mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
16368169689Skan	(mips_expand_ps_compare_builtin): Use the new functions.  Take the
16369169689Skan	comparison's icode as an argument, not the builtin's fcode.
16370169689Skan
16371169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16372169689Skan
16373169689Skan	* config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
16374169689Skan	(mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
16375169689Skan	registers are false and -1 if all registers are true.
16376169689Skan	(mips_expand_ps_compare_builtin): Likewise CCV2.  Use subregs for
16377169689Skan	MIPS_CMP_UPPER and MIPS_CMP_LOWER.
16378169689Skan	* config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
16379169689Skan	(bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
16380169689Skan	(bc1any2t, bc1any2f): Likewise CCV2.
16381169689Skan	(bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
16382169689Skan
16383169689Skan2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
16384169689Skan
16385169689Skan	* config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
16386169689Skan	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
16387169689Skan	UNSPEC rather than an IF_THEN_ELSE.
16388169689Skan	* config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
16389169689Skan	mips_cond_move_tf_ps by name.
16390169689Skan
16391169689Skan2004-08-29  Chao-ying Fu  <fu@mips.com>
16392169689Skan	    James E Wilson  <wilson@specifixinc.com>
16393169689Skan
16394169689Skan	* config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
16395169689Skan	8 byte size and alignment.  Give CCV4 16 byte size and alignment.
16396169689Skan	* config/mips/mips-ps-3d.md: New file.
16397169689Skan	* config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
16398169689Skan	TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
16399169689Skan	(mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
16400169689Skan	(mips_output_move): Emit "mov.ps" for V2SFmode.
16401169689Skan	(mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
16402169689Skan	MODE_VECTOR_FLOAT.
16403169689Skan	(override_options): Check if TARGET_MIPS3D and there was an explicit
16404169689Skan	!TARGET_PAIRED_SINGLE_FLOAT.  Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
16405169689Skan	Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
16406169689Skan	TARGET_PAIRED_SINGLE_FLOAT is true.  Check if the ISA supports
16407169689Skan	TARGET_PAIRED_SINGLE_FLOAT.  Allow MODE_VECTOR_FLOAT in fp registers,
16408169689Skan	and allow CCV2 and CCV4 to occupy two and four CC registers.
16409169689Skan	(print_fcc_operand): New function.
16410169689Skan	(print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC.  Modify
16411169689Skan	%Z to call print_fcc_operand.
16412169689Skan	(mips_function_value): Handle MODE_VECTOR_FLOAT.
16413169689Skan	(mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
16414169689Skan	(mips_vector_mode_supported_p): New function.
16415169689Skan	(mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
16416169689Skan	(builtin_description): New struct.
16417169689Skan	(mips_bdesc): New array of struct builtin_description.
16418169689Skan	(mips_expand_builtin, mips_init_builtins,
16419169689Skan	mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
16420169689Skan	mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
16421169689Skan	functions.
16422169689Skan	* config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
16423169689Skan	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
16424169689Skan	(TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
16425169689Skan	(TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
16426169689Skan	"-mips3d", and "-mno-mips3d".
16427169689Skan	(ASM_SPEC): Map -mips3d to -mips3d in gas.
16428169689Skan	(EXTRA_CONSTRAINT_Y): New macro.
16429169689Skan	(EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT.  Add new
16430169689Skan	multi-letter constraint 'Y'.
16431169689Skan	(CONSTRAINT_LEN): New macro.
16432169689Skan	(enum mips_builtins): New for MIPS builtin functions.
16433169689Skan	(enum mips_function_type): New for the types of MIPS builtin functions.
16434169689Skan	(enum mips_cmp_choice): New for the MIPS comparison builtin functions.
16435169689Skan	* config/mips/mips.md: New constants for paired single and MIPS-3D
16436169689Skan	instructions.  Include the new mips-ps-3d.md file.
16437169689Skan	(addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
16438169689Skan	movv2sf_hardfloat_64bit): New named patterns.
16439169689Skan	(madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
16440169689Skan	nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
16441169689Skan	sdxc1_v2sf_di): New unnamed patterns.
16442169689Skan	* config/mips/predicates.md (const_0_operand, const_1_operand): Add
16443169689Skan	const_vector support.
16444169689Skan	(const_0_or_1_operand): New predicate.
16445169689Skan	* doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
16446169689Skan
16447169689Skan2004-08-29  Diego Novillo  <dnovillo@redhat.com>
16448169689Skan
16449169689Skan	* Makefile.in (OBJS-common): Add tree-ssa-propagate.o
16450169689Skan	(tree-ssa-propagate.o): New rule.
16451169689Skan	(GTFILES): Add tree-ssa-propagate.c.
16452169689Skan	* tree-flow.h (struct stmt_ann_d): Remove field
16453169689Skan	in_ccp_worklist.
16454169689Skan	* tree-ssa-propagate.c: New file.
16455169689Skan	* tree-ssa-propagate.h: New file.
16456169689Skan	* tree-ssa-ccp.c: Re-write to use the routines from
16457169689Skan	tree-ssa-propagate.c.
16458169689Skan
16459169689Skan2004-08-28  Andrew Pinski  <apinski@apple.com>
16460169689Skan
16461169689Skan	* tree-ssa-loop.c: Remove extra include of basic-block.h.
16462169689Skan
16463169689Skan2004-08-28  Ziemowit Laski  <zlaski@apple.com>
16464169689Skan
16465169689Skan	* c-common.h: Update comments about ObjC/ObjC++ entry points.
16466169689Skan	(objc_is_reserved_word): New prototype.
16467169689Skan	(get_current_scope, objc_mark_locals_volatile): Move prototypes to
16468169689Skan	separate section; these are call-backs.
16469169689Skan	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
16470169689Skan	ObjC/ObjC++ "@" keywords.
16471169689Skan	* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
16472169689Skan	prototypes; they already live in c-common.h.
16473169689Skan	* stub-objc.c: Update copyright notice.
16474169689Skan	(objc_is_reserved_word): New stub.
16475169689Skan
16476169689Skan2004-08-28  Nathan Sidwell  <nathan@codesourcery.com>
16477169689Skan
16478169689Skan	* system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
16479169689Skan	even when not checking.
16480169689Skan
16481169689Skan2004-08-27  Jason Merrill  <jason@redhat.com>
16482169689Skan
16483169689Skan	PR c++/13684
16484169689Skan	* gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
16485169689Skan	(gimple_push_cleanup): Add eh_only parm.
16486169689Skan	(gimplify_target_expr): Pass it.
16487169689Skan	* c.opt (-fno-threadsafe-statics): New option.
16488169689Skan	* c-opts.c (c_common_handle_option): Handle it.
16489169689Skan	* c-common.h (flag_threadsafe_statics): Declare it.
16490169689Skan	* c-common.c (flag_threadsafe_statics): Record it.
16491169689Skan	* doc/invoke.texi: Document it.
16492169689Skan	* tsystem.h (_GNU_SOURCE): Define.
16493169689Skan	* gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
16494169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
16495169689Skan	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
16496169689Skan	(__gthread_recursive_mutex_init_function): New fn.
16497169689Skan	(__gthread_recursive_mutex_lock): New fn.
16498169689Skan	(__gthread_recursive_mutex_trylock): New fn.
16499169689Skan	(__gthread_recursive_mutex_unlock): New fn.
16500169689Skan	* gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
16501169689Skan	* gthr-win32.h, gthr-vxworks.h: Likewise.
16502169689Skan	* gthr.h: Document.
16503169689Skan
16504169689Skan2004-08-27  David Edelsohn  <edelsohn@gnu.org>
16505169689Skan
16506169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Increase
16507169689Skan	maximum skip to 15.  Set function alignment, jump alignment, and
16508169689Skan	loop alignment to 16 for processors that form dispatch groups.
16509169689Skan	(rs6000_rtx_costs): outer_code is used.
16510169689Skan
16511169689Skan2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
16512169689Skan
16513169689Skan	* stor-layout.c (sizetype_set): Remove.
16514169689Skan	(set_sizetype): Don't test or set it.
16515169689Skan
16516169689Skan	* tree.h (size_int_type): Remove.
16517169689Skan	* fold-const.c: Do not #include gt-fold-const.h.
16518169689Skan	(size_htab_hash, size_htab_eq): Remove.
16519169689Skan	(size_int_kind): Use build_int_cst.
16520169689Skan	(new_const, size_htab): Remove.
16521169689Skan	(size_int_type): Remove.
16522169689Skan	(round_up): Use build_int_cst.
16523169689Skan	(round_down): Likewise. Remove spurious constant build.
16524169689Skan
16525169689Skan2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
16526169689Skan
16527169689Skan	* configure.ac: Add ENABLE_ASSERT_CHECKING control.
16528169689Skan	Add is_release variable, use it for --enable-werror and
16529169689Skan	--enable-checking defaults.
16530169689Skan	* system.h (gcc_assert, gcc_unreachable): New.
16531169689Skan	* doc/install.texi (--enable-checking): Update.
16532169689Skan	* configure, config.in: Rebuilt.
16533169689Skan
16534169689Skan2004-08-26  Richard Sandiford  <rsandifo@redhat.com>
16535169689Skan
16536169689Skan	* rtl.h (read_rtx): Change prototype.
16537169689Skan	* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
16538169689Skan	line number.  Return true on success.
16539169689Skan	* gensupport.c (process_include, init_md_reader_args_cb): Adjust
16540169689Skan	callers accordingly.
16541169689Skan
16542169689Skan2004-08-26  Richard Henderson  <rth@redhat.com>
16543169689Skan
16544169689Skan	* c-typeck.c (build_offsetof): Remove.
16545169689Skan	* c-tree.h (build_offsetof): Remove.
16546169689Skan	* c-common.c (fold_offsetof_1, fold_offsetof): New.
16547169689Skan	* c-common.h (fold_offsetof): Declare.
16548169689Skan	* c-parse.in (offsetof_base): New.
16549169689Skan	(offsetof_member_designator): Use it.  Build references, not just
16550169689Skan	a tree list.
16551169689Skan	(primary): Use fold_offsetof, not build_offsetof.
16552169689Skan
16553169689Skan2004-08-26  Richard Henderson  <rth@redhat.com>
16554169689Skan
16555169689Skan	* tree.c (staticp): Return the static object.
16556169689Skan	* tree.h (staticp): Update decl.
16557169689Skan	* langhooks.h (struct lang_hooks): Change staticp return type to tree.
16558169689Skan	* langhooks.c (lhd_staticp): Return NULL_TREE.
16559169689Skan	* langhooks-def.h (lhd_staticp): Update decl.
16560169689Skan	* c-common.c (c_staticp): Return the static object.
16561169689Skan	* c-common.h (c_staticp): Update decl.
16562169689Skan
16563169689Skan2004-08-26  Richard Henderson  <rth@redhat.com>
16564169689Skan
16565169689Skan	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
16566169689Skan	modes.
16567169689Skan
16568169689Skan2004-08-26  Joseph S. Myers  <jsm@polyomino.org.uk>
16569169689Skan
16570169689Skan	PR c/13801
16571169689Skan	* c-decl.c (struct c_binding): Add type and inner_comp fields.
16572169689Skan	(bind): Set type and inner_comp fields.
16573169689Skan	(pop_scope): Restore type of decl to the correct type from an
16574169689Skan	outer scope.  Give error when popping file scope for incomplete
16575169689Skan	arrays completed incompatibly with default initialization in an
16576169689Skan	inner scope.
16577169689Skan	(diagnose_mismatched_decls): Handle externs with initializers at
16578169689Skan	block scope.
16579169689Skan	(pushdecl): Set type of external declaration at block scope based
16580169689Skan	only on the visible declarations.  Save type when changing the
16581169689Skan	type of a declaration.  Merge an external declaration at block
16582169689Skan	scope with a visible static declaration at file scope.
16583169689Skan	(implicitly_declare): Give recycled old declaration the new type
16584169689Skan	except for incompatible declarations of built-in functions, saving
16585169689Skan	the old type.
16586169689Skan
16587169689Skan2004-08-26  Ziemowit Laski  <zlaski@apple.com>
16588169689Skan
16589169689Skan	* c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
16590169689Skan
16591169689Skan2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
16592169689Skan
16593169689Skan	* tree-alias-common.c (gate_pta): New function.
16594169689Skan	(pass_build_pta): Use it.
16595169689Skan	(pass_del_pta): Use it.
16596169689Skan	(delete_alias_vars): Don't check flag_tree_points_to.
16597169689Skan
16598169689Skan2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
16599169689Skan
16600169689Skan	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
16601169689Skan	TFmode as additional register mode cloberred by call.
16602169689Skan
16603169689Skan2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
16604169689Skan
16605169689Skan	* config/rs6000/rs6000.c (rs6000_libcall_value): Generate
16606169689Skan	parallel pattern for library call returning DImode in
16607169689Skan	mixed mode.
16608169689Skan
16609169689Skan2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
16610169689Skan
16611169689Skan	* config/rs6000/rs6000.c (function_arg): Generate parallel
16612169689Skan	pattern for more split args.
16613169689Skan
16614169689Skan2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
16615169689Skan
16616169689Skan	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
16617169689Skan	either gen_movdi_di_update or gen_movdi_si_update depending on
16618169689Skan	target mode.
16619169689Skan	* config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
16620169689Skan	to generate two versions.
16621169689Skan
16622169689Skan2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
16623169689Skan
16624169689Skan	* Makefile.in (lambda-code.o): New.
16625169689Skan	(lambda-trans.o): Ditto.
16626169689Skan	(TREE_DATA_REF_H): Ditto.
16627169689Skan	(LAMBDA_H): Ditto.
16628169689Skan	(lambda-mat.o): Use LAMBDA_H.
16629169689Skan	(tree-data-ref.o): Ditto.
16630169689Skan	* lambda-code.c: New file.  Lambda code generation algorithm.
16631169689Skan	* lambda-trans.c: Ditto. Lambda transformation matrix support.
16632169689Skan	* lambda.h: Add lambda loop structures.
16633169689Skan	Add lambda loopnest structures.
16634169689Skan	Add lambda body vector structure.
16635169689Skan	Add lambda linear expression structures.
16636169689Skan	Add prototypes for functions in new files.
16637169689Skan	* lambda-mat.c: Include tree.h
16638169689Skan
16639169689Skan2004-08-26  Daniel Berlin <dberlin@dberlin.org>
16640169689Skan	    Sebastian Pop  <pop@cri.ensmp.fr>
16641169689Skan
16642169689Skan	* tree-data-ref.h: Include lambda.h
16643169689Skan	(free_dependence_relation): Declared here.
16644169689Skan	(free_dependence_relations): Ditto.
16645169689Skan	(free_data_refs): Ditto.
16646169689Skan	* tree-data-ref.c (free_dependence_relation): New function.
16647169689Skan	(free_dependence_relations): Ditto.
16648169689Skan	(free_data_refs): Ditot.
16649169689Skan	(analyze_all_data_dependences): Free datarefs and dependence_relations.
16650169689Skan	(build_classic_dist_vector): Store in the dependence_relations the
16651169689Skan	information. Each arc in the dependence_relations graph is labelled
16652169689Skan	with the distance and direction vectors.
16653169689Skan	(build_classic_dir_vector): Ditto.
16654169689Skan	(compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
16655169689Skan	Now computes again the whole dependence graph including read-read
16656169689Skan	relations.
16657169689Skan	(compute_data_dependences_for_loop): Now dependence_relations contains
16658169689Skan	all the data, and thus it doesn't need to initialize the classic_dir
16659169689Skan	and classic_dist vectors.
16660169689Skan	(analyze_all_data_dependences): Adjusted for using the new interface of
16661169689Skan	compute_data_dependences_for_loop.  Remove the statistics dump.
16662169689Skan
16663169689Skan2004-08-26  Bob Wilson  <bob.wilson@acm.org>
16664169689Skan
16665169689Skan	* config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
16666169689Skan	(xtensa_expand_block_move): Update comment.
16667169689Skan	(override_options): Remove initialization of xtensa_{ld,st}_opcodes.
16668169689Skan
16669169689Skan2004-08-26  Richard Earnshaw  <rearnsha@arm.com>
16670169689Skan
16671169689Skan	PR target/13506
16672169689Skan	* toplev.c (crash_signal): If we crashed while emitting
16673169689Skan	a user asm, then die more gracefully.
16674169689Skan
16675169689Skan2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
16676169689Skan
16677169689Skan	PR target/17119.
16678169689Skan	* config/m32r.c (gen_compare): Use reg_or_int16_operand when
16679169689Skan	checking for a valid constant, regardless of sign.
16680169689Skan
16681169689Skan2004-08-25  Richard Henderson  <rth@redhat.com>
16682169689Skan
16683169689Skan	PR target/16974
16684169689Skan	* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
16685169689Skan	if the constant satisfies add_operand.
16686169689Skan
16687169689Skan2004-08-25  Richard Henderson  <rth@redhat.com>
16688169689Skan
16689169689Skan	PR debug/10695
16690169689Skan	* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
16691169689Skan	(alpha_expand_prologue): Handle >32-bit frames.  Generate proper
16692169689Skan	unwind info for >16-bit frames.
16693169689Skan
16694169689Skan2004-08-25  Richard B. Kreckel  <richard.kreckel@framatome-anp.com>
16695169689Skan
16696169689Skan	PR target/17171
16697169689Skan	* config/i386/gas.h (ASM_COMMENT_START): Define to "#".
16698169689Skan
16699169689Skan2004-08-25  Richard Henderson  <rth@redhat.com>
16700169689Skan
16701169689Skan	* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
16702169689Skan	(TARGET_CANNOT_FORCE_CONST_MEM): New.
16703169689Skan
16704169689Skan2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
16705169689Skan
16706169689Skan	* doc/tree-ssa.texi: Document new operand iterator.
16707169689Skan
16708169689Skan2004-08-26  Alan Modra  <amodra@bigpond.net.au>
16709169689Skan
16710169689Skan	PR target/16480
16711169689Skan	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
16712169689Skan	on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
16713169689Skan	as PLUS base regs.
16714169689Skan
16715169689Skan2005-08-28  Paul Brook  <paul@codesourcery.com>
16716169689Skan
16717169689Skan	* config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
16718169689Skan	-mfpu=vfp -march=armv5t
16719169689Skan	* config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
16720169689Skan
16721169689Skan2004-08-25  Richard Henderson  <rth@redhat.com>
16722169689Skan
16723169689Skan	* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
16724169689Skan	* target.h (struct gcc_target): Add scalar_mode_supported_p.
16725169689Skan	* targhooks.c (default_scalar_mode_supported_p): New.
16726169689Skan	* targhooks.h (default_scalar_mode_supported_p): Declare.
16727169689Skan	* doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
16728169689Skan
16729169689Skan	* c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
16730169689Skan	before attempting to create types.  Tidy.
16731169689Skan	* expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
16732169689Skan
16733169689Skan	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
16734169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
16735169689Skan
16736169689Skan2004-08-25  Richard Henderson  <rth@redhat.com>
16737169689Skan
16738169689Skan	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
16739169689Skan	set REAL_MODE_FORMAT for TFmode.
16740169689Skan
16741169689Skan2004-08-25  Ziemowit Laski  <zlaski@apple.com>
16742169689Skan
16743169689Skan	* c-decl.c (grokparm): New function.
16744169689Skan	* c-tree.h (grokparm): New prototype.
16745169689Skan
16746169689Skan2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
16747169689Skan
16748169689Skan	* tree-ssa-operands.h (struct ssa_operand_iterator_d): New.  SSA operand
16749169689Skan	iterator controlling structure.
16750169689Skan	(SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
16751169689Skan	SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
16752169689Skan	SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New.  Operand
16753169689Skan	iterator flags.
16754169689Skan	(FOR_EACH_SSA_TREE_OPERAND): New.  Iterate over operands as trees.
16755169689Skan	(FOR_EACH_SSA_USE_OPERAND): New.  Iterate over operands as uses.
16756169689Skan	(FOR_EACH_SSA_DEF_OPERAND): New.  Iterate over operands as defs.
16757169689Skan	(FOR_EACH_SSA_MAYDEF_OPERAND): New.  Iterate over V_MAY_DEFs.
16758169689Skan	* tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
16759169689Skan	Empty operand pointers.
16760169689Skan	* tree-flow-inline.h (op_iter_done): New.  Return true if finished.
16761169689Skan	(op_iter_next_use): New.  Return next use_operand_p.
16762169689Skan	(op_iter_next_def): New.  Return next def_operand_p.
16763169689Skan	(op_iter_next_tree): New.  Return next operands as a tree.
16764169689Skan	(op_iter_init): New.  Initialize an iterator structure.
16765169689Skan	(op_iter_init_use): New.  Initialize structure and get the first use.
16766169689Skan	(op_iter_init_def): New.  Initialize structure and get the first def.
16767169689Skan	(op_iter_init_tree): New.  Initialize structure and get the first tree.
16768169689Skan	(op_iter_next_maydef): New.  Return next V_MAY_DEF operands.
16769169689Skan	(op_iter_init_maydef): New.  Initialize structure and get the first
16770169689Skan	V_MAY_DEF operands.
16771169689Skan	* tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
16772169689Skan	* tree-dfa.c (compute_immediate_uses_for_stmt,
16773169689Skan	redirect_immediate_uses): Use new operand iterator.
16774169689Skan	(v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
16775169689Skan	(mark_new_vars_to_rename): Use new operand iterator.  Count virtual
16776169689Skan	operands instead of using *_disappeared_p routines.
16777169689Skan	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
16778169689Skan	ssa_rewrite_stmt): Use new operand iterator.
16779169689Skan	* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
16780169689Skan	rewrite_trees): Use new operand iterator.
16781169689Skan	* tree-pretty-print.c (dump_vops): Use new operand iterator.
16782169689Skan	* tree-sra.c (mark_all_v_defs): Use new operand iterator.
16783169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escape,
16784169689Skan	dump_points_to_info): Use new operand iterator.
16785169689Skan	* tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
16786169689Skan	replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
16787169689Skan	operand iterator.
16788169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
16789169689Skan	propagate_necessity): Use new operand iterator.
16790169689Skan	* tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
16791169689Skan	(register_definitions_for_stmt): Use new operand iterator.  Take stmt as
16792169689Skan	a parameter instead of a stmt_ann_t.
16793169689Skan	* tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
16794169689Skan	build_tree_conflict_graph): Use new operand iterator.
16795169689Skan	* tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
16796169689Skan	rewrite_mem_refs): Use new operand iterator.
16797169689Skan	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
16798169689Skan	check_loop_closed_ssa_use): Use new operand iterator.
16799169689Skan	* tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
16800169689Skan	* tree-ssanames.c (release_defs): Use new operand iterator.
16801169689Skan	* tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
16802169689Skan
16803169689Skan2004-08-25  Adam Nemet  <anemet@lnxw.com>
16804169689Skan
16805169689Skan	* tlink.c (initial_cwd): New variable.
16806169689Skan	(tlink_init): Initialize it.
16807169689Skan	(recompile_files): Use tlink_execute() instead of system().  Don't
16808169689Skan	duplicate verbose output of collect_execute.  Restore initial_cwd.
16809169689Skan	Update comment before the function.
16810169689Skan
16811169689Skan2004-08-25  Ziemowit Laski  <zlaski@apple.com>
16812169689Skan
16813169689Skan	* c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
16814169689Skan	accept) a cast from one Objective-C pointer type to another.
16815169689Skan
16816169689Skan2004-08-25  Paolo Carlini  <pcarlini@suse.de>
16817169689Skan
16818169689Skan	* doc/install.texi: Document that libstdc++-v3 requires
16819169689Skan	now automake 1.9.1.
16820169689Skan
16821169689Skan2004-08-25  Caroline Tice  <ctice@apple.com>
16822169689Skan
16823169689Skan	* bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
16824169689Skan	to comments at start of function.
16825169689Skan	* cfgbuild.c (make_edges): Add more details to hot/cold partitioning
16826169689Skan	comment.
16827169689Skan	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
16828169689Skan	merge_blocks_move_predecessor_nojumps,
16829169689Skan	merge_blocks_move_successor_nojumps, merge_blocks_move,
16830169689Skan	try_crossjump_to_edge, try_crossjump_bb): Likewise.
16831169689Skan	* cfglayout.c (fixup_reorder_chain): Likewise.
16832169689Skan	* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
16833169689Skan	cfg_layout_can_merge_blocks_p): Likewise.
16834169689Skan	* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
16835169689Skan	* passes.c (rest_of_compilation): Update comments for calling
16836169689Skan	optimization that partitions hot/cold basic blocks.
16837169689Skan	* doc/invoke.texi: Update documentation of
16838169689Skan	freorder-blocks-and-partition flag.
16839169689Skan
16840169689Skan2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
16841169689Skan
16842169689Skan	* config/mips/mips.md (reg): Renamed mode attribute from ccreg.
16843169689Skan	(*mov*_on_*): Adjust accordingly.  Add an explicit MOVECC: prefix.
16844169689Skan
16845169689Skan2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
16846169689Skan
16847169689Skan	* config/mips/mips.md (any_shift): New code macro.
16848169689Skan	(optab, insn): New code attributes.
16849169689Skan	({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
16850169689Skan	Use the standard rather than internal patterns for the MIPS16
16851169689Skan	double-shift optimization.
16852169689Skan	(*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
16853169689Skan	Redefine using :GPR and any_shift.
16854169689Skan	(*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
16855169689Skan	to cover all three shifts.
16856169689Skan	(*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
16857169689Skan	Redefine using any_shift.  Use :GPR and any_shift to combine splitters.
16858169689Skan	(*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
16859169689Skan
16860169689Skan2004-08-24  Geoffrey Keating  <geoffk@apple.com>
16861169689Skan
16862169689Skan	* gimplify.c (lookup_tmp_var): Separate temporaries when not
16863169689Skan	optimizing.
16864169689Skan
16865169689Skan2004-08-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16866169689Skan
16867169689Skan	PR libstdc++/17005 (fix for HP-UX 11.11)
16868169689Skan	* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
16869169689Skan	(hppa*-*-hpux*): Consolidate hppa1.0-*-* code.  Rework handling of
16870169689Skan	tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
16871169689Skan	* config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
16872169689Skan	* config/pa/pa-hpux.h (TARGET_HPUX): Define.
16873169689Skan	(LINK_SPEC): Handle march=1.0 option.
16874169689Skan	* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
16875169689Skan	and _XOPEN_SOURCE_EXTENDED for UNIX 95.
16876169689Skan	(SUBTARGET_OPTIONS): New define.
16877169689Skan	(LINK_SPEC): Handle march=1.0 option.
16878169689Skan	(STARTFILE_SPEC): New define.
16879169689Skan	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
16880169689Skan	and _XOPEN_SOURCE_EXTENDED for UNIX 95.  Additionally, predefine
16881169689Skan	_INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
16882169689Skan	(SUBTARGET_OPTIONS): New define.
16883169689Skan	(LINK_SPEC): Handle march=1.0 option.
16884169689Skan	(STARTFILE_SPEC): New define.
16885169689Skan	* config/pa/pa.c (override_options): Add code to process -munix= option.
16886169689Skan	* config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
16887169689Skan	(TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
16888169689Skan	defines.
16889169689Skan	(TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
16890169689Skan	(SUBTARGET_OPTIONS): Provide default define.
16891169689Skan	* config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
16892169689Skan	STANDARD_STARTFILE_PREFIX_2): New defines.
16893169689Skan	(STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
16894169689Skan	(ENDFILE_SPEC): Use %O.
16895169689Skan	* doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
16896169689Skan	Mention issue caused by changing namespace and runtime to UNIX 95/98.
16897169689Skan	* doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
16898169689Skan	Document -munix=std option.
16899169689Skan
16900169689Skan2004-08-25  Steven Bosscher  <stevenb@suse.de>
16901169689Skan
16902169689Skan	* cse.c (cse_around_loop, cse_check_loop_start,
16903169689Skan	cse_set_around_loop): Remove.
16904169689Skan	(cse_basic_block): Remove the around_loop argument.
16905169689Skan	(cse_end_of_basic_block): Remove the after_loop argument.
16906169689Skan	(cse_main): Likewise.
16907169689Skan	* rtl.h (cse_main): Update prototype.
16908169689Skan	* passes.c (rest_of_handle_cse, rest_of_handle_cse2,
16909169689Skan	rest_of_handle_gcse): Update cse_main calls.
16910169689Skan
16911169689Skan2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
16912169689Skan
16913169689Skan	* tree.h  (build_int_cst): New, sign extended constant.
16914169689Skan	(build_int_cstu): New, zero extended constant.
16915169689Skan	(build_int_cst_wide): Renamed from build_int_cst.
16916169689Skan	* tree.c (build_int_cst, build_int_cstu): New.
16917169689Skan	(build_int_cst_wide): Renamed from build_int_cst.
16918169689Skan	(make_vector_type, build_common_tree_nodes,
16919169689Skan	build_common_tree_nodes_2): Adjust build_int_cst calls.
16920169689Skan	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
16921169689Skan	expand_builtin_strpbrk, expand_builtin_fputs,
16922169689Skan	build_string_literal, expand_builtin_printf,
16923169689Skan	expand_builtin_sprintf, fold_builtin_classify_type,
16924169689Skan	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
16925169689Skan	fold_builtin_toascii, fold_builtin_isdigit,
16926169689Skan	simplify_builtin_strstr, simplify_builtin_strpbrk,
16927169689Skan	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
16928169689Skan	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
16929169689Skan	DEF_ATTR_INT): Likewise.
16930169689Skan	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
16931169689Skan	Likewise.
16932169689Skan	* c-lex.c (interpret_integer, lex_charconst): Likewise.
16933169689Skan	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
16934169689Skan	* c-pretty-print.c (pp_c_integer_constant): Likewise.
16935169689Skan	* c-typeck.c (really_start_incremental_init, push_init_level,
16936169689Skan	set_nonincremental_init_from_string): Likewise.
16937169689Skan	* calls.c (load_register_parameters): Likewise.
16938169689Skan	convert.c (convert_to_pointer): Likewise.
16939169689Skan	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
16940169689Skan	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
16941169689Skan	build_gcov_info): Likewise.
16942169689Skan	* except.c (init_eh, assign_filter_values): Likewise.
16943169689Skan	* expmed.c (store_fixed_bit_field, extract_bit_field,
16944169689Skan	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
16945169689Skan	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
16946169689Skan	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
16947169689Skan	* expr.c (convert_move, emit_group_load, emit_group_store,
16948169689Skan	expand_assignment, store_constructor, store_field,
16949169689Skan	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
16950169689Skan	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
16951169689Skan	invert_truthvalue, optimize_bit_field_compare,
16952169689Skan	decode_field_reference, all_ones_mask_p, constant_boolean_node,
16953169689Skan	fold_div_compare, fold, fold_read_from_constant_string,
16954169689Skan	fold_negate_const, fold_abs_const, fold_not_const, round_up,
16955169689Skan	round_down): Likewise.
16956169689Skan	* function.c (assign_parm_setup_block): Likewise.
16957169689Skan	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
16958169689Skan	Likewise.
16959169689Skan	* stor-layout.c (layout_type, initialize_sizetypes,
16960169689Skan	set_min_and_max_values_for_integral_type): Likewise.
16961169689Skan	* tree-chrec.c (chrec_fold_multiply_poly_poly,
16962169689Skan	reset_evolution_in_loop): Likewise.
16963169689Skan	* tree-chrec.h (build_polynomial_chrec): Likewise.
16964169689Skan	* tree-complex.c (build_replicated_const): Likewise.
16965169689Skan	* tree-eh.c (honor_protect_cleanup_actions,
16966169689Skan	lower_try_finally_onedest, lower_try_finally_copy,
16967169689Skan	lower_try_finally_switch): Likewise.
16968169689Skan	* tree-mudflap.c (mf_build_string, mx_register_decls,
16969169689Skan	mudflap_register_call, mudflap_enqueue_constant): Likewise.
16970169689Skan	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
16971169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
16972169689Skan	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
16973169689Skan	Likewise.
16974169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
16975169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond,
16976169689Skan	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
16977169689Skan	Likewise.
16978169689Skan	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
16979169689Skan	canonicalize_loop_induction_variables): Likewise.
16980169689Skan	* tree-vectorizer.c (vect_create_index_for_array_ref,
16981169689Skan	vect_transform_loop_bound, vect_compute_data_ref_alignment):
16982169689Skan	Likewise.
16983169689Skan
16984169689Skan	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
16985169689Skan	alpha_gimplify_va_arg_1): Likewise.
16986169689Skan	* config/arm/arm.c (arm_get_cookie_size): Likewise.
16987169689Skan	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
16988169689Skan	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
16989169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
16990169689Skan	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
16991169689Skan	mips_gimplify_va_arg_expr): Likewise.
16992169689Skan	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
16993169689Skan	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
16994169689Skan	add_compiler_branch_island): Likewise.
16995169689Skan	* config/s390/s390.c (s390_va_start): Likewise.
16996169689Skan	* config/sh/sh.c (sh_va_start): Likewise.
16997169689Skan	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
16998169689Skan	Likewise.
16999169689Skan	* config/xtensa/xtensa.c (xtensa_va_start,
17000169689Skan	xtensa_gimplify_va_arg_expr): Likewise.
17001169689Skan
17002169689Skan	* objc/objc-act.c (build_objc_string_object,
17003169689Skan	build_objc_symtab_template, init_def_list, init_objc_symtab,
17004169689Skan	init_module_descriptor, generate_static_references,
17005169689Skan	build_selector_translation_table, get_proto_encoding,
17006169689Skan	build_typed_selector_reference, build_selector_reference,
17007169689Skan	build_next_objc_exception_stuff,
17008169689Skan	build_method_prototype_list_template, generate_descriptor_table,
17009169689Skan	generate_protocols, build_protocol_initializer,
17010169689Skan	build_ivar_list_template, build_method_list_template,
17011169689Skan	build_ivar_list_initializer, generate_ivars_list,
17012169689Skan	generate_dispatch_table, generate_protocol_list,
17013169689Skan	build_category_initializer, build_shared_structure_initializer,
17014169689Skan	generate_shared_structures, handle_impent,
17015169689Skan	generate_objc_image_info): Likewise.
17016169689Skan
17017169689Skan2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
17018169689Skan
17019169689Skan	* cfglayout.c (duplicate_insn_chain): Remove references to
17020169689Skan	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
17021169689Skan	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
17022169689Skan	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
17023169689Skan	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
17024169689Skan	and NOTE_INSN_LOOP_CONT.
17025169689Skan	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
17026169689Skan	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
17027169689Skan	and NOTE_INSN_LOOP_CONT.
17028169689Skan	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
17029169689Skan	check_dbra_loop, loop_dump_aux): Remove references to removed notes
17030169689Skan	and fields.
17031169689Skan	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
17032169689Skan	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
17033169689Skan	references to removed notes and fields.
17034169689Skan	(subtract_reg_term, ujump_to_loop_cont): Remove.
17035169689Skan
17036169689Skan2004-08-25  Paolo Bonzini  <bonzini@gnu.org>
17037169689Skan
17038169689Skan	* doc/install.texi: Document that libcpp does not require
17039169689Skan	Automake any longer.  Document that Automake 1.9.1 should
17040169689Skan	work everywhere.
17041169689Skan
17042169689Skan2004-08-25  Zack Weinberg  <zack@codesourcery.com>
17043169689Skan
17044169689Skan	* flags.h (enum debug_info_type): Remove DWARF_DEBUG.
17045169689Skan	* defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
17046169689Skan	DWARF_DEBUGGING_INFO from choice-of-definition chain;
17047169689Skan	restructure using C89 features (#elif, #error).
17048169689Skan	* c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
17049169689Skan	* config/sh/sh.h: Remove references to DWARF_DEBUG.
17050169689Skan	* doc/invoke.texi: Remove references to DWARF version 1;
17051169689Skan	clarify why -gdwarf-2<n> doesn't work.
17052169689Skan
17053169689Skan2004-08-25  Zack Weinberg  <zack@codesourcery.com>
17054169689Skan
17055169689Skan	* basic-block.h (BB_SET_PARTITION): Clear old value first.
17056169689Skan	* cfg.c (clear_bb_flags): Don't clear partition setting.
17057169689Skan	* ifcvt.c (find_if_case_1): Remove ??? comment.
17058169689Skan
17059169689Skan2004-08-25  Alan Modra  <amodra@bigpond.net.au>
17060169689Skan
17061169689Skan	PR target/17052
17062169689Skan	* config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
17063169689Skan	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
17064169689Skan	current_function_stdarg in place of sysv_varargs_p.
17065169689Skan	* config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
17066169689Skan	sysv_varargs_p.
17067169689Skan
17068169689Skan2004-08-24  Richard Henderson  <rth@redhat.com>
17069169689Skan
17070169689Skan	PR target/16298
17071169689Skan	* config/i386/i386.c (legitimate_constant_p): Rework to not accept
17072169689Skan	random codes within CONST.
17073169689Skan
17074169689Skan2004-08-24  James E Wilson  <wilson@specifixinc.com>
17075169689Skan
17076169689Skan	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
17077169689Skan	-freorder-blocks-and-partition.
17078169689Skan
17079169689Skan2004-08-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17080169689Skan
17081169689Skan	PR middle-end/17044
17082169689Skan	* tree-ssa-threadupdate.c (redirection_data): Make static.
17083169689Skan	(thread_block): Use ggc_alloc_cleared to allocate struct
17084169689Skan	redirection_data.  Don't free elements in redirection_data.
17085169689Skan
17086169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17087169689Skan
17088169689Skan	* config/mips/predicates.md (small_data_pattern): Match prefetches.
17089169689Skan
17090169689Skan2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17091169689Skan
17092169689Skan	PR tree-optimization/17016
17093169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond,
17094169689Skan	number_of_iterations_exit): Use POINTER_TYPE_P instead
17095169689Skan	of testing for POINTER_TYPE.
17096169689Skan
17097169689Skan2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17098169689Skan
17099169689Skan	* tree-ssa-loop-ivcanon.c: New file.
17100169689Skan	* tree-ssa-loop-manip.c (create_iv): New function.
17101169689Skan	* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
17102169689Skan	(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
17103169689Skan	* cfgloop.c (mark_single_exit_loops): New function.
17104169689Skan	(verify_loop_structure): Verify single-exit loops.
17105169689Skan	* cfgloop.h (struct loop): Add single_exit field.
17106169689Skan	(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
17107169689Skan	(mark_single_exit_loops): Declare.
17108169689Skan	(tree_num_loop_insns): Declare.
17109169689Skan	* cfgloopmanip.c (update_single_exits_after_duplication): New function.
17110169689Skan	(duplicate_loop_to_header_edge): Use it.
17111169689Skan	* common.opt (fivcanon): New flag.
17112169689Skan	* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
17113169689Skan	* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
17114169689Skan	(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
17115169689Skan	(bsi_insert_on_edge_immediate): New function.
17116169689Skan	* tree-flow.h (bsi_insert_on_edge_immediate,
17117169689Skan	canonicalize_induction_variables, tree_unroll_loops_completely,
17118169689Skan	create_iv): Declare.
17119169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add
17120169689Skan	pass_iv_canon and pass_complete_unroll.
17121169689Skan	* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
17122169689Skan	* tree-scalar-evolution.c (get_loop_exit_condition,
17123169689Skan	get_exit_conditions_rec, number_of_iterations_in_loop,
17124169689Skan	scev_initialize): Use single_exit information.
17125169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
17126169689Skan	missing assumptions.
17127169689Skan	(loop_niter_by_eval): Return number of iterations as unsigned
17128169689Skan	int.
17129169689Skan	* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
17130169689Skan	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
17131169689Skan	tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
17132169689Skan	New passes.
17133169689Skan	(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
17134169689Skan	* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
17135169689Skan	the defining statement is ready.
17136169689Skan	* tree-vectorizer.c (vect_create_iv_simple): Removed.
17137169689Skan	(vect_create_index_for_array_ref, vect_transform_loop_bound):
17138169689Skan	Use create_iv.
17139169689Skan	(vect_transform_loop_bound): Use single_exit information.
17140169689Skan	(vect_analyze_loop_form): Cleanup bogus tests.
17141169689Skan	(vectorize_loops): Do not call flow_loop_scan.
17142169689Skan	* tree.h (may_negate_without_overflow_p): Declare.
17143169689Skan	* fold-const.c (may_negate_without_overflow_p): Split out from ...
17144169689Skan	(negate_expr_p): ... this function.
17145169689Skan	(tree_expr_nonzero_p): Handle overflowed constants correctly.
17146169689Skan	* doc/invoke.texi (-fivcanon): Document.
17147169689Skan	* doc/passes.texi: Document canonical induction variable creation.
17148169689Skan
17149169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17150169689Skan
17151169689Skan	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
17152169689Skan	* config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
17153169689Skan	using the mode of the operand to decide between them.
17154169689Skan	* config/mips/mips.md (MOVECC): New mode macro.
17155169689Skan	(ccreg): New mode attribute.
17156169689Skan	(*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
17157169689Skan	Redefine using :GPR and :MOVECC.  Use %T and %t for the condition.
17158169689Skan	(mov[sd]icc): Redefine using :GPR.
17159169689Skan
17160169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17161169689Skan
17162169689Skan	* config/mips/mips-protos.h (mips_emit_prefetch): Delete.
17163169689Skan	(mips_prefetch_cookie): New function.
17164169689Skan	* config/mips/mips.c (print_operand_address): Fix handling of
17165169689Skan	ADDRESS_CONST_INT.
17166169689Skan	(mips_emit_prefetch): Delete.
17167169689Skan	(mips_prefetch_cookie): New function.
17168169689Skan	* config/mips/mips.md (prefetch): Turn into a define_insn.  Use a
17169169689Skan	mode of QImode for the address_operand.  Use mips_prefetch_cookie
17170169689Skan	to calculate the first "pref" operand.
17171169689Skan	(prefetch_[sd]i, prefetch_[sd]i_address): Delete.
17172169689Skan	(prefetch_indexed_[sd]i): Redefine using :P.  Use mips_prefetch_cookie.
17173169689Skan
17174169689Skan2004-08-24  Richard Earnshaw  <rearnsha@arm.com>
17175169689Skan
17176169689Skan	* arm.md: Include predicates.md.
17177169689Skan	* predicates.md: New file.
17178169689Skan	* arm.c (s_register_operand, arm_hard_register_operand)
17179169689Skan	(arm_general_register_operand, f_register_operand, reg_or_int_operand)
17180169689Skan	(arm_immediate_operand, arm_neg_immediate_operand)
17181169689Skan	(arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
17182169689Skan	(arm_add_operand, arm_addimm_operand, arm_not_operand)
17183169689Skan	(offsettable_memory_operand, alignable_memory_operand)
17184169689Skan	(arm_reload_memory_operand, arm_float_rhs_operand)
17185169689Skan	(arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
17186169689Skan	(index_operand, shiftable_operator, logical_binary_operator)
17187169689Skan	(shift_operator, equality_operator, arm_comparison_operator)
17188169689Skan	(minmax_operator, cc_register, dominant_cc_register)
17189169689Skan	(arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
17190169689Skan	(di_operand, nonimmediate_soft_df_operand, soft_df_operand)
17191169689Skan	(const_shift_operand, load_multiple_operation)
17192169689Skan	(store_multiple_operation, multi_register_push, thumb_cmp_operand)
17193169689Skan	(thumb_cmpneg_operand, thumb_cbrch_target_operand)
17194169689Skan	(cirrus_register_operand, cirrus_fp_register)
17195169689Skan	(cirrus_shift_const): Delete, replaced with equivalents in
17196169689Skan	predicates.md.
17197169689Skan	(shift_op): Handle ROTATE.
17198169689Skan	* arm-protos.h: Delete declarations for above.
17199169689Skan	* arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
17200169689Skan	* t-arm (MD_INCLUDES): Add predicates.md.
17201169689Skan	(s-preds): Depends on MD_INCLUDES.
17202169689Skan
17203169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17204169689Skan
17205169689Skan	* config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
17206169689Skan	* config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
17207169689Skan	patterns.  Redefine using :GPR.  Give the match_operator a mode.
17208169689Skan	Use '%2' rather than '%z2' for operand 2.
17209169689Skan
17210169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17211169689Skan
17212169689Skan	* config/mips/mips.md (load_call[sd]i): Redefine using :P.  Add mode
17213169689Skan	attribute.
17214169689Skan
17215169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17216169689Skan
17217169689Skan	* config/mips/mips.md (indirect_jump): Use force_reg.  Adjust names
17218169689Skan	of internal patterns.
17219169689Skan	(indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
17220169689Skan	Redefine using :P.
17221169689Skan	(tablejump): Use expand_binop to calculate address.  Adjust names
17222169689Skan	of internal patterns.
17223169689Skan	(tablejump[sd]i): Renamed from tablejump_internal[12].
17224169689Skan	Redefine using :P.
17225169689Skan	(tablejump_mips16[12]): Delete.
17226169689Skan
17227169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17228169689Skan
17229169689Skan	* config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
17230169689Skan	(*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
17231169689Skan	(*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
17232169689Skan	(*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
17233169689Skan	(*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
17234169689Skan
17235169689Skan2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
17236169689Skan
17237169689Skan	* config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
17238169689Skan	(*branch_zero[sd]i): Renamed from branch_zero{,_di}.  Redefine
17239169689Skan	using :GPR.
17240169689Skan	(*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
17241169689Skan	(*branch_equality[sd]i): Likewise branch_equality{,_di}.
17242169689Skan	(*branch_equality[sd]i_inverted): Likewise
17243169689Skan	branch_equality{,_di}_inverted.
17244169689Skan	(*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
17245169689Skan	Redefine using :GPR.
17246169689Skan
17247169689Skan2004-08-24  Zack Weinberg  <zack@codesourcery.com>
17248169689Skan
17249169689Skan	* rtl.def: Reorganize, placing all codes used only in machine
17250169689Skan	descriptions at the end.
17251169689Skan
17252169689Skan	* rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
17253169689Skan	* gengtype.c: Don't include rtl.h.  Define enum rtx_code and
17254169689Skan	rtx_name, rtx_format arrays by direct reference to rtl.def,
17255169689Skan	first undefining GENERATOR_FILE.  Define enum insn_note and
17256169689Skan	note_insn_name array by direct reference to insn-notes.def.
17257169689Skan	(adjust_field_rtx_def): Remove local definition of rtx_name.
17258169689Skan	Use symbolic names for insn notes.
17259169689Skan	* Makefile.in (gengtype.o): Update dependencies.
17260169689Skan
17261169689Skan2004-08-24  Zack Weinberg  <zack@codesourcery.com>
17262169689Skan
17263169689Skan	* basic-block.h (struct basic_block_def): Reorder fields to
17264169689Skan	eliminate interior padding.  Remove 'partition' field.
17265169689Skan	(BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
17266169689Skan	(BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
17267169689Skan	(BB_COPY_PARTITION): New macros.
17268169689Skan	* bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
17269169689Skan	Replace all references to the 'partition' field of a basic
17270169689Skan	block with new macros.
17271169689Skan
17272169689Skan	* insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
17273169689Skan	* final.c (final_scan_insn): Don't handle it.
17274169689Skan	* modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
17275169689Skan	instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
17276169689Skan	* sched-rgn.c (sched_is_disabled_for_current_region_p):
17277169689Skan	Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
17278169689Skan
17279169689Skan2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
17280169689Skan
17281169689Skan	* c-decl.c (c_init_decl_processing): Adjust
17282169689Skan	build_common_tree_nodes call.
17283169689Skan	* expmed.c (const_mult_add_overflow_p): Use
17284169689Skan	build_distinct_type_copy.
17285169689Skan	* stor-layout.c (early_type_list): Remove.
17286169689Skan	(layout_type): Don't append to early_type_list.
17287169689Skan	(initialize_sizetypes): Add signed_p argument.
17288169689Skan	(set_sizetype): Overwrite the stub type nodes directly.
17289169689Skan	* tree.c (copy_node_stat): Clear a type's value cache here ...
17290169689Skan	(build_distinct_type): ... not here.
17291169689Skan	(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
17292169689Skan	* tree.h (initialize_sizetypes): Add signed_p argument.
17293169689Skan	(build_common_tree_nodes): Likewise.
17294169689Skan
17295169689Skan	* objc/objc-act.c (get_static_reference): Use
17296169689Skan	build_variant_type_copy.
17297169689Skan	(get_protocol_reference): Likewise.
17298169689Skan	* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
17299169689Skan
17300169689Skan2004-08-24  Richard Henderson  <rth@redhat.com>
17301169689Skan	    Andrew Pinski  <apinski@apple.com>
17302169689Skan
17303169689Skan	* gimplify.c (gimplify_array_ref_to_plus): Delete.
17304169689Skan	(gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
17305169689Skan	for ARRAY_REF.
17306169689Skan
17307169689Skan	* config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
17308169689Skan	ARRAY_REF also to get to the STRING_CST.
17309169689Skan
17310169689Skan2004-08-24  Paul Brook  <paul@codesourcery.com>
17311169689Skan
17312169689Skan	* config/arm/arm.c (arm_override_options): Update error message.
17313169689Skan	* config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
17314169689Skan	TARGET_HARD_FLOAT_ABI.
17315169689Skan	(TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
17316169689Skan	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
17317169689Skan
17318169689Skan2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
17319169689Skan
17320169689Skan	PR target/17093
17321169689Skan	* config/m32r.md (movsi_sda): Add SI mode specification to
17322169689Skan	UNSPEC.
17323169689Skan
17324169689Skan2004-08-24  Nick Clifton  <nickc@redhat.com>
17325169689Skan
17326169689Skan	* config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
17327169689Skan	of seth_add3_operand.
17328169689Skan
17329169689Skan2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
17330169689Skan
17331169689Skan	* Makefile.in (PROTO_OBJS): Add errors.o.
17332169689Skan	* protoize.c (fancy_abort): Remove.
17333169689Skan	* mips-tfile.c (fancy_abort): Add parameters.
17334169689Skan
17335169689Skan2004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
17336169689Skan
17337169689Skan	* doc/trouble.texi (C++ misunderstandings): Fix example code.
17338169689Skan
17339169689Skan2004-08-24  Andreas Tobler  <a.tobler@schweiz.ch>
17340169689Skan
17341169689Skan	* Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
17342169689Skan	(host-default.o): Add dependency on HOOKS_H.
17343169689Skan	* config/x-linux: Likewise.
17344169689Skan	* config/x-solaris: Likewise.
17345169689Skan	* config/i386/x-mingw32: Likewise.
17346169689Skan	* config/rs6000/x-darwin: Likewise.
17347169689Skan
17348169689Skan2004-08-23  James E Wilson  <wilson@specifixinc.com>
17349169689Skan
17350169689Skan	* reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
17351169689Skan	DEF_REG_NOTE.
17352169689Skan
17353169689Skan2004-08-23  Mark Mitchell  <mark@codesourcery.com>
17354169689Skan
17355169689Skan	PR c/14492
17356169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Robustify.
17357169689Skan
17358169689Skan2004-08-23  Diego Novillo  <dnovillo@redhat.com>
17359169689Skan
17360169689Skan	* cfg.c (check_bb_profile): Fix typos.
17361169689Skan	* function.c (assign_parm_is_stack_parm): Likewise.
17362169689Skan	* tree-nested.c: Likewise.
17363169689Skan
17364169689Skan2004-08-23  Daniel Jacobowitz  <dan@debian.org>
17365169689Skan
17366169689Skan	* ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
17367169689Skan	Remove TYPECODE.
17368169689Skan	(ggc_alloc_zone_1): Mark TYPE as unused.  Don't save it in the chunk.
17369169689Skan
17370169689Skan2004-08-23  Eric Christopher  <echristo@redhat.com>
17371169689Skan
17372169689Skan	* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
17373169689Skan	* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
17374169689Skan	* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
17375169689Skan	* target.h: Ditto.
17376169689Skan	* hooks.h: Include machmode.h.
17377169689Skan	(hook_bool_mode_false): Declare.
17378169689Skan	* hooks.c (hook_bool_mode_false): Define.
17379169689Skan	* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
17380169689Skan	* stor-layout.c (layout_type): Ditto.
17381169689Skan	* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
17382169689Skan	Define to target macro.
17383169689Skan	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
17384169689Skan	* config/arm/arm.c: Ditto. Use.
17385169689Skan	* config/arm/arm.h: Ditto.
17386169689Skan	* config/arm/arm-protos.h: Ditto.
17387169689Skan	* config/i386/i386.c: Ditto.
17388169689Skan	* config/i386/i386.h: Ditto.
17389169689Skan	* config/rs6000/rs6000.c: Ditto.
17390169689Skan	* config/rs6000/rs6000.h: Ditto.
17391169689Skan	* config/sh/sh.c: Ditto.
17392169689Skan	* config/sh/sh.h: Ditto.
17393169689Skan	* config/sh/sh-protos.h: Ditto.
17394169689Skan	* config/sh/sh.md: Use.
17395169689Skan	* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
17396169689Skan	to TARGET_VECTOR_MODE_SUPPORTED_P.
17397169689Skan
17398169689Skan2004-08-23  Nathan Sidwell  <nathan@codesourcery.com>
17399169689Skan
17400169689Skan	* Makefile.in (BUILD_ERRORS): Set to build-errors.
17401169689Skan	(errors.o): New target for host.
17402169689Skan	(build-errors.o): New target for build.
17403169689Skan	(genobjs): Replace errors.o with build-errors.
17404169689Skan	(gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
17405169689Skan	(GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
17406169689Skan	(fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
17407169689Skan	(fix-header.o): Add errors.h
17408169689Skan	* collect2.c (fancy_abort): Add parameters.
17409169689Skan	* collect2.h (fancy_abort): Don't declare.
17410169689Skan	* errors.h (fancy_abort): Don't declare.
17411169689Skan	* errors.c: Include either bconfig.h or config.h.
17412169689Skan	(fancy_abort): Trim filename.
17413169689Skan	* fix-header.c (v_fatal, fatal): Remove.
17414169689Skan	(progname): Remove definition.
17415169689Skan	(main): Set progname here.
17416169689Skan	* gcc.c (fancy_abort): Add parameters.
17417169689Skan	* gcc.h (fancy_abort): Remove declaration.
17418169689Skan	* gcov.c (fancy_abort): Remove.
17419169689Skan	* rtl.h (fancy_abort): Don't declare.
17420169689Skan	(abort): Don't define.
17421169689Skan	* tree.h (fancy_abort): Don't declare.
17422169689Skan	(abort): Don't define.
17423169689Skan	* system.h (fancy_abort): Declare.
17424169689Skan	(abort): Define to fancy_abort.
17425169689Skan	* fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
17426169689Skan
17427169689Skan	* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
17428169689Skan	(usize_type, ubitsizetype): Remove.
17429169689Skan	* stor-layout.c (set_sizetype): Don't initialize usizetype,
17430169689Skan	ubitsizetype.
17431169689Skan	* fold-const.c (size_diffop): TYPE can never be ubitsizetype.
17432169689Skan
17433169689Skan	* tree.h (build_distinct_type_copy): New.
17434169689Skan	(build_type_copy): ... here.  Rename to ...
17435169689Skan	(build_variant_type_copy): ... here.
17436169689Skan	* tree.c (build_qualified_type): Rename build_type_copy call.
17437169689Skan	(build_distinct_type_copy): New, broken out of ...
17438169689Skan	(build_type_copy): ... here.  Rename to ...
17439169689Skan	(build_variant_type_copy): ... here.  Use
17440169689Skan	build_distinct_type_copy.
17441169689Skan	(build_common_tree_nodes_2): Rename build_type_copy call.
17442169689Skan	* c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
17443169689Skan	call.
17444169689Skan	(handle_packed_attribute, handle_unused_attribute,
17445169689Skan	handle_transparanet_union_attribute, handle_aligned_attribute,
17446169689Skan	handle_deprecated_attribute): Likewise.
17447169689Skan	* c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
17448169689Skan	Likewise.
17449169689Skan	* config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
17450169689Skan	* config/rs6000/rs6000.c (rs6000_init_builtins): Use
17451169689Skan	build_distinct_type_copy.
17452169689Skan
17453169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17454169689Skan
17455169689Skan	* config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR.  Add mode
17456169689Skan	attribute.
17457169689Skan
17458169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17459169689Skan
17460169689Skan	* config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
17461169689Skan	loads and stores.
17462169689Skan	(*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
17463169689Skan	formerly unnamed patterns.  Redefine using :P for the address.  Remove
17464169689Skan	explicit length attributes.
17465169689Skan
17466169689Skan2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17467169689Skan
17468169689Skan	* tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
17469169689Skan	New functions.
17470169689Skan	(single_reachable_address): Use them.
17471169689Skan	(schedule_sm): Add dump.
17472169689Skan	(is_call_clobbered_ref): New function.
17473169689Skan	(determine_lsm_reg): Check whether the reference is call clobbered.
17474169689Skan	Only work for gimple_reg_type values.
17475169689Skan
17476169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17477169689Skan
17478169689Skan	* config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
17479169689Skan	$31 store insns.  Redefine using :GPR.
17480169689Skan
17481169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17482169689Skan
17483169689Skan	* config/mips/mips.md (P): New mode macro.
17484169689Skan	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
17485169689Skan	(*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
17486169689Skan	Add mode attributes.
17487169689Skan
17488169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17489169689Skan
17490169689Skan	* config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
17491169689Skan	(UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants.  Shuffle
17492169689Skan	later constants to cover the gap.
17493169689Skan	(load, store): New mode attributes.
17494169689Skan	(mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
17495169689Skan	Use new unspec constants.
17496169689Skan
17497169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17498169689Skan
17499169689Skan	* config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
17500169689Skan	(and[sd]3, ior[sd]i3, xor[sd]i3): Likewise.  Change 32-bit patterns
17501169689Skan	to use register_operand rather than uns_arith_operand as the predicate
17502169689Skan	for operand 1.  Remove redundant MIPS16 force_reg() for operand 1.
17503169689Skan	(*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
17504169689Skan	Redefine using :GPR.  Make same predicate change here.  Extend the
17505169689Skan	commutativity of operands 1 and 2 from the SImode version to the
17506169689Skan	DImode one.
17507169689Skan	(*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
17508169689Skan	but with no predicate changes.
17509169689Skan	(*nor[sd]i3): Redefine using :GPR.
17510169689Skan
17511169689Skan2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17512169689Skan
17513169689Skan	* tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
17514169689Skan	noreturn functions.
17515169689Skan
17516169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17517169689Skan
17518169689Skan	* config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
17519169689Skan	* config/mips/mips.md (abs[sd]i2): Redefine using :GPR.  Only use
17520169689Skan	branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY.  Use "%."
17521169689Skan	rather than "%z2" (with a fake const0_rtx for operand 2).
17522169689Skan	(ffs[sd]i2): Redefine using :GPR.
17523169689Skan	(clz[sd]i2): Likewise.  Use ISA_HAS_CLO_CLZ for the 64-bit case.
17524169689Skan
17525169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17526169689Skan
17527169689Skan	* config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
17528169689Skan
17529169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17530169689Skan
17531169689Skan	* config/mips/mips.md (any_extend): New code macro.
17532169689Skan	(u, su): New code attributes.
17533169689Skan	({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
17534169689Skan	({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
17535169689Skan	({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
17536169689Skan	(*{s,u}mul_acc_di): Redefine using any_extend.
17537169689Skan	(*{,u}muls_di, *{s,u}msac_di): Likewise.  Change names of patterns
17538169689Skan	to reflect real insn names.
17539169689Skan	(*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
17540169689Skan	with an any_extend template.
17541169689Skan	({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
17542169689Skan	Add '*' to name.
17543169689Skan
17544169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17545169689Skan
17546169689Skan	* config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
17547169689Skan	* config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
17548169689Skan	(mul[sd]i3_r4000): Redefine using :GPR.
17549169689Skan	(mulsi3_mult3): Don't check TARGET_MAD separately.
17550169689Skan	(muldi3_mult3): Moved after mulsi_mult3.
17551169689Skan
17552169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17553169689Skan
17554169689Skan	* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
17555169689Skan	OBJECT_FORMAT_ELF.  Set MASK_SPLIT_ADDR by default if using GNU ld.
17556169689Skan	* config/mips/mips.h (MASK_GAS): Delete.  Shuffle later masks down.
17557169689Skan	(TARGET_GAS, TARGET_MIPS_AS): Delete.
17558169689Skan	(TARGET_GPWORD): Define to true for n32 on IRIX.
17559169689Skan	(TARGET_SWITCHES): Remove -mmips-as.  Turn -mgas into a no-op.
17560169689Skan	(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
17561169689Skan	(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
17562169689Skan	(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
17563169689Skan	(MDEBUG_ASM_SPEC): Delete, folding into...
17564169689Skan	(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
17565169689Skan	(ASM_SPEC): Inline old GAS_ASM_SPEC.  Use GNU names for ABI switches.
17566169689Skan	(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
17567169689Skan	subtarget_mips_as_asm_spec, mdebug_asm_spec.  Use MULTILIB_ABI_DEFAULT
17568169689Skan	to define asm_abi_default_spec.
17569169689Skan	(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
17570169689Skan	(TARGET_ASM_SELECT_SECTION): Delete.
17571169689Skan	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
17572169689Skan	for non-mips16 code, removing previous workaround for SGI assemblers.
17573169689Skan	(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
17574169689Skan	(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
17575169689Skan	(override_options): Remove !TARGET_GAS and !have_named_sections code.
17576169689Skan	(print_operand): Fold TARGET_GAS conditionals into asm strings.
17577169689Skan	(mips_output_filename): Remove !TARGET_GAS code.  Replace use of
17578169689Skan	ASM_STABS_OP and ASM_STABN_OP.
17579169689Skan	(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
17580169689Skan	(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
17581169689Skan	(mips_output_function_prologue): Remove !TARGET_GAS code.
17582169689Skan	(mips_select_rtx_section): Remove !have_named_sections code.
17583169689Skan	(mips_select_section): Delete.
17584169689Skan	* config/mips/mips.md (trap): Remove !TARGET_GAS check.
17585169689Skan	* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
17586169689Skan	* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
17587169689Skan	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
17588169689Skan	* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
17589169689Skan	* config/mips/windiss.h (ASM_SPEC): Likewise.
17590169689Skan
17591169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17592169689Skan
17593169689Skan	* read-rtl.c (map_value, mapping, macro_group): New structures.
17594169689Skan	(BELLWETHER_CODE): New macro.
17595169689Skan	(modes, codes, bellwether_codes): New variables.
17596169689Skan	(find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
17597169689Skan	(uses_code_macro_p, apply_code_macro, apply_macro_to_string)
17598169689Skan	(apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
17599169689Skan	(add_condition_to_rtx, apply_macro_traverse, add_mapping)
17600169689Skan	(add_map_value, initialize_macros): New functions.
17601169689Skan	(def_hash, def_hash_eq_p): Generalize to anything that points to,
17602169689Skan	or starts with, a char * field.
17603169689Skan	(find_macro, read_mapping, check_code_macro): New functions.
17604169689Skan	(read_rtx_1): New, split out from read_rtx.  Handle the new
17605169689Skan	define_{mode,code}_{macro,attr} constructs.  Use find_macro
17606169689Skan	to parse the name of a code or mode.  Use BELLWETHER_CODE to
17607169689Skan	extract the format and to choose a suitable code for rtx_alloc.
17608169689Skan	Modify recursive invocations to use read_rtx_1.
17609169689Skan	(read_rtx): Call initialize_macros.  Apply code and mode macros
17610169689Skan	to the rtx returned by read_rtx_1.  Cache everything after the
17611169689Skan	first macro expansion for subsequent read_rtx calls.
17612169689Skan	* doc/md.texi: Document new .md constructs.
17613169689Skan	* config/mips/mips.md (GPR): New mode macro.
17614169689Skan	(d, si8_di5): New mode attributes.
17615169689Skan	(any_cond): New code macro.
17616169689Skan	(add[sd]i3): Redefine using :GPR.
17617169689Skan	(*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
17618169689Skan	(*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
17619169689Skan	previously unnamed MIPS16 patterns.
17620169689Skan	(*addsi3_extended): Renamed from addsi3_internal_2.  Fix overly long
17621169689Skan	lines.  Don't match (plus (const_int 0) ...).
17622169689Skan	(*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
17623169689Skan	Use a define_split to generate the addition.
17624169689Skan	(sub[sd]i3): Redefine using :GPR.  Turn subsi3 into a define_insn.
17625169689Skan	(subsi3_internal): Delete.
17626169689Skan	(*subsi3_extended): Renamed from subsi3_internal_2.
17627169689Skan	(bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
17628169689Skan	(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
17629169689Skan	using an any_cond template.
17630169689Skan
17631169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17632169689Skan
17633169689Skan	* read-rtl.c (read_rtx): Tidy use of format_ptr.
17634169689Skan
17635169689Skan2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
17636169689Skan
17637169689Skan	* read-rtl.c (string_obstack): New file-scope variable.
17638169689Skan	(read_string, read_quoted_string, read_braced_string)
17639169689Skan	(read_escape): Remove obstack parameter and use string_obstack instead.
17640169689Skan	(read_rtx): Remove function-local rtl_obstack and initialize
17641169689Skan	string_obstack instead.  Update call to read_string.
17642169689Skan
17643169689Skan2004-08-22  Andrew Pinski  <apinski@apple.com>
17644169689Skan
17645169689Skan	PR c/15262
17646169689Skan	* c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
17647169689Skan	expression is not constant.
17648169689Skan	(c_finish_return): Do not go through INDIRECT_REF when looking
17649169689Skan	for the inner expression of an ADDR_EXPR for warning about.
17650169689Skan
17651169689Skan2004-08-22  Richard Henderson  <rth@redhat.com>
17652169689Skan
17653169689Skan	PR 17075
17654169689Skan	* cfgexpand.c (expand_gimple_tailcall): Detect when we can both
17655169689Skan	create new blocks and fall through.
17656169689Skan	(expand_gimple_basic_block): Update to match.
17657169689Skan
17658169689Skan2004-08-22  Ulrich Weigand  <uweigand@de.ibm.com>
17659169689Skan
17660169689Skan	* reload.c (find_reloads_address): Make return value tri-state.
17661169689Skan	Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
17662169689Skan	(find_reloads): Assume that reloaded addresses match 'o' or
17663169689Skan	EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
17664169689Skan	returned 1 (not -1).  Omit optional reloads for address operands
17665169689Skan	only if find_reloads_address returned 1 (not -1).
17666169689Skan
17667169689Skan	* config/s390/s390.c (legitimize_reload_address): New function.
17668169689Skan	* config/s390/s390-protos.h (legitimize_reload_address): Declare.
17669169689Skan	* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define.  Call
17670169689Skan	legitimize_reload_address.
17671169689Skan
17672169689Skan2004-08-22  Richard Hendersion  <rth@redhat.com>
17673169689Skan
17674169689Skan	* tree.h (SAVE_EXPR_RESOLVED_P): New.
17675169689Skan	* gimplify.c (gimplify_save_expr): Use it.
17676169689Skan	* expr.c (expand_expr_real_1): Likewise.  Also set DECL_IGNORED_P
17677169689Skan	on the temporary variable.
17678169689Skan
17679169689Skan2004-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
17680169689Skan
17681169689Skan	* fold-const.c (rtl_expr_nonnegative_p): Delete.
17682169689Skan	* tree.h (rtl_expr_nonnegative_p): Remove.
17683169689Skan
17684169689Skan2004-08-22  Steven Bosscher  <stevenb@suse.de>
17685169689Skan
17686169689Skan	* config/i386/ppro.md (ppro_complex_insn): Add missing check
17687169689Skan	for cpu==pentiumpro.
17688169689Skan
17689169689Skan	* combine.c (struct reg_stat): Fix comment typo.
17690169689Skan
17691169689Skan2004-08-22  Joseph S. Myers  <jsm@polyomino.org.uk>
17692169689Skan
17693169689Skan	* c-tree.h (c_sizeof_nowarn): Remove.
17694169689Skan
17695169689Skan2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
17696169689Skan
17697169689Skan	* c-decl.c (set_array_declarator_type): Rename to
17698169689Skan	set_array_declarator_inner.
17699169689Skan	(build_c_parm, build_attrs_declarator, build_function_declarator):
17700169689Skan	New functions.
17701169689Skan	(make_pointer_declarator): Call build_attrs_declarator.
17702169689Skan	* c-tree.h (set_array_declarator_type): Rename to
17703169689Skan	set_array_declarator_inner.
17704169689Skan	(build_c_parm, build_attrs_declarator, build_function_declarator):
17705169689Skan	New prototypes.
17706169689Skan	* c-parse.in (after_type_declarator,
17707169689Skan	parm_declarator_starttypename, parm_declarator_nostarttypename,
17708169689Skan	notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
17709169689Skan	firstparm): Use these functions
17710169689Skan
17711169689Skan2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
17712169689Skan
17713169689Skan	* c-decl.c (build_array_declarator, set_array_declarator_type,
17714169689Skan	start_decl, grokdeclarator, grokparms): Change boolean parameters
17715169689Skan	to type bool.
17716169689Skan	* c-tree.h (build_array_declarator, set_array_declarator_type,
17717169689Skan	start_decl): Update prototypes.
17718169689Skan	* c-decl.c, c-parse.in: All callers changed.
17719169689Skan
17720169689Skan2004-08-21  Mike Stump  <mrs@apple.com>
17721169689Skan
17722169689Skan	* config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
17723169689Skan	(darwin_fix_and_continue): Likewise.
17724169689Skan	(darwin_fix_and_continue_switch): Likewise.
17725169689Skan	* config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
17726169689Skan	(darwin_fix_and_continue): Likewise.
17727169689Skan	(darwin_fix_and_continue_switch): Likewise.
17728169689Skan
17729169689Skan2004-08-21  Danny Smith  <dannysmith@users.sourceforge.net>
17730169689Skan
17731169689Skan	PR  c++/16030
17732169689Skan	* config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
17733169689Skan	Remove, merging into ...
17734169689Skan	(gen_stdcall_or_fastcall_suffix): New function, returning tree
17735169689Skan	rather than const char*, and accepting additional parameter.
17736169689Skan	Don't add suffix to '*'-prefixed symbols or variadic functions.
17737169689Skan	(i386_pe_encode_section_info): Adjust for call to new function.
17738169689Skan	Call change_decl_assembler_name.
17739169689Skan
17740169689Skan2004-08-20  Mike Stump  <mrs@apple.com>
17741169689Skan
17742169689Skan	* config/darwin.c (machopic_indirect_data_reference): Mark
17743169689Skan	stubs as defined.
17744169689Skan	* config/386/386.c (darwin_local_data_pic): Add.
17745169689Skan	(legitimate_constant_p): Reorder so that PLUS handling runs
17746169689Skan	before darwin_local_data_pic to match the ordering in
17747169689Skan	legitimate_pic_address_disp_p and so that MINUS runs after
17748169689Skan	darwin_local_data_pic as otherwise the darwin_local_data_pic
17749169689Skan	logic can be skipped, which would be very bad.
17750169689Skan	(legitimate_pic_address_disp_p): Move from from here to
17751169689Skan	darwin_local_data_pic so it can be reused.
17752169689Skan
17753169689Skan2004-08-21  Alan Modra  <amodra@bigpond.net.au>
17754169689Skan
17755169689Skan	* config/rs6000/linux64.h (DOT_SYMBOLS): Define.
17756169689Skan	(CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
17757169689Skan	(ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
17758169689Skan	(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
17759169689Skan	(RS6000_ABI_NAME): Define as "linux".
17760169689Skan	(SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
17761169689Skan	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
17762169689Skan	ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
17763169689Skan	* config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
17764169689Skan	* config/rs6000/rs6000.c (dot_symbols): New global var.
17765169689Skan	(rs6000_output_function_entry): New function, modified for
17766169689Skan	!DOT_SYMBOLS..
17767169689Skan	(print_operand <case 'z'>): ..extracted from here.
17768169689Skan	(rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
17769169689Skan	(rs6000_output_function_epilogue): Likewise.
17770169689Skan	(rs6000_elf_declare_function_name): Likewise.
17771169689Skan	* config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
17772169689Skan	(ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
17773169689Skan	* configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
17774169689Skan	* configure: Regenerate.
17775169689Skan	* config.in: Regenerate.
17776169689Skan
17777169689Skan2004-08-20  Mark Mitchell  <mark@codesourcery.com>
17778169689Skan
17779169689Skan	* reload.c (find_reloads_address): Fix thinko in previous change.
17780169689Skan
17781169689Skan	* reload.c (find_reloads_address): Reload the sum of a LO_SUM and
17782169689Skan	a CONST_INT.
17783169689Skan
17784169689Skan2004-08-20  Jakub Jelinek  <jakub@redhat.com>
17785169689Skan
17786169689Skan	PR rtl-optimization/17099
17787169689Skan	* combine.c (force_to_mode): Check if inner_mask has any bits set
17788169689Skan	outside of GET_MODE (x) instead of op_mode.
17789169689Skan
17790169689Skan2004-08-20  Mark Mitchell  <mark@codesourcery.com>
17791169689Skan
17792169689Skan	* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
17793169689Skan	fragment.
17794169689Skan	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
17795169689Skan	(SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
17796169689Skan	* config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
17797169689Skan	architecture.
17798169689Skan	(SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
17799169689Skan	configurations.
17800169689Skan	* config/arm/t-symbian: New file.
17801169689Skan
17802169689Skan2004-08-20  Andrew Pinski  <apinski@apple.com>
17803169689Skan
17804169689Skan	* regrename.c (kill_value_regno): ANSIfy.
17805169689Skan
17806169689Skan2004-08-20  Dale Johannesen  <dalej@apple.com>
17807169689Skan
17808169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
17809169689Skan
17810169689Skan2004-08-20  Daniel Jacobowitz  <dan@debian.org>
17811169689Skan
17812169689Skan	* regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
17813169689Skan	(kill_value_regno): New function, derived from kill_value.
17814169689Skan	(kill_value): Update.
17815169689Skan	(copyprop_hardreg_forward_1): Update call to kill_value_regno.
17816169689Skan
17817169689Skan2004-08-20  Daniel Berlin  <dberlin@dberlin.org>
17818169689Skan
17819169689Skan	Fix PR tree-optimization/17111
17820169689Skan	* tree-ssa-pre.c (create_value_expr_from): Don't change the types
17821169689Skan	of non-value_handles.
17822169689Skan	(bitmap_set_contains): All constants are in every set.
17823169689Skan
17824169689Skan2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
17825169689Skan
17826169689Skan	* fold-const.c (round_up, round_down): Use build_int_cst.
17827169689Skan	Optimize common case.
17828169689Skan
17829169689Skan2004-08-20  Zack Weinberg  <zack@codesourcery.com>
17830169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17831169689Skan
17832169689Skan	* config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
17833169689Skan	one_only_data_section): Rename to som_readonly_data_section,
17834169689Skan	som_one_only_readonly_data_section and som_one_only_data_section.
17835169689Skan	* config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
17836169689Skan	NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
17837169689Skan	conditional defines.
17838169689Skan	(som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
17839169689Skan	NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
17840169689Skan	string values.
17841169689Skan	(pa_select_section): Use renamed section functions.
17842169689Skan	* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
17843169689Skan	SOM_READONLY_DATA_SECTION_FUNCTION,
17844169689Skan	SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
17845169689Skan	SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
17846169689Skan	Define here ...
17847169689Skan	* config/pa/som.h: ... not here.
17848169689Skan	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
17849169689Skan	ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
17850169689Skan	ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
17851169689Skan	ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
17852169689Skan	(READONLY_DATA_SECTION): Use som_readonly_data_section.
17853169689Skan
17854169689Skan2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
17855169689Skan
17856169689Skan	* fold-const.c (int_const_binop): Don't generate non-overflowing
17857169689Skan	size-types specially.
17858169689Skan	(fold_convert_const): Likewise.
17859169689Skan
17860169689Skan	* stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
17861169689Skan	clear cache on copied sizetype.
17862169689Skan
17863169689Skan2004-08-20  Ben Elliston  <bje@au.ibm.com>
17864169689Skan
17865169689Skan	* configure.ac: Don't escape apostrophe in --enable-coverage help.
17866169689Skan	* configure: Regenerate.
17867169689Skan
17868169689Skan2004-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
17869169689Skan
17870169689Skan	PR 5620
17871169689Skan	* gcc.c (struct stat input_stat): Don't define if
17872169689Skan	HOST_LACKS_INODE_NUMBERS
17873169689Skan	(do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
17874169689Skan	than stat to determine if temp file is same as input file.
17875169689Skan	* doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
17876169689Skan	* config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
17877169689Skan
17878169689Skan2004-08-20  Richard Sandiford  <rsandifo@redhat.com>
17879169689Skan
17880169689Skan	* configure.ac (mips*-*-*): Print an error if not using GAS.
17881169689Skan	* configure: Regenerated.
17882169689Skan	* doc/install.texi: Remove irix5 bullet from --with-gnu-as.  Remove
17883169689Skan	comments about buggy MIPSpro assemblers.
17884169689Skan	* config.gcc (mips-sgi-irix[56]*): Combine stanzas.  Include elfos.h
17885169689Skan	before mips.h and iris.h after it.  Use t-iris and t-slibgcc-irix.
17886169689Skan	Use iris5.h only for IRIX 5 configs.  Use iris6.h and t-iris6 for
17887169689Skan	IRIX 6 configs.  Define IRIX_USING_GNU_LD if using GNU ld.
17888169689Skan	* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
17889169689Skan	(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
17890169689Skan	(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
17891169689Skan	(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
17892169689Skan	(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
17893169689Skan	of more general IRIX 6 definitions.
17894169689Skan	(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
17895169689Skan	(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
17896169689Skan	(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
17897169689Skan	(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
17898169689Skan	(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
17899169689Skan	(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
17900169689Skan	(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
17901169689Skan	(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
17902169689Skan	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
17903169689Skan	(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
17904169689Skan	(LINK_SPEC): Move most of definition to iris.h.
17905169689Skan	(SUBTARGET_LINK_SPEC): New macro.
17906169689Skan	(IRIX_STARTFILE_SPEC): Fold into...
17907169689Skan	(STARTFILE_SPEC): ...here.
17908169689Skan	(IRIX_ENDFILE_SPEC): Fold into...
17909169689Skan	(ENDFILE_SPEC): ...here.
17910169689Skan	* config/mips/iris6.h (TARGET_IRIX5): Remove override.
17911169689Skan	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
17912169689Skan	(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
17913169689Skan	(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
17914169689Skan	(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
17915169689Skan	(TARGET_OS_CPP_BUILTINS): Likewise.  Guard IRIX6-specific bits.
17916169689Skan	(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
17917169689Skan	(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
17918169689Skan	(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
17919169689Skan	(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
17920169689Skan	(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
17921169689Skan	(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
17922169689Skan	(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
17923169689Skan	(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
17924169689Skan	(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
17925169689Skan	(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
17926169689Skan	(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
17927169689Skan	(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
17928169689Skan	(TARGET_IRIX6): Define to 1.
17929169689Skan	(DRIVER_SELF_SPECS): Define.
17930169689Skan	(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
17931169689Skan	(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
17932169689Skan	(SUBTARGET_LINK_SPEC): New macro.
17933169689Skan	(IRIX_STARTFILE_SPEC): Fold into...
17934169689Skan	(STARTFILE_SPEC): ...here.  Remove !mabi=* case.
17935169689Skan	(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
17936169689Skan	(LIB_SPEC, LIBGCC_SPEC): Use them.
17937169689Skan	(LIB_SPEC): Remove !mabi=* case.
17938169689Skan	(IRIX_ENDFILE_SPEC): Fold into...
17939169689Skan	(ENDFILE_SPEC): ...here.  Remove !mabi=* case.
17940169689Skan	* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
17941169689Skan	* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
17942169689Skan	(TARGET_IRIX6): New macro.
17943169689Skan	(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
17944169689Skan	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
17945169689Skan	(LABEL_AFTER_LOC): Delete.
17946169689Skan	* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
17947169689Skan	(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
17948169689Skan	(mips_build_builtin_va_list): Check TARGET_IRIX6.
17949169689Skan	(override_options): Remove TARGET_SGI_O32_AS-related code.
17950169689Skan	(irix_output_external_libcall): Make static.
17951169689Skan	(mips_output_filename): Avoid use of SET_FILE_NUMBER and
17952169689Skan	LABEL_AFTER_LOC.
17953169689Skan	(mips_file_start): Tidy guard for ABI sections.  Remove use of
17954169689Skan	ABICALLS_ASM_OP; use .abicalls instead.
17955169689Skan	(mips_output_aligned_decl_common, mips_declare_object_name)
17956169689Skan	(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
17957169689Skan	(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
17958169689Skan	.globl foo .text directives.
17959169689Skan	(irix_asm_named_section_1, irix_asm_named_section)
17960169689Skan	(irix_section_align_entry, irix_section_align_htab)
17961169689Skan	(irix_orig_asm_out_file, irix_section_align_entry_eq)
17962169689Skan	(irix_section_align_entry_hash, irix_asm_output_align)
17963169689Skan	(irix_file_start, irix_section_align_1, copy_file_data)
17964169689Skan	(irix_file_end, irix_section_type_flags): Delete.
17965169689Skan	* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
17966169689Skan	Use standard section syntax.  Remove protective "jr $31".
17967169689Skan	(__gcc_fini): Likewise .gcc_fini.
17968169689Skan	* config/mips/irix-crtn.asm: Adjust sections accordingly.
17969169689Skan	* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
17970169689Skan	iris5gas.h.
17971169689Skan	* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
17972169689Skan	from t-irix-gld.
17973169689Skan	(EXTRA_MULTILIB_PARTS): Define.
17974169689Skan	* config/mips/t-iris6: Remove bogus comment.
17975169689Skan	(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
17976169689Skan	* config/mips/iris5gas.h, config/mips/iris5gld.h,
17977169689Skan	config/mips/iris6gas.h, config/mips/iris6gld.h,
17978169689Skan	config/mips/t-iris5-as, config/mips/t-iris5-gas
17979169689Skan	config/mips/t-irix-gld: Delete.
17980169689Skan	* config/mips/iris.h: New file.
17981169689Skan	* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
17982169689Skan
17983169689Skan2004-08-20  Richard Earnshaw  <rearnsha@arm.com>
17984169689Skan
17985169689Skan	* postreload.c (reload_cse_move2add): Allow any condjump, but check
17986169689Skan	that the implicit set isn't clobbered in the jump insn.
17987169689Skan
17988169689Skan2004-08-19  Mark Mitchell  <mark@codesourcery.com>
17989169689Skan
17990169689Skan	* defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
17991169689Skan	* optabs.c (init_optabs): Don't check it.
17992169689Skan	* config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
17993169689Skan	* doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
17994169689Skan
17995169689Skan2004-08-18  Andreas Krebbel  <krebbel1@de.ibm.com>
17996169689Skan
17997169689Skan	* config/s390/s390.md (s390_warn_framesize_string)
17998169689Skan	(s390_warn_dynamic_string, s390_stack_size_string)
17999169689Skan	(s390_stack_guard_string): New global string variables.
18000169689Skan	(s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
18001169689Skan	(s390_stack_guard): New global variables.
18002169689Skan	(override_options): Added checks for the new options.
18003169689Skan	(s390_emit_prologue): Emit stack check and trap code and perform
18004169689Skan	compile time stack size checking.
18005169689Skan
18006169689Skan	* config/s390/s390.h (TARGET_OPTIONS): Added new options
18007169689Skan	"warn-framesize", "warn-dynamicstack", "stack-size" and
18008169689Skan	"stack-guard".
18009169689Skan
18010169689Skan	* doc/invoke.texi: Added documentation for the new options.
18011169689Skan
18012169689Skan2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
18013169689Skan
18014169689Skan	* unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
18015169689Skan	to eliminate warning.
18016169689Skan	(linear_search_fdes): Declare p as unsigned.
18017169689Skan	(binary_search_mixed_encoding_fdes): Likewise.
18018169689Skan	* unwind-dw2.c (get_cie_encoding): Cast argument to strlen
18019169689Skan	to eliminate warning.
18020169689Skan	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
18021169689Skan	type cast.
18022169689Skan
18023169689Skan2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
18024169689Skan
18025169689Skan	* config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
18026169689Skan	* config/s390/s390.c (preferred_la_operand_p): Accept two operands
18027169689Skan	instead of one.  Check for strictly legitimate address.
18028169689Skan	* config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
18029169689Skan	to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
18030169689Skan
18031169689Skan2004-08-19  Eric Christopher  <echristo@redhat.com>
18032169689Skan
18033169689Skan	* langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
18034169689Skan	* langhooks.h (unsave_expr_now): Ditto.
18035169689Skan	* tree.h (unsave_expr_1): Remove prototype.
18036169689Skan	(lhd_unsave_expr_now): Rename to unsave_expr_now.
18037169689Skan	* tree-inline.c (unsave_expr_1): Move here
18038169689Skan	from tree.c. Make static.
18039169689Skan	(unsave_expr_now): Rename from lhd_unsave_expr_now.
18040169689Skan	* tree-sra.c: Fix up for rename.
18041169689Skan	* tree-ssa-copy.c: Ditto.
18042169689Skan	* tree-eh.c: Ditto.
18043169689Skan	* tree.c (unsave_expr_1): Move to tree-inline.c.
18044169689Skan
18045169689Skan2004-08-19  Caroline Tice  <ctice@apple.com>
18046169689Skan
18047169689Skan	* config/i386/cygming.h (switch_to_section): Fix typo (change
18048169689Skan	in_unlikely_text_section to in_unlikely_executed_text).
18049169689Skan
18050169689Skan2004-08-19  Daniel Berlin  <dberlin@dberlin.org>
18051169689Skan
18052169689Skan	* vec.h (VEC_lower_bound): New macro.
18053169689Skan
18054169689Skan2004-08-19  Richard Sandiford  <rsandifo@redhat.com>
18055169689Skan
18056169689Skan	PR target/16446
18057169689Skan	* config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
18058169689Skan	(mips_arg_info): Update accordingly.  Remove common treatment of fpr_p;
18059169689Skan	treat each ABI separately.  Deal with n32/n64 complex float arguments.
18060169689Skan	(function_arg): Add associated complex handling here.
18061169689Skan
18062169689Skan2004-08-19  Richard Henderson  <rth@redhat.com>
18063169689Skan
18064169689Skan	* config/arm/arm.c (arm_gen_load_multiple): Use
18065169689Skan	adjust_automodify_address.  Take base memory and offset instead
18066169689Skan	of unchanging/struct/scalar bits.
18067169689Skan	(arm_gen_store_multiple): Likewise.
18068169689Skan	(arm_gen_movmemqi): Use adjust_automodify_address.
18069169689Skan	* config/arm/arm-protos.h: Update decls.
18070169689Skan	* config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
18071169689Skan	(store_multiple): Similarly.
18072169689Skan
18073169689Skan2004-08-19  J"orn Rennecke <joern.rennecke@superh.com>
18074169689Skan
18075169689Skan	* regclass.c (globalize_reg): Update call_really_used_regs.
18076169689Skan
18077169689Skan2004-08-19  Nathan Sidwell  <nathan@codesourcery.com>
18078169689Skan
18079169689Skan	* doc/invoke.texi (integer-share-limit): Document.
18080169689Skan
18081169689Skan	* tree.h (TYPE_CACHED_VALUES_P): New.
18082169689Skan	(TYPE_CACHED_VALUES): New.
18083169689Skan	(TYPE_ORIG_SIZE_TYPE): Adjust.
18084169689Skan	* tree.def (INTEGER_CST): Update documentation.
18085169689Skan	* tree.c: Inlcude params.h.
18086169689Skan	(build_int_cst): Cache small values.
18087169689Skan	(build_type_copy): Do not copy the value cache.
18088169689Skan	* c-common.c (c_common_nodes_and_builtins): Add comment, remove
18089169689Skan	unneeded zeroing.
18090169689Skan	* c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
18091169689Skan	* expmed.c (const_mult_add_overflow_p): Clear type copy's value
18092169689Skan	cache.
18093169689Skan	* fold-const.c (force_fit_type): Copy value when setting
18094169689Skan	overflows.
18095169689Skan	(int_const_binop): Likewise.
18096169689Skan	* stor-layout.c: Include params.h
18097169689Skan	(set_sizetype): Create values cache.
18098169689Skan	(fixup_unsigned_type): Set UNSIGNED_P before caching any values.
18099169689Skan	* params.def (PARAM_INTEGER_SHARE_LIMIT): New.
18100169689Skan	* params.h (INTEGER_SHARE_LIMIT): New.
18101169689Skan	* Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
18102169689Skan
18103169689Skan2004-08-19  Paolo Bonzini  <bonzini@gnu.org>
18104169689Skan
18105169689Skan	* gimplify.c (gimplify_minimax_expr): Remove.
18106169689Skan	(gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
18107169689Skan
18108169689Skan2004-08-19  Dorit Naishlos  <dorit@il.ibm.com>
18109169689Skan
18110169689Skan	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
18111169689Skan	STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
18112169689Skan
18113169689Skan2004-08-19  Mark Mitchell  <mark@codesourcery.com>
18114169689Skan
18115169689Skan	* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
18116169689Skan
18117169689Skan2004-08-18  Andrew Pinski  <apinski@apple.com>
18118169689Skan
18119169689Skan	* varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
18120169689Skan
18121169689Skan2004-08-18  Mark Mitchell  <mark@codesourcery.com>
18122169689Skan
18123169689Skan	* config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
18124169689Skan	(__aeabi_ul2f): Likewise.
18125169689Skan
18126169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18127169689Skan
18128169689Skan	* config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
18129169689Skan	move to rtl completely.
18130169689Skan	(struct meminsnbuf, xtensa_emit_block_move): Remove.
18131169689Skan	(xtensa_find_mode_for_size): Remove.
18132169689Skan	* config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
18133169689Skan	* config/xtensa/xtensa.md (movmemsi_internal): Remove.
18134169689Skan
18135169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18136169689Skan
18137169689Skan	* config/mcore/mcore.c (mode_from_align): Remove DImode.
18138169689Skan	(block_move_sequence): Rewrite to use adjust_address.
18139169689Skan	(mcore_expand_block_move): Cleanup logic.  Accept only operands.
18140169689Skan	Return boolean indicating success/failure.
18141169689Skan	* config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
18142169689Skan	* config/mcore/mcore.md (movmemsi): Update to match.
18143169689Skan
18144169689Skan2004-08-18  Mike Stump  <mrs@apple.com>
18145169689Skan
18146169689Skan	* doc/invoke.texi (-mfix-and-continue): Add support for
18147169689Skan	fast turn around debugging.
18148169689Skan	(-ffix-and-continue): Likewise.
18149169689Skan	(-mindirect-data): Likewise.
18150169689Skan	(-findirect-data): Likewise.
18151169689Skan	* config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
18152169689Skan	(indirect_data): Likewise.
18153169689Skan	(machopic_data_defined_p): Likewise.
18154169689Skan	(machopic_output_indirection): Likewise.
18155169689Skan	(darwin_encode_section_info): Likewise.
18156169689Skan	(darwin_fix_and_continue): Likewise.
18157169689Skan	(darwin_fix_and_continue_switch): Likewise.
18158169689Skan	* config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
18159169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
18160169689Skan	(SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
18161169689Skan	(SUBTARGET_OPTIONS): Likewise.
18162169689Skan	(darwin_fix_and_continue): Likewise.
18163169689Skan	(darwin_fix_and_continue_switch): Likewise.
18164169689Skan	(TARGET_FIX_AND_CONTINUE): Likewise.
18165169689Skan	* config/rs6000.c (rs6000_emit_prologue): Likewise.
18166169689Skan
18167169689Skan2004-08-19  Steven Bosscher  <stevenb@suse.de>
18168169689Skan
18169169689Skan	* basic-block.h (struct edge_def): Remove crossing_edge.
18170169689Skan	(EDGE_CROSSING): New define.
18171169689Skan	(EDGE_ALL_FLAGS): Update.
18172169689Skan	* bb-reorder.c (find_traces_1_round, better_edge_p,
18173169689Skan	find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
18174169689Skan	find_jump_block, fix_crossing_conditional_branches,
18175169689Skan	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
18176169689Skan	Replace all occurences of crossing_edge with an edge flag check
18177169689Skan	or set/reset.
18178169689Skan	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
18179169689Skan	try_crossjump_bb): Likewise.
18180169689Skan	* cfglayout.c (fixup_reorder_chain): Likewise.
18181169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect,
18182169689Skan	commit_one_edge_insertion): Likewise.
18183169689Skan
18184169689Skan	* Makefile.in (cfganal.o): Depend on TIMEVAR_H.
18185169689Skan	* tree-flow.h (compute_dominance_frontiers): Move prototype...
18186169689Skan	* basic-block.h: ...here.
18187169689Skan	* tree-cfg.c (compute_dominance_frontiers_1,
18188169689Skan	compute_dominance_frontiers): Move from here...
18189169689Skan	* cfganal.c: ...to here.  Include timevar.h.
18190169689Skan
18191169689Skan2004-08-18  James E Wilson  <wilson@specifixinc.com>
18192169689Skan
18193169689Skan	* config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
18194169689Skan	* config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
18195169689Skan
18196169689Skan	* config/mips/mips.md (type): Add frdiv.
18197169689Skan	(divsf3+1, divsf3+2): Change type to frdiv.
18198169689Skan	* config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
18199169689Skan	ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
18200169689Skan
18201169689Skan	* config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
18202169689Skan	* config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
18203169689Skan	* config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
18204169689Skan	* config/mips/5000.md (r5k_fdiv_single): Likewise.
18205169689Skan	* config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
18206169689Skan	* config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
18207169689Skan	* config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
18208169689Skan	* config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
18209169689Skan	* config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
18210169689Skan	* config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
18211169689Skan	Likewise.
18212169689Skan	* config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
18213169689Skan
18214169689Skan2004-08-18  Robert Bowdidge <bowdidge@apple.com>
18215169689Skan
18216169689Skan	* config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
18217169689Skan	get regression tester working again.
18218169689Skan
18219169689Skan2004-08-18  Zack Weinberg  <zack@codesourcery.com>
18220169689Skan
18221169689Skan	* insn-notes.def, reg-notes.def: New files.
18222169689Skan	* rtl.h: Use them to define enum insn_note and enum reg_note.
18223169689Skan	* rtl.c: Use them to define note_insn_name and reg_note_name.
18224169689Skan	* Makefile.in (RTL_BASE_H): Update.
18225169689Skan
18226169689Skan	* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
18227169689Skan	renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
18228169689Skan
18229169689Skan2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
18230169689Skan
18231169689Skan	* arm.c (arm_size_rtx_costs): New function.
18232169689Skan	(arm_override_options): Use it if optimizing for space.
18233169689Skan
18234169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18235169689Skan
18236169689Skan	* emit-rtl.c (gen_const_mem): New.
18237169689Skan	* rtl.h (gen_const_mem): Declare.
18238169689Skan	* expr.c (do_tablejump): Use it.
18239169689Skan	* varasm.c (force_const_mem): Likewise.
18240169689Skan	* config/darwin.c (machopic_indirect_data_reference): Likewise.
18241169689Skan	(machopic_legitimize_pic_address): Likewise.
18242169689Skan	* config/arm/arm.c (legitimize_pic_address): Likewise.
18243169689Skan	* config/i386/i386.c (legitimize_pic_address): Likewise.
18244169689Skan	(legitimize_tls_address): Likewise.
18245169689Skan	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
18246169689Skan	* config/ia64/ia64.md (load_fptr): Likewise.
18247169689Skan	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
18248169689Skan	* config/pa/pa.c (legitimize_pic_address): Likewise.
18249169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
18250169689Skan	(rs6000_emit_move): Likewise.
18251169689Skan	* config/s390/s390.c (legitimize_pic_address): Likewise.
18252169689Skan	(legitimize_tls_address): Likewise.
18253169689Skan	* config/s390/s390.md (casesi): Likewise.
18254169689Skan	* config/sh/sh.c (sh_reorg): Likewise.
18255169689Skan	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
18256169689Skan	* config/v850/v850.md (casesi): Likewise.
18257169689Skan
18258169689Skan	* config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
18259169689Skan	* config/sh/sh.c (prepare_move_operands): Remove incorrect
18260169689Skan	use of MEM_READONLY_P.
18261169689Skan
18262169689Skan2004-08-18  Steven Bosscher  <stevenb@suse.de>
18263169689Skan
18264169689Skan	* Makefile.in (OBJS-common): Add postreload-gcse.c.
18265169689Skan	Add new postreload-gcse.o.
18266169689Skan	* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
18267169689Skan	(lookup_as_function, insert, rehash_using_reg, use_related_value,
18268169689Skan	equiv_constant): Use SAFE_HASH instead of safe_hash.
18269169689Skan	(exp_equiv_p): Export.  Add for_gcse argument when comparing
18270169689Skan	for GCSE.
18271169689Skan	(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
18272169689Skan	find_comparison_args, fold_rtx, cse_insn): Update callers.
18273169689Skan	(hash_rtx): New function derived from old canon_hash and bits
18274169689Skan	from gcse.c hash_expr_1.
18275169689Skan	(canon_hash_string): Rename to hash_rtx_string.
18276169689Skan	(canon_hash, safe_hash): Make static inline.  Call hash_rtx.
18277169689Skan	* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
18278169689Skan	(cselib_lookup): Update this caller.
18279169689Skan	* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
18280169689Skan	Make static.
18281169689Skan	(hash_expr): Call hash_rtx.
18282169689Skan	(ldst_entry): Likewise.
18283169689Skan	(expr_equiv_p): Call exp_equiv_p.
18284169689Skan	(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
18285169689Skan	reg_used_on_edge, reg_set_between_after_reload_p,
18286169689Skan	reg_used_between_after_reload_p, get_avail_load_store_reg,
18287169689Skan	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
18288169689Skan	get_bb_avail_insn, hash_scan_set_after_reload,
18289169689Skan	compute_hash_table_after_reload,
18290169689Skan	eliminate_partially_redundant_loads, gcse_after_reload,
18291169689Skan	get_bb_avail_insn, gcse_after_reload_main): Remove.
18292169689Skan	* postreload-gcse.c: New file, reincarnating most of the above.
18293169689Skan	* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
18294169689Skan	(gcse_after_reload_main): Update prototype.
18295169689Skan	* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
18296169689Skan	* passes.c (rest_of_handle_gcse2): Use it.
18297169689Skan
18298169689Skan2004-08-18  Diego Novillo  <dnovillo@redhat.com>
18299169689Skan
18300169689Skan	* tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
18301169689Skan	(pass_loop_done): Likewise.
18302169689Skan
18303169689Skan2004-08-18  Andrew Pinski  <apinski@apple.com>
18304169689Skan
18305169689Skan	* config/rs6000/darwin.md: Delete the altivec patterns which are
18306169689Skan	handled differently now.
18307169689Skan	(load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
18308169689Skan	(macho_correct_pic_di): Likewise.
18309169689Skan	(call_indirect_nonlocal_darwin64): Likewise.
18310169689Skan	Delete the save world/saveFP/saveVec patterns.
18311169689Skan
18312169689Skan	Revert the reversion of: 2004-08-16  Stan Shebs  <shebs@apple.com>
18313169689Skan	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
18314169689Skan	* config/rs6000/rs6000.md: Include darwin.md.
18315169689Skan	(builtin_setjmp_receiver): Add DImode case.
18316169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
18317169689Skan	Darwin bits.
18318169689Skan
18319169689Skan2004-08-18  Matt Austern  <austern@apple.com>
18320169689Skan
18321169689Skan	Dead code stripping
18322169689Skan	* darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
18323169689Skan	* darwin.c (darwin_file_end): Mark file as potentially strippable.
18324169689Skan
18325169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18326169689Skan
18327169689Skan	* alias.c (readonly_fields_p): Remove.
18328169689Skan	(objects_must_conflict_p): Don't call it.
18329169689Skan	* tree.h (readonly_fields_p): Remove.
18330169689Skan	* langhooks.h (struct lang_hooks): Remove honor_readonly.
18331169689Skan	* langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
18332169689Skan
18333169689Skan2004-08-18  Diego Novillo  <dnovillo@redhat.com>
18334169689Skan
18335169689Skan	* tree-dfa.c (add_referenced_var): Only global variables are
18336169689Skan	call-clobbered.
18337169689Skan	* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
18338169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
18339169689Skan	all pointers dereferenced if the statement dereferences them.
18340169689Skan	(create_name_tags): Do not create memory tags for pointers
18341169689Skan	that have PT_ANYTHING set.
18342169689Skan	Also check if PT_VARS is not empty before creating a name tag.
18343169689Skan	(compute_flow_sensitive_aliasing): Don't mark call-clobbered
18344169689Skan	variables that share the same alias set with a pointer that
18345169689Skan	may point anywhere.
18346169689Skan	(add_may_alias): Add FIXME comment to remove clobbering
18347169689Skan	aliased variables and tags.
18348169689Skan	(replace_may_alias): Likewise.
18349169689Skan	(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
18350169689Skan	(merge_pointed_to_info): If the original variable has not
18351169689Skan	points-to information, call set_pt_anything.
18352169689Skan	(add_pointed_to_var): Do not prevent adding a pointed-to
18353169689Skan	variable if the pointers is PT_ANYTHING.
18354169689Skan	If the variable is a global, set PT_GLOBAL_MEM.
18355169689Skan	(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
18356169689Skan	pointer type only come in PTR+OFFSET flavours.
18357169689Skan	Always call merge_pointed_to_info on PHI arguments that are
18358169689Skan	SSA_NAMEs.
18359169689Skan	(get_nmt_for): Mark call-clobbered tags whose pointer points
18360169689Skan	to global memory.
18361169689Skan	* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
18362169689Skan	values.
18363169689Skan	(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
18364169689Skan	FLAGS.
18365169689Skan	(add_stmt_operand): Abort if the caller tried to add a killing
18366169689Skan	definition for a memory tag.
18367169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
18368169689Skan	unnecessary checks.
18369169689Skan
18370169689Skan2004-08-18  J"orn Rennecke <joern.rennecke@superh.com>
18371169689Skan
18372169689Skan	* sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
18373169689Skan	from call_used_regs.  Update call_really_used_regs.
18374169689Skan	(CALL_REALLY_USED_REGISTERS): Define.
18375169689Skan	* sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
18376169689Skan	Replace call_used_regs with call_really_used_regs.
18377169689Skan	(calc_live_regs, sh_media_register_for_return): Likewise.
18378169689Skan	(sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
18379169689Skan	* sh.md (return_media): Likewise.
18380169689Skan
18381169689Skan2004-08-18  Andrew Pinski  <apinski@apple.com>
18382169689Skan
18383169689Skan	* config/darwin.c (machopic_legitimize_pic_address): Only set
18384169689Skan	MEM_READONLY_P in the non TARGET_TOC case.
18385169689Skan
18386169689Skan2004-08-18  Zack Weinberg  <zack@codesourcery.com>
18387169689Skan
18388169689Skan	* rtl.def (NIL): Delete.
18389169689Skan	* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
18390169689Skan	Tighten the syntax a little.
18391169689Skan
18392169689Skan	* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
18393169689Skan	* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
18394169689Skan	* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
18395169689Skan	* config/i386/predicates.md, config/m32r/m32r.h
18396169689Skan	* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
18397169689Skan	* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
18398169689Skan	* config/sparc/sparc.h, doc/tm.texi:
18399169689Skan	Replace all occurrences of NIL with UNKNOWN.
18400169689Skan
18401169689Skan2004-08-18  Zack Weinberg  <zack@codesourcery.com>
18402169689Skan
18403169689Skan	* dojump.c (do_jump <unordered_bcc>): Do not recursively call
18404169689Skan	self with a TRUTH_ORIF_EXPR; generate the appropriate jump
18405169689Skan	sequence inline.  Move drop_through_label code into this
18406169689Skan	block, being the only place it is used.  Adjust comments.
18407169689Skan
18408169689Skan2004-08-18  Fariborz Jahanian <fjahanian@apple.com>
18409169689Skan
18410169689Skan	* config/rs6000/altivec.md: Add new patterns for calls to
18411169689Skan	save_world/rest_world functions.
18412169689Skan
18413169689Skan	* config/rs6000/rs6000-protos.h: (save_world_operation,
18414169689Skan	restore_world_operation) new declarations.
18415169689Skan
18416169689Skan	* config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
18417169689Skan	field added.
18418169689Skan	(rs6000_stack_info): Set world_save_p field.
18419169689Skan	(save_world_operation): New function.
18420169689Skan	(restore_world_operation): New function.
18421169689Skan	(compute_save_world_info): New function.
18422169689Skan	(rs6000_stack_info): Call compute_save_world_info.
18423169689Skan	(rs6000_emit_prologue): Check for world_save_p and generate
18424169689Skan	pattern to call save_world for saving all non-volatile and
18425169689Skan	special registers.
18426169689Skan	(rs6000_emit_epilogue): Check for world_save_p and generate
18427169689Skan	pattern to call rest_world to restore saved registers.
18428169689Skan
18429169689Skan	config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
18430169689Skan	FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
18431169689Skan	(rs6000_reg_names): New entries added for save_world_operation and
18432169689Skan	restore_world_operation.
18433169689Skan
18434169689Skan2004-08-18  Caroline Tice  <ctice@apple.com>
18435169689Skan
18436169689Skan	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
18437169689Skan	"-freorder-blocks-and-partition" to the flags used in second
18438169689Skan	stage of profiledbootstrap.
18439169689Skan	* bb-reorder.c (push_to_next_round_p): Add new variable,
18440169689Skan	next_round_is_last; set and use variable to make sure, when
18441169689Skan	partitioning, that the last trace construction round consists
18442169689Skan	of all (and only) cold basic blocks.
18443169689Skan	(rotate_loop): Don't copy blocks that end in a section
18444169689Skan	crossing jump.
18445169689Skan	(copy_bb): Correctly initialize "partition" of duplicated bb.
18446169689Skan	(add_unlikely_executed_notes): Add a comment.
18447169689Skan	(find_rarely_executed_basic_blocks_and_crossing_edges): Modify
18448169689Skan	to make sure, if function contains hot blocks, that the
18449169689Skan	successors of ENTRY_BLOCK_PTR are hot; also, only look for
18450169689Skan	crossing edges if the architecture supports named sections.
18451169689Skan	(mark_bb_for_unlikely_executed_section): Modify to always
18452169689Skan	insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
18453169689Skan	the basic block note insn.
18454169689Skan	(fix_crossing_unconditional_branches): Remove extra space.
18455169689Skan	(fix_edges_for_rarely_executed_code): Modify to only do
18456169689Skan	partitioning work if the architecture supports named sections.
18457169689Skan	(reorder_basic_blocks): Modify to only add
18458169689Skan	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
18459169689Skan	supports named sections.
18460169689Skan	* c-common.c (handle_section_attribute): Initialize new global
18461169689Skan	variable, user_defined_section_attribute, to true if user has
18462169689Skan	specified one.
18463169689Skan	* cfgcleanup.c (try_forward_edges): Modify to not attempt to
18464169689Skan	forward edges that cross section boundaries.
18465169689Skan	* cfglayout.c (fixup_reorder_chain): Modify to only fix up
18466169689Skan	partitioning information if the architecture supports named
18467169689Skan	sections.
18468169689Skan	* cfgrtl.c (target.h): Add statement to include this.
18469169689Skan	(rtl_split_block): Make sure newly created bb gets correct
18470169689Skan	partition.
18471169689Skan	(try_redirect_by_replacing_jump): Make sure redirection isn't
18472169689Skan	attempting to cross section boundaries.
18473169689Skan	(force_nonfallthru_and_redirect): Only do partition fix up if
18474169689Skan	architecture supports named sections.
18475169689Skan	(rtl_split_edge): Make sure newly created bb ends up in
18476169689Skan	correct partition.
18477169689Skan	(commit_one_edge_insertion): Remove code that incorrectly
18478169689Skan	updated basic block partition; Make sure partition fix up only
18479169689Skan	happens if architecture supports named sections and it's not
18480169689Skan	already done.
18481169689Skan	(rtl_verify_flow_info_1): Fix if-condition on test/error
18482169689Skan	condition that fallthru edges are not allowed to cross section
18483169689Skan	boundaries.
18484169689Skan	* defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
18485169689Skan	* final.c (final_scan_insn): Remove redundant test from if-statement;
18486169689Skan	change calls to text_section into calls to function_section; add code
18487169689Skan	to only to partitioning fix up if architecture supports named
18488169689Skan	sections.
18489169689Skan	* ifcvt.c (find_if_case_1): Make sure newly created bb has correct
18490169689Skan	partition.
18491169689Skan	(if_convert): Add targetm.have_named_sections to test.
18492169689Skan	* output.h (unlikely_section_label): Extern declaration for new global
18493169689Skan	variable.
18494169689Skan	(unlikely_text_section_name): Likewise.
18495169689Skan	* opts.c (decode_options): If both partitioning and DWARF debugging
18496169689Skan	are turned on, issue a warning that this doesn't work, and change
18497169689Skan	partitiong to basic block reordering (without hot/cold partitions).
18498169689Skan	* passes.c (rest_of_handle_final): Re-set new global variable,
18499169689Skan	user_defined_section_attribute, to false.
18500169689Skan	(rest_of_compilation): Change options for calling partitioning
18501169689Skan	function: Don't call if the user defined the section attribute, and
18502169689Skan	don't call if DECL_ONE_ONLY is true for the current function.
18503169689Skan	* predict.c (choose_function_section): Return immediately if we
18504169689Skan	are doing hot/cold partitioning (i.e. let the basic block partitioning
18505169689Skan	determine where the function belongs).
18506169689Skan	* reg-stack.c (emit_swap_insn): Add condition to step over
18507169689Skan	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
18508169689Skan	* toplev.c (user_defined_section_attribute): New global variable.
18509169689Skan	* toplev.h (user_defined_section_attribute): Extern declaration
18510169689Skan	for new global variable.
18511169689Skan	* varasm.c (unlikely_section_label): New global variable.
18512169689Skan	(unlikely_text_section_name): New global variable.
18513169689Skan	(unlikely_text_section): Add code to initialize
18514169689Skan	unlikely_text_section_name if necessary; modify to use
18515169689Skan	unlikely_text_section_name and unlikely_section_label; also to use
18516169689Skan	named_section properly.
18517169689Skan	(in_unlikely_text_section): Modify to work correctly with
18518169689Skan	named_section and to use unlikely_text_section_name.
18519169689Skan	(named_section): Add code to work properly with cold section.
18520169689Skan	(function_section): Clean up if-statement.
18521169689Skan	* config/darwin.c (darwin_asm_named_section): Return to original
18522169689Skan	code, removing use of SECTION_FORMAT_STRING.
18523169689Skan	* config/arm/pe.h (switch_to_section): Add case for
18524169689Skan	in_unlikely_executed_text to switch statement.
18525169689Skan	* config/i386/cygming.h (switch_to_section): Likewise.
18526169689Skan	* config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
18527169689Skan	(SECTION_FORMAT_STRING): Likewise.
18528169689Skan	* config/mcore/mcore.h (switch_to_section): Likewise.
18529169689Skan	* config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
18530169689Skan	(SECTION_FORMAT_STRING): Remove.
18531169689Skan
18532169689Skan2004-08-18  Roger Sayle  <roger@eyesopen.com>
18533169689Skan
18534169689Skan	* config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
18535169689Skan	-ffixed-reg safe, by preserving the meanings of zero and one.
18536169689Skan	(CALL_USED_REGISTERS): Likewise.
18537169689Skan	(CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
18538169689Skan
18539169689Skan2004-08-18  Kaz Kojima  <kkojima@gcc.gnu.org>
18540169689Skan
18541169689Skan	* config/sh/sh.c (split_branches): Check the result of
18542169689Skan	next_active_insn.
18543169689Skan	(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
18544169689Skan	Call rtl_register_cfg_hooks.
18545169689Skan
18546169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18547169689Skan
18548169689Skan	* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
18549169689Skan	* alias.c (true_dependence): Update to match new semantics.
18550169689Skan	(canon_true_dependence, write_dependence_p): Likewise.
18551169689Skan	(anti_dependence, output_dependence): Update write_dependence_p args.
18552169689Skan	(unchanging_anti_dependence): Remove.
18553169689Skan	* calls.c (purge_mem_unchanging_flag): Remove.
18554169689Skan	(fixup_tail_calls): Don't call it.
18555169689Skan	(expand_call): Don't add unchanging memory to function usage.
18556169689Skan	* expr.c (emit_block_move_via_libcall): Likewise.
18557169689Skan	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
18558169689Skan	(get_subtarget): Don't use RTX_UNCHANGING_P.
18559169689Skan	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
18560169689Skan	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
18561169689Skan	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
18562169689Skan	* cse.c (insert): Don't use RTX_UNCHANGING_P.
18563169689Skan	(cse_insn, canon_hash): Use MEM_READONLY_P.
18564169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
18565169689Skan	instead of RTX_UNCHANGING_P.
18566169689Skan	* explow.c (maybe_set_unchanging): Remove.
18567169689Skan	* expr.h (maybe_set_unchanging): Remove.
18568169689Skan	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
18569169689Skan	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
18570169689Skan	(assign_parm_setup_reg, expand_function_start): Likewise.
18571169689Skan	* integrate.c (copy_rtx_and_substitute): Likewise.
18572169689Skan	* ra-rewrite.c (emit_colors): Likewise.
18573169689Skan	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
18574169689Skan	(fixup_match_1): Likewise.
18575169689Skan	* reload1.c (reload, alter_reg): Likewise.
18576169689Skan	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
18577169689Skan	not RTX_UNCHANGING_P.
18578169689Skan	(equiv_init_varies_p): Likewise.
18579169689Skan	* loop-invariant.c (check_maybe_invariant): Likewise.
18580169689Skan	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
18581169689Skan	* loop.c (note_addr_stored): Likewise.
18582169689Skan	(prescan_loop): Likewise. Don't check function usage for clobbered
18583169689Skan	unchanging memory.
18584169689Skan	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
18585169689Skan	not RTX_UNCHANGING_P.
18586169689Skan	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
18587169689Skan	* varasm.c (force_const_mem): Likewise.
18588169689Skan	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
18589169689Skan	* web.c (entry_register): Likewise.
18590169689Skan	* tree-gimple.h (get_base_address): Move decl ...
18591169689Skan	* tree.h: ... here.
18592169689Skan	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
18593169689Skan
18594169689Skan	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
18595169689Skan	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
18596169689Skan	(alpha_set_memflags): Update to match.
18597169689Skan
18598169689Skan	* config/darwin.c (machopic_indirect_data_reference): Set
18599169689Skan	MEM_READONLY_P instead of RTX_UNCHANGING_P.
18600169689Skan	(machopic_indirect_call_target): Likewise.
18601169689Skan	(machopic_legitimize_pic_address): Likewise.
18602169689Skan	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
18603169689Skan	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
18604169689Skan	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
18605169689Skan	* config/frv/frv.md (symGOT2reg): Likewise.
18606169689Skan	* config/i386/i386.c (legitimize_pic_address,
18607169689Skan	legitimize_tls_address, ix86_split_to_parts): Likewise.
18608169689Skan	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
18609169689Skan	* config/ia64/ia64.md (load_fptr): Likewise.
18610169689Skan	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
18611169689Skan	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
18612169689Skan	* config/mcore/mcore.c (block_move_sequence): Likewise.
18613169689Skan	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
18614169689Skan	* config/pa/pa.c (legitimize_pic_address): Likewise.
18615169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
18616169689Skan	(rs6000_emit_move): Likewise.
18617169689Skan	* config/s390/s390.c (legitimize_pic_address): Likewise.
18618169689Skan	(legitimize_tls_address): Likewise.
18619169689Skan	* config/s390/s390.md (casesi): Likewise.
18620169689Skan	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
18621169689Skan	* config/sh/sh.md (symGOT2reg): Likewise.
18622169689Skan	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
18623169689Skan	* config/v850/v850.md (casesi): Likewise.
18624169689Skan
18625169689Skan	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
18626169689Skan	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
18627169689Skan	* config/mips/mips.c (mips_restore_gp): Likewise.
18628169689Skan	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
18629169689Skan	* config/sh/sh.c (sh_reorg): Likewise.
18630169689Skan
18631169689Skan2004-08-18  Richard Henderson  <rth@redhat.com>
18632169689Skan
18633169689Skan	* tree.h (struct tree_decl): Add gimple_formal_temp.
18634169689Skan	(DECL_GIMPLE_FORMAL_TEMP_P): New.
18635169689Skan	* gimplify.c (pop_gimplify_context): Clear it.
18636169689Skan	(lookup_tmp_var): Set it, if is_formal.
18637169689Skan	(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
18638169689Skan	Use is_gimple_val for VECTOR.  Simplify return value.
18639169689Skan	(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
18640169689Skan	(gimplify_expr): Likewise.
18641169689Skan	* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
18642169689Skan	is_gimple_tmp_rhs for clarity.  Update all callers.
18643169689Skan	(is_gimple_reg_rhs): Simplify logic.
18644169689Skan	(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
18645169689Skan	clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
18646169689Skan	(is_gimple_formal_tmp_reg): Similarly.
18647169689Skan	* tree-gimple.h: Update decls.
18648169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
18649169689Skan	DECL_IGNORED_P, not DECL_ARTIFICIAL.  Tidy formatting.
18650169689Skan	* tree-ssa-live.c (var_union, type_var_init): Likewise.
18651169689Skan
18652169689Skan2004-08-18  Paolo Bonzini  <bonzini@gnu.org>
18653169689Skan
18654169689Skan	* c4x.c (legitimize_operands): Remove calls to
18655169689Skan	preserve_subexpressions_p.
18656169689Skan
18657169689Skan2004-08-18  David Edelsohn  <edelsohn@gnu.org>
18658169689Skan
18659169689Skan	* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
18660169689Skan	* defaults.h (MAX_OFILE_ALIGNMENT): ... here.
18661169689Skan
18662169689Skan2004-08-18  Ziemowit Laski  <zlaski@apple.com>
18663169689Skan
18664169689Skan	* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
18665169689Skan	Objective-C++ extensions.
18666169689Skan	* gengtype.c (get_file_basename): Match entire subdirectory name
18667169689Skan	('cp', 'objc', 'objcp') rather than just its suffix.
18668169689Skan	(get_base_file_bitmap): Allow for files to belong to more than one
18669169689Skan	language.
18670169689Skan	(get_output_file_with_visibility): Treat objc/objc-act.h as a header
18671169689Skan	used by more than one front-end.
18672169689Skan
18673169689Skan2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
18674169689Skan
18675169689Skan	* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
18676169689Skan	avoid use of preserve_subexpressions_p.
18677169689Skan
18678169689Skan2004-08-17  Richard Henderson  <rth@redhat.com>
18679169689Skan
18680169689Skan	PR 17051
18681169689Skan	* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
18682169689Skan
18683169689Skan2004-08-17  DJ Delorie  <dj@redhat.com>
18684169689Skan
18685169689Skan	* doc/extend.texi: Document new xstormy16 attribute.
18686169689Skan
18687169689Skan	* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
18688169689Skan	(xstormy16_splittable_below100_or_register): New.
18689169689Skan	(combine_bnp): New.
18690169689Skan	(xstormy16_reorg): New.
18691169689Skan	(TARGET_MACHINE_DEPENDENT_REORG): Define.
18692169689Skan
18693169689Skan	* config/stormy16/stormy16.md (movqi_internal): Make name public.
18694169689Skan	(movhi_internal): Likewise.
18695169689Skan	(cbhranchhi): Likewise.
18696169689Skan	(cbhranchhi_neg): Likewise.
18697169689Skan	(andhi3): Only allow splittable below100 operands.
18698169689Skan	(iorhi3): Likewise.
18699169689Skan	(peephole2): New and/zero_extend->and peephole.
18700169689Skan	(peephole2): New load/ior/save->set1 peephole.
18701169689Skan	(peephole2): New load/and/save->clr1 peephole.
18702169689Skan	(bclrx, bclrx2, bclr7, bclr15): New.
18703169689Skan	(bsetx, bsetx2, bset7, bset15): New.
18704169689Skan
18705169689Skan	* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
18706169689Skan	liberal about acceptable 'B' masks.
18707169689Skan
18708169689Skan	* config/stormy16/stormy16-protos.h
18709169689Skan	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
18710169689Skan	xstormy16_below100_operand, xstormy16_below100_or_register,
18711169689Skan	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
18712169689Skan	(PREDICATE_CODES): Add new predicates.
18713169689Skan
18714169689Skan	* config/stormy16/stormy16.c
18715169689Skan	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
18716169689Skan	xstormy16_below100_operand, xstormy16_below100_or_register,
18717169689Skan	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
18718169689Skan	(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
18719169689Skan	(xstormy16_legitimate_address_p): Allow below100 symbols.
18720169689Skan	(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
18721169689Skan	(xstormy16_expand_move): Leave below100 operands as-is.
18722169689Skan	(xstormy16_encode_section_info): Encode below100 symbols.
18723169689Skan	(xstormy16_strip_name_encoding): New.
18724169689Skan	(xstormy16_print_operand): Print 'b' as shift mask.
18725169689Skan	(xstormy16_attribute_table): Add below100 attributes.
18726169689Skan	(xstormy16_handle_below100_attribute): New.
18727169689Skan
18728169689Skan	* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
18729169689Skan	(XSTORMY16_SECTION_FUNCTION): New.
18730169689Skan	(EXTRA_SECTION_FUNCTIONS): Define using the above.
18731169689Skan	(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
18732169689Skan	(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
18733169689Skan	(ASM_OUTPUT_LABELREF): Define.
18734169689Skan
18735169689Skan	* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
18736169689Skan	(movhi_internal): Add below100 support.
18737169689Skan	(andhi3): Add below100 support.
18738169689Skan	(iorhi3): Add below100 support.
18739169689Skan	(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
18740169689Skan
18741169689Skan2004-08-17  James E Wilson  <wilson@specifixinc.com>
18742169689Skan
18743169689Skan	* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
18744169689Skan	of VOIDmode for comparison code mode.
18745169689Skan	* config/mips/mips.md: For conditional move patterns, use mode of
18746169689Skan	first compare operand for comparison mode, instead of VOIDmode.
18747169689Skan
18748169689Skan	* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
18749169689Skan	normal and -ffast-math code.
18750169689Skan
18751169689Skan2004-08-17  Mark Mitchell  <mark@codesourcery.com>
18752169689Skan
18753169689Skan	PR c++/15871
18754169689Skan	* doc/invoke.texi (-fkeep-inline-functions): Update documentation.
18755169689Skan
18756169689Skan2004-08-17  Robert Bowdidge  <bowdidge@apple.com>
18757169689Skan
18758169689Skan	* config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
18759169689Skan
18760169689Skan2004-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
18761169689Skan
18762169689Skan	* config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
18763169689Skan	for non Darwin targets.
18764169689Skan	(*call_value_nonlocal_darwin64): Likewise.
18765169689Skan
18766169689Skan2004-08-17  Fariborz Jahanian <fjahanian@apple.com>
18767169689Skan
18768169689Skan	* config/rs6000/rs6000.c (rs6000_function_value): Check for
18769169689Skan	altivec mode for altivec return register.
18770169689Skan
18771169689Skan2004-08-17  David Edelsohn  <edelsohn@gnu.org>
18772169689Skan
18773169689Skan	Revert 2004-08-16  Stan Shebs  <shebs@apple.com>
18774169689Skan	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
18775169689Skan	* config/rs6000/rs6000.md: Include darwin.md.
18776169689Skan	(builtin_setjmp_receiver): Add DImode case.
18777169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
18778169689Skan	Darwin bits.
18779169689Skan
18780169689Skan2004-08-17  Dorit Naishlos  <dorit@il.ibm.com>
18781169689Skan
18782169689Skan	* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
18783169689Skan	trees.
18784169689Skan	* tree-vectorizer.h: New File: Same.
18785169689Skan	* Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
18786169689Skan	* common.opt (ftree-vectorize): New flag to enable vectorization.
18787169689Skan	* timevar.def (TV_TREE_VECTORIZATION): New dump file for
18788169689Skan	vectorization pass.
18789169689Skan	* tree-data-ref.h (init_data_ref): Additional argument.
18790169689Skan	(array_base_name_differ_p): Moved to tree-data-ref.c.
18791169689Skan	* tree-data-ref.c (array_base_name_differ_p): Revised.
18792169689Skan	(initialize_data_dependence_relation): Call array_base_name_differ_p
18793169689Skan	with an extra argument.
18794169689Skan	(analyze_all_data_dependences): Same.
18795169689Skan	(init_data_ref): Additional argument is_read to set DR_IS_READ.
18796169689Skan	* tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
18797169689Skan	file.
18798169689Skan	* tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
18799169689Skan	* tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
18800169689Skan	* tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
18801169689Skan	vectorization pass.
18802169689Skan	* tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
18803169689Skan	(tree_ssa_loop_done): Call scev_finalize.
18804169689Skan	(tree_vectorize): Define the new vectorization pass.
18805169689Skan	* defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
18806169689Skan	size of the vector they support (until support for multiple vector
18807169689Skan	sizes is added to the vectorizer).
18808169689Skan	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
18809169689Skan	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
18810169689Skan	* invoke.texi (fdump-tree-vect, ftree-vectorize): Add
18811169689Skan	documentation.
18812169689Skan
18813169689Skan2004-08-17  Nathan Sidwell  <nathan@codesourcery.com>
18814169689Skan
18815169689Skan	* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
18816169689Skan	usage.
18817169689Skan	(generate_protocol_list, handle_impent): Likewise.
18818169689Skan
18819169689Skan2004-08-17  Roger Sayle  <roger@eyesopen.com>
18820169689Skan
18821169689Skan	* regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
18822169689Skan	ensure that call_used_regs is a superset of both fixed_regs and
18823169689Skan	call_really_used_regs.
18824169689Skan
18825169689Skan2004-08-17  Daniel Bornstein  <danfuzz@milk.com>
18826169689Skan
18827169689Skan	PR target/17019
18828169689Skan	* arm.md (addsi3_cbranch_scratch): Correct case labels.
18829169689Skan
18830169689Skan2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
18831169689Skan
18832169689Skan	PR middle-end/17036
18833169689Skan	* fold-const.c (fold): Check for integer operand when
18834169689Skan	folding (A >> N) & 1 ? (1 << N) : 0.  Fix from Andrew
18835169689Skan	Pinski  <pinskia@physics.uc.edu>.
18836169689Skan
18837169689Skan2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
18838169689Skan
18839169689Skan	* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
18840169689Skan	No need to check if in a cross configuration.
18841169689Skan	* configure: Regenerate.
18842169689Skan
18843169689Skan	* calls.c (precompute_register_parameters):
18844169689Skan	Inline preserve_subexpressions_p ().
18845169689Skan	* expmed.c (expand_mult_const, emit_store_flag): Likewise.
18846169689Skan	* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
18847169689Skan	Likewise.
18848169689Skan	* expr.c (get_subtarget): Likewise.
18849169689Skan	* rtl.h (preserve_subexpressions_p): Remove.
18850169689Skan	* stmt.c (preserve_subexpressions_p): Remove.
18851169689Skan
18852169689Skan	* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
18853169689Skan	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
18854169689Skan	Abort on gimplified cases.
18855169689Skan
18856169689Skan2004-08-16  James E Wilson  <wilson@specifixinc.com>
18857169689Skan
18858169689Skan	* tree.h (VECTOR_FLOAT_TYPE_P): New.
18859169689Skan	(FLOAT_TYPE_P): Use it.
18860169689Skan	* c-typeck.c (build_binary_op): After convert calls, check for
18861169689Skan	check for ERROR_MARK operands.
18862169689Skan
18863169689Skan2004-08-16  Zack Weinberg  <zack@codesourcery.com>
18864169689Skan
18865169689Skan	* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
18866169689Skan	(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
18867169689Skan	(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
18868169689Skan	(genobjs static pattern rule): Remove %.c dependency.
18869169689Skan	($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
18870169689Skan	Rename rules; delete commands; fix dependencies.
18871169689Skan	(mostlyclean): Do not delete temporary source copies.
18872169689Skan	* configure.ac: Delete all references to BUILD_PREFIX and
18873169689Skan	BUILD_PREFIX_1.
18874169689Skan	* configure: Regenerate.
18875169689Skan
18876169689Skan	* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
18877169689Skan	Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
18878169689Skan	basic-block.h #ifdef GENERATOR_FILE.  Surround some more code
18879169689Skan	with #ifndef GENERATOR_FILE so that nothing from those headers
18880169689Skan	is used.
18881169689Skan
18882169689Skan	* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
18883169689Skan
18884169689Skan2004-08-16  Adam Nemet  <anemet@lnxw.com>
18885169689Skan
18886169689Skan	* Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
18887169689Skan
18888169689Skan2004-08-16  Andrew Pinski  <apinski@apple.com>
18889169689Skan
18890169689Skan	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
18891169689Skan	extraneous semicolon.
18892169689Skan
18893169689Skan2004-08-16  Devang Patel  <dpatel@apple.com>
18894169689Skan
18895169689Skan	* c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
18896169689Skan	* print-tree.c (print_node): Print DECL_PRESERVE_P.
18897169689Skan	* target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
18898169689Skan	(TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
18899169689Skan	* target.h (struct gcc_target): New member, mark_decl_preserved.
18900169689Skan	* hooks.c (hook_void_charptr): Rename to ...
18901169689Skan	(hook_void_constcharptr): ... new name.
18902169689Skan	* hooks.h (hook_void_charptr): Rename to ..
18903169689Skan	(hook_void_constcharptr): ... new name.
18904169689Skan	* tree.h (DECL_PRESERVE_P): New #define.
18905169689Skan	(struct tree_decl): New member, preserve_flag.
18906169689Skan	* varasm.c (assemble_start_function): Mark decl preserved.
18907169689Skan	(assemble_variable): Same.
18908169689Skan	* darwin.c (darwin_mark_decl_preserved): New function.
18909169689Skan	* darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
18910169689Skan	* darwin-protos.h (darwin_mark_decl_preserved): New decl.
18911169689Skan	* doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
18912169689Skan
18913169689Skan2004-08-16  Joseph S. Myers  <jsm@polyomino.org.uk>
18914169689Skan
18915169689Skan	* c-decl.c (grokdeclarator): Allow for function definition where
18916169689Skan	innermost declarator has attributes.
18917169689Skan
18918169689Skan2004-08-16  Fariborz Jahanian <fjahanian@apple.com>
18919169689Skan
18920169689Skan	* except.c (get_exception_filter, build_post_landing_pads,
18921169689Skan	dw2_build_landing_pads): Use target-specific mode for 'filter'.
18922169689Skan	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
18923169689Skan	* target.h (eh_return_filter_mode): New field added.
18924169689Skan	* targhooks.c (default_eh_return_filter_mode): Defined.
18925169689Skan	* targhooks.h (default_eh_return_filter_mode): Declared.
18926169689Skan	* config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
18927169689Skan
18928169689Skan2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
18929169689Skan
18930169689Skan	* configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
18931169689Skan	ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
18932169689Skan	* configure: Regenerate.
18933169689Skan
18934169689Skan2004-08-16  Stan Shebs  <shebs@apple.com>
18935169689Skan
18936169689Skan	Basic support for 64-bit Darwin.
18937169689Skan	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
18938169689Skan	(machopic_legitimize_pic_address): Similarly, plus use Pmode
18939169689Skan	instead of SImode.
18940169689Skan	* config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
18941169689Skan	(TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
18942169689Skan	(SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
18943169689Skan	(SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
18944169689Skan	(PROCESSOR_DEFAULT64): Define.
18945169689Skan	* config/rs6000/darwin.md: New file, patterns specific to 64-bit
18946169689Skan	Darwin.
18947169689Skan	* config/rs6000/rs6000.md: Include darwin.md.
18948169689Skan	(builtin_setjmp_receiver): Add DImode case.
18949169689Skan	* config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
18950169689Skan	Darwin.
18951169689Skan	(TARGET_ASM_ALIGNED_DI_OP): Ditto.
18952169689Skan	(rs6000_emit_move): Add DImode case to Darwin bits.
18953169689Skan	(machopic_output_stub): Use .quad if 64-bit.
18954169689Skan	* invoke.texi: Document -m32 and -m64.
18955169689Skan
18956169689Skan2004-08-16  Janis Johnson  <janis187@us.ibm.com>
18957169689Skan
18958169689Skan	* doc/extend.texi (AltiVec builtins): Document additional differences
18959169689Skan	from the Motorola AltiVec PIM.
18960169689Skan
18961169689Skan2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
18962169689Skan
18963169689Skan	* c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
18964169689Skan	* tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
18965169689Skan	(struct tree_common): Update public_flag documentation.
18966169689Skan
18967169689Skan2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
18968169689Skan
18969169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
18970169689Skan	Check for artificial variables, not is_gimple_tmp_var.
18971169689Skan	* tree-ssa-live.c (var_union): Likewise.
18972169689Skan
18973169689Skan2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
18974169689Skan
18975169689Skan	* calls.c (load_register_parameters): Remove spurious FIXME token.
18976169689Skan
18977169689Skan2004-08-15  Ziemowit Laski  <zlaski@apple.com>
18978169689Skan
18979169689Skan	* Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
18980169689Skan	(c-lang.o): Depend on c-objc-common.h.
18981169689Skan	(c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
18982169689Skan	c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
18983169689Skan	* c-lang.c: Include c-objc-common.h.
18984169689Skan	(LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
18985169689Skan	LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
18986169689Skan	LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
18987169689Skan	LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
18988169689Skan	LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
18989169689Skan	LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
18990169689Skan	LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
18991169689Skan	LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
18992169689Skan	LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
18993169689Skan	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
18994169689Skan	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
18995169689Skan	LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
18996169689Skan	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
18997169689Skan	LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
18998169689Skan	LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
18999169689Skan	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
19000169689Skan	LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
19001169689Skan	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
19002169689Skan	LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
19003169689Skan	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
19004169689Skan	LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
19005169689Skan	LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
19006169689Skan	LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
19007169689Skan	LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
19008169689Skan	Move to c-objc-common.h.
19009169689Skan	* c-objc-common.c: Include c-objc-common.h.
19010169689Skan	* c-objc-common.h: New file.
19011169689Skan
19012169689Skan2004-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
19013169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
19014169689Skan
19015169689Skan	PR target/14931
19016169689Skan	* config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
19017169689Skan	style.
19018169689Skan
19019169689Skan2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
19020169689Skan
19021169689Skan	* tree.h (build_int_cst): New.
19022169689Skan	(build_int_2): Remove.
19023169689Skan	* tree.c (build_int_2): Remove.
19024169689Skan	(build_int_cst): New.
19025169689Skan	(make_vector_type, build_common_tree_nodes,
19026169689Skan	build_common_tree_nodes_2): Use build_int_cst.
19027169689Skan	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
19028169689Skan	expand_builtin_strpbrk, expand_builtin_fputs,
19029169689Skan	build_string_literal, expand_builtin_printf,
19030169689Skan	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
19031169689Skan	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
19032169689Skan	fold_builtin_isdigit, simplify_builtin_strstr,
19033169689Skan	simplify_builtin_strpbrk, fold_builtin_fputs,
19034169689Skan	simplify_builtin_sprintf): Use build_int_cst.
19035169689Skan	* c-common.c (start_fname_decls, fix_string_type,
19036169689Skan	c_common_nodes_and_builtins, c_init_attributes,
19037169689Skan	shorten_compare): Likewise.
19038169689Skan	* c-decl.c (complete_array_type,
19039169689Skan	check_bitfield_type_and_width): Likewise.
19040169689Skan	* c-lex.c (interpret_integer, lex_charconst): Likewise.
19041169689Skan	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
19042169689Skan	* c-pretty-print.c (pp_c_integer_constant): Likewise.
19043169689Skan	* c-typeck.c (really_start_incremental_init, push_init_level,
19044169689Skan	set_nonincremental_init_from_string): Likewise.
19045169689Skan	* calls.c (load_register_parameters): Likewise.
19046169689Skan	* convert.c (convert_to_pointer): Likewise.
19047169689Skan	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
19048169689Skan	build_fn_info_type, build_ctr_info_value, build_gcov_info):
19049169689Skan	Likewise.
19050169689Skan	* except.c (init_eh, assign_filter_values, assign_filter_values):
19051169689Skan	Likewise.
19052169689Skan	* expmed.c (store_fixed_bit_field, extract_bit_field,
19053169689Skan	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
19054169689Skan	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
19055169689Skan	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
19056169689Skan	* expr.c (convert_move, emit_group_load, emit_group_store,
19057169689Skan	expand_assignment, store_constructor, store_field,
19058169689Skan	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
19059169689Skan	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
19060169689Skan	invert_truthvalue, optimize_bit_field_compare,
19061169689Skan	decode_field_reference, all_ones_mask_p, constant_boolean_node,
19062169689Skan	fold_div_compare, fold, fold_read_from_constant_string,
19063169689Skan	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
19064169689Skan	* function.c (assign_parm_setup_block): Likewise.
19065169689Skan	* stmt.c (shift_return_value, expand_end_case_type,
19066169689Skan	estimate_case_costs): Likewise.
19067169689Skan	* stor-layout.c (layout_type, initialize_sizetypes,
19068169689Skan	set_min_and_max_values_for_integral_type): Likewise.
19069169689Skan	* tree-chrec.c (chrec_fold_multiply_poly_poly,
19070169689Skan	reset_evolution_in_loop): Likewise.
19071169689Skan	* tree-chrec.h (build_polynomial_chrec): Likewise.
19072169689Skan	* tree-complex.c (build_replicated_const): Likewise.
19073169689Skan	* tree-eh.c (honor_protect_cleanup_actions,
19074169689Skan	lower_try_finally_onedest, lower_try_finally_copy,
19075169689Skan	lower_try_finally_switch): Likewise.
19076169689Skan	* tree-mudflap.c (mf_build_string, mx_register_decls,
19077169689Skan	mudflap_register_call, mudflap_enqueue_constant): Likewise.
19078169689Skan	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
19079169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
19080169689Skan	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
19081169689Skan	Likewise.
19082169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
19083169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond,
19084169689Skan	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
19085169689Skan	Likewise.
19086169689Skan
19087169689Skan	* config/alpha/alpha.c (alpha_initialize_trampoline,
19088169689Skan	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
19089169689Skan	* config/arm/arm.c (arm_get_cookie_size): Likewise.
19090169689Skan	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
19091169689Skan	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
19092169689Skan	* config/i860/i860.c (i860_va_start): Likewise.
19093169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
19094169689Skan	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
19095169689Skan	mips_gimplify_va_arg_expr): Likewise.
19096169689Skan	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
19097169689Skan	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
19098169689Skan	add_compiler_branch_island): Likewise.
19099169689Skan	* config/s390/s390.c (s390_va_start): Likewise.
19100169689Skan	* config/sh/sh.c (sh_va_start): Likewise.
19101169689Skan	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
19102169689Skan	Likewise.
19103169689Skan	* config/xtensa/xtensa.c (xtensa_va_start,
19104169689Skan	xtensa_gimplify_va_arg_expr): Likewise.
19105169689Skan
19106169689Skan	* objc/objc-act.c (build_objc_string_object,
19107169689Skan	build_objc_symtab_template, init_def_list, init_objc_symtab,
19108169689Skan	init_module_descriptor, generate_static_references,
19109169689Skan	build_selector_translation_table, get_proto_encoding,
19110169689Skan	build_typed_selector_reference, build_selector_reference,
19111169689Skan	build_next_objc_exception_stuff,
19112169689Skan	build_method_prototype_list_template, generate_descriptor_table,
19113169689Skan	generate_protocols, build_protocol_initializer,
19114169689Skan	build_ivar_list_template, build_method_list_template,
19115169689Skan	build_ivar_list_initializer, generate_ivars_list,
19116169689Skan	generate_dispatch_table, generate_protocol_list,
19117169689Skan	build_category_initializer, build_shared_structure_initializer,
19118169689Skan	generate_shared_structures, handle_impent,
19119169689Skan	generate_objc_image_info): Use build_int_cst.
19120169689Skan
19121169689Skan2004-08-15  Ben Elliston  <bje@au.ibm.com>
19122169689Skan
19123169689Skan	* vec.h: Comment improvements.
19124169689Skan
19125169689Skan2004-08-14  Roger Sayle  <roger@eyesopen.com>
19126169689Skan
19127169689Skan	* c-common.c (shorten_compare, pointer_int_sum,
19128169689Skan	c_common_truthvalue_conversion, boolean_increment): Replace calls
19129169689Skan	to build with calls to buildN.
19130169689Skan	* c-decl.c (complete_array_type, grokdeclarator): Likewise.
19131169689Skan	* c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
19132169689Skan	gimplify_switch_stmt): Likewise.
19133169689Skan	* c-typeck.c (default_function_array_conversion,
19134169689Skan	build_component_ref, build_array_ref, build_function_call,
19135169689Skan	pointer_diff, build_unary_op, build_conditional_expr,
19136169689Skan	build_compound_expr, build_modify_expr, c_finish_goto_label,
19137169689Skan	c_finish_goto_ptr, c_finish_return, c_finish_loop,
19138169689Skan	c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
19139169689Skan	build_binary_op): Likewise.
19140169689Skan
19141169689Skan2004-08-15  Steven Bosscher  <stevenb@suse.de>
19142169689Skan
19143169689Skan	* rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
19144169689Skan
19145169689Skan2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19146169689Skan
19147169689Skan	* fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
19148169689Skan	curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
19149169689Skan	* fixinc/fixincl.x: Rebuilt.
19150169689Skan
19151169689Skan2004-08-14  Richard Sandiford  <rsandifo@redhat.com>
19152169689Skan
19153169689Skan	* config/mips/mips-protos.h (mips_symbolic_constant_p)
19154169689Skan	(mips_atomic_symbolic_constant_p, mips_stack_address_p)
19155169689Skan	(mips_small_data_pattern_p): Declare.
19156169689Skan	* config/mips/mips.h (CONST_GP_P): Moved from mips.c.
19157169689Skan	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
19158169689Skan	* config/mips/mips.c (mips_symbolic_constant_p): Make global.
19159169689Skan	(mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
19160169689Skan	(uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
19161169689Skan	(sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
19162169689Skan	(reg_or_const_float_1_operand, hilo_operand, extend_operator)
19163169689Skan	(macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
19164169689Skan	(pc_or_label_operand, call_insn_operand, move_operand)
19165169689Skan	(consttable_operand, symbolic_operand, general_symbolic_operand)
19166169689Skan	(global_got_operand, local_got_operand, stack_operand)
19167169689Skan	(fp_register_operand, lo_operand, fcc_register_operand): Delete.
19168169689Skan	(mips_small_data_pattern_1): Renamed from small_data_pattern_1.
19169169689Skan	(mips_small_data_pattern_p): Replace previous small_data_pattern
19170169689Skan	predicate.  Turn into a bool () (rtx) function.
19171169689Skan	* config/mips/predicates.md: New file.
19172169689Skan	* config/mips/mips.md: Include it.  Use the target-independent
19173169689Skan	comparison_operator instead of cmp_op.  Rename trap_cmp_op to
19174169689Skan	trap_comparison_operator and equality_op to equality_operator.
19175169689Skan	Replace uses of small_int with the equivalent const_arith_operand.
19176169689Skan	Rename reg_or_const_float_1_operand to reg_or_1_operand.  Rename
19177169689Skan	const_float_1_operand to const_1_operand.  Rename fcc_register_operand
19178169689Skan	to fcc_reload_operand.
19179169689Skan	* config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
19180169689Skan
19181169689Skan2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19182169689Skan
19183169689Skan	PR libstdc++/17005 partial fix.
19184169689Skan	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
19185169689Skan	except when generating ANSI/C89 code.
19186169689Skan
19187169689Skan2004-08-14  Nathan Sidwell  <nathan@codesourcery.com>
19188169689Skan
19189169689Skan	* c-common.c (shorten_compare): Use force_fit_type directly.
19190169689Skan
19191169689Skan2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
19192169689Skan	    Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
19193169689Skan	    Dave Korn  <dk@artimi.com>
19194169689Skan
19195169689Skan	* doc/install.texi (Building): Avoid duplicate reference to GNU
19196169689Skan	make requirement.
19197169689Skan	(*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
19198169689Skan
19199169689Skan2004-08-14  Richard Henderson  <rth@redhat.com>
19200169689Skan
19201169689Skan	* config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
19202169689Skan	* config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
19203169689Skan
19204169689Skan2004-08-13  Richard Henderson  <rth@redhat.com>
19205169689Skan
19206169689Skan	* config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
19207169689Skan	for constant_call_address_operand.
19208169689Skan	(call_value_pop_1, call_value_1): Likewise.
19209169689Skan	(sibcall_value_1, call_value_1_rex64): Likewise.
19210169689Skan
19211169689Skan2004-08-13  James E Wilson  <wilson@specifixinc.com>
19212169689Skan
19213169689Skan	* config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
19214169689Skan	Correct mode from SFmode to DFmode.
19215169689Skan
19216169689Skan2004-08-13  Ziemowit Laski  <zlaski@apple.com>
19217169689Skan
19218169689Skan	* config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
19219169689Skan	__cstring_object and __image_info sections with the no_dead_strip
19220169689Skan	attribute.
19221169689Skan
19222169689Skan2004-08-13  Roger Sayle  <roger@eyesopen.com>
19223169689Skan	    David Billinghurst  <David.Billinghurst@riotinto.com>
19224169689Skan
19225169689Skan	PR libgfortran/15930
19226169689Skan	* fixinc/inclhack.def (irix___generic1, irix___generic2): New.
19227169689Skan	* fixinc/fixincl.x: Regenerate.
19228169689Skan	* fixinc/tests/base/internal/math_core.h: New file.
19229169689Skan
19230169689Skan2004-08-13  Richard Henderson  <rth@redhat.com>
19231169689Skan
19232169689Skan	* dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
19233169689Skan	(dbxout_function_end): Remove ifdefs for it.
19234169689Skan	(dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
19235169689Skan
19236169689Skan2004-08-13  Richard Henderson  <rth@redhat.com>
19237169689Skan
19238169689Skan	* Makefile.in (insn-preds.o): Depend on TREE_H.
19239169689Skan	* genpreds.c (write_insn_preds_c): Include tree.h.
19240169689Skan	* config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
19241169689Skan	reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
19242169689Skan	const48_operand, and_operand, or_operand, mode_width_operand,
19243169689Skan	mode_mask_operand, mul8_operand, const0_operand,
19244169689Skan	hard_fp_register_operand, hard_int_register_operand,
19245169689Skan	reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
19246169689Skan	samegp_function_operand, direct_call_operand, small_symbolic_operand,
19247169689Skan	global_symbolic_operand, call_operand, symbolic_operand,
19248169689Skan	dtp16_symbolic_operand, dtp32_symbolic_operand,
19249169689Skan	gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
19250169689Skan	gottp_symbolic_operand, alpha_comparison_operator,
19251169689Skan	alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
19252169689Skan	signed_comparison_operator, alpha_fp_comparison_operator,
19253169689Skan	divmod_operator, fix_operator, aligned_memory_operand,
19254169689Skan	unaligned_memory_operand, reg_or_unaligned_mem_operand,
19255169689Skan	any_memory_operand, reg_not_elim_operand, normal_memory_operand,
19256169689Skan	reg_no_subreg_operand, addition_operation): Move to predicates.md.
19257169689Skan	(reg_or_const_int_operand): Remove.  Replace all users with
19258169689Skan	reg_or_cint_operand.
19259169689Skan	(tls_symbolic_operand_1): Export.  Don't check mode or for CONST.
19260169689Skan	(resolve_reload_operand): Split out of aligned_memory_operand.
19261169689Skan	* config/alpha/alpha-protos.h: Update for exports.
19262169689Skan	* config/alpha/alpha.h (PREDICATE_CODES): Remove.
19263169689Skan	* config/alpha/alpha.md: Include predicates.md.
19264169689Skan	* config/alpha/predicates.md: New file.
19265169689Skan
19266169689Skan2004-08-13  Richard Sandiford  <rsandifo@redhat.com>
19267169689Skan
19268169689Skan	* genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
19269169689Skan	fields with a pointer to the instruction definition.
19270169689Skan	(get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
19271169689Skan	(insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
19272169689Skan	(write_attr_case, write_const_num_delay_slots): Update accordingly.
19273169689Skan	(write_attr_case, write_const_num_delay_slots): Write the name of
19274169689Skan	an insn next to its case statement.
19275169689Skan	* genoutput.c (data): Add a filename field.
19276169689Skan	(gen_insn, gen_peephole, gen_expand, gen_split): Set it.
19277169689Skan	(output_insn_data): Print the location of each insn definition.
19278169689Skan	* genrecog.c (write_action): Print the name of an insn above
19279169689Skan	the statement that returns its code.
19280169689Skan
19281169689Skan2004-08-12  Andrew Pinski  <pinskia@physics.uc.edu>
19282169689Skan
19283169689Skan	* config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
19284169689Skan	* config/libgloss.h: Likewise.
19285169689Skan	* config/arm/arm.c (arm_gen_load_multiple): Likewise.
19286169689Skan	* c4x/c4x-modes.def: Likewise.
19287169689Skan	* config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
19288169689Skan	(c4x_rptb_nop_p): Likewise.
19289169689Skan	(c4x_rptb_valid_p): Likewise.
19290169689Skan	(c4x_rptb_insert): Likewise.
19291169689Skan	(c4x_address_conflict): Likewise.
19292169689Skan	* config/c4x/c4x.md: Likewise.
19293169689Skan	* config/frv/frv.md: Likewise.
19294169689Skan	* config/i386/athlon.md: Likewise.
19295169689Skan	* config/i386/i386.md: Likewise.
19296169689Skan	* config/i386/predicates.md: Likewise.
19297169689Skan	* config/ia64/ia64.c: Likewise.
19298169689Skan	* config/ia64/itanium1.md: Likewise.
19299169689Skan	* config/ia64/itanium2.md: Likewise.
19300169689Skan	* config/iq2000/iq2000.md: Likewise.
19301169689Skan	* config/mcore/mcore.c: Likewise.
19302169689Skan	* config/mips/mips.c: Likewise.
19303169689Skan	* config/mips/r3900.h: Likewise.
19304169689Skan	* config/mips/sb1.md: Likewise.
19305169689Skan	* config/pa/milli64.S: Likewise.
19306169689Skan	* config/pa/pa.c: Likewise.
19307169689Skan	* config/pa/pa.h: Likewise.
19308169689Skan	* config/rs6000/8540.md: Likewise.
19309169689Skan
19310169689Skan2004-08-13  Daniel Berlin  <dberlin@dberlin.org>
19311169689Skan
19312169689Skan	* Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
19313169689Skan
19314169689Skan2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
19315169689Skan
19316169689Skan	* sh.md (cbranch define_delay) Use cond_delay_slot for
19317169689Skan	non-anulled condition too.
19318169689Skan
19319169689Skan2004-08-12  David Edelsohn  <edelsohn@gnu.org>
19320169689Skan
19321169689Skan	* config/rs6000/rs6000.c (any_parallel_operand): New predicate.
19322169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
19323169689Skan	any_parallel_operand, lmw_operation, stmw_operation,
19324169689Skan	mfcr_operation, mtcrf_operation.  Remove PARALLEL from any_operand.
19325169689Skan	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
19326169689Skan	any_parallel_operand.
19327169689Skan	(return_and_restore_fpregs_{si,di}): Same.
19328169689Skan
19329169689Skan2004-08-12  Zack Weinberg  <zack@codesourcery.com>
19330169689Skan
19331169689Skan	* genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
19332169689Skan	if pred->singleton != PARALLEL, issue a warning and pretend it was.
19333169689Skan	Also issue a warning for any predicate we don't know about.
19334169689Skan
19335169689Skan2004-08-12  Richard Henderson  <rth@redhat.com>
19336169689Skan
19337169689Skan	* config/i386/i386.c (internal_label_prefix): Export.
19338169689Skan	(internal_label_prefix_len, struct ix86_address,
19339169689Skan	ix86_decompose_address, maybe_get_pool_constant,
19340169689Skan	ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
19341169689Skan	memory_address_length): Export.
19342169689Skan	(any_fp_register_operand, fp_register_operand,
19343169689Skan	register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
19344169689Skan	x86_64_general_operand, x86_64_szext_general_operand,
19345169689Skan	x86_64_nonmemory_operand, x86_64_movabs_operand,
19346169689Skan	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
19347169689Skan	x86_64_zext_immediate_operand, const_int_1_31_operand,
19348169689Skan	symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
19349169689Skan	tls_symbolic_operand, global_dynamic_symbolic_operand,
19350169689Skan	local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
19351169689Skan	local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
19352169689Skan	constant_call_address_operand, const0_operand, const1_operand,
19353169689Skan	const248_operand, const_0_to_3_operand, const_0_to_7_operand,
19354169689Skan	const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
19355169689Skan	shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
19356169689Skan	general_no_elim_operand, nonmemory_no_elim_operand,
19357169689Skan	index_register_operand, q_regs_operand, flags_reg_operand,
19358169689Skan	non_q_regs_operand, zero_extended_scalar_load_operand,
19359169689Skan	vector_move_operand, no_seg_address_operand, sse_comparison_operator,
19360169689Skan	ix86_comparison_operator, ix86_carry_flag_operator,
19361169689Skan	fcmov_comparison_operator, promotable_binary_operator,
19362169689Skan	cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
19363169689Skan	mult_operator, div_operator, arith_or_logical_operator,
19364169689Skan	memory_displacement_operand, cmpsi_operand, long_memory_operand,
19365169689Skan	aligned_operand): Move to predicates.md as define_predicates.
19366169689Skan	(tls_symbolic_operand_1): Remove.
19367169689Skan	(x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
19368169689Skan	(x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
19369169689Skan	(legitimize_address): Merge tls_symbolic_operand contents.
19370169689Skan	(ix86_expand_move): Likewise.
19371169689Skan	* config/i386/i386-protos.h: Update for exports.
19372169689Skan	* config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
19373169689Skan	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
19374169689Skan	* config/i386/i386.md: Include predicates.md.
19375169689Skan	* config/i386/predicates.md: New file.
19376169689Skan
19377169689Skan2004-08-13  Mark Mitchell  <mark@codesourcery.com>
19378169689Skan
19379169689Skan	PR c++/16924
19380169689Skan	* config/i386/winnt.c (i386_pe_mark_dllexport): Set
19381169689Skan	SYMBOL_REF_DECL.
19382169689Skan	(i386_pe_mark_dllimport): Likewise.
19383169689Skan	(i386_pe_encode_section_info): Likewise, when overriding
19384169689Skan	dllimport attribute.
19385169689Skan
19386169689Skan2004-08-12  Geoffrey Keating  <geoffk@apple.com>
19387169689Skan
19388169689Skan	* configure.ac: When testing for flex, nm, ar, and bison, check
19389169689Skan	that they will actually be built.
19390169689Skan	* configure: Regenerate.
19391169689Skan
19392169689Skan2004-08-12  Ulrich Weigand  <uweigand@de.ibm.com>
19393169689Skan
19394169689Skan	* config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
19395169689Skan	(MOVE_MAX_PIECES): Define.
19396169689Skan
19397169689Skan2004-08-12  Devang patel  <dpatel@apple.com>
19398169689Skan
19399169689Skan	* dbxout.c (dbxout_begin_prologue): New function.
19400169689Skan	(dbx_debug_hooks): Use new begin prologue hook.
19401169689Skan	(dbxout_function_end): Emit N_ENSYM.
19402169689Skan	* stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
19403169689Skan
19404169689Skan2004-08-12  Janis Johnson  <janis187@us.ibm.com>
19405169689Skan
19406169689Skan	* config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
19407169689Skan	argument is float*.
19408169689Skan
19409169689Skan	* config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
19410169689Skan	for vec_dss.
19411169689Skan
19412169689Skan	* doc/extend.texi (AltiVec builtins): Fix description for recent
19413169689Skan	changes.  Update operation list to match current support.
19414169689Skan
19415169689Skan2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
19416169689Skan
19417169689Skan	* config/s390/s390.c (struct s390_frame_layout): New struct as element
19418169689Skan	of struct machine_function.
19419169689Skan	(cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
19420169689Skan	changed all uses.
19421169689Skan	(cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
19422169689Skan	changed all uses.
19423169689Skan	(cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
19424169689Skan	(cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
19425169689Skan	(s390_frame_area, s390_register_info): New functions.
19426169689Skan	(s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
19427169689Skan	for base register.
19428169689Skan	(s390_return_addr_rtx, s390_return_address_offset)
19429169689Skan	(s390_va_start, s390_gimplify_va_arg)
19430169689Skan	(s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
19431169689Skan	layouts.
19432169689Skan	(s390_frame_info): Functionality partly moved to s390_register_info.
19433169689Skan	Made adaptions for new stack layout.
19434169689Skan	(save_gprs, restore_gprs): Changed meaning of second parameter and
19435169689Skan	adapted all callers.
19436169689Skan
19437169689Skan	* config/s390/s390.h (s390_backchain_string): New global variable.
19438169689Skan	(MASK_BACKCHAIN): Removed definition.
19439169689Skan	(TARGET_BACKCHAIN): Changed check.
19440169689Skan	(TARGET_KERNEL_BACKCHAIN): New macro.
19441169689Skan	(TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
19442169689Skan	(TARGET_OPTIONS): Added "backchain", "no-backchain" and
19443169689Skan	"kernel-backchain".
19444169689Skan	(DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
19445169689Skan
19446169689Skan	* config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
19447169689Skan	as condition.  Adjusted for new stack layout.
19448169689Skan
19449169689Skan	* doc/invoke.texi: Added documentation for new option
19450169689Skan	"-mkernel-backchain" and adjusted documentation of "-mbackchain" and
19451169689Skan	"-mno-backchain".
19452169689Skan
19453169689Skan2004-08-12  Paul Brook  <paul@codesourcery.com>
19454169689Skan
19455169689Skan	* config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
19456169689Skan	(aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
19457169689Skan
19458169689Skan2004-08-12  David Daney  <ddaney@avtrex.com>
19459169689Skan
19460169689Skan	* java/gcj.texi: Add subsection on signal usage.
19461169689Skan
19462169689Skan2004-08-12  David Edelsohn  <edelsohn@gnu.org>
19463169689Skan
19464169689Skan	* expr.c (move_by_pieces): Set alignment for move to minimum of
19465169689Skan	MOVE_MAX_PIECES mode alignment and the largest non-slow mode
19466169689Skan	alignment, but not less than the original alignment.
19467169689Skan	(move_by_pieces_ninsns): Same.
19468169689Skan	(can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
19469169689Skan	(store_by_pieces_1): Same.
19470169689Skan
19471169689Skan2004-08-12  Diego Novillo  <dnovillo@redhat.com>
19472169689Skan
19473169689Skan	PR tree-optimization/16867
19474169689Skan	* tree.c (is_global_var): New function.
19475169689Skan	(needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
19476169689Skan	Call is_global_var.
19477169689Skan	* tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
19478169689Skan	Update all users.
19479169689Skan	(is_global_var): Declare.
19480169689Skan	* tree-dfa.c (dump_variable): Display global and addressable
19481169689Skan	attributes.
19482169689Skan	(add_referenced_var): Clarify documentation when marking
19483169689Skan	variables call-clobbered.
19484169689Skan	* tree-flow-inline.h (is_call_clobbered): Call is_global_var
19485169689Skan	instead of needs_to_live_in_memory.
19486169689Skan	(mark_call_clobbered): If the variable is a tag, mark it
19487169689Skan	DECL_EXTERNAL.
19488169689Skan	* tree-gimple.c (is_gimple_reg): Don't check for
19489169689Skan	TREE_ADDRESSABLE.
19490169689Skan	(is_gimple_non_addressable): Likewise.
19491169689Skan	* tree-ssa-alias.c (get_nmt_for): Always check whether the tag
19492169689Skan	needs to be marked call-clobbered.
19493169689Skan	(setup_pointers_and_addressables): Call is_global_var instead
19494169689Skan	of needs_to_live_in_memory.
19495169689Skan	* tree-ssa-dce.c (need_to_preserve_store): Remove.
19496169689Skan	Update all users with is_global_var.
19497169689Skan	(mark_stmt_if_obviously_necessary): Fix processing of aliased
19498169689Skan	stores.  Don't check the virtual definitions.  Rather, check
19499169689Skan	whether the store is going into global memory.
19500169689Skan	(find_obviously_necessary_stmts): Get the symbol from the PHI
19501169689Skan	result.
19502169689Skan	* tree-ssa-operands.c (get_call_expr_operands): Do not add
19503169689Skan	clobbering may-defs if the call does not have side effects.
19504169689Skan
19505169689Skan2004-08-12  Jakub Jelinek  <jakub@redhat.com>
19506169689Skan
19507169689Skan	PR c++/16276
19508169689Skan	* output.h (default_function_rodata_section,
19509169689Skan	default_no_function_rodata_section): New prototypes.
19510169689Skan	* target.h (struct gcc_target): Add asm_out.function_rodata_section.
19511169689Skan	* target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
19512169689Skan	(TARGET_ASM_OUT): Add it.
19513169689Skan	* varasm.c (default_function_rodata_section,
19514169689Skan	default_no_function_rodata_section): New functions.
19515169689Skan	* final.c (final_scan_insn): Call
19516169689Skan	targetm.asm_out.function_rodata_section instead of
19517169689Skan	readonly_data_section.
19518169689Skan	* config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
19519169689Skan	* config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
19520169689Skan	* config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
19521169689Skan	* config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
19522169689Skan	Likewise.
19523169689Skan	* config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
19524169689Skan	* config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
19525169689Skan	Likewise.
19526169689Skan	* config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
19527169689Skan	Likewise.
19528169689Skan	* config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
19529169689Skan	* config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
19530169689Skan	* doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
19531169689Skan
19532169689Skan2004-08-12  Paul Brook  <paul@codesourcery.com>
19533169689Skan
19534169689Skan	* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
19535169689Skan	frame info.
19536169689Skan	* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
19537169689Skan	DWARF2_UNWIND_INFO.
19538169689Skan
19539169689Skan2004-08-12  Ben Elliston  <bje@au.ibm.com>
19540169689Skan
19541169689Skan	PR target/16286
19542169689Skan	* config/rs6000/altivec.h: Change vector to __vector throughout.
19543169689Skan	(Except for the `vector' macro itself).
19544169689Skan
19545169689Skan2004-08-12  Zack Weinberg  <zack@codesourcery.com>
19546169689Skan
19547169689Skan	* genpreds.c: Add capability to generate predicate bodies as
19548169689Skan	well as function prototypes.  Write function prototypes for
19549169689Skan	the generic predicates too.
19550169689Skan	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
19551169689Skan	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
19552169689Skan	(write_match_code, write_predicate_expr, write_one_predicate_function)
19553169689Skan	(parse_option): New functions.
19554169689Skan	(output_predicate_decls): Delete.
19555169689Skan	(main): Read the machine description, process DEFINE_PREDICATE or
19556169689Skan	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
19557169689Skan	as appropriate.
19558169689Skan
19559169689Skan	* genrecog.c (struct decision_test): Replace index with
19560169689Skan	struct pred_data pointer.
19561169689Skan	(next_index): Remove, unused.
19562169689Skan	(pred_table, preds, special_mode_pred_table): Delete.
19563169689Skan	(compute_predicate_codes, process_define_predicate): New functions.
19564169689Skan	(validate_pattern, add_to_sequence, write_switch): Update for
19565169689Skan	new data structures.
19566169689Skan	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
19567169689Skan	Check both error_count and have_error.
19568169689Skan
19569169689Skan	* gensupport.c (in_fname, first_predicate): New globals.
19570169689Skan	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
19571169689Skan	(predicate_table, last_predicate, old_pred_table)
19572169689Skan	(old_special_pred_table): New statics.
19573169689Skan	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
19574169689Skan	(add_predicate, init_predicate_table): New functions.
19575169689Skan	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
19576169689Skan	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
19577169689Skan	it or max_include_len.  Call init_predicate_table.
19578169689Skan	(read_rtx): Run the predicate queue after the attribute queue
19579169689Skan	but before all the others.
19580169689Skan	* gensupport.h (in_fname, struct pred_data, first_predicate)
19581169689Skan	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
19582169689Skan	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
19583169689Skan	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
19584169689Skan	* dummy-conditions.c: Don't include bconfig.h, system.h,
19585169689Skan	coretypes.h, tm.h, or system.h.  Do include stddef.h.
19586169689Skan	Duplicate declaration of struct c_test from gensupport.h.
19587169689Skan
19588169689Skan	* Makefile.in (OBJS-common): Add insn-preds.o.
19589169689Skan	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
19590169689Skan	(insn-preds.c, insn-preds.o): New rules.
19591169689Skan	(s-preds): Also generate insn-preds.c.
19592169689Skan	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
19593169689Skan	Update dependencies.
19594169689Skan	(print-rtl.o, print-rtl1.o): Correct dependencies.
19595169689Skan
19596169689Skan	* recog.h: Delete prototypes of predicate functions.
19597169689Skan
19598169689Skan	* doc/md.texi (Predicates): New section with complete
19599169689Skan	documentation of operand/operator predicates.  Remove some
19600169689Skan	incomplete documentation of predicates from other places.
19601169689Skan	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
19602169689Skan	PREDICATE_CODES; indicate that both are deprecated in favor
19603169689Skan	of define_predicate/define_special_predicate.
19604169689Skan
19605169689Skan	* config/ia64/ia64.c: All predicate function definitions moved
19606169689Skan	to ia64.md, except
19607169689Skan	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
19608169689Skan	(ia64_expand_load_address, ia64_expand_move):
19609169689Skan	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
19610169689Skan
19611169689Skan	* config/ia64/ia64.md: All predicates now defined here.
19612169689Skan	(symbolic_operand): Is now a special predicate.
19613169689Skan
19614169689Skan	* config/ia64/ia64.h: Declare ia64_section_threshold.
19615169689Skan	(PREDICATE_CODES): Delete.
19616169689Skan
19617169689Skan2004-08-12  Richard Henderson  <rth@redhat.com>
19618169689Skan
19619169689Skan	* c-common.h (STATEMENT_LIST_HAS_LABEL): New.
19620169689Skan	* c-semantics.c (add_stmt): Set it.
19621169689Skan	* c-decl.c (finish_decl): Use it to create a new BIND_EXPR
19622169689Skan	before instantiating a variable sized type.
19623169689Skan
19624169689Skan2004-08-12  Richard Henderson  <rth@redhat.com>
19625169689Skan
19626169689Skan	* stor-layout.c (round_up, round_down): Move ...
19627169689Skan	* fold-const.c (round_up, round_down): ... here.  Use
19628169689Skan	multiple_of_p to avoid any arithmetic at all.
19629169689Skan
19630169689Skan2004-08-12  Richard Henderson  <rth@redhat.com>
19631169689Skan
19632169689Skan	* gimplify.c (struct gimplify_init_ctor_preeval_data): New.
19633169689Skan	(gimplify_init_ctor_preeval_1): New.
19634169689Skan	(gimplify_init_ctor_preeval): New.
19635169689Skan	(gimplify_init_ctor_eval): New.
19636169689Skan	(gimplify_init_constructor): Use them.  Always gimplify the LHS
19637169689Skan	object first.
19638169689Skan
19639169689Skan2004-08-12  Ziemowit Laski  <zlaski@apple.com>
19640169689Skan
19641169689Skan	(This patch is part of merge of objc-improvements-branch
19642169689Skan	into mainline.)
19643169689Skan
19644169689Skan	* doc/frontends.texi: Mention Objective-C++ in addition to
19645169689Skan	Objective-C.
19646169689Skan	* doc/install.texi: Add 'obj-c++' to list of configurable
19647169689Skan	languages.
19648169689Skan	* doc/invoke.texi: Rename Objective-C option headings to
19649169689Skan	indicate they also apply to Objective-C++.  List file
19650169689Skan	extensions for Objective-C++ sources.  Mention that
19651169689Skan	ObjC and ObjC++ compilations may also use C and C++ options,
19652169689Skan	respectively.  Point users to doc/standards.texi for
19653169689Skan	further info on ObjC and ObjC++.
19654169689Skan	* doc/sourcebuild.texi: Mention the objcp/ directory and
19655169689Skan	the Objective-C++ sources it contains.
19656169689Skan	* doc/standards.texi: Update link to Apple ObjC site;
19657169689Skan	add link to gcc readings.html WWW doc.
19658169689Skan
19659169689Skan2004-08-12  Alan Modra  <amodra@bigpond.net.au>
19660169689Skan
19661169689Skan	* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
19662169689Skan	and 2004-07-14 changes.
19663169689Skan
19664169689Skan2004-08-12  Paul Brook  <paul@codesourcery.com>
19665169689Skan
19666169689Skan	* doc/invoke.texi: Fix typo.
19667169689Skan
19668169689Skan2004-08-11 Devang Patel  <dpatel@apple.com>
19669169689Skan
19670169689Skan	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
19671169689Skan	and -no_dead_strip_inits_and_terms.
19672169689Skan	(LINK_SPEC): Same.
19673169689Skan	* doc/invoke.texi (Darwin Options): Document -dead_strip and
19674169689Skan	-no_dead_strip_inits_and_terms.
19675169689Skan
19676169689Skan2004-08-11  Paul Brook  <paul@codesourcery.com>
19677169689Skan
19678169689Skan	* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
19679169689Skan	(arm_load_pic_register): ... to this.
19680169689Skan	* config/arm/arm.c (arm_finalize_pic): Rename ...
19681169689Skan	(arm_load_pic_register): ... to this.  Always output insns at the
19682169689Skan	current location.  Load via low reg in thumb mode.
19683169689Skan	(arm_expand_prologue): Call arm_load_pic_register.
19684169689Skan	(thumb_expand_prologue): Ditto.
19685169689Skan	* config/arm/arm.h (FINALIZE_PIC): Remove.
19686169689Skan	* config/arm/arm.md (builtin_setjmp_receiver): Call
19687169689Skan	arm_load_pic_register.
19688169689Skan
19689169689Skan2004-08-11  Paul Brook  <paul@codesourcery.com>
19690169689Skan
19691169689Skan	* arm.c (thumb_force_lr_save): Add prototype.
19692169689Skan	(thumb_compute_save_reg_mask): New function.
19693169689Skan	(thumb_find_work_register): New function.
19694169689Skan	(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
19695169689Skan	(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
19696169689Skan	Don't clobber r3 when removing pretend args.
19697169689Skan	(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
19698169689Skan	(thumb_output_function_prologue): Use new functions.
19699169689Skan	(thumb_set_return_address): Use thumb_compute_save_reg_mask.
19700169689Skan	* arm.h (THUMB_REG_PUSHED_P): Remove.
19701169689Skan
19702169689Skan2004-08-11  James E Wilson  <wilson@specifixinc.com>
19703169689Skan
19704169689Skan	PR rtl-optimization/16490
19705169689Skan	* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
19706169689Skan	global_live_at_end for new basic block if already set for other blocks.
19707169689Skan
19708169689Skan2004-08-11 David Edelsohn  <edelsohn@gnu.org>
19709169689Skan
19710169689Skan	* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
19711169689Skan
19712169689Skan	* config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
19713169689Skan	(mfcr rlwinm rlwinm patterns): Set length to 12.
19714169689Skan
19715169689Skan2004-08-11  Andrew MacLeod  <amacleod@redhat.com>
19716169689Skan
19717169689Skan	* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
19718169689Skan	get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
19719169689Skan	(get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
19720169689Skan	(start_ssa_stmt_operands): Delete.
19721169689Skan	* tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
19722169689Skan	struct stmt_operands_d.
19723169689Skan	(build_ssa_operands): New extern entry point.
19724169689Skan	* tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
19725169689Skan	building code, replace with create_ssa_artficial_load_stmt().
19726169689Skan	* tree-ssa-operands.c (struct voperands_d): Delete.
19727169689Skan	(allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
19728169689Skan	(allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
19729169689Skan	(free_uses, free_defs, free_vuses, free_v_may_defs,
19730169689Skan	free_v_must_defs): Remove dealloc parameter.
19731169689Skan	(remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
19732169689Skan	(finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
19733169689Skan	finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
19734169689Skan	vector comparisons, ssa_name reuse, and allocations here.
19735169689Skan	(verify_start_operands): Delete.
19736169689Skan	(finalize_ssa_stmt_operands): Set new operands by calling finalize
19737169689Skan	routines.
19738169689Skan	(start_ssa_stmt_operands): Move from tree-flow-inline.h.
19739169689Skan	(append_def, append_usei): Simplify to simple accumulation.
19740169689Skan	(append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
19741169689Skan	duplicates and simple accumulation.
19742169689Skan	(free_ssa_operands): Free vectors in a stmt_operand structure.
19743169689Skan	(build_ssa_operands): New. Create a new stmt_operand structure from
19744169689Skan	a stmt and an old set of stmt_operands.
19745169689Skan	(get_stmt_operands): Simplify and call build_ssa_operands.
19746169689Skan	(get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
19747169689Skan	get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
19748169689Skan	add_call_read_ops): Don't pass prev_vops around anymore.
19749169689Skan	(note_addressable): Return if no stmt annotation.
19750169689Skan	(copy_virtual_operands): Access v_may_def operands through a struct.
19751169689Skan	(create_ssa_artficial_load_stmt): New.  Create a load stmt for DOM's
19752169689Skan	hash tables without treating the stmt as a real stmt.
19753169689Skan	* tree-ssa-operands.h (struct v_may_def_operand_type): New.  Access
19754169689Skan	v_may_def def and use through a struct instead of 2 array elements.
19755169689Skan	(struct v_may_def_optype_d): Use v_may_def_operand_type.
19756169689Skan	(struct stmt_operands_d): New.  Struct for storing all operand vectors.
19757169689Skan
19758169689Skan2004-08-11  Nick Clifton  <nickc@redhat.com>
19759169689Skan
19760169689Skan	* config/arm/arm.c (arm_is_longcall_p): Update comment describing
19761169689Skan	this funciton's behaviour.  Return true when the current function
19762169689Skan	has a section attribute and -mlong-calls is in effect.
19763169689Skan	* config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
19764169689Skan	short-call marker when -mlong-calls is in effect and the function
19765169689Skan	has a section attribute.
19766169689Skan
19767169689Skan2004-08-10  Zack Weinberg  <zack@codesourcery.com>
19768169689Skan
19769169689Skan	* stmt.c (expand_return): If asked to return the RESULT_DECL,
19770169689Skan	just call expand_value_return on result_rtl.
19771169689Skan
19772169689Skan2004-08-10  Richard Henderson  <rth@redhat.com>
19773169689Skan
19774169689Skan	* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
19775169689Skan	* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
19776169689Skan	* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
19777169689Skan	(add_location_or_const_value_attribute): ... not here.  Use
19778169689Skan	loc_descriptor_from_tree if possible.
19779169689Skan	(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
19780169689Skan	Simplify address handling.  Handle DECL_VALUE_EXPR.  Handle register
19781169689Skan	values specially.
19782169689Skan	(loc_descriptor_from_tree): New.  Update callers.
19783169689Skan	* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
19784169689Skan	* gimplify.c (gimplify_decl_expr): Lower variable sized types to
19785169689Skan	pointer plus dereference.  Set DECL_VALUE_EXPR.  Set save_stack.
19786169689Skan	(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
19787169689Skan	and BUILT_IN_STACK_RESTORE.
19788169689Skan	(gimplify_expr): Lower DECL_VALUE_EXPR decls.
19789169689Skan	* stmt.c (expand_stack_alloc): Remove.
19790169689Skan	* tree-mudflap.c (mx_register_decls): Don't look for
19791169689Skan	BUILT_IN_STACK_ALLOC.
19792169689Skan	* tree-nested.c (convert_local_reference): Likewise.
19793169689Skan	* tree.h (DECL_VALUE_EXPR): New.
19794169689Skan
19795169689Skan2004-08-10  Richard Henderson  <rth@redhat.com>
19796169689Skan
19797169689Skan	* stor-layout.c (round_up): Check for 0/1 before dividing.
19798169689Skan	(round_down): Likewise.
19799169689Skan
19800169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
19801169689Skan
19802169689Skan2004-08-09  Mark Mitchell  <mark@codesourcery.com>
19803169689Skan
19804169689Skan	* config.gcc (arm*-*-eabi*): New target.
19805169689Skan	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
19806169689Skan	(TARGET_LIB_INT_CMP_BIASED): Likewise.
19807169689Skan	* expmed.c (expand_divmod): Try a two-valued divmod function as a
19808169689Skan	last resort.
19809169689Skan	* gthr.h: Remove bogus tokens at end of #pragma.
19810169689Skan	* optabs.c (expand_twoval_binop_libfunc): New function.
19811169689Skan	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
19812169689Skan	(prepare_float_lib_cmp): Try reversing the condition.
19813169689Skan	(debug_optab_libfuncs): New function.
19814169689Skan	* optabs.h (expand_twoval_binop_libfunc): Declare.
19815169689Skan	* config/arm/arm.c (arm_init_libfuncs): New function.
19816169689Skan	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
19817169689Skan	(TARGET_INIT_LIBFUNCS): Define it.
19818169689Skan	* config/arm/arm.h (TARGET_BPABI): New macro.
19819169689Skan	* config/arm/arm-protos.h
19820169689Skan	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
19821169689Skan	* config/arm/bpabi.S: New file.
19822169689Skan	* config/arm/bpabi.c: Likewise.
19823169689Skan	* config/arm/bpabi.h: Likewise.
19824169689Skan	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
19825169689Skan	(__aeabi_drsub): Likewise.
19826169689Skan	(__aeabi_dsub): Likewise.
19827169689Skan	(__aeabi_dadd): Likewise.
19828169689Skan	(__aeabi_ui2d): Likewise.
19829169689Skan	(__aeabi_i2d): Likewise.
19830169689Skan	(__aeabi_f2d): Likewise.
19831169689Skan	(__aeabi_dmul): Likewise.
19832169689Skan	(__aeabi_ddiv): Likewise.
19833169689Skan	(__aeabi_cdrcmple): Likewise.
19834169689Skan	(__aeabi_cdcmpeq): Likewise.
19835169689Skan	(__aeabi_cdcmple): Likewise.
19836169689Skan	(__aeabi_dcmpeq): Likewise.
19837169689Skan	(__aeabi_dcmplt): Likewise.
19838169689Skan	(__aeabi_dcmple): Likewise.
19839169689Skan	(__aeabi_dcmpge): Likewise.
19840169689Skan	(__aeabi_dcmpgt): Likewise.
19841169689Skan	(__aeabi_dcmpun): Likewise.
19842169689Skan	(__aeabi_d2iz): Likewise.
19843169689Skan	(__aeabi_d2uiz): Likewise.
19844169689Skan	(__aeabi_d2f): Likewise.
19845169689Skan	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
19846169689Skan	(__aeabi_frsub): Likewise.
19847169689Skan	(__aeabi_fsub): Likewise.
19848169689Skan	(__aeabi_fadd): Likewise.
19849169689Skan	(__aeabi_ui2f): Likewise.
19850169689Skan	(__aeabi_i2f): Likewise.
19851169689Skan	(__aeabi_fmul): Likewise.
19852169689Skan	(__aeabi_fdiv): Likewise.
19853169689Skan	(__aeabi_cfrcmple): Likewise.
19854169689Skan	(__aeabi_cfcmpeq): Likewise.
19855169689Skan	(__aeabi_cfcmple): Likewise.
19856169689Skan	(__aeabi_fcmpeq): Likewise.
19857169689Skan	(__aeabi_fcmplt): Likewise.
19858169689Skan	(__aeabi_fcmple): Likewise.
19859169689Skan	(__aeabi_fcmpge): Likewise.
19860169689Skan	(__aeabi_fcmpgt): Likewise.
19861169689Skan	(__aeabi_fcmpun): Likewise.
19862169689Skan	(__aeabi_f2iz): Likewise.
19863169689Skan	(__aeabi_f2uiz): Likewise.
19864169689Skan	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
19865169689Skan	(__aeabi_uidivmod): New function or alias.
19866169689Skan	(__aeabi_idivmod): Likewise.
19867169689Skan	(__aeabi_idiv0): Likewise.
19868169689Skan	(__aeabi_ldiv0): Likewise.
19869169689Skan	(__aeabi_llsr): Likewise.
19870169689Skan	(__aeabi_lasr): Likewise.
19871169689Skan	(__aeabi_llsl): Likewise.
19872169689Skan	(bpabi.S): Include it.
19873169689Skan	* config/arm/libgcc-bpabi.ver: New file.
19874169689Skan	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
19875169689Skan	(LINK_SPEC): Remove.
19876169689Skan	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
19877169689Skan	__aeabi_ulcmp.
19878169689Skan	* config/arm/t-bpabi: New file.
19879169689Skan	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
19880169689Skan	(TARGET_LIB_INT_CMP_BIASED): Likewise.
19881169689Skan
19882169689Skan2004-08-10  David Edelsohn  <edelsohn@gnu.org>
19883169689Skan
19884169689Skan	* config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
19885169689Skan	* config/rs6000/rs6000.md (clrmemsi): New pattern.
19886169689Skan	* config/rs6000/rs6000.c (expand_block_clear): New function.
19887169689Skan	(expand_block_move): Convert alignment to bits.  Use SImode and
19888169689Skan	HImode for unaligned addresses if not STRICT_ALIGNMENT.
19889169689Skan
19890169689Skan2004-08-10  Caroline Tice  <ctice@apple.com>
19891169689Skan
19892169689Skan	* varasm.c (unlikely_section_label): New global variable.
19893169689Skan	(unlikely_text_section_name): New global variable.
19894169689Skan	(text_section): Remove alignment statement.
19895169689Skan	(unlikely_text_section): Remove alignment statement; use
19896169689Skan	unlikely_section_label rather than hard-coded string.
19897169689Skan	(assemble_start_function): Initialize unlikely_section_label and
19898169689Skan	unlikely_text_section_name;  make sure cold section is properly
19899169689Skan	aligned at start of function; output unlikely_section_label if
19900169689Skan	appropriate.
19901169689Skan
19902169689Skan2004-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
19903169689Skan
19904169689Skan	* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
19905169689Skan	* config/s390/s390.c (s390_canonicalize_comparison): New function.
19906169689Skan	* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
19907169689Skan	* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
19908169689Skan	"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
19909169689Skan	("*tmqi_mem"): Remove SUBREG from pattern.
19910169689Skan	("*anddi3_cconly"): Prevent accidentally matching TM pattern.
19911169689Skan	("*andsi3_cconly"): Likewise.
19912169689Skan
19913169689Skan2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>
19914169689Skan
19915169689Skan	PR target/16909
19916169689Skan	* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
19917169689Skan
19918169689Skan2004-08-10  Janis Johnson  <janis187@us.ibm.com>
19919169689Skan
19920169689Skan	* doc/sourcebuild.texi (compat testing): Document available test
19921169689Skan	framework commands.  Use the preferred spelling of DejaGnu.
19922169689Skan
19923169689Skan2004-08-10  Daniel Berlin <dberlin@dberlin.org>
19924169689Skan
19925169689Skan	* lambda.h: Add matrix type, and prototypes for remainder of
19926169689Skan	matrix and vector functions.
19927169689Skan	(lambda_vector_mult_const): New function.
19928169689Skan	(lambda_vector_negate): Ditto.
19929169689Skan	(lambda_vector_add): Ditto.
19930169689Skan	(lambda_vector_add_mc): Ditto.
19931169689Skan	(lambda_vector_copy): Ditto.
19932169689Skan	(lambda_vector_zerop): Ditto.
19933169689Skan	(lambda_vector_equal): Ditto.
19934169689Skan	(lambda_vector_min_nz): Ditto.
19935169689Skan	(lambda_vector_first_nz): Ditto.
19936169689Skan	(lambda_vector_matrix_mult): Ditto.
19937169689Skan	* lambda-mat.c: New file.
19938169689Skan	* Makefile.in (lambda-mat.o): New.
19939169689Skan
19940169689Skan2004-08-10  Andrew MacLeod  <amacleod@redhat.com>
19941169689Skan
19942169689Skan	* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
19943169689Skan	after linking stmt into the program.
19944169689Skan	(bsi_remove): Don't call modify_stmt.
19945169689Skan	* tree-complex.c (update_complex_assignment,
19946169689Skan	expand_complex_comparison): Call modify_stmt after changing the stmt.
19947169689Skan	* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
19948169689Skan	removing the stmt.
19949169689Skan	* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
19950169689Skan	the stmt, and only if needed.
19951169689Skan	* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
19952169689Skan	expression.
19953169689Skan	(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
19954169689Skan	(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
19955169689Skan	(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
19956169689Skan	(eliminate_redundant_computations): Don't pass an annotation. Call
19957169689Skan	modify_stmt rather than setting the annotation directly.
19958169689Skan	(record_equivalences_from_stmt): Remove unused local 'j'.
19959169689Skan	(cprop_operand): Take a stmt rather than an annotation as a parameter.
19960169689Skan	Call modify_stmt.
19961169689Skan	(cprop_into_stmt): Pass stmt rather than annotation.
19962169689Skan	(update_rhs_and_lookup_avail_expr): Call modify_stmt.
19963169689Skan	* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
19964169689Skan	modify_stmt.
19965169689Skan	* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
19966169689Skan
19967169689Skan2004-08-10  Jason Merrill  <jason@redhat.com>
19968169689Skan
19969169689Skan	PR middle-end/16948
19970169689Skan	* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
19971169689Skan	the RESULT_DECL.
19972169689Skan
19973169689Skan2004-08-10  Geoffrey Keating  <geoffk@apple.com>
19974169689Skan
19975169689Skan	* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
19976169689Skan	hash function.
19977169689Skan
19978169689Skan2004-08-10  Roger Sayle  <roger@eyesopen.com>
19979169689Skan
19980169689Skan	* config/mips/mips.md: New reciprocal square root patterns that
19981169689Skan	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
19982169689Skan
19983169689Skan2004-08-10  Paul Brook  <paul@codesourcery.com>
19984169689Skan
19985169689Skan	* config/arm/arm-protos.h (arm_set_return_address,
19986169689Skan	thumb_set_return_address): Add prototypes.
19987169689Skan	* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
19988169689Skan	* config/arm/arm.c (arm_compute_func_type,
19989169689Skan	use_return_insn, arm_compute_save_reg0_reg12_mask,
19990169689Skan	arm_compute_save_reg_mask, arm_output_function_prologue,
19991169689Skan	arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
19992169689Skan	current_function_calls_eh_return.
19993169689Skan	(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
19994169689Skan	old eh code.
19995169689Skan	(arm_set_return_address, thumb_set_return_address): New functions.
19996169689Skan	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
19997169689Skan	ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
19998169689Skan	* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
19999169689Skan	(epilogue): Use the stackadj register.
20000169689Skan	(eh_return, arm_eh_return, thumb_eh_return): New pattern.
20001169689Skan
20002169689Skan2004-08-10  Jakub Jelinek  <jakub@redhat.com>
20003169689Skan
20004169689Skan	PR target/3144
20005169689Skan	* expr.c (move_by_pieces_ninsns): Add max_size argument.
20006169689Skan	(MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
20007169689Skan	(CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
20008169689Skan	(STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
20009169689Skan	but using MOVE_RATIO.
20010169689Skan	(move_by_pieces): Pass max_size to move_by_pieces_ninsns.
20011169689Skan	(can_store_by_pieces): Change max_size type to unsigned int.
20012169689Skan	(store_by_pieces_1): Likewise.  Pass max_size to
20013169689Skan	move_by_pieces_ninsns.
20014169689Skan	* config/s390/s390.h (STORE_BY_PIECES_P): Define.
20015169689Skan	* config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
20016169689Skan	to move_by_pieces_ninsns.
20017169689Skan	(STORE_BY_PIECES_P): Define.
20018169689Skan	* config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
20019169689Skan	to move_by_pieces_ninsns.
20020169689Skan	* doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
20021169689Skan
20022169689Skan	* config/i386/i386.h (CLEAR_RATIO): Define.
20023169689Skan
20024169689Skan2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
20025169689Skan
20026169689Skan	* expr.c (expand_expr_real_1): Add back code that was not dead.
20027169689Skan
20028169689Skan2004-08-09  Andrew Pinski  <apinski@apple.com>
20029169689Skan
20030169689Skan	* c-common.c (c_common_get_alias_set): Set the aliasing set of the type
20031169689Skan	which is found to be compatible before returning the aliasing set.
20032169689Skan
20033169689Skan2004-08-09  Daniel Jacobowitz  <dan@debian.org>
20034169689Skan
20035169689Skan	* ggc-zone.c (struct alloc_zone): Add statistics counters.
20036169689Skan	(always_collect): New flag.
20037169689Skan	(ggc_alloc_zone_1): Update statistics support.  Don't include
20038169689Skan	overhead in allocated counter.
20039169689Skan	(sweep_pages): Update allocated counter for large pages.  Don'y
20040169689Skan	include overhead.
20041169689Skan	(ggc_collect_1): Always collect.
20042169689Skan	(ggc_collect): Honor always_collect flag.  Sum all zones to decide
20043169689Skan	whether to collect.
20044169689Skan	(SCALE, LABEL): New macros.
20045169689Skan	(ggc_print_statistics): Add statistics support.
20046169689Skan
20047169689Skan2004-08-09  Roger Sayle  <roger@eyesopen.com>
20048169689Skan
20049169689Skan	* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
20050169689Skan	(init_expmed): Fix potential overrun problem with "all.reg".
20051169689Skan	(expand_sdiv2_pow2): Add an alternate implementation for signed
20052169689Skan	division, if the target provides a suitable conditional move insn.
20053169689Skan
20054169689Skan2004-08-09  Paul Brook  <paul@codesourcery.com>
20055169689Skan	Richard Henderson  <rth@redhat.com>
20056169689Skan
20057169689Skan	* unwind-dw2.c (uw_install_context_1): Update target saved stack
20058169689Skan	pointer.
20059169689Skan
20060169689Skan2004-08-09  Geoffrey Keating  <geoffk@apple.com>
20061169689Skan
20062169689Skan	* ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
20063169689Skan	Check DATA limit only if there's no AS limit.  Ignore insanely
20064169689Skan	low DATA limits.
20065169689Skan	(ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
20066169689Skan	but take care that the AS limit isn't overrun.
20067169689Skan	* doc/invoke.texi: Update documentation of min-heapsize parameter.
20068169689Skan
20069169689Skan2004-08-09  Jeff Law  <law@redhat.com>
20070169689Skan
20071169689Skan	* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
20072169689Skan	(tree-ssa-threadupdate.o): Add dependencies.
20073169689Skan	* tree-ssa-threadupdate.c: New file.
20074169689Skan	* tree-flow.h (incoming_edge_threaded): New flag in block annotation.
20075169689Skan	(rewrite_vars_out_of_ssa): Remove prototype.
20076169689Skan	(cleanup_tree_cfg): Returns a bool.
20077169689Skan	* tree.h (thread_through_all_blocks): Prototype.
20078169689Skan	* tree-outof-ssa.c  (SSANORM_*): Move into here.
20079169689Skan	(remove_ssa_form): Now static.
20080169689Skan	(rewrite_vars_out_of_ssa): Kill.
20081169689Skan	* tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
20082169689Skan	* tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
20083169689Skan	(remove_ssa_form, register_partitions_for_vars): Kill declarations.
20084169689Skan	* tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
20085169689Skan	anything was changed.
20086169689Skan	* tree-phinodes.c (add_phi_arg): Get the block for the PHI
20087169689Skan	from the PHI's annotation rather than the edge associated with
20088169689Skan	the new argument.
20089169689Skan	* tree-ssa-dom.c (redirection_edges): Kill.
20090169689Skan	(redirect_edges_and_update_ssa_graph): Kill.
20091169689Skan	(tree_ssa_dominator_optimize): Do not reset forwardable flag
20092169689Skan	for blocks anymore.  Do not initialize redirection_edges.
20093169689Skan	Call thread_through_all_blocks.  Simplify code for cleanup
20094169689Skan	of the CFG and iterating.  No longer call cleanup_tree_cfg
20095169689Skan	outside the iteration loop.
20096169689Skan	(thread_across_edge): No longer mess with forwardable blocks.
20097169689Skan
20098169689Skan2004-08-09  Zack Weinberg  <zack@codesourcery.com>
20099169689Skan
20100169689Skan	* explow.c (memory_address): Use memory_address_p.
20101169689Skan	* recog.c (general_operand): Likewise.
20102169689Skan	* regrename.c: No need to define REG_OK_STRICT.
20103169689Skan
20104169689Skan2004-08-09  Steven Bosscher  <stevenb@suse.de>
20105169689Skan
20106169689Skan	* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
20107169689Skan	New timers.
20108169689Skan	* gcse.c: Include timevar.h.
20109169689Skan	(const_prop_count, copy_prop_count): Rename to global_const_prop_count
20110169689Skan	and global_copy_prop_count.
20111169689Skan	(local_const_prop_count, local_copy_prop_count): New static globals.
20112169689Skan	(gcse_main): Set the right timevar for each pass.
20113169689Skan	(cprop_jump): Increment global_const_prop_count when a constant is
20114169689Skan	propagated.  Add "GLOBAL" to dump output.
20115169689Skan	(cprop_insn): Increment global_const_prop_count when a constant is
20116169689Skan	propagated, or global_copy_prop_count when a copy is propagated.
20117169689Skan	(do_local_cprop): Likewise for local_const_prop_count and
20118169689Skan	local_copy_prop_count.
20119169689Skan	(one_cprop_pass): Initialize const/cprop counters to zero.
20120169689Skan	Print out results of local and global const/cprop separately.
20121169689Skan	(bypass_block): Break over-length line.
20122169689Skan	* Makefile.in (gcse.o): Add TIMEVAR_H dependency.  Fix dependencies
20123169689Skan	for bb-reorder.o and tracer.o.
20124169689Skan
20125169689Skan2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
20126169689Skan
20127169689Skan	* Makefile.in (GTFILES): Remove stmt.c
20128169689Skan	(stmt.o): Do not depend on gt-stmt.h.
20129169689Skan	* emit-rtl.c (emit_line_note): Do not call
20130169689Skan	set_file_and_line_for_stmt.
20131169689Skan	* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
20132169689Skan	do everything.
20133169689Skan	* function.c (free_after_parsing): Do not free STMT field.
20134169689Skan	(allocate_struct_function): Do not call init_stmt_for_function.
20135169689Skan	(assign_stack_temp_for_type): Do not accept values of keep
20136169689Skan	other than 0 or 1.
20137169689Skan	(init_temp_slots): Do not initialize removed variables.
20138169689Skan	* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
20139169689Skan	and X_VAR_TEMP_SLOT_LEVEL fields.
20140169689Skan	* rtl.h (set_file_and_line_for_stmt): Remove.
20141169689Skan	* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
20142169689Skan	struct stmt_status, cond_stack, case_stack, nesting_stack,
20143169689Skan	nesting_depth, emit_locus, set_file_and_line_for_stmt,
20144169689Skan	same_case_target_p, init_stmt_for_function, emit_nop,
20145169689Skan	expand_start_cond, expand_start_elseif, expand_start_else,
20146169689Skan	expand_elseif, expand_end_cond): Remove.
20147169689Skan	(preserve_subexpressions_p): Remove references to CFUN->STMT.
20148169689Skan	(expand_start_case, expand_end_case_type): Remove, merge into...
20149169689Skan	(expand_case): ... this one, including other bits from
20150169689Skan	expand_expr_real_1.  Inline same_case_target_p.  Turn members
20151169689Skan	of CASE_STACK into local variables.
20152169689Skan	(emit_case_bit_tests): Inline same_case_target_p.
20153169689Skan	(add_case_node): Add HEAD argument, return new head of the list,
20154169689Skan	do not handle default label here.
20155169689Skan	* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
20156169689Skan	expand_start_elseif, current_nesting_level, expand_start_case,
20157169689Skan	expand_end_case_type, expand_end_case, add_case_node,
20158169689Skan	init_stmt_for_function, expand_elseif): Remove prototypes.
20159169689Skan	(expand_case): Add prototype.
20160169689Skan
20161169689Skan2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
20162169689Skan
20163169689Skan	* expr.c (expand_expr_real_1): Use optab_for_tree_code.
20164169689Skan
20165169689Skan2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
20166169689Skan
20167169689Skan	* expr.c (var_rtx): Remove.
20168169689Skan	(expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
20169169689Skan	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
20170169689Skan	TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
20171169689Skan	Abort.
20172169689Skan	(expand_expr_real_1) <COND_EXPR>: Remove most special cases.
20173169689Skan	* optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
20174169689Skan	* optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
20175169689Skan
20176169689Skan2004-08-08  Mostafa Hagog  <mustafa@il.ibm.com>
20177169689Skan	Ayal Zaks <zaks@il.ibm.com>
20178169689Skan
20179169689Skan	* common.opt (freschedule-modulo-scheduled-loops): New flag.
20180169689Skan	* final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
20181169689Skan	* modulo-sched.c (sms_schedule): Emit a note to disable scheduling
20182169689Skan	when -freschedule-modulo-scheduled-loops flag is not specified.
20183169689Skan	(sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
20184169689Skan	add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
20185169689Skan	More accurate placing of insn in row of partial schedule.
20186169689Skan	(ps_insn_find_column): New function.
20187169689Skan	* rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
20188169689Skan	* sched-rgn.c (sched_is_disabled_for_current_region_p): New.
20189169689Skan	(schedule_region): Use sched_is_disabled_for_current_region_p.
20190169689Skan	* docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
20191169689Skan
20192169689Skan2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
20193169689Skan
20194169689Skan	* config/i386/i386.c (ix86_expand_clrmem): Revert the last
20195169689Skan	change.
20196169689Skan
20197169689Skan2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
20198169689Skan
20199169689Skan	* config/i386/i386.c (ix86_expand_clrmem): Properly call
20200169689Skan	gen_strset for 64bit target.
20201169689Skan
20202169689Skan2004-08-07  Olivier Hainque  <hainque@act-europe.fr>
20203169689Skan
20204169689Skan	* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
20205169689Skan
20206169689Skan2004-08-07  Jason Merrill  <jason@redhat.com>
20207169689Skan
20208169689Skan	Make return in memory explicit.
20209169689Skan	* function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
20210169689Skan	(assign_parm_find_data_types): Remove code for old front end
20211169689Skan	invisible reference handling.
20212169689Skan	(assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
20213169689Skan	(expand_function_end): Likewise.
20214169689Skan	* gimplify.c (gimplify_return_expr): Handle a dereferenced
20215169689Skan	RESULT_DECL.
20216169689Skan	* tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
20217169689Skan	(declare_return_variable): Handle DECL_BY_REFERENCE.
20218169689Skan	* cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
20219169689Skan	(cp_genericize_r): Use convert_from_reference.
20220169689Skan	Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
20221169689Skan	(cp_genericize): Handle the RESULT_DECL.  Unset TREE_ADDRESSABLE.
20222169689Skan
20223169689Skan	* c-common.c (c_warn_unused_result): Check TREE_USED before
20224169689Skan	warning about a CALL_EXPR with an unused value.
20225169689Skan
20226169689Skan2004-08-06  Mark Mitchell  <mark@codesourcery.com>
20227169689Skan
20228169689Skan	* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
20229169689Skan	to the compiler.  Use -fshort-wchar by default.
20230169689Skan
20231169689Skan2004-08-06  Pat Haugen  <pthaugen@us.ibm.com>
20232169689Skan
20233169689Skan	* params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
20234169689Skan	* cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
20235169689Skan	threshhold.
20236169689Skan	* doc/invoke.texi (param): Document min-crossjump-insns.
20237169689Skan
20238169689Skan2004-08-06  Richard Sandiford  <rsandifo@redhat.com>
20239169689Skan
20240169689Skan	PR c/13282
20241169689Skan	* c.opt (Wmissing-field-initializers): New option.
20242169689Skan	* c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
20243169689Skan	* c-typeck.c (pop_init_level): Guard the missing field warning with
20244169689Skan	warn_missing_field_initializers rather than extra_warnings.
20245169689Skan	* doc/invoke.texi (-Wmissing-field-initializers): Document, moving
20246169689Skan	some of the explanation from...
20247169689Skan	(-Wextra): ...here.  Say that the missing field warning can be
20248169689Skan	seperately controlled by -Wmissing-field-initializers.
20249169689Skan
20250169689Skan2004-08-06  Paolo Bonzini  <bonzini@gnu.org>
20251169689Skan
20252169689Skan	* expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
20253169689Skan	* tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
20254169689Skan	* tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
20255169689Skan	* tree.def (ENTRY_VALUE_EXPR): Remove.
20256169689Skan
20257169689Skan2004-08-06  Jakub Jelinek  <jakub@redhat.com>
20258169689Skan
20259169689Skan	* config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
20260169689Skan	the places where it is actually needed.  Don't use repz; stosb
20261169689Skan	for -Os with sufficiently small constant sizes.
20262169689Skan	For sufficiently small repz; stos{l,q} repeat counts use a sequence
20263169689Skan	of stos{l,q} instructions instead.
20264169689Skan
20265169689Skan2004-08-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20266169689Skan
20267169689Skan	PR tree-optimization/16807
20268169689Skan	* loop-iv.c (dump_iv_info): Dump invariants correctly.
20269169689Skan	(iv_subreg, iv_extend): Express value of invariant purely in
20270169689Skan	base field.
20271169689Skan
20272169689Skan2004-08-06  Mark Mitchell  <mark@codesourcery.com>
20273169689Skan
20274169689Skan	* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
20275169689Skan	(CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
20276169689Skan
20277169689Skan2004-08-06  Roman Zippel  <zippel@linux-m68k.org>
20278169689Skan
20279169689Skan	* config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
20280169689Skan	* config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
20281169689Skan	pre_dec_operand.
20282169689Skan	* config/m68k/m68k.md (zero_extend*2): delay the splitting of the
20283169689Skan	pattern until reload is finished to allow better code generation
20284169689Skan	and split them completely into separate instrunctions.
20285169689Skan	(*andsi3_split): New pattern.
20286169689Skan
20287169689Skan2004-08-05  Mark Mitchell  <mark@codesourcery.com>
20288169689Skan
20289169689Skan	* tree.c (handle_dll_attribute): Move here from i383/winnt.c.
20290169689Skan	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
20291169689Skan	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
20292169689Skan	* tree.h (handle_dll_attribute): Declare.  Test
20293169689Skan	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
20294169689Skan	* c-common.h (c_determine_visibility): Declare.
20295169689Skan	* c-common.c (c_determine_visibility): New function.
20296169689Skan	* c-decl.c (finish_decl): Use it.
20297169689Skan	(finish_function): Likewise.
20298169689Skan	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
20299169689Skan	zero, by default.  Use #if, not	#ifdef, to test it.
20300169689Skan	* config/arm/arm.c (arm_attribute_table): Use
20301169689Skan	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
20302169689Skan	#if.
20303169689Skan	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
20304169689Skan	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
20305169689Skan	to 1.
20306169689Skan	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
20307169689Skan	* config/i386/i386.c (ix86_attribute_table): Use
20308169689Skan	handle_dll_attribute for dllimport/dllexport.  Test
20309169689Skan	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
20310169689Skan	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
20311169689Skan	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
20312169689Skan	it to 1.
20313169689Skan	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
20314169689Skan	with #if.
20315169689Skan	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
20316169689Skan	it to 1.
20317169689Skan	* doc/extend.texi (dllexport): Clarify and correct documentation.
20318169689Skan	(dllimport): Likewise.
20319169689Skan	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
20320169689Skan	handle_dll_attribute.
20321169689Skan
20322169689Skan2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20323169689Skan
20324169689Skan	* tree-ssa-loop-manip.c: New file.
20325169689Skan	* Makefile.in (tree-ssa-loop-manip.o): Add.
20326169689Skan	* tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
20327169689Skan	Declare.
20328169689Skan	* tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
20329169689Skan	form.
20330169689Skan	(tree_ssa_loop_done): Verify loop closed ssa form.
20331169689Skan	* tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
20332169689Skan
20333169689Skan2004-08-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
20334169689Skan
20335169689Skan	* pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
20336169689Skan	pa_asm_output_aligned_local): New functions.
20337169689Skan	* pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
20338169689Skan	pa_asm_output_aligned_common and pa_asm_output_aligned_local.
20339169689Skan	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
20340169689Skan	pa_asm_output_aligned_common.
20341169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
20342169689Skan	* pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
20343169689Skan	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
20344169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
20345169689Skan	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
20346169689Skan	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
20347169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
20348169689Skan	* som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
20349169689Skan	common data.
20350169689Skan
20351169689Skan2004-08-05  Andrew Pinski  <apinski@apple.com>
20352169689Skan
20353169689Skan	* objc/objc-act.c (build_objc_string_object): Mark the address
20354169689Skan	expression as constant.
20355169689Skan
20356169689Skan2004-08-05  David Edelsohn  <edelsohn@gnu.org>
20357169689Skan
20358169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
20359169689Skan	and mask64_operand thinkos.  Handle ZERO_EXTRACT.  Handle
20360169689Skan	SIGN_EXTEND / ZERO_EXTEND of MEM.  Handle rlwinm patterns.
20361169689Skan
20362169689Skan2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
20363169689Skan
20364169689Skan	* config/linux.h, config/i386/linux.h, config/sparc/linux.h:
20365169689Skan	Remove definitions conditioned on USE_GNULIBC_1 or conditioned
20366169689Skan	out, and associated obsolete comments.
20367169689Skan
20368169689Skan2004-08-05  Nathan Sidwell  <nathan@codesourcery.com>
20369169689Skan
20370169689Skan	* tree.h (force_fit_type): Return a tree, take three flags.
20371169689Skan	* fold-const.c (force_fit_type): Set TREE_OVERFLOW and
20372169689Skan	TREE_CONSTANT_OVERFLOW here.
20373169689Skan	(int_const_binop, const_binop): Adjust.
20374169689Skan	(size_int_type): Do sign extension here.
20375169689Skan	(fold_convert_const, optimize_bit_field_compare,
20376169689Skan	decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
20377169689Skan	fold_negate_const, fold_abs_const, fold_not_const): Adjust.
20378169689Skan	* tree.c (size_in_bytes, int_fits_type_p): Adjust.
20379169689Skan
20380169689Skan2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20381169689Skan
20382169689Skan	PR tree-optimization/16864
20383169689Skan	* tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
20384169689Skan	for ssa names without default_def.
20385169689Skan
20386169689Skan2004-08-05  Richard Sandiford  <rsandifo@redhat.com>
20387169689Skan
20388169689Skan	* config/i386/i386.c (ix86_expand_prologue): If the function uses a
20389169689Skan	frame pointer, restore eax with an ebp-relative address.
20390169689Skan
20391169689Skan2004-08-04  Geoffrey Keating  <geoffk@apple.com>
20392169689Skan
20393169689Skan	PR 14516
20394169689Skan	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
20395169689Skan	* c-common.h (make_rtl_for_local_static): Delete.
20396169689Skan	* c-decl.c (shadow_tag_warned): Clean up comment.
20397169689Skan	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
20398169689Skan	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
20399169689Skan	* c-semantics.c (make_rtl_for_local_static): Delete.
20400169689Skan	* expr.c (init_block_move_fn): Use set_user_assembler_name.
20401169689Skan	(init_block_clear_fn): Likewise.
20402169689Skan	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
20403169689Skan	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
20404169689Skan	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
20405169689Skan	* tree.h (make_decl_rtl): Remove second parameter.
20406169689Skan	(set_user_assembler_name): New.
20407169689Skan	* varasm.c (set_user_assembler_name): New.
20408169689Skan	(make_decl_rtl): Remove second parameter.  Update callers in many
20409169689Skan	files.
20410169689Skan
20411169689Skan2004-08-05  Adam Nemet  <anemet@lnxw.com>
20412169689Skan
20413169689Skan	* config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
20414169689Skan	(case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*.  Update
20415169689Skan	to LynxOS 4.0.
20416169689Skan	* gthr-lynx.h: New file.
20417169689Skan	* config/lynx-ng.h: Remove file.
20418169689Skan	* config/lynx.h: Update to LynxOS 4.0.
20419169689Skan	* config/t-lynx: New file.
20420169689Skan	* config/i386/lynx-ng.h: Remove file.
20421169689Skan	* config/i386/lynx.h: Update to LynxOS 4.0.
20422169689Skan	* config/rs6000/lynxbase.h: Remove file.
20423169689Skan	* config/rs6000/lynx.h: Update to LynxOS 4.0.
20424169689Skan	* config/rs6000/t-lynx: New file.
20425169689Skan	* doc/install.texi (Options specification): Remove reference to
20426169689Skan	LynxOS from systems where --with-gnu-as makes a difference.
20427169689Skan
20428169689Skan2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
20429169689Skan
20430169689Skan	* c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
20431169689Skan	__UINTMAX_TYPE__.
20432169689Skan	* c-cppbuiltin.c (builtin_define_stdint_macros): New.  Define
20433169689Skan	__INTMAX_MAX__.
20434169689Skan	(c_cpp_builtins): Call it.
20435169689Skan	* doc/cpp.texi: Update.
20436169689Skan
20437169689Skan2004-08-04  David Edelsohn  <edelsohn@gnu.org>
20438169689Skan
20439169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
20440169689Skan	cost.
20441169689Skan
20442169689Skan2004-08-04  Jan Hubicka  <jh@suse.cz>
20443169689Skan
20444169689Skan	* basic-block.h (profile_staus): New global variable.
20445169689Skan	* cfg.c (profile_status): Declare.
20446169689Skan	(check_bb_profile): Break out from ....; use profile_status
20447169689Skan	(dump_flow_info): ... here.
20448169689Skan	* cfgbuild.c (find_basic_blocks): Set profile_status.
20449169689Skan	* cfgexpand.c (tree_expand_cfg): Likewise.
20450169689Skan	* predict.c (estimate_probability): Likewise.
20451169689Skan	* profile.c (branch_prob): Likewise.
20452169689Skan	* tree-cfg.c (build_tree_cfg): Likewise.
20453169689Skan	(dump_function_to_file): Use check_bb_profile.
20454169689Skan	* tree-pretty-print (dump_bb_header): Likewise.
20455169689Skan	* tree-profile.c (do_tree_profiling): Cleanup.
20456169689Skan
20457169689Skan2004-08-04  Zack Weinberg  <zack@codesourcery.com>
20458169689Skan
20459169689Skan	* Makefile.in (RTL_BASE_H, RTL_H): Correct.
20460169689Skan	(BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
20461169689Skan	(genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
20462169689Skan	(read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
20463169689Skan	(genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
20464169689Skan	(genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
20465169689Skan	(genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
20466169689Skan	(ggc-none.o, errors.o): Move rule to generators section;
20467169689Skan	correct dependencies.
20468169689Skan	(min-insn-modes.o): Move rule to generators section; remove
20469169689Skan	unnecessary explicit command; correct dependencies.
20470169689Skan	(print-rtl.o, print-rtl1.o): Correct dependencies.
20471169689Skan	($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
20472169689Skan	(mostlyclean): Update.
20473169689Skan
20474169689Skan	* errors.c: Include bconfig.h not config.h.  Correct comment.
20475169689Skan	* gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
20476169689Skan	* ggc-none.c: Include bconfig.h; not config.h or tm.h.
20477169689Skan	* print-rtl.c: Don't include tm_p.h.
20478169689Skan
20479169689Skan	* rtl.h: Move forward-decl of struct function down where it's
20480169689Skan	needed.  Include genrtl.h #ifndef GENERATOR_FILE, not
20481169689Skan	#ifndef NO_GENRTL_H.  Remove unnecessary #ifdef BUFSIZ statements.
20482169689Skan
20483169689Skan2004-08-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20484169689Skan	    Jeff Law  <law@redhat.com>
20485169689Skan
20486169689Skan	* tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
20487169689Skan	* tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
20488169689Skan	* tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
20489169689Skan	manipulate the duplicated ssa names.
20490169689Skan	* tree-ssanames.c (ssa_names_to_rewrite): New variable.
20491169689Skan	(marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
20492169689Skan	unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
20493169689Skan	New functions.
20494169689Skan	(release_ssa_name): Do not release ssa names that may have multiple
20495169689Skan	definitions.
20496169689Skan	* tree.h (release_ssa_name_force, mark_for_rewrite,
20497169689Skan	unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
20498169689Skan	marked_ssa_names): Declare.
20499169689Skan	* tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
20500169689Skan	(duplicate_blocks): Remove call to mark_defs_for_rewrite.
20501169689Skan	Update call to rewrite_ssa_into_ssa.
20502169689Skan
20503169689Skan2004-08-04  Mark Mitchell  <mark@codesourcery.com>
20504169689Skan
20505169689Skan	* defaults.h (TARGET_DECLSPEC): New macro.
20506169689Skan	* c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
20507169689Skan	* config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
20508169689Skan	* config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
20509169689Skan	* config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
20510169689Skan	__declspec support.
20511169689Skan	(TARGET_DECLSPEC): Define.
20512169689Skan	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
20513169689Skan	__declspec support.
20514169689Skan	* config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
20515169689Skan	__declspec support.
20516169689Skan	(TARGET_DECLSPEC): Define.
20517169689Skan	* config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
20518169689Skan	__declspec support.
20519169689Skan	* config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
20520169689Skan	support.
20521169689Skan	* doc/tm.texi (TARGET_DECLSPEC): Document.
20522169689Skan
20523169689Skan	* doc/extend.texi: Fix typo in comment.
20524169689Skan
20525169689Skan2004-08-04  Paul Brook  <paul@codesourcery.com>
20526169689Skan
20527169689Skan	* target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
20528169689Skan	(TARGET_CXX): Use it.
20529169689Skan	* target.h (struct gcc_target): Add cdtor_returns_this.
20530169689Skan	* config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
20531169689Skan	(TARGET_CXX_CDTOR_RETURNS_THIS): Define.
20532169689Skan	* doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
20533169689Skan
20534169689Skan2004-08-03  Nathan Sidwell  <nathan@codesourcery.com>
20535169689Skan
20536169689Skan	* c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
20537169689Skan	low/high pair. Do range checking directly.
20538169689Skan	(interpret_integer): Adjust.
20539169689Skan
20540169689Skan2004-08-04  Nick Clifton  <nickc@redhat.com>
20541169689Skan
20542169689Skan	* config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
20543169689Skan	GCC ABI.
20544169689Skan	* doc/invoke.texi: Document this new switch and also the -mrenesas
20545169689Skan	switch.
20546169689Skan
20547169689Skan2004-08-04  Nathan Sidwell  <nathan@codesourcery.com>
20548169689Skan
20549169689Skan	* cfglayout.c (insn_locators_initialize): Update the current
20550169689Skan	location before initializing a location.
20551169689Skan
20552169689Skan2004-08-03  Zack Weinberg  <zack@codesourcery.com>
20553169689Skan
20554169689Skan	* dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
20555169689Skan	(dbxout_function_end): Return after emitting the "Lscope" symbol
20556169689Skan	under the same conditions that this function formerly wasn't called.
20557169689Skan	Add explanatory comments.
20558169689Skan
20559169689Skan	PR 14860
20560169689Skan	* c-decl.c (record_builtin_type): Call debug_hooks->type_decl
20561169689Skan	on the new decl.
20562169689Skan
20563169689Skan	PR 13956
20564169689Skan	* dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
20565169689Skan	functions, broken out of dbxout_block.
20566169689Skan	(dbxout_block): The block at depth 0 should get LBRAC/RBRAC
20567169689Skan	stabs too, if it contains symbols.  Use the begin_label and
20568169689Skan	the Lscope label (emitted by dbxout_function_end) for the
20569169689Skan	range of this block.
20570169689Skan
20571169689Skan2004-08-03  Nathanael Nerode  <neroden@gcc.gnu.org>
20572169689Skan
20573169689Skan	* doc/install.texi: Update autoconf version requirements.
20574169689Skan
20575169689Skan2004-08-03  Zack Weinberg  <zack@codesourcery.com>
20576169689Skan
20577169689Skan	* defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
20578169689Skan	* recog.c (general_operand, immediate_operand, nonmemory_operand)
20579169689Skan	(asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
20580169689Skan	* regclass.c (record_reg_classes): Likewise.
20581169689Skan	* reload.c (find_reloads): Likewise.
20582169689Skan	* reload1.c (reload): Likewise.
20583169689Skan
20584169689Skan2004-08-03  Zack Weinberg  <zack@codesourcery.com>
20585169689Skan
20586169689Skan	* gensupport.c (init_md_reader_args_cb): Renamed from
20587169689Skan	init_md_reader_args.  Add third option, callback function for
20588169689Skan	parsing program-specific options.  Add diagnosis of incorrect
20589169689Skan	number of input files.
20590169689Skan	(init_md_reader): Fold into init_md_reader_args_cb.
20591169689Skan	(init_md_reader_args): Now a thin wrapper around
20592169689Skan	init_md_reader_args_cb.
20593169689Skan	* gensupport.h: Update prototypes.
20594169689Skan
20595169689Skan	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
20596169689Skan	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
20597169689Skan	* genrecog.c: No need to diagnose lack of an input file;
20598169689Skan	init_md_reader_args will handle it.
20599169689Skan	* genconditions.c: Likewise, and use init_md_reader_args.
20600169689Skan	* genconstants.c: Likewise, and no need to call read_md_rtx.
20601169689Skan
20602169689Skan2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
20603169689Skan
20604169689Skan	* c-decl.c (implicitly_declare): Diagnose incompatible implicit
20605169689Skan	declarations.
20606169689Skan
20607169689Skan2004-08-03  Mike Stump  <mrs@apple.com>
20608169689Skan
20609169689Skan	* config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
20610169689Skan	for frameworks.
20611169689Skan	* doc/invoke.texi (Darwin Options): Update to reflect above.
20612169689Skan
20613169689Skan2004-08-03  Roger Sayle  <roger@eyesopen.com>
20614169689Skan
20615169689Skan	PR middle-end/16790
20616169689Skan	* fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
20617169689Skan	truncations, not just global truncations.
20618169689Skan
20619169689Skan2004-08-03  Andrew Pinski  <apinski@apple.com>
20620169689Skan
20621169689Skan	PR bootstrap/16865
20622169689Skan	* loop-iv.c (simplify_using_assignment): Initialize lhs.
20623169689Skan
20624169689Skan2004-08-03  Paul Brook  <paul@codesourcery.com>
20625169689Skan
20626169689Skan	* doc/install.texi: Document MPFR requirement.
20627169689Skan
20628169689Skan2004-08-03  Maciej W. Rozycki  <macro@linux-mips.org>
20629169689Skan
20630169689Skan	* aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
20631169689Skan	and mmap() explicitly instead of relying on preset autoconf cache
20632169689Skan	variables.
20633169689Skan	* configure: Regenerate.
20634169689Skan
20635169689Skan2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
20636169689Skan
20637169689Skan	PR target/16570
20638169689Skan	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
20639169689Skan	to tmake_file.
20640169689Skan	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
20641169689Skan	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
20642169689Skan	to tmake_file.
20643169689Skan
20644169689Skan	* config/i386/t-gmm_malloc: New file.
20645169689Skan	* config/i386/t-pmm_malloc: Likewise.
20646169689Skan
20647169689Skan	* config/i386/xmmintrin.h: Include <mm_malloc.h>.
20648169689Skan
20649169689Skan2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
20650169689Skan	    Tanguy Fautr�  <tfautre@pandora.be>
20651169689Skan
20652169689Skan	* config/i386/pmm_malloc.h: New file.
20653169689Skan
20654169689Skan2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
20655169689Skan
20656169689Skan	* config/i386/gmm_malloc.h: New file.
20657169689Skan
20658169689Skan2004-08-03  Dale Johannesen  <dalej@apple.com>
20659169689Skan
20660169689Skan	* config/rs6000/rs6000.c (machopic_output_stub): Align Darwin stubs.
20661169689Skan	* c-common.c: Include opts.h.
20662169689Skan	(c_common_get_alias_set): Fix check for a single input file.
20663169689Skan	* toplev.c: Remove current_file_decl.
20664169689Skan	* tree.h: Ditto.
20665169689Skan
20666169689Skan2004-08-03  Mark Mitchell  <mark@codesourcery.com>
20667169689Skan
20668169689Skan	* config.gcc (arm*-*-symbianelf*): New target.
20669169689Skan	* config/arm/symbian.h: New file.
20670169689Skan
20671169689Skan	* gthr-gnat.c: Add visibility #pragmas.
20672169689Skan	* gthr-gnat.h : Likewise.
20673169689Skan	* gthr.h: Likewise.
20674169689Skan	* libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
20675169689Skan	(__ffsDI2): Likewise.
20676169689Skan	(__clzSI2): Likewise.
20677169689Skan	(__ctzSI2): Likewise.
20678169689Skan	(__ctzDI2): Likewise.
20679169689Skan	(__popcountSI2): Likewise.
20680169689Skan	(__popcountDI2): Likewise.
20681169689Skan	(__paritySI2): Likewise.
20682169689Skan	(__parityDI2): Likewise.
20683169689Skan	* libgcc2.h: Add visibility #pragmas.
20684169689Skan	(__clzDI2): Add prototype.
20685169689Skan	(__clzSI2): Likewise.
20686169689Skan	(__ctzSI2): Likewise.
20687169689Skan	(__ffsDI2): Likewise.
20688169689Skan	(__ffsSI2): Likewise.
20689169689Skan	(__ctzDI2): Likewise.
20690169689Skan	(__popcountSI2): Likewise.
20691169689Skan	(__popcountDI2): Likewise.
20692169689Skan	(__paritySI2): Likewise.
20693169689Skan	(__parityDI2): Likewise.
20694169689Skan	* unwind-dw2-fde.h: Add visibility #pragmas.
20695169689Skan	* unwind.h: Likewise.
20696169689Skan
20697169689Skan2004-08-03  David Edelsohn  <edelsohn@gnu.org>
20698169689Skan	    Dale Johannesen  <dalej@apple.com>
20699169689Skan	    Roger Sayle  <roger@eyesopen.com>
20700169689Skan
20701169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of
20702169689Skan	constants more accurately.  Adjust costs for FMA instructions.
20703169689Skan	Add cases for most logical and float operations.  Recurse into
20704169689Skan	most operands.
20705169689Skan
20706169689Skan2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
20707169689Skan
20708169689Skan	* config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files.
20709169689Skan
20710169689Skan2004-08-03  Pat Haugen  <pthaugen@us.ibm.com>
20711169689Skan
20712169689Skan	* ra-build.c (conflicts_between_webs): For webs that cross a call add
20713169689Skan	conflicts to regs_invalidated_by_call.
20714169689Skan
20715169689Skan2004-08-03  Paul Brook  <paul@codesourcery.com>
20716169689Skan
20717169689Skan	* config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
20718169689Skan
20719169689Skan2004-08-03  Jan Hubicka  <jh@suse.cz>
20720169689Skan
20721169689Skan	* coverage.c (tree_coverage_counter_ref): Fix computation of the new
20722169689Skan	ARRAY_REF argument.
20723169689Skan
20724169689Skan2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
20725169689Skan
20726169689Skan	* arm-cores.def: Sort by architecture.  Add arm946es, arm966es,
20727169689Skan	arm968es, arm10e, arm1020e, arm1022e.
20728169689Skan	* invoke.texi: Update list of ARM cores.
20729169689Skan	* arm-tune.md: Regenerate.
20730169689Skan
20731169689Skan2004-08-03  Richard Earnshaw <rearnsha@arm.com>
20732169689Skan
20733169689Skan	* arm/gentune.sh: New file.
20734169689Skan	* arm/t-arm: New file.
20735169689Skan	* arm/arm-tune.md: New file (autogenerated).
20736169689Skan	* config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants.
20737169689Skan	* arm.md (attribute tune): Delete.  Include arm-tune.md.
20738169689Skan
20739169689Skan2004-08-03  Paolo Bonzini <bonzini@gnu.org>
20740169689Skan
20741169689Skan	* gcc.c (add_prefix, add_sysrooted_prefix): Remove
20742169689Skan	penultimate parameter.  All callers adjusted.
20743169689Skan	(struct prefix_list): Remove used_flag_ptr.
20744169689Skan	(find_a_file): Do not set *pl->used_flag_ptr.
20745169689Skan	(warn_B, warn_std_ptr): Remove.
20746169689Skan
20747169689Skan2004-08-03  Yossi Markovich <yossim@il.ibm.com>
20748169689Skan	    Mostafa Hagog <mustafa@il.ibm.com>
20749169689Skan
20750169689Skan	* config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
20751169689Skan
20752169689Skan2004-08-02  Geoffrey Keating  <geoffk@apple.com>
20753169689Skan
20754169689Skan	* dwarf2out.c (output_call_frame_info): Don't change data format
20755169689Skan	due to TARGET_USES_WEAK_UNWIND_INFO.  Always refer to the local
20756169689Skan	label.  Use 'true' not '1'.
20757169689Skan	* doc/install.texi (powerpc-*-darwin*): Mention cctools version
20758169689Skan	required.
20759169689Skan
20760169689Skan2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
20761169689Skan
20762169689Skan	* gdbinit.in: Reflect previous changes to rtunion_def.
20763169689Skan
20764169689Skan2004-08-02  Roger Sayle  <roger@eyesopen.com>
20765169689Skan
20766169689Skan	* fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y"
20767169689Skan	-> "X % Y" is only valid for TRUNC_MOD_EXPR.
20768169689Skan
20769169689Skan2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
20770169689Skan
20771169689Skan	* vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and
20772169689Skan	vec_p_reserve.
20773169689Skan	* langhooks.h (lang_hooks::builtin_function): Rename parameter
20774169689Skan	from "class" to "bt_class".
20775169689Skan
20776169689Skan2004-08-02  Paul Brook  <paul@codesourcery.com>
20777169689Skan
20778169689Skan	PR rtl-optimization/15068
20779169689Skan	* flow.c (init_propagate_block_info): Check condition is reversible.
20780169689Skan
20781169689Skan2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
20782169689Skan
20783169689Skan	* gengtype.h (options::info): Change type to const char *.
20784169689Skan	(enum gc_used_enum): Move out of struct type scope.
20785169689Skan	* gengtype.c (create_option): Convert initializer for option::info to
20786169689Skan	appropiate type.
20787169689Skan	(adjust_field_type, walk_type, write_func_for_structure,
20788169689Skan	write_root, write_roots): Remove pointless cast.
20789169689Skan
20790169689Skan2004-08-02  J"orn Rennecke <joern.rennecke@superh.com>
20791169689Skan
20792169689Skan	* genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F.
20793169689Skan
20794169689Skan2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
20795169689Skan
20796169689Skan	* rtl.h (union rtunion_def): Have all members  start with the
20797169689Skan	prefix "rt_".
20798169689Skan	(XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL,
20799169689Skan	X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
20800169689Skan	X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP,
20801169689Skan	XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members
20802169689Skan	access.
20803169689Skan	* gengtype.c (adjust_field_rtx_def): Likewise.
20804169689Skan	* rtlanal.c (loc_mentioned_in_p): Likewise.
20805169689Skan
20806169689Skan2004-08-02  Richard Sandiford  <rsandifo@redhat.com>
20807169689Skan
20808169689Skan	* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
20809169689Skan	Replace uses of mips/elf64.h with mips/elf.h
20810169689Skan	* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
20811169689Skan	(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
20812169689Skan	(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
20813169689Skan	(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
20814169689Skan	(HANDLE_SYSV_PRAGMA): Delete.
20815169689Skan	(ASM_OUTPUT_DEF): Fix formatting.
20816169689Skan	* config/mips/elf64.h: Delete.
20817169689Skan
20818169689Skan2004-08-01  Zack Weinberg  <zack@codesourcery.com>
20819169689Skan
20820169689Skan	* config/ia64/ia64.c (got_symbolic_operand): Do require a
20821169689Skan	symbol+offset operand to have its offset be zero mod 0x3fff
20822169689Skan	when GOT entries are in use.  Clarify logic in SYMBOL_REF
20823169689Skan	case.  Clarify comments.
20824169689Skan	(ia64_expand_load_address): Split a symbol+offset load when
20825169689Skan	the offset is nonzero mod 0x3fff, not 0x1fff.
20826169689Skan
20827169689Skan2004-08-01  Geoffrey Keating  <geoffk@apple.com>
20828169689Skan
20829169689Skan	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
20830169689Skan	if trying to *store* to a non-offsettable address.
20831169689Skan	* config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to
20832169689Skan	a nonoffsettable address.
20833169689Skan	(movdi_internal32): Don't move GPRs to a nonoffsettable address.
20834169689Skan	Clean up.
20835169689Skan	(movti_string): Don't move GPRs to a nonoffsettable address.
20836169689Skan	(movti_ppc64): Don't move GPRs to a nonoffsettable address.  Clean up.
20837169689Skan
20838169689Skan2004-08-02  Ben Elliston  <bje@au.ibm.com>
20839169689Skan
20840169689Skan	PR target/16155
20841169689Skan	* config/rs6000/altivec.h: Replace typeof with __typeof__.
20842169689Skan
20843169689Skan2004-08-01  Richard Henderson  <rth@redhat.com>
20844169689Skan
20845169689Skan	* expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
20846169689Skan	variable sized types.
20847169689Skan
20848169689Skan2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
20849169689Skan
20850169689Skan	* doc/invoke.texi: In the MIPS options section, remove the passage
20851169689Skan	saying that -mexplicit-relocs is usually disabled for -mabicalls
20852169689Skan	-fno-unit-at-a-time.
20853169689Skan	* config/mips/mips.c (override_options): Remove the code that enforced
20854169689Skan	this rule.
20855169689Skan
20856169689Skan2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
20857169689Skan
20858169689Skan	* config/mips/mips.md (cprestore): Provide two alternatives, one for
20859169689Skan	an in-range offset and one for an out-of-range offset.  Wrap the latter
20860169689Skan	in .set macro/.set nomacro if it's inside a .set nomacro block.
20861169689Skan
20862169689Skan2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
20863169689Skan
20864169689Skan	* config/mips/mips-protos.h (mips_gp_save_slot): Remove.
20865169689Skan	(mips_restore_gp): Declare.
20866169689Skan	* config/mips/mips.c (mips_add_offset): Add a scratch register
20867169689Skan	argument.  Reimplement in rtl only, reusing MIPS16 logic from
20868169689Skan	mips_output_mi_thunk.
20869169689Skan	(mips_legitimize_address, mips_legitimize_const_move): Adjust calls
20870169689Skan	to mips_add_offset.
20871169689Skan	(mips_gp_save_slot): Delete.
20872169689Skan	(mips_restore_gp): New function.
20873169689Skan	(mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset.
20874169689Skan	* config/mips/mips.md (exception_receiver): Turn into a
20875169689Skan	define_insn_and_split.  Use mips_restore_gp to do the split.
20876169689Skan	(call_internal, call_value_internal, call_value_multiple_internal): Use
20877169689Skan	mips_restore_gp to restore $gp.
20878169689Skan
20879169689Skan2004-07-31  Andrew Pinski  <apinski@apple.com>
20880169689Skan
20881169689Skan	PR other/16842
20882169689Skan	* mkheaders.in (libsubdir): s/gcc-lib/gcc/.
20883169689Skan
20884169689Skan2004-07-31  Joseph S. Myers  <jsm@polyomino.org.uk>
20885169689Skan
20886169689Skan	* c-decl.c (diagnose_mismatched_decls): Give error for external
20887169689Skan	redeclaration of identifier declared with no linkage, not just
20888169689Skan	warning with -Wtraditional.  Do not check DECL_CONTEXT to give
20889169689Skan	error for redeclaration with no linkage.
20890169689Skan
20891169689Skan2004-07-30  Geoffrey Keating  <geoffk@apple.com>
20892169689Skan	    Fariborz Jahanian <fjahanian@apple.com>
20893169689Skan
20894169689Skan	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit
20895169689Skan	non-offsettable addresses even for DImode.
20896169689Skan	(rs6000_split_multireg_move): Cope with non-offsettable addresses
20897169689Skan	being moved into multiple GPRs.
20898169689Skan
20899169689Skan	* config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default
20900169689Skan	to 64.
20901169689Skan	(rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE.
20902169689Skan	* config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define
20903169689Skan	to 128.
20904169689Skan	* config/rs6000/darwin-ldouble.c (isless): New macro.
20905169689Skan	(inf): New macro.
20906169689Skan	(nonfinite): New macro.
20907169689Skan	(FPKINF): Delete.
20908169689Skan	(_xlqadd): Completely rewrite.
20909169689Skan	(_xlqmul): Correct overflow handling.
20910169689Skan	(_xlqdiv): Correct overflow handling.
20911169689Skan	* config/rs6000/darwin-ldouble-format: New file.
20912169689Skan
20913169689Skan2004-07-30  Roger Sayle  <roger@eyesopen.com>
20914169689Skan	    Richard Henderson  <rth@redhat.com>
20915169689Skan
20916169689Skan	* config/i386/i386.md: New peephole2's to convert imul by 3, 5 or
20917169689Skan	9 into the equivalent lea instruction.
20918169689Skan
20919169689Skan2004-07-30  Richard Henderson  <rth@redhat.com>
20920169689Skan
20921169689Skan	* gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace
20922169689Skan	with DECL_INITIAL if fb_lvalue.
20923169689Skan	* tree-gimple.c (is_gimple_id): Add CONST_DECL.
20924169689Skan	* tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL
20925169689Skan	with <Cxxx>.
20926169689Skan	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL.
20927169689Skan
20928169689Skan2004-07-30  Diego Novillo  <dnovillo@redhat.com>
20929169689Skan
20930169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escape): If a
20931169689Skan	pointer escapes through a function call, assume that the
20932169689Skan	callee will dereference it.
20933169689Skan	(add_pointed_to_var): Assume that VALUE is always an
20934169689Skan	ADDR_EXPR.
20935169689Skan	(collect_points_to_info_r): Only call add_pointed_to_var if
20936169689Skan	the value is an ADDR_EXPR.
20937169689Skan
20938169689Skan2004-07-30  Diego Novillo  <dnovillo@redhat.com>
20939169689Skan
20940169689Skan	* tree-ssa-alias.c (create_alias_map_for): Do not get the
20941169689Skan	alias set of the inner type of ARRAY_TYPEs.
20942169689Skan
20943169689Skan2004-07-29  Diego Novillo  <dnovillo@redhat.com>
20944169689Skan
20945169689Skan	* tree-ssa-ccp.c (visit_assignment): Move code to prevent
20946169689Skan	setting a non-register to UNDEFINED right before the call to
20947169689Skan	set_lattice_value.
20948169689Skan
20949169689Skan2004-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
20950169689Skan
20951169689Skan	* config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.
20952169689Skan
20953169689Skan2004-07-29  Diego Novillo  <dnovillo@redhat.com>
20954169689Skan
20955169689Skan	* tree-ssa.c (verify_flow_sensitive_alias_info): When
20956169689Skan	comparing points-to sets of different pointers, make sure the
20957169689Skan	second pointer is actually referenced in the code.
20958169689Skan
20959169689Skan2004-07-29  Zack Weinberg  <zack@codesourcery.com>
20960169689Skan
20961169689Skan	* config/ia64/ia64.c (setjmp_operand): Delete, unused.
20962169689Skan	(got_symbolic_operand): Remove unreachable code.
20963169689Skan	* config/ia64/ia64.h (PREDICATE_CODES): Remove entry for
20964169689Skan	setjmp_operand; add entry for tls_symbolic_operand.
20965169689Skan	* config/ia64/ia64-protos.h: Remove all prototypes of
20966169689Skan	predicate functions.
20967169689Skan
20968169689Skan2004-07-29  Mark Mitchell  <mark@codesourcery.com>
20969169689Skan
20970169689Skan	* c-common.h (lang_post_pch_load): New variable.
20971169689Skan	* c-pch.c (lang_post_pch_load): Define it.
20972169689Skan	(c_common_read_pch): Use it.
20973169689Skan	* cgraphunit.c (record_call_1): Give the front end a chance to
20974169689Skan	record additional needed entities when a variable is marked as
20975169689Skan	needed.
20976169689Skan	* tlink.c (recompile_files): Robustify.
20977169689Skan	(scan_linker_output): If a symbol is assigned to a file,
20978169689Skan	but after recompilation is not present there, issue an error
20979169689Skan	message.
20980169689Skan
20981169689Skan2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20982169689Skan
20983169689Skan	* tree-ssa-loop-im.c (force_move_till_expr, force_move_till):
20984169689Skan	Take orig_loop argument and pass it to set_level.
20985169689Skan	(schedule_sm): Pass the correct orig_loop to force_move_till.
20986169689Skan
20987169689Skan2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
20988169689Skan
20989169689Skan	* cfgloop.c (update_latch_info): Update dominator of the new block.
20990169689Skan	(canonicalize_loop_headers, flow_loops_find): Do not free dominance
20991169689Skan	info.
20992169689Skan	* dominance.c (verify_dominators): Check that the dominance tree is
20993169689Skan	connected.
20994169689Skan	(recount_dominator): Ignore unreachable blocks.
20995169689Skan	(iterate_fix_dominators): Cleanup old dominance information before
20996169689Skan	recomputing it.
20997169689Skan
20998169689Skan2004-07-29  Diego Novillo  <dnovillo@redhat.com>
20999169689Skan
21000169689Skan	* tree-ssa-operands.c (get_expr_operands): Revert changes
21001169689Skan	to ADDR_EXPR processing introduced by:
21002169689Skan	    2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21003169689Skan	    * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
21004169689Skan
21005169689Skan2004-07-29  Joseph S. Myers  <jsm@polyomino.org.uk>
21006169689Skan
21007169689Skan	* doc/implement-c.texi: Add C90 subclause references.  Point to
21008169689Skan	preprocessor documentation instead of duplicating it.  Add points
21009169689Skan	only present in C90.  Fill in documentation for all points.
21010169689Skan
21011169689Skan2004-07-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
21012169689Skan
21013169689Skan	* pa.c (output_movb): Correct typo.
21014169689Skan
21015169689Skan2004-07-29  Pat Haugen  <pthaugen@us.ibm.com>
21016169689Skan
21017169689Skan	* ra.h (single_reg_in_regclass): Declare.
21018169689Skan	* ra.c (single_reg_in_regclass): Define.
21019169689Skan	(first_hard_reg): New.
21020169689Skan	(init_ra): Initialize single_reg_in_regclass.
21021169689Skan	* ra-colorize.c (ok_class): New.
21022169689Skan	(coalesce, aggressive_coalesce, extended_coalesce_2): Use it.
21023169689Skan
21024169689Skan2004-07-29  Nathan Sidwell  <nathan@codesourcery.com>
21025169689Skan
21026169689Skan	* gcov-io.h: Allow zero tag as EOF indicator.
21027169689Skan	(gcov_is_eof): Remove.
21028169689Skan	(gcov_truncate): Remove.
21029169689Skan	* gcov-io.c (gcov_seek): Always SEEK_SET.
21030169689Skan	* libgcov.c (gcov_exit): Don't use gcov_truncate.  Write explicit
21031169689Skan	EOF tag.
21032169689Skan	* coverage.c (read_counts_file): Don't use gcov_is_eof.
21033169689Skan	* gcov-dump.c (dump_file): Likewise.
21034169689Skan	* gcov.c (read_graph_file, read_count_file): Likewise.
21035169689Skan
21036169689Skan	* c-decl.c (complete_array_type): Don't gratuitously copy
21037169689Skan	maxindex.  Check it always has a type.
21038169689Skan
21039169689Skan2004-07-29  Steven Bosscher  <stevenb@suse.de>
21040169689Skan
21041169689Skan	* rtl.c (currently_expanding_to_rtl): New.
21042169689Skan	* rtl.h (currently_expanding_to_rtl): Export it.
21043169689Skan	* cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
21044169689Skan
21045169689Skan	* config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
21046169689Skan	inliner hack.
21047169689Skan	* config/sh/sh.c: Replace rtx_equal_function_value_matters
21048169689Skan	with currently_expanding_to_rtl.
21049169689Skan	* config/sh/sh.md: Likewise.
21050169689Skan	* config/ia64/ia64.c (got_symbolic_operand): Likewise.
21051169689Skan
21052169689Skan2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
21053169689Skan
21054169689Skan	Introduce sh2a support.
21055169689Skan	2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
21056169689Skan	* config.gcc: Build multilibs for sh2a and sh2a-single by
21057169689Skan	default.
21058169689Skan	* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
21059169689Skan	default.  Split their tests out of the corresponding SH4
21060169689Skan	multilibs.
21061169689Skan	* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
21062169689Skan	multilibs for SH2a.
21063169689Skan	2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
21064169689Skan	* config.gcc: Handle sh2a multilibs and cpu selection.
21065169689Skan	* config/sh/sh.h: Likewise.  Handle sh2a command line flags.
21066169689Skan	* config/sh/t-mlib-sh2a: New.
21067169689Skan	* config/sh/t-mlib-sh2a-nofpu: New.
21068169689Skan	* config/sh/t-mlib-sh2a-single: New.
21069169689Skan	* config/sh/t-mlib-sh2a-single-only: New.
21070169689Skan	2004-07-09  Nick Clifton  <nickc@redhat.com>
21071169689Skan	Issue 43400
21072169689Skan	* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
21073169689Skan	-ml and -m2a are used together.
21074169689Skan	2004-03-23  DJ Delorie  <dj@redhat.com>
21075169689Skan	* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
21076169689Skan	when we have a double-sized FPU.
21077169689Skan	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
21078169689Skan	* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
21079169689Skan	is set.
21080169689Skan	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
21081169689Skan	-msh2a-single and -msh2a-single-only
21082169689Skan	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
21083169689Skan	* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
21084169689Skan	is set.
21085169689Skan	2004-02-20  DJ Delorie  <dj@delorie.com>
21086169689Skan	* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
21087169689Skan	2004-02-20  Fred Fish <fnf@redhat.com>,
21088169689Skan	Corinna Vinschen <vinschen@redhat.com>
21089169689Skan	* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
21090169689Skan	(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
21091169689Skan	2004-02-18  DJ Delorie  <dj@redhat.com>
21092169689Skan	* config/sh/sh.c (broken_move): Add support for movi20.
21093169689Skan	* config/sh/sh.h: Likewise.
21094169689Skan	(SHIFT_COUNT_TRUNCATED): Set for sh2a.
21095169689Skan	* config/sh/sh.md (udivsi3_sh2a): New.
21096169689Skan	(udivsi3): Call it.
21097169689Skan	(divsi3_sh2a): New.
21098169689Skan	(divsi3): Call it.
21099169689Skan	(mul_r): New.
21100169689Skan	(ashlsi3_sh2a): New.
21101169689Skan	(ashrsi3_sh2a): New.
21102169689Skan	(lshrsi3_sh2a): New.
21103169689Skan	(movsi_i): Disable for sh2a.
21104169689Skan	(movsi_ie): Add movi20.
21105169689Skan	(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
21106169689Skan	sh2a, for -m2a-nofpu mode.
21107169689Skan	2004-02-13  DJ Delorie  <dj@redhat.com>
21108169689Skan	* config/sh/lib1funcs.asm: Handle double vs single better.
21109169689Skan	* config/sh/sh.h: Likewise.
21110169689Skan	2004-02-09  DJ Delorie  <dj@redhat.com>
21111169689Skan	* config/sh/crt1.asm: Add support for sh2a.
21112169689Skan	* config/sh/elf.h: Likewise.
21113169689Skan	* config/sh/lib1funcs.asm: Likewise.
21114169689Skan	* config/sh/sh.c: Likewise.
21115169689Skan	* config/sh/sh.md: Likewise.
21116169689Skan	* config/sh/sh.h: Likewise.
21117169689Skan	* config/sh/t-sh: Likewise.
21118169689Skan
21119169689Skan2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
21120169689Skan
21121169689Skan	* config/frv/frv.md (movqi_internal, movhi_internal,
21122169689Skan	movsi_internal): Add backup alternatives for memory inputs.
21123169689Skan
21124169689Skan2004-07-28  Matt Austern  <austern@apple.com>
21125169689Skan
21126169689Skan	* config/darwin.c (darwin_one_byte_bool): New global variable.
21127169689Skan	* config/darwin.h (darwin_one_byte_bool): Declare.
21128169689Skan	(SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
21129169689Skan	* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
21130169689Skan	value of darwin_one_byte_bool.
21131169689Skan	* doc/invoke.texi: Document -mone-byte-bool flag.
21132169689Skan
21133169689Skan2004-07-28  Eric Christopher  <echristo@redhat.com>
21134169689Skan
21135169689Skan	* c-common.c (c_common_unsafe_for_reeval): Delete.
21136169689Skan	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
21137169689Skan	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
21138169689Skan	* calls.c (fix_unsafe_tree): Delete.
21139169689Skan	(expand_call): Delete code which used above.
21140169689Skan	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
21141169689Skan	* expr.c (expand_expr_real_1): Ditto.
21142169689Skan	* fold-const.c (non_lvalue): Ditto.
21143169689Skan	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
21144169689Skan	(lhd_unsafe_for_reeval): Ditto.
21145169689Skan	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
21146169689Skan	* langhooks.h (unsafe_for_reeval): Ditto.
21147169689Skan	(unsave_expr_now): Adjust comment.
21148169689Skan	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
21149169689Skan	(estimate_num_insns_1): Ditto.
21150169689Skan	* tree-pretty-print.c (dump_generic_node): Ditto.
21151169689Skan	* tree.c (expr_align): Ditto.
21152169689Skan	(unsave_expr): Delete.
21153169689Skan	(unsafe_for_reeval): Ditto.
21154169689Skan	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
21155169689Skan	* tree.def (UNSAVE_EXPR): Delete.
21156169689Skan	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
21157169689Skan
21158169689Skan2004-07-28  Zack Weinberg  <zack@codesourcery.com>
21159169689Skan
21160169689Skan	* tree.h (enum tls_model): Move ...
21161169689Skan	* coretypes.h: ... here.
21162169689Skan
21163169689Skan2004-07-28  Richard Sandiford <rsandifo@redhat.com>
21164169689Skan
21165169689Skan	* config/frv/frv.h (EPILOGUE_USES): New.  Use LR.
21166169689Skan
21167169689Skan2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
21168169689Skan
21169169689Skan	* cse.c (validate_canon_reg): New function, split out from...
21170169689Skan	(canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
21171169689Skan
21172169689Skan2004-07-28  Diego Novillo  <dnovillo@redhat.com>
21173169689Skan
21174169689Skan	* tree-ssa-alias.c (maybe_create_global_var): Don't just
21175169689Skan	return if .GLOBAL_VAR has been created.
21176169689Skan
21177169689Skan2004-07-28  Diego Novillo  <dnovillo@redhat.com>
21178169689Skan
21179169689Skan	* tree-ssa.c (verify_flow_insensitive_alias_info): Process
21180169689Skan	every variable that may have aliases, not just tags.
21181169689Skan
21182169689Skan2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
21183169689Skan
21184169689Skan	* config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
21185169689Skan	move_from_CR_eq_bit.
21186169689Skan	Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
21187169689Skan
21188169689Skan
21189169689Skan	* config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
21190169689Skan	e500_flip_eq_bit.
21191169689Skan
21192169689Skan	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
21193169689Skan	output_e500_flip_eq_bit.
21194169689Skan
21195169689Skan	* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
21196169689Skan	output_e500_flip_eq_bit.
21197169689Skan	(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
21198169689Skan	output_e500_flip_eq_bit.
21199169689Skan	Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
21200169689Skan	(print_operand): case D.  Get to EQ bit.
21201169689Skan
21202169689Skan2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
21203169689Skan
21204169689Skan	* gcov.c (function_summary): Add missing \n.
21205169689Skan
21206169689Skan2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
21207169689Skan
21208169689Skan	Introduce sh4a support.
21209169689Skan	* config.gcc: Handle sh4a multilibs and cpu selection.
21210169689Skan	* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
21211169689Skan	* config/sh/t-mlib-sh4a: New.
21212169689Skan	* config/sh/t-mlib-sh4al: New.
21213169689Skan	* config/sh/t-mlib-sh4a-nofpu: New.
21214169689Skan	* config/sh/t-mlib-sh4a-single: New.
21215169689Skan	* config/sh/t-mlib-sh4a-single-only: New.
21216169689Skan	2004-02-20  DJ Delorie  <dj@redhat.com>
21217169689Skan	* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
21218169689Skan	* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
21219169689Skan	2003-08-22  Eric Christopher  <echristo@redhat.com>
21220169689Skan	* config/sh/sh4a.md: Update for chip errata.
21221169689Skan	2003-08-07  Eric Christopher  <echristo@redhat.com>
21222169689Skan	* config/sh/sh4a.md: New file. sh4a processor description.
21223169689Skan	2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
21224169689Skan	* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
21225169689Skan	of -m4a-nofpu.
21226169689Skan	(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
21227169689Skan	* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
21228169689Skan	* doc/invoke.texi (SH Options): Document -m4al.
21229169689Skan	2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
21230169689Skan	* config/sh/sh.c (expand_block_move): Remove commented-out code
21231169689Skan	checked in by mistake.
21232169689Skan	(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
21233169689Skan	single elements from SFmode vectors.
21234169689Skan	* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
21235169689Skan	register.
21236169689Skan	(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
21237169689Skan	2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
21238169689Skan	* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
21239169689Skan	sh_fsca_int2sf): Remove variable declarations.
21240169689Skan	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
21241169689Skan	sh_fsca_int2sf): New functions.
21242169689Skan	(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
21243169689Skan	sh_fsca_int2sf_rtx): New static variables.
21244169689Skan	* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
21245169689Skan	sh_fsca_int2sf): Declare.
21246169689Skan	* config/sh/sh.md: Adjust.
21247169689Skan	* doc/invoke.texi (SH Options): Document new options.
21248169689Skan	* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
21249169689Skan	compatibility from SH4 code.
21250169689Skan	2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
21251169689Skan	* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
21252169689Skan	early.
21253169689Skan	(memory_movsrc_operand): Renamed to...
21254169689Skan	(unaligned_load_operand): ... this.  Simplified.
21255169689Skan	* config/sh/sh.h (PREDICATE_CODES): Adjust.
21256169689Skan	* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
21257169689Skan	input operand to SImode, and adjust the others.  Introduce
21258169689Skan	post-increment by peephole.
21259169689Skan	* config/sh/sh.c (expand_block_move): Give the target address the
21260169689Skan	same mode as the temp reg.
21261169689Skan	* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
21262169689Skan	copying.
21263169689Skan	2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
21264169689Skan	Introduce support for SH4a.
21265169689Skan	* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
21266169689Skan	__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
21267169689Skan	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
21268169689Skan	sh_fsca_int2sf): New.
21269169689Skan	(sh_init_builtins): Initialize them.
21270169689Skan	(print_operand): Support `d'.
21271169689Skan	(expand_block_move): Use movua if src is misaligned.
21272169689Skan	(memory_movsrc_operand): New.
21273169689Skan	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
21274169689Skan	and one of the SH4 macros.
21275169689Skan	(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
21276169689Skan	SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
21277169689Skan	SELECT_SH4A_SINGLE): New.
21278169689Skan	(TARGET_NONE): Add SH4A_BIT.
21279169689Skan	(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
21280169689Skan	(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
21281169689Skan	(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
21282169689Skan	(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
21283169689Skan	(enum processor_type): Added PROCESSOR_SH4A.
21284169689Skan	(PREDICATE_CODES): Add memory_movsrc_operand.
21285169689Skan	* config/sh/sh.md: Removed unused variables.
21286169689Skan	(attr cpu): Add sh4a.
21287169689Skan	(attr type): Add movua, fsrra and fsca.
21288169689Skan	(prefetch): New, for SH4.
21289169689Skan	(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
21290169689Skan	(toggle_sz): Set type to fp.
21291169689Skan	(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
21292169689Skan	(movua, extv, extzv): New.
21293169689Skan	* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
21294169689Skan	and 4a-single-only.
21295169689Skan
21296169689Skan2004-07-28  Diego Novillo  <dnovillo@redhat.com>
21297169689Skan
21298169689Skan	* tree-optimize.c (init_tree_optimization_passes): Schedule
21299169689Skan	pass_may_alias right after the program is renamed into SSA.
21300169689Skan	* tree-pass.h (PROP_alias): Define.
21301169689Skan	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
21302169689Skan	* tree-sra.c (pass_sra): Likewise.
21303169689Skan	* tree-ssa-ccp.c (pass_ccp): Likewise.
21304169689Skan	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
21305169689Skan	* tree-ssa-dce.c (pass_dce): Likewise.
21306169689Skan	* tree-ssa-dom.c (pass_dominator): Likewise.
21307169689Skan	* tree-ssa-dse.c (pass_dse): Likewise.
21308169689Skan	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
21309169689Skan	* tree-ssa-loop-ch.c (pass_ch): Likewise.
21310169689Skan	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
21311169689Skan	* tree-ssa-pre.c (pass_pre): Likewise.
21312169689Skan	* tree-tailcall.c (pass_tail_recursion): Likewise.
21313169689Skan	* tree-ssa.c (pass_redundant_phi): Likewise.
21314169689Skan	* tree-ssa-alias.c (aliases_computed_p): Remove.
21315169689Skan	Update all users.
21316169689Skan	(init_alias_info): Do not mark all type tags for renaming
21317169689Skan	unconditionally.
21318169689Skan	Clear may_aliases from every symbol.
21319169689Skan	(setup_pointers_and_addressables): If a pointer has not been
21320169689Skan	dereferenced and it had a type tag, clear it and mark the old
21321169689Skan	tag for renaming.
21322169689Skan
21323169689Skan2004-07-28  Diego Novillo  <dnovillo@redhat.com>
21324169689Skan
21325169689Skan	PR tree-optimization/16705
21326169689Skan	* tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
21327169689Skan	.GLOBAL_VAR.
21328169689Skan
21329169689Skan2004-07-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21330169689Skan
21331169689Skan	* expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
21332169689Skan	check.
21333169689Skan
21334169689Skan	* gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
21335169689Skan	don't make another one.
21336169689Skan
21337169689Skan	PR optimization/15077
21338169689Skan	* function.h (struct function): Add field saved_static_chain_decl.
21339169689Skan	Fix comment for static_chain_decl.
21340169689Skan	* tree-inline.c (save_body): Add new arg and handle static_chain_decl.
21341169689Skan	* tree-inline.h (save_body): Add new arg.
21342169689Skan	* tree-optimize.c (tree_rest_of_compilation): Handle saving
21343169689Skan	static_chain_decl.
21344169689Skan
21345169689Skan2004-07-27  Richard Henderson  <rth@redhat.com>
21346169689Skan
21347169689Skan	* gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
21348169689Skan	(gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
21349169689Skan	is_gimple_addressable.
21350169689Skan	* tree-gimple.c (is_gimple_addressable): Rename from
21351169689Skan	is_gimple_addr_expr_arg; accept INDIRECT_REF.
21352169689Skan	(is_gimple_lvalue): Don't test INDIRECT_REF directly.
21353169689Skan	* tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
21354169689Skan	rename to is_gimple_addressable.
21355169689Skan
21356169689Skan2004-07-28  Alan Modra  <amodra@bigpond.net.au>
21357169689Skan
21358169689Skan	* config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
21359169689Skan
21360169689Skan2004-07-27  Richard Henderson  <rth@redhat.com>
21361169689Skan
21362169689Skan	* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
21363169689Skan	before rounding.
21364169689Skan
21365169689Skan2004-07-27  Zack Weinberg  <zack@codesourcery.com>
21366169689Skan
21367169689Skan	* libgcc2.c: Change all conditionals testing
21368169689Skan	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
21369169689Skan	* libgcc2.h: Likewise.
21370169689Skan	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
21371169689Skan	TYPE_PRECISION of float80_type to 80.
21372169689Skan	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
21373169689Skan	of fpreg_type and float80_type to 80.
21374169689Skan	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
21375169689Skan	* config/m68k/netbsd-elf.h:
21376169689Skan	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
21377169689Skan	to evaluate to 80 whenever they would formerly have evaluated to 96.
21378169689Skan	* config/i386/sco5.h: Remove unnecessary redefinition of
21379169689Skan	LONG_DOUBLE_TYPE_SIZE.
21380169689Skan	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
21381169689Skan	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
21382169689Skan	XFmode, with a bitsize of 80.  Update commentary.
21383169689Skan	* config/ia64/ia64-modes.def: Likewise.
21384169689Skan	* config/m68k/m68k-modes.def: Likewise.
21385169689Skan
21386169689Skan2004-07-27  Steven Bosscher  <stevenb@suse.de>
21387169689Skan
21388169689Skan	* cfgexpand.c (tree_expand_cfg): Fix comment.
21389169689Skan
21390169689Skan	* calls.c (expand_call): Ignore rtx_equal_function_value_matters.
21391169689Skan	* function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
21392169689Skan	Remove.
21393169689Skan	(prepare_function_start): Don't set rtx_equal_function_value_matters.
21394169689Skan	* integrate.c (copy_rtx_and_substitute): Don't test for it.
21395169689Skan	* passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
21396169689Skan	Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
21397169689Skan	here again.  Update leading comment.
21398169689Skan	* rtl.c (rtx_equal_function_value_matters): Remove.
21399169689Skan	(rtx_equal_p): Don't test for it.
21400169689Skan	* simplify-rtx.c (simplify_binary_operation, simplify_subreg):
21401169689Skan	Likewise.
21402169689Skan
21403169689Skan	* rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
21404169689Skan	* rtl.c (note_insn_name): Likewise.
21405169689Skan	* emit-rtl.c (remove_unnecessary_notes): Don't handle it.
21406169689Skan	* final.c (final_scan_insn): Likewise.
21407169689Skan
21408169689Skan	* except.c (finish_eh_generation): Don't call cfg_cleanup from here.
21409169689Skan	* passes.c (rest_of_handle_eh): Do it here.
21410169689Skan
21411169689Skan	* stmt.c (struct nesting): Remove struct nesting block member.
21412169689Skan	(struct stmt_status): Remove x_block_start_count field.
21413169689Skan	(current_block_start_count): Remove.
21414169689Skan
21415169689Skan2004-07-27  Brian Booth  <bbooth@redhat.com>
21416169689Skan
21417169689Skan	* tree-optimize.c (register_one_dump_file): Update condition that uses
21418169689Skan	static_pass_number.
21419169689Skan	(dup_pass_1): Replace with...
21420169689Skan	(next_pass_1): This.
21421169689Skan	(NEXT_PASS): Call next_pass_1.
21422169689Skan	(DUP_PASS): Remove.
21423169689Skan	(init_tree_optimization_passes): Remove uses of DUP_PASS.
21424169689Skan	(execute_one_pass): Update condition that uses
21425169689Skan	static_pass_number.
21426169689Skan	* tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
21427169689Skan	integer.
21428169689Skan
21429169689Skan2004-07-27  Nick Clifton  <nickc@redhat.com>
21430169689Skan
21431169689Skan	* config/m32r/m32r.c: Include integrate.h in order to get the
21432169689Skan	prototype for get_hard_reg_initial_val().
21433169689Skan
21434169689Skan	* config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
21435169689Skan	and tidy up indentation.
21436169689Skan	(final_presence_set): Use absence_set instead, so that if there is
21437169689Skan	nothing in the "o" pipe the "s" pipe can be scheduled.
21438169689Skan
21439169689Skan2004-07-27  Diego Novillo  <dnovillo@redhat.com>
21440169689Skan
21441169689Skan	* tree-ssa-alias.c (create_name_tags): Ignore pointers that
21442169689Skan	don't have PT_VARS nor PT_MALLOC set.
21443169689Skan	Clear name tag from pointers that have not been dereferenced.
21444169689Skan	(set_pt_anything, set_pt_malloc): Forward declare.
21445169689Skan	* tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
21446169689Skan	not type compatibility when determining if a pointer can be
21447169689Skan	copy propagated.
21448169689Skan
21449169689Skan2004-07-27  Richard Sandiford  <rsandifo@redhat.com>
21450169689Skan
21451169689Skan	* expr.h (canonicalize_condition, get_condition): Add an int argument.
21452169689Skan	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
21453169689Skan	it to check whether the condition is still valid at the jump insn.
21454169689Skan	* ifcvt.c (noce_get_condition): Likewise.
21455169689Skan	(noce_get_alt_condition): Update call to canonicalize_condition.
21456169689Skan	* loop-iv.c (simplify_using_initial_values): Update call to
21457169689Skan	get_condition.  Remove FIXME.
21458169689Skan	(check_simple_exit): Update call to get_condition.
21459169689Skan	* loop-unswitch.c (may_unswitch_on): Likewise.
21460169689Skan	* loop.c (check_dbra_loop): Likewise.
21461169689Skan	(canonicalize_condition, get_condition): Add an argument to say whether
21462169689Skan	the condition must still be valid at INSN.
21463169689Skan	(get_condition_for_loop): Update call to get_condition.  Require that
21464169689Skan	the condition be valid at INSN.
21465169689Skan	* predict.c (estimate_probability): Update call to get_condition.
21466169689Skan	Remove unused earliest parameter.
21467169689Skan	(expected_value_to_br_prob): Update call to canonicalize_condition.
21468169689Skan
21469169689Skan2004-07-26  Eric Christopher  <echristo@redhat.com>
21470169689Skan
21471169689Skan	* tree-dfa.c (add_referenced_var): Register initializers of global
21472169689Skan	variables.
21473169689Skan
21474169689Skan2004-07-26  Paolo Bonzini  <bonzini@gnu.org>
21475169689Skan
21476169689Skan	* config/i386/i386.c (function_arg): Always treat 8-
21477169689Skan	and 16-byte wide vectors the same, even if MMX/SSE
21478169689Skan	are disabled.
21479169689Skan	(contains_128bit_aligned_vector_p): Add comment.
21480169689Skan
21481169689Skan2004-07-26  J"orn Rennecke <joern.rennecke@superh.com>
21482169689Skan
21483169689Skan	* ra.h (enum node_type): Rename to:
21484169689Skan	(enum ra_node_type).
21485169689Skan	* ra-colorize.c: Likewise.
21486169689Skan
21487169689Skan2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
21488169689Skan
21489169689Skan	* cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
21490169689Skan	after simplifying the jump.
21491169689Skan
21492169689Skan2004-06-26  Richard Henderson  <rth@redhat.com>
21493169689Skan
21494169689Skan	* calls.c (combine_pending_stack_adjustment_and_call): Make
21495169689Skan	preferred_unit_stack_boundary argument unsigned.  Make
21496169689Skan	unadjusted_alignment unsigned.
21497169689Skan	(expand_call): Make preferred_stack_boundary and
21498169689Skan	preferred_unit_stack_boundary variables unsigned.
21499169689Skan	* function.c (assign_stack_local_1): Make alignment unsigned.
21500169689Skan	* function.h (struct function): Make stack_alignment_needed,
21501169689Skan	preferred_stack_boundary unsigned.
21502169689Skan	* config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
21503169689Skan	(ix86_compute_frame_layout): Make stack_alignment_needed,
21504169689Skan	preferred_alignment variables unsigned.
21505169689Skan	* config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.
21506169689Skan
21507169689Skan2004-07-26  Tom Tromey  <tromey@redhat.com>
21508169689Skan
21509169689Skan	* tree.h: Fix typo in comment.
21510169689Skan
21511169689Skan2004-07-26  Daniel Jacobowitz  <dan@debian.org>
21512169689Skan
21513169689Skan	PR bootstrap/12804
21514169689Skan	* ggc-zone.c (struct alloc_chunk): Remove attribute packed.
21515169689Skan	(MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
21516169689Skan	(ggc_free): Remove incorrect freeing.
21517169689Skan	(sweep_pages): Advance PP for large pages.  Fix indentation.
21518169689Skan
21519169689Skan2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
21520169689Skan
21521169689Skan	PR rtl-optimization/16643
21522169689Skan	* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
21523169689Skan	* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
21524169689Skan	* basic-block.h (reorder_basic_blocks): Add a flags parameter.
21525169689Skan	* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
21526169689Skan	(partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize.
21527169689Skan	* function.c (thread_prologue_and_epilogue_insns): Likewise.
21528169689Skan	* rtl.h (tracer): Add a flags parameter.
21529169689Skan	* tracer.c (tracer): Pass it to cfg_layout_initialise.
21530169689Skan	* passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
21531169689Skan	(rest_of_handle_reorder_blocks): Update calls to tracer and
21532169689Skan	reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
21533169689Skan	(rest_of_handle_tracer): Pass 0 to tracer.
21534169689Skan	(rest_of_handle_loop2): Pass 0 to cfg_layout_initialize.
21535169689Skan
21536169689Skan2004-07-25  David Edelsohn  <edelsohn@gnu.org>
21537169689Skan
21538169689Skan	PR target/16239
21539169689Skan	* config/rs6000/rs6000.md (movdi_internal64): Further disparage
21540169689Skan	f->f.
21541169689Skan
21542169689Skan2004-07-24  Nathan Sidwell  <nathan@codesourcery.com>
21543169689Skan
21544169689Skan	* tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
21545169689Skan	(BINFO_BASE_ACCESS): Adjust.
21546169689Skan	(BINFO_BASE_ACCESS_APPEND): New.
21547169689Skan	(struct tree_binfo): Make base_accesses a VEC(tree) pointer.
21548169689Skan	* dbxout.c (dbxout_type): Adjust binfo access accessing.
21549169689Skan	* dwarf2out.c (gen_member_die): Likewise.
21550169689Skan	* tree-dump.c (deque_and_dump): Likewise.
21551169689Skan
21552169689Skan2004-07-26  Falk Hueffner  <falk@debian.org>
21553169689Skan
21554169689Skan	* config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
21555169689Skan	costs.
21556169689Skan
21557169689Skan2004-07-25  Roger Sayle  <roger@eyesopen.com>
21558169689Skan
21559169689Skan	* config/i386/i386.c (output_fp_compare): Use ffreep to pop top
21560169689Skan	value off of the stack if TARGET_USE_FFREEP.
21561169689Skan
21562169689Skan2004-07-26  Bernardo Innocenti  <bernie@develer.com>
21563169689Skan
21564169689Skan	* gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
21565169689Skan	* gengtype-yacc.y: Likewise.  Replace free() with XDELETE ().
21566169689Skan	* c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer
21567169689Skan	check on invocation of XRESIZEVEC ().
21568169689Skan
21569169689Skan2004-07-26  Bernardo Innocenti  <bernie@develer.com>
21570169689Skan
21571169689Skan	* c-common.c (disable_builtin_function): Rename variable n to
21572169689Skan	new_disabled_builtin.
21573169689Skan	* c-decl.c (duplicate_decls): Rename parameter decl to new_decl.
21574169689Skan	Rename local variable old to old_decl.
21575169689Skan	* gensupport.c (shift_output_template): Rename parameter old to src.
21576169689Skan	* simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to
21577169689Skan	old_rtx and newx to new_rtx.
21578169689Skan
21579169689Skan2004-07-26  Bernardo Innocenti  <bernie@develer.com>
21580169689Skan
21581169689Skan	* Makefile.in (C_PRAGMA_H): New variable to track dependencies
21582169689Skan	of c-pragma.h.
21583169689Skan	* c-pragma.h (c_lex, c_lex_with_flags): Change returntype to
21584169689Skan	enum cpp_ttype.
21585169689Skan	* c-lex.c: Likewise.
21586169689Skan
21587169689Skan2004-07-25  Roger Sayle  <roger@eyesopen.com>
21588169689Skan
21589169689Skan	* fold-const.c (constant_boolean_node): Make extern.
21590169689Skan	(make_range): Wrap long lines.
21591169689Skan	(fold_cond_expr_with_comparison): Remove unnecessary call to
21592169689Skan	pedantic_non_lvalue.  Add missing calls to fold_convert.
21593169689Skan	(fold_truthop): Add missing calls to fold_convert.
21594169689Skan	(fold): Likewise.
21595169689Skan	* tree.h (constant_boolean_node): Add prototype here.
21596169689Skan	* builtins.c (expand_builtin_strncmp): Add missing calls to
21597169689Skan	fold_convert.
21598169689Skan	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
21599169689Skan	Call fold_convert and constant_boolean_node to correct types.
21600169689Skan	* tree-ssa-forwprop.c (substitute_single_use_vars): Add
21601169689Skan	missing call to fold_convert to correct types.
21602169689Skan
21603169689Skan2004-07-26  Niall Douglas  <s_fsfeurope2@nedprod.com>
21604169689Skan	    Brian Ryner  <bryner@brianryner.com>
21605169689Skan
21606169689Skan	PR c++/9283
21607169689Skan	PR c++/15000
21608169689Skan	* c-common.c (c_common_attribute_table): Allow
21609169689Skan	handle_visibility_attribute to be called for types.
21610169689Skan	(handle_visibility_attribute) When given a type, set the visibility
21611169689Skan	bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
21612169689Skan	so that we can check later whether the attribute was present. Added
21613169689Skan	warning if attribute applied to non class type.
21614169689Skan	* c-decl.c (diagnose_mismatched_decls): Updated rules for merging
21615169689Skan	decls and checking that they are consistent.
21616169689Skan	* common.opt: Added -fvisibility.
21617169689Skan	* c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
21618169689Skan	* c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
21619169689Skan	* flags.h, tree.h: Added assorted support defines for overall patch
21620169689Skan	* opts.c: Added parsing support for -fvisibility.
21621169689Skan	* tree.c (build_decl): Set visibility for all decls to be whatever
21622169689Skan	is in force at that time.
21623169689Skan	* varasm.c (default_binds_local_p_1): Reworked logic determining
21624169689Skan	when to make a symbol locally bound.
21625169689Skan	* doc/invoke.texi: Added documentation for -fvisibility and
21626169689Skan	-fvisibility-inlines-hidden.
21627169689Skan
21628169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21629169689Skan
21630169689Skan	* basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
21631169689Skan	* c-common.c: Add missing casts from void * to other types.
21632169689Skan	* c-decl.c: Likewise.
21633169689Skan	* c-format.c: Likewise.
21634169689Skan	* c-lex.c: Likewise.
21635169689Skan	* c-pragma.c: Likewise.
21636169689Skan	* c-typeck.c: Likewise.
21637169689Skan	* defaults.h: Likewise.
21638169689Skan	* genconstants.c: Likewise.
21639169689Skan	* gengtype-lex.l: Likewise.
21640169689Skan	* genmodes.c: Likewise.
21641169689Skan	* read-rtl.c: Likewise.
21642169689Skan	* rtl.c: Likewise.
21643169689Skan
21644169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21645169689Skan
21646169689Skan	* bitmap.c: Use type-safe memory allocation macros from libiberty.
21647169689Skan	* c-common.c: Likewise.
21648169689Skan	* c-decl.c: Likewise.
21649169689Skan	* c-lang.c: Likewise.
21650169689Skan	* c-lex.c: Likewise.
21651169689Skan	* c-opts.c: Likewise.
21652169689Skan	* c-parse.in: Likewise.
21653169689Skan	* c-typeck.c: Likewise.
21654169689Skan	* genconditions.c: Likewise.
21655169689Skan	* gengtype-lex.l: Likewise.
21656169689Skan	* gengtype-yacc.y: Likewise.
21657169689Skan	* gengtype.c: Likewise.
21658169689Skan	* genmodes.c: Likewise.
21659169689Skan	* gensupport.c: Likewise.
21660169689Skan	* read-rtl.c: Likewise.
21661169689Skan	* read-rtl.c (read_constants): Use INSERT instead of TRUE in call to
21662169689Skan	htab_find_slot().
21663169689Skan
21664169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21665169689Skan
21666169689Skan	* c-decl.c (groktypename, groktypename_in_param_context): Rename
21667169689Skan	variable typename to type_name.
21668169689Skan	* c-lex.c (interpret_float): Likewise.
21669169689Skan
21670169689Skan2004-07-25  Roger Sayle  <roger@eyesopen.com>
21671169689Skan
21672169689Skan	* convert.c (convert_to_real, convert_to_integer,
21673169689Skan	convert_to_complex): Replace calls to build with calls to buildN.
21674169689Skan	* coverage.c (tree_coverage_counter_ref): Likewise.
21675169689Skan	* dojump.c (do_jump): Likewise.
21676169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
21677169689Skan	* emit-rtl.c (component_ref_for_mem_expr,
21678169689Skan	set_mem_attributes_minus_bitpos): Likewise.
21679169689Skan	* explow.c (update_nonlocal_goto_save_area): Likewise.
21680169689Skan	* expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
21681169689Skan	expand_mult_add): Likewise.
21682169689Skan	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
21683169689Skan	store_constructor, get_inner_reference, expand_expr_real_1,
21684169689Skan	try_casesi, try_tablejump): Likewise.
21685169689Skan	* function.c (expand_function_start): Likewise.
21686169689Skan	* stmt.c (emit_case_bit_tests, expand_end_case_type,
21687169689Skan	node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
21688169689Skan	* stor-layout.c (place_union_field, layout_type): Likewise.
21689169689Skan	* tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
21690169689Skan	* varasm.c (copy_constant): Likewise.
21691169689Skan
21692169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21693169689Skan
21694169689Skan	* c-common.c: Rename all identifiers named `new'.
21695169689Skan	* c-decl.c: Likewise.
21696169689Skan	* gensupport.c: Likewise.
21697169689Skan	* simplify-rtx.c: Likewise.
21698169689Skan	* c-common.c (disable_builtin_function): Replace a call to xmalloc()
21699169689Skan	with XNEW().
21700169689Skan	* gensupport.c (alter_output_for_insn): Replace two calls to xmalloc()
21701169689Skan	with XNEWVEC().
21702169689Skan
21703169689Skan2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
21704169689Skan
21705169689Skan	PR c/15360
21706169689Skan	* c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
21707169689Skan	declarations until after calling pushdecl.
21708169689Skan	(grokdeclarator): Set DECL_EXTERNAL for variables based on use of
21709169689Skan	"extern" and not on whether the declaration is initialized.
21710169689Skan
21711169689Skan2004-07-25  Daniel Jacobowitz  <dan@debian.org>
21712169689Skan
21713169689Skan	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
21714169689Skan	(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
21715169689Skan	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
21716169689Skan	"cpplib.h", "c-pragma.h", "c-common.h".
21717169689Skan	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
21718169689Skan	(solaris_register_pragmas): New functions.
21719169689Skan	* config/sol2-protos.h: New file.
21720169689Skan	* config/sol2.c: New file.
21721169689Skan	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
21722169689Skan	(REGISTER_TARGET_PRAGMAS): New macros.
21723169689Skan	(solaris_pending_aligns, solaris_pending_inits)
21724169689Skan	(solaris_pending_finis): New variables.
21725169689Skan	* config/t-sol2 (sol2-c.o): Update dependencies.
21726169689Skan	(sol2.o): New rule.
21727169689Skan	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
21728169689Skan	SUBTARGET_INSERT_ATTRIBUTES.
21729169689Skan	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
21730169689Skan	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
21731169689Skan	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
21732169689Skan	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
21733169689Skan	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
21734169689Skan	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
21735169689Skan	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
21736169689Skan	* config/sparc/sparc.c (sparc_attribute_table): New.
21737169689Skan	(TARGET_INSERT_ATTRIBUTES): Define in terms of
21738169689Skan	SUBTARGET_INSERT_ATTRIBUTES.
21739169689Skan	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
21740169689Skan	is defined.
21741169689Skan	* doc/extend.texi (Solaris Pragmas): New section.
21742169689Skan
21743169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21744169689Skan
21745169689Skan	* c-common.c: Rename all identifiers named `class' to `cl'.
21746169689Skan	* c-common.h: Likewise.
21747169689Skan	* c-parse.in: Likewise.
21748169689Skan	* c-typeck.c: Likewise.
21749169689Skan	* genmodes.c: Likewise.
21750169689Skan	* real.c: Likewise.
21751169689Skan	* real.h: Likewise.
21752169689Skan	* recog.c: Likewise.
21753169689Skan	* recog.h: Likewise.
21754169689Skan	* regrename.c: Likewise.
21755169689Skan	* tree.h: Likewise.
21756169689Skan	* c-common.c (builtin_function_2): Change type of 5th parameter from
21757169689Skan	int to enum built_in_function. Change type of 8th parameter from int
21758169689Skan	to bool.
21759169689Skan	* c-decl (builtin_function): Replace call to ggc_alloc_cleared ()
21760169689Skan	with GGC_CNEW().
21761169689Skan	* c-typeck.c (convert_arguments): Change type of formal_prec from
21762169689Skan	int to unsigned int.
21763169689Skan	* genmodes.c (blank_mode): Make a few negative constants unsigned.
21764169689Skan	(complete_all_modes, calc_wider_mode, emit_insn_modes_h,
21765169689Skan	emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size,
21766169689Skan	emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner,
21767169689Skan	emit_mode_base_align, emit_class_narrowest_mode): Pass an integer
21768169689Skan	iterator to for_all_modes () instead of an enum because enums can't
21769169689Skan	be incremented in C++.
21770169689Skan
21771169689Skan
21772169689Skan2004-07-25  Daniel Jacobowitz  <dan@debian.org>
21773169689Skan
21774169689Skan	* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
21775169689Skan	hard registers.
21776169689Skan
21777169689Skan2004-07-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21778169689Skan
21779169689Skan	* tree-ssa-operands.c (get_stmt_operands, get_expr_operands):
21780169689Skan	Handle ARRAY_RANGE_REF like ARRAY_REF.
21781169689Skan
21782169689Skan2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
21783169689Skan
21784169689Skan	* c-typeck.c (digest_init): Don't allow arrays of signed or
21785169689Skan	unsigned variants of wchar_t to be initialized by wide string
21786169689Skan	constants.  Do allow arrays of enumerated types compatible with
21787169689Skan	wchar_t to be initialized by wide string constants.  Refine tests
21788169689Skan	distinguishing wide and narrow strings and arrays.  Give specific
21789169689Skan	error for arrays of other integer types initialized by string
21790169689Skan	constants.
21791169689Skan	(output_init_element, process_init_element): Check for
21792169689Skan	INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
21793169689Skan	initializing with string constants.
21794169689Skan
21795169689Skan2004-07-25  Richard Henderson  <rth@redhat.com>
21796169689Skan
21797169689Skan	* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
21798169689Skan	on the RESULT_DECL.
21799169689Skan	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
21800169689Skan	* integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
21801169689Skan	DECL_IGNORED_P to new decl.
21802169689Skan
21803169689Skan2004-07-24  Zack Weinberg  <zack@codesourcery.com>
21804169689Skan
21805169689Skan	* config/ia64/ia64.c (general_xfmode_operand)
21806169689Skan	(destination_xfmode_operand): Delete.
21807169689Skan	* config/ia64/ia64.h (PREDICATE_CODES): Remove them.
21808169689Skan	* config/ia64/ia64.md (*movxf_internal): Use general_operand
21809169689Skan	and destination_operand.
21810169689Skan
21811169689Skan2004-07-24  Alexander Kabaev  <kan@freebsd.org>
21812169689Skan
21813169689Skan	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
21814169689Skan	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
21815169689Skan
21816169689Skan2004-07-24  Alexander Kabaev  <kan@freebsd.org>
21817169689Skan	    Zack Weinberg  <zack@codesourcery.com
21818169689Skan
21819169689Skan	PR 16684
21820169689Skan	* c-decl.c (diagnose_mismatched_decls): Don't issue a
21821169689Skan	redundant-declaration warning the first time a builtin is
21822169689Skan	declared explicitly.
21823169689Skan
21824169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21825169689Skan
21826169689Skan	* tree.h (staticp): Change return type to bool.
21827169689Skan
21828169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21829169689Skan
21830169689Skan	* c-common.c (c_staticp): Last episode of the staticp saga.
21831169689Skan
21832169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21833169689Skan
21834169689Skan	* c-common.h (c_staticp): Change return type from int to bool.
21835169689Skan	* tree.c (staticp): Likewise.
21836169689Skan	* langhooks.h (staticp): Likewise.
21837169689Skan
21838169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21839169689Skan
21840169689Skan	* langhooks-def.h (lhd_staticp): Change return type from int to
21841169689Skan	bool in prototype to match definition.
21842169689Skan
21843169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21844169689Skan
21845169689Skan	* system.h (bool, true, false): Don't redefine as preprocessor macros
21846169689Skan	in C++.
21847169689Skan
21848169689Skan2004-07-24  Roger Sayle  <roger@eyesopen.com>
21849169689Skan
21850169689Skan	* expmed.c (init_expmed): A signed modulus by a power of two is
21851169689Skan	considered cheap if its less than or equal to four instructions.
21852169689Skan
21853169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21854169689Skan
21855169689Skan	* ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR,
21856169689Skan	GGC_CNEWVAR): New macros.
21857169689Skan
21858169689Skan2004-07-25  Bernardo Innocenti  <bernie@develer.com>
21859169689Skan
21860169689Skan	* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
21861169689Skan	lists.
21862169689Skan	* c-decl.c: Likewise.
21863169689Skan	* c-format.c: Likewise.
21864169689Skan	* c-lex.c: Likewise.
21865169689Skan	* c-opts.c: Likewise.
21866169689Skan	* c-pragma.c: Likewise.
21867169689Skan	* c-typeck.c: Likewise.
21868169689Skan	* gencheck.c: Likewise.
21869169689Skan	* genconditions.c: Likewise.
21870169689Skan	* genconfig.c: Likewise.
21871169689Skan	* genflags.c: Likewise.
21872169689Skan	* gengtype.c: Likewise.
21873169689Skan	* gensupport.c: Likewise.
21874169689Skan	* ggc-none.c: Likewise.
21875169689Skan	* langhooks.c: Likewise.
21876169689Skan	* statistics.h: Likewise.
21877169689Skan	* stub-objc.c: Likewise.
21878169689Skan	* java/decl.c: Likewise.
21879169689Skan
21880169689Skan2004-07-24  Roman Zippel  <zippel@linux-m68k.org>
21881169689Skan
21882169689Skan	* config/m68k/m68k.c (output_scc_di): Fix coding style.
21883169689Skan	(symbolic_operand): Fix prototype.
21884169689Skan	* config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
21885169689Skan	* config/m68k/m68k.md: Add constants for registers a0 and sp and
21886169689Skan	use them, change from the "{...}" syntax to the simpler {...}
21887169689Skan	syntax.
21888169689Skan	(*cfv4_extendqisi2): Fix destination predicate.
21889169689Skan	* config/m68k/m68k-protos.h: Remove various declarations also
21890169689Skan	generated via PREDICATE_CODES.
21891169689Skan
21892169689Skan2004-07-23  Mike Stump  <mrs@apple.com>
21893169689Skan
21894169689Skan	* c-typeck.c (convert_for_assignment): Tightened up pointer
21895169689Skan	converstions that differ in signedness.
21896169689Skan
21897169689Skan2004-07-23  Zack Weinberg  <zack@codesourcery.com>
21898169689Skan
21899169689Skan	* genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED.
21900169689Skan
21901169689Skan2004-07-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21902169689Skan
21903169689Skan	* tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
21904169689Skan	* tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New.
21905169689Skan
21906169689Skan	* gimplify.c (gimplify_compound_lval): Check for no handled
21907169689Skan	operations, rather than checking for explicit list of nodes.
21908169689Skan	(is_gimple_addr_expr_arg_or_indirect): New function.
21909169689Skan	(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
21910169689Skan	redundant setting of TREE_INVARIANT.
21911169689Skan	(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
21912169689Skan	* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
21913169689Skan
21914169689Skan2004-07-23  Diego Novillo  <dnovillo@redhat.com>
21915169689Skan
21916169689Skan	PR tree-optimization/16688
21917169689Skan	PR tree-optimization/16689
21918169689Skan	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
21919169689Skan	unnecessary initialization of 'tag'.
21920169689Skan	(get_tmt_for): Check that the new type tag has the same alias
21921169689Skan	set as the pointed-to type.
21922169689Skan	(group_aliases): Only regular variables need to be removed
21923169689Skan	from the alias set of a name tag.
21924169689Skan	* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
21925169689Skan	propagation if the two types are not compatible.
21926169689Skan	(merge_alias_info): Rename from replace_ssa_names_ann.
21927169689Skan	Add more checking.
21928169689Skan	(replace_exp_1): If both arguments are SSA_NAMEs, check that
21929169689Skan	the propagation can be done.
21930169689Skan	Only call merge_alias_info on pointers.
21931169689Skan	(propagate_value): Likewise.
21932169689Skan	* tree-ssa-copyrename.c: Include langhooks.h.
21933169689Skan	(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
21934169689Skan	to do the merging.
21935169689Skan	Do not coalesce variables with incompatible types.
21936169689Skan	(rename_ssa_copies): Call replace_ssa_name_symbol.
21937169689Skan	* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
21938169689Skan	the same type as the underlying _DECL.
21939169689Skan	* tree-ssanames.c (replace_ssa_name_symbol): New function.
21940169689Skan	* tree.h (replace_ssa_name_symbol): Declare.
21941169689Skan
21942169689Skan2004-07-23  Richard Henderson  <rth@redhat.com>
21943169689Skan
21944169689Skan	PR c++/16277
21945169689Skan	* gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
21946169689Skan	unshare it properly.
21947169689Skan	(gimplify_modify_expr_rhs): Push assignment from a conditional into
21948169689Skan	the conditional for all non-register types.
21949169689Skan
21950169689Skan2004-07-23  Richard Henderson  <rth@redhat.com>
21951169689Skan
21952169689Skan	* expr.c (expand_expr_real_1): Don't handle non-local variables.
21953169689Skan	* expr.h (fix_lexical_addr): Remove.
21954169689Skan	* function.c (NEED_SEPARATE_AP): Remove.
21955169689Skan	(fix_lexical_addr): Remove.
21956169689Skan	* tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
21957169689Skan	not null decl_function_context.
21958169689Skan	(create_alias_vars): Likewise.
21959169689Skan	* tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
21960169689Skan	(simple_goto_p): Likewise.
21961169689Skan	* tree-dfa.c (add_referenced_var): Don't check for non-local variables.
21962169689Skan	* tree-ssa-ccp.c (get_default_value): Likewise.
21963169689Skan	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
21964169689Skan	* tree.c (needs_to_live_in_memory): Likewise.
21965169689Skan	* tree-flow-inline.h (may_be_aliased): Move...
21966169689Skan	* tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
21967169689Skan	when TREE_STATIC variables may be addressable.
21968169689Skan
21969169689Skan2004-07-24  Jakub Jelinek  <jakub@redhat.com>
21970169689Skan
21971169689Skan	* Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
21972169689Skan
21973169689Skan2004-07-23  Zack Weinberg  <zack@codesourcery.com>
21974169689Skan
21975169689Skan	* print-rtl.c (print_rtx <case 'b'>): Don't attempt to print
21976169689Skan	bitmap contents if GENERATOR_FILE is defined.
21977169689Skan	* Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o.
21978169689Skan	($(BUILD_PREFIX_1)bitmap.o): Delete rule.
21979169689Skan
21980169689Skan2004-07-23  Joseph S. Myers  <jsm@polyomino.org.uk>
21981169689Skan
21982169689Skan	* c-decl.c (start_function): Form composite type of function types
21983169689Skan	rather than copying type from previous prototype declaration.
21984169689Skan
21985169689Skan2004-07-23  Janis Johnson  <janis187@us.ibm.com>
21986169689Skan
21987169689Skan	* config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
21988169689Skan	the const qualifier for the second argument in the C++ functions.
21989169689Skan
21990169689Skan	* config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
21991169689Skan	specific pointer types.
21992169689Skan
21993169689Skan	* config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm,
21994169689Skan	vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used
21995169689Skan	for vector bool and/or vector pixel, add C++ and C missing support.
21996169689Skan	(vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh,
21997169689Skan	vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh,
21998169689Skan	vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum,
21999169689Skan	vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws,
22000169689Skan	vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add
22001169689Skan	missing C++ and C support for vector bool and/or vector pixel.
22002169689Skan	(vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw,
22003169689Skan	vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw,
22004169689Skan	vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw,
22005169689Skan	vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub,
22006169689Skan	vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix
22007169689Skan	C++ and C types used for vector bool and/or vector pixel.
22008169689Skan	(vec_st, vec_stl): Add C++ support for vector pixel.
22009169689Skan	(vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool.
22010169689Skan	(vec_all_ne): Add C++ support for vector pixel.
22011169689Skan
22012169689Skan	* config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
22013169689Skan	(vec_vmulesb): Add missing C++ function.
22014169689Skan	(vec_perm): Fix type of third argument in C++ function.
22015169689Skan	(vec_vsum4shs): Fix C++ function name.
22016169689Skan	(vec_any_ge): Remove C++ functions for unsupported arg combinations.
22017169689Skan	(vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
22018169689Skan	argument passed to the error handler in C macro.
22019169689Skan	(vec_nmsub): Remove extra parens around argument names in C macro.
22020169689Skan	(vec_packpx): Add missing parens in C macro.
22021169689Skan
22022169689Skan2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
22023169689Skan
22024169689Skan	* machmode.def: Remove vector modes.
22025169689Skan	* config/alpha/alpha-modes.def: Add supported vector modes.
22026169689Skan	* config/arm/arm-modes.def: Likewise.
22027169689Skan	* config/frv/frv-modes.def: Likewise.
22028169689Skan	* config/i386/i386-modes.def: Likewise.
22029169689Skan	* config/rs6000/rs6000-modes.def: Likewise.
22030169689Skan	* config/sh/sh-modes.def: Likewise.
22031169689Skan
22032169689Skan2004-07-23  Matthias Klose  <doko@debian.org>
22033169689Skan
22034169689Skan	* intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
22035169689Skan	* configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
22036169689Skan	* config.h: Regenerate.
22037169689Skan	* configure: Likewise.
22038169689Skan
22039169689Skan2004-07-22  Mark Mitchell  <mark@codesourcery.com>
22040169689Skan
22041169689Skan	* dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
22042169689Skan	generated SYMBOL_REFs for labels.
22043169689Skan	* config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
22044169689Skan	Change prototype.
22045169689Skan	(machopic_stub_name): Remove.
22046169689Skan	(machopic_indirection_name): New function.
22047169689Skan	(machopic_mcount_stub_name): Likewise.
22048169689Skan	(machopic_classify_name): Remove.
22049169689Skan	(machopic_function_base_sym): New function.
22050169689Skan	(machpoic_classify_symbol): Likewise.
22051169689Skan	(machopic_classify_ident): Remove.
22052169689Skan	(machopic_define_ident): Likewise.
22053169689Skan	(machopic_define_name): Likewise.
22054169689Skan	(machopic_name_defined_p): Likewise.
22055169689Skan	(machopic_ident_defined_p): Likewise.
22056169689Skan	(darwin_strip_name_encoding): Likewise.
22057169689Skan	(machopic_define_symbol): New function.
22058169689Skan	* config/darwin.c (hashtab.h): Include.
22059169689Skan	(machopic_defined_list): Remove.
22060169689Skan	(machopic_classify_ident): Likewise.
22061169689Skan	(machopic_classify_name): Likewise.
22062169689Skan	(machopic_ident_defined_p): Likewise.
22063169689Skan	(machopic_define_ident): Likewise.
22064169689Skan	(machopic_define_name): Likewise.
22065169689Skan	(machopic_symbol_defined_p): New function.
22066169689Skan	(machopic_classify_symbol): Likewise.
22067169689Skan	(machopic_data_defined_p): Use machopic_classify_symbol.
22068169689Skan	(machopic_define_symbol): New function.
22069169689Skan	(machopic_function_base_sym): New function.
22070169689Skan	(machopic_non_lazy_pointers): Remove.
22071169689Skan	(machopic_non_lazy_ptr_name): Likewise.
22072169689Skan	(machopic_stubs): Likewise.
22073169689Skan	(machopic_stub_name): Likewise.
22074169689Skan	(NON_LAZY_POINTER_SUFFIX): New macro.
22075169689Skan	(STUB_SUFFIX): Likewise.
22076169689Skan	(machopic_indirection): New structure.
22077169689Skan	(machopic_indirections): New variable.
22078169689Skan	(machopic_indirection_hash): New function.
22079169689Skan	(machopic_indirection_eq): Likewise.
22080169689Skan	(machopic_indirection_name): Likewise.
22081169689Skan	(machopic_mcount_stub_name): New function.
22082169689Skan	(machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
22083169689Skan	hash table.
22084169689Skan	(machopic_indirect_data_reference): Rework to use new functions.
22085169689Skan	(machopic_indirect_call_target): Likewise.
22086169689Skan	(machopic_legitimize_pic_address): Likewise.
22087169689Skan	(machopic_output_indirection): New function.
22088169689Skan	(machopic_finish): Use it.
22089169689Skan	(machopic_operand_p): Rework to use new functions.
22090169689Skan	(darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
22091169689Skan	(darwin_strip_name_encoding): Remove.
22092169689Skan	(update_non_lazy_ptrs): Remove.
22093169689Skan	(update_stubs): Likewise.
22094169689Skan	(darwin_non_lazy_pcrel): Use new functions.
22095169689Skan	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
22096169689Skan	(ASM_OUTPUT_LABELREF): Likewise.
22097169689Skan	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
22098169689Skan	(MACHO_SYMBOL_FLAG_VARIABLE): New macro.
22099169689Skan	(MACHO_SYMBOL_FLAG_DEFINED): Likewise.
22100169689Skan	(TARGET_STRIP_NAME_ENCODING): Do not use
22101169689Skan	darwin_strip_name_encoding.
22102169689Skan	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
22103169689Skan	darwin_strip_name_encoding.
22104169689Skan	* config/i386/darwin.h (FUNCTION_PROFILER): Use
22105169689Skan	machopic_mcount_stub_name.
22106169689Skan	* config/i386/i386.c (x86_output_mi_thunk): Use
22107169689Skan	machopic_indirection_name, not machopic_stub_name.
22108169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
22109169689Skan	machopic_function_base_sym.
22110169689Skan	(print_operand): Use machopic_classify_symbol.
22111169689Skan	(rs6000_emit_prologue): Use machopic_function_base_sym.
22112169689Skan	(output_profile_hook): Do not use machopic_stub_name.
22113169689Skan	(macho_branch_isalnds): Do not use darwin_strip_name_encoding.
22114169689Skan
22115169689Skan2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
22116169689Skan
22117169689Skan	PR c/7284
22118169689Skan	* fold-const.c (extract_muldiv_1): Do not treat signed left shift
22119169689Skan	as multiplication.
22120169689Skan
22121169689Skan2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
22122169689Skan
22123169689Skan	* doc/implement-c.texi: New file.
22124169689Skan	* doc/extend.texi (C Implementation): Move to there.
22125169689Skan	* doc/gcc.texi: Include implement-c.texi.
22126169689Skan	* Makefile.in (TEXI_GCC_FILES): Add implement-c.texi.
22127169689Skan
22128169689Skan2004-07-22  Jason Merrill  <jason@redhat.com>
22129169689Skan
22130169689Skan	* integrate.c (copy_decl_for_inlining): Remove invisible reference
22131169689Skan	handling.
22132169689Skan	* tree-inline.c (setup_one_parameter): Likewise.
22133169689Skan
22134169689Skan2004-07-22  Brian Booth  <bbooth@redhat.com>
22135169689Skan
22136169689Skan	* tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
22137169689Skan	(substitute_and_fold): Propigate into VUSE operands when possible.
22138169689Skan	(visit_phi_node): Handle UNKNOWN_VAL latticevalue.
22139169689Skan	(cp_lattice_meet): Handle merging of latticevalues when
22140169689Skan	UNKNOWN_VAL is present.
22141169689Skan	(visit_stmt): Visit assignments with V_MUST_DEFs.
22142169689Skan	(visit_assignment): Gather ccp information for V_MUST_DEF operands.
22143169689Skan	(ccp_fold): Deal with RHS' that are constant and virtual.
22144169689Skan	(evaluate_stmt): Handle UNKNOWN_VAL likely values.
22145169689Skan	(dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
22146169689Skan	(initialize): Mark statements with V_MUST_DEFs as VARYING only if the
22147169689Skan	V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
22148169689Skan	computing immediate uses.
22149169689Skan	(set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
22150169689Skan	transition.
22151169689Skan	(replace_vuse_in): New function.
22152169689Skan	(likely_value): Add check of vuse operands.
22153169689Skan	(get_default_value): Set the default value of virtually defined
22154169689Skan	variables to UKNOWN_VAL instead of VARYING.
22155169689Skan
22156169689Skan2004-07-22  Richard Henderson  <rth@redhat.com>
22157169689Skan
22158169689Skan	* expr.c (emit_push_insn): Don't use set_mem_attributes.
22159169689Skan
22160169689Skan2004-07-22  Richard Henderson  <rth@redhat.com>
22161169689Skan
22162169689Skan	* tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
22163169689Skan	variables due to conditional compilation.
22164169689Skan
22165169689Skan2004-07-22  Diego Novillo  <dnovillo@redhat.com>
22166169689Skan
22167169689Skan	* tree-into-ssa.c (set_livein_block): Fix typo in comment.
22168169689Skan	(rewrite_ssa_into_ssa): Start iterating over SSA names at 1.
22169169689Skan	Release SSA names that have been re-renamed.
22170169689Skan	* tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the
22171169689Skan	variable.
22172169689Skan	* tree-ssa-alias.c (init_alias_info): If aliases have been
22173169689Skan	computed before, clear existing alias information.
22174169689Skan	(create_name_tags): Do no fixup PT_ANYTHING pointers.
22175169689Skan	If the new name tag for a pointer is different than the one it
22176169689Skan	had before, mark the old tag for renaming.
22177169689Skan	(replace_may_alias): New function.
22178169689Skan	(group_aliases): Call it.
22179169689Skan	(setup_pointers_and_addressables): Always call get_tmt_for.
22180169689Skan	(maybe_create_global_var): Don't create .GLOBAL_VAR more than
22181169689Skan	once.
22182169689Skan	(set_pt_anything): New local function.
22183169689Skan	(set_pt_malloc): New local function.
22184169689Skan	(merge_pointed_to_info): Don't merge pointed-to variables from
22185169689Skan	the original pointer if the destination is pointing to an
22186169689Skan	unknown location.
22187169689Skan	(add_pointed_to_expr): Call set_pt_anything and set_pt_malloc.
22188169689Skan	(add_pointed_to_var): Do not add a variable to the points-to
22189169689Skan	set if the pointer is already pointing to anywhere.
22190169689Skan	(collect_points_to_info_r): If the defining statement is a PHI
22191169689Skan	node, only merge pointed-to information if the argument has
22192169689Skan	already been visited.
22193169689Skan	(get_tmt_for): Only create a new tag if the pointer didn't
22194169689Skan	have one already.
22195169689Skan	(dump_alias_info): Emit more information.
22196169689Skan	(dump_points_to_info_for): Likewise.
22197169689Skan	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't
22198169689Skan	try to get the annotation of an SSA_NAME.
22199169689Skan	* tree-ssa-operands.c (add_stmt_operand): Only check for empty
22200169689Skan	alias sets when checking is enabled.
22201169689Skan	* tree-ssa-pre.c (need_eh_cleanup): New local variable.
22202169689Skan	(eliminate): Mark basic blocks that will need
22203169689Skan	EH information cleaned up.
22204169689Skan	(init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one
22205169689Skan	predecessor.
22206169689Skan	Initialize need_eh_cleanup.
22207169689Skan	(fini_pre): Call tree_purge_all_dead_eh_edges and
22208169689Skan	cleanup_tree_cfg if needed.
22209169689Skan	Free need_eh_cleanup.
22210169689Skan	* tree-ssa.c (verify_ssa_name): New function.
22211169689Skan	(verify_def): Call it.
22212169689Skan	Re-arrange to avoid printing too many error messages.
22213169689Skan	(verify_use): Likewise.
22214169689Skan	(verify_phi_args): Likewise.
22215169689Skan	(verify_flow_insensitive_alias_info): New function.
22216169689Skan	(verify_flow_sensitive_alias_info): New function.
22217169689Skan	(verify_alias_info): New function.
22218169689Skan	(verify_ssa): Call verify_alias_info.
22219169689Skan	Clear TREE_VISITED on all the SSA_NAMEs before scanning the
22220169689Skan	program.
22221169689Skan	Re-arrange to avoid printing too many error messages.
22222169689Skan	* tree-ssanames.c (make_ssa_name): Clear
22223169689Skan	SSA_NAME_IN_FREE_LIST.
22224169689Skan	(release_ssa_name): Never release a default definition.
22225169689Skan	(release_defs): New function.
22226169689Skan	* tree.h: Declare it.
22227169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Call it.
22228169689Skan
22229169689Skan2004-07-22  Diego Novillo  <dnovillo@redhat.com>
22230169689Skan
22231169689Skan	* tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS.
22232169689Skan	If true, do a depth-first search.  Do a breadht-first search,
22233169689Skan	otherwise.
22234169689Skan	(walk_use_def_chains): Add new argument IS_DFS.
22235169689Skan	Update all users.
22236169689Skan	* tree-flow.h (walk_use_def_chains): Update prototype.
22237169689Skan
22238169689Skan2004-07-22  Hans-Peter Nilsson  <hp@axis.com>
22239169689Skan
22240169689Skan	* config/cris/cris.md: Tweak formatting.
22241169689Skan	(asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi)
22242169689Skan	(mover2side, moverside, movemside, movei, op3, andu): Replace
22243169689Skan	live define_peephole:s with define_peephole2 near-equivalents.
22244169689Skan	Delete the rest.
22245169689Skan	("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
22246169689Skan	word-size modes.
22247169689Skan	("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
22248169689Skan	Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and
22249169689Skan	"*mov_sidesi_mem" respectively.
22250169689Skan
22251169689Skan2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
22252169689Skan
22253169689Skan	* tree-cfg.c (gimplify_val): Move from tree-complex.c.
22254169689Skan	(gimplify_build1): Move from tree-complex.c do_unop.
22255169689Skan	(gimplify_build2): Move from tree-complex.c do_binop.
22256169689Skan	(gimplify_build3): New.
22257169689Skan	* tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
22258169689Skan	Adjust throughout to call the functions above.
22259169689Skan	* tree-flow.h: Declare the functions above.
22260169689Skan	* tree-nested.c (gimplify_val): Rename to...
22261169689Skan	(tsi_gimplify_val): ... this.
22262169689Skan
22263169689Skan	* Makefile.in (tree_complex.o): Update dependencies.
22264169689Skan	(stor-layout.o): Depend on regs.h.
22265169689Skan	* c-common.c (handle_vector_size_attribute): Update for
22266169689Skan	vector types without corresponding vector modes.
22267169689Skan	* expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
22268169689Skan	a corresponding vector mode is not available.
22269169689Skan	* print-tree.c (print_node): Print nunits for vector types
22270169689Skan	* regclass.c (have_regs_of_mode): New.
22271169689Skan	(init_reg_sets_1): Initialize it and use it instead
22272169689Skan	of allocatable_regs_of_mode.
22273169689Skan	* regs.h (have_regs_of_mode): Declare it.
22274169689Skan	* stor-layout.c (layout_type): Pick a mode for vector types.
22275169689Skan	* tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
22276169689Skan	build_replicated_const, do_unop, do_binop, do_plus_minus,
22277169689Skan	do_negate, expand_vector_piecewise, expand_vector_parallel,
22278169689Skan	expand_vector_addition, expand_vector_operations_1,
22279169689Skan	expand_vector_operations, tree_lower_operations,
22280169689Skan	pass_lower_vector_ssa, pass_pre_expand): New.
22281169689Skan	(expand_complex_operations, pass_lower_complex): Remove.
22282169689Skan	* tree-optimize.c (init_tree_optimization_passes): Adjust
22283169689Skan	pass ordering for changes in tree-complex.c.
22284169689Skan	* tree-pass.h: Declare new passes.
22285169689Skan	* tree.c (finish_vector_type): Remove.
22286169689Skan	(make_vector_type): New.
22287169689Skan	(build_vector_type_for_mode, build_vector_type): Rewritten.
22288169689Skan	* tree.def (VECTOR_TYPE): Document where the number of
22289169689Skan	subparts is stored.
22290169689Skan	* tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
22291169689Skan	(make_vector): Remove declaration.
22292169689Skan
22293169689Skan2004-07-21  Richard Henderson  <rth@redhat.com>
22294169689Skan
22295169689Skan	* gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE,
22296169689Skan	TREE_THIS_VOLATILE, may_aliases, or optimization level.
22297169689Skan	(remove_useless_vars): Dump debugging info.
22298169689Skan	(expand_used_vars): Move ...
22299169689Skan	* cfgexpand.c (expand_used_vars): ... here.  Make static.
22300169689Skan	* tree-flow-inline.h (set_is_used): New.
22301169689Skan	(set_default_def): Use get_var_ann.
22302169689Skan	* tree-flow.h: Update decls.
22303169689Skan	* tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New.
22304169689Skan	(create_ssa_var_map): Use it.
22305169689Skan	* tree-ssa.c (set_is_used): Remove.
22306169689Skan
22307169689Skan2004-07-22  Ben Elliston  <bje@au.ibm.com>
22308169689Skan
22309169689Skan	* gdbinit.in: Set a breakpoint on internal_error.
22310169689Skan
22311169689Skan2004-07-21  Richard Henderson  <rth@redhat.com>
22312169689Skan
22313169689Skan	* cfgexpand.c (expand_gimple_tailcall): Fix case where we need
22314169689Skan	to create a new basic block.
22315169689Skan
22316169689Skan2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
22317169689Skan
22318169689Skan	PR c/15052
22319169689Skan	* c-decl.c (grokdeclarator): Only pedwarn for qualified void
22320169689Skan	return type on function definitions.  Move other warnings for
22321169689Skan	qualified return type to -Wreturn-type.  Do not condition any such
22322169689Skan	warnings on -pedantic.  Update comments.
22323169689Skan	(start_function): Only copy function type from previous prototype
22324169689Skan	declaration if return types are compatible.
22325169689Skan	* c-typeck.c (function_types_compatible_p): Don't condition
22326169689Skan	warning for incompatibility of volatile qualifiers on the return
22327169689Skan	type on -pedantic.  Update comment.
22328169689Skan	* doc/invoke.texi (-Wreturn-type, -Wextra): Update.
22329169689Skan
22330169689Skan2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
22331169689Skan
22332169689Skan	* c-typeck.c (set_init_index): Require designator to be of integer
22333169689Skan	type.
22334169689Skan
22335169689Skan2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
22336169689Skan
22337169689Skan	PR c/11250
22338169689Skan	* c-parse.in (init): Change to exprtype.
22339169689Skan	(primary): Set original_code for STRING to STRING_CST.
22340169689Skan	Call maybe_warn_string_init for compound literals.
22341169689Skan	(initdcl, notype_initdcl): Call maybe_warn_string_init.
22342169689Skan	(initval): Update.
22343169689Skan	* c-tree.h (maybe_warn_string_init): New.
22344169689Skan	(pop_init_level, process_init_element): Use struct c_expr.
22345169689Skan	(struct c_expr): Update comment.
22346169689Skan	* c-typeck.c (maybe_warn_string_init): New function.
22347169689Skan	(digest_init): Call it.  Additional parameter strict_string.  All
22348169689Skan	callers changed.
22349169689Skan	(output_init_element): Likewise.
22350169689Skan	(struct constructor_stack): Use struct c_expr for
22351169689Skan	replacement_value.
22352169689Skan	(really_start_incremental_init, push_init_level): Update.
22353169689Skan	(pop_init_level): Update.  Return struct c_expr.
22354169689Skan	(process_init_level): Update.  Take struct c_expr argument.
22355169689Skan
22356169689Skan2004-07-21  David S. Miller  <davem@nuts.davemloft.net>
22357169689Skan
22358169689Skan	* config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous
22359169689Skan	commit.
22360169689Skan
22361169689Skan2004-07-21  Eric Christopher  <echristo@redhat.com>
22362169689Skan
22363169689Skan	* builtins.c (expand_builtin_setjmp_receiver): Fix comment for code
22364169689Skan	removal.
22365169689Skan	* c-decl.c (pop_scope): Ditto.
22366169689Skan	* calls.c (expand_call): Remove call to current_nesting_level,
22367169689Skan	update comment accordingly. Remove calls to expand_start_target_temps
22368169689Skan	and expand_end_target_temps.
22369169689Skan	* cfgexpand.c (construct_init_block): Remove call to
22370169689Skan	expand_start_bindings_and_block.
22371169689Skan	(construct_exit_block): Remove call to expand_end_bindings.
22372169689Skan	* expr.c (safe_from_p): Remove BIND_EXPR handling.
22373169689Skan	(expand_expr_real_1): Ditto. Fix formatting.
22374169689Skan	(expand_vars): Delete.
22375169689Skan	* stmt.c (POPSTACK): Remove block_stack.
22376169689Skan	(stmt_status): Remove x_block_stack.
22377169689Skan	(block_stack): Delete.
22378169689Skan	(expand_start_bindings_and_block): Ditto.
22379169689Skan	(expand_start_target_temps): Ditto.
22380169689Skan	(expand_end_target_temps): Ditto.
22381169689Skan	(current_nesting_level): Ditto.
22382169689Skan	(warn_about_unused_variables): Ditto.
22383169689Skan	(expand_end_bindings): Ditto.
22384169689Skan	* tree.h: Remove declarations for above.
22385169689Skan
22386169689Skan2004-07-21  Steven Bosscher  <stevenb@suse.de>
22387169689Skan
22388169689Skan	* rtl.h (insn_note): Remove NOTE_INSN_PREDICTION.
22389169689Skan	* rtl.c (note_insn_name): Likewise.
22390169689Skan	* print-rtl.c (print_rtx): Don't print it.
22391169689Skan	* cfgrtl.h (can_delete_note_p): Don't handle it.
22392169689Skan	(rtl_delete_block): Likewise.
22393169689Skan	* passes.c (rest_of_handle_guess_branch_prob): Remove.
22394169689Skan	(rest_of_compilation): Don't call it.
22395169689Skan	* predict.c (process_note_predictions, process_note_prediction,
22396169689Skan	note_prediction_to_br_prob): Remove.
22397169689Skan	* basic-block.c (note_prediction_to_br_prob): Remove prototype.
22398169689Skan	* stmt.c (return_prediction): Remove.
22399169689Skan	(expand_value_return): Don't call it.  Don't add prediction
22400169689Skan	notes for return statements.
22401169689Skan
22402169689Skan2004-07-21  Josef Zlomek  <zlomekj@suse.cz>
22403169689Skan
22404169689Skan	* var-tracking.c (vt_find_locations): Set the in_pending bitmap at
22405169689Skan	once.
22406169689Skan
22407169689Skan2004-07-21  Paolo Bonzini  <bonzini@gnu.org>
22408169689Skan
22409169689Skan	* c-common.c (vector_types_convertible_p): Use vector types'
22410169689Skan	TYPE_SIZE and TREE_TYPE instead of their mode.
22411169689Skan	* convert.c (convert_to_integer): Likewise.
22412169689Skan	(convert_to_vector): Likewise.
22413169689Skan	* fold-const.c (fold_convert): Likewise.
22414169689Skan	* varasm.c (output_constant): Likewise.
22415169689Skan	* expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE.
22416169689Skan	Allow a VECTOR_TYPE initializer to be made of several vectors.
22417169689Skan	For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling
22418169689Skan	of cleared and need_to_clear, and use fold_convert.
22419169689Skan	* c-typeck.c (build_binary_op): Do not use RDIV_EXPR for
22420169689Skan	integer vectors.
22421169689Skan
22422169689Skan2004-07-20  Richard Henderson  <rth@redhat.com>
22423169689Skan
22424169689Skan	* cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split,
22425169689Skan	(expand_gimple_basic_block): out from here.  Renamed from expand_block.
22426169689Skan
22427169689Skan2004-07-20  David S. Miller  <davem@nuts.davemloft.net>
22428169689Skan
22429169689Skan	* config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit
22430169689Skan	enormous cost if not TARGET_HARD_MUL.
22431169689Skan
22432169689Skan2004-07-20  Andrew Pinski  <apinski@apple.com>
22433169689Skan
22434169689Skan	PR target/16557
22435169689Skan	* config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ...
22436169689Skan	(ASM_SPEC): here.
22437169689Skan
22438169689Skan2004-07-21  Paul brook  <paul@codesourcery.com>
22439169689Skan
22440169689Skan	* config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT.
22441169689Skan
22442169689Skan2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
22443169689Skan
22444169689Skan	* fold-const.c (operand_equal_p): Temporarily support NULL args.
22445169689Skan	(operand_equal_p, case ARRAY_REF): Compare args 2 and 3.
22446169689Skan	(operand_equal_p, case COMPONENT_REF): Likewise, for arg 2.
22447169689Skan
22448169689Skan2004-07-20  Zack Weinberg  <zack@codesourcery.com>
22449169689Skan
22450169689Skan	* rtl.h (plus_constant): Delete.
22451169689Skan	(plus_constant_wide): Rename to plus_constant.
22452169689Skan	(plus_constant_for_output_wide): Delete vestigial prototype.
22453169689Skan	(GEN_INT): Remove unnecessary cast.
22454169689Skan	* tree.h (build_int_2, size_int_type): Delete.
22455169689Skan	(build_int_2_wide): Rename to build_int_2.
22456169689Skan	(size_int_wide): Rename to size_int_kind.
22457169689Skan	(size_int_type_wide): Rename to size_int_type.
22458169689Skan	(size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind.
22459169689Skan	Remove unnecessary cast.
22460169689Skan	* tree.c (build_int_2_wide): Rename build_int_2; update comment.
22461169689Skan	* explow.c (plus_constant_wide): Rename plus_constant; update comment.
22462169689Skan	* fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type.
22463169689Skan	(size_int_type_wide): Rename size_int_type.
22464169689Skan	(int_const_binop): Use size_int_type.
22465169689Skan	* c-lex.c (interpret_integer): Use build_int_2.
22466169689Skan	* final.c (split_double): Remove unnecessary casts.
22467169689Skan	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2.
22468169689Skan
22469169689Skan2004-07-20  Richard Henderson  <rth@redhat.com>
22470169689Skan
22471169689Skan	* gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c.
22472169689Skan	(gimplify_compound_lval): Use is_gimple_tmp_reg.
22473169689Skan	* tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c.
22474169689Skan	(is_gimple_tmp_reg): New.
22475169689Skan	* tree-gimple.h (is_gimple_tmp_reg): Declare.
22476169689Skan
22477169689Skan2004-07-20  Richard Henderson  <rth@redhat.com>
22478169689Skan
22479169689Skan	* tree-pretty-print.c (dump_generic_node): Dump
22480169689Skan	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
22481169689Skan
22482169689Skan2004-07-20  Frank Ch. Eigler  <fche@redhat.com>
22483169689Skan
22484169689Skan	* tree-mudflap.c (mf_set_options_fndecl): New tree.
22485169689Skan	(mudflap_init): Set it.
22486169689Skan	(mudflap_register_call): Remove __mf_init call.
22487169689Skan	(mudflap_finish_file): Emit call to __mf_init here.  Emit a call to
22488169689Skan	to pass "-ignore-reads" option to libmudflap if needed.
22489169689Skan
22490169689Skan2004-07-20  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
22491169689Skan
22492169689Skan	PR c++/14607
22493169689Skan	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define.
22494169689Skan	(MAKE_DECL_ONE_ONLY): Undefine.
22495169689Skan	* pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section,
22496169689Skan	readonly_data, one_only_data_section, forget_section): New prototypes.
22497169689Skan	* pa.c (pa_init_machine_status, som_text_section_asm_op): New
22498169689Skan	functions.
22499169689Skan	(pa_select_section): Add one-only (COMDAT) support.
22500169689Skan	* pa.h (struct machine_function): Define.
22501169689Skan	* som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
22502169689Skan	(TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
22503169689Skan	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
22504169689Skan	ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
22505169689Skan	ONE_ONLY_DATA_SECTION_ASM_OP): New defines.
22506169689Skan	(EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data.
22507169689Skan	(EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros.
22508169689Skan	(READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
22509169689Skan	ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines
22510169689Skan	for EXTRA_SECTION_FUNCTIONS.
22511169689Skan	* doc/install.texi: Update binutils requirements.
22512169689Skan
22513169689Skan2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
22514169689Skan
22515169689Skan	* vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate,
22516169689Skan	VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert,
22517169689Skan	VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not
22518169689Skan	size_t.
22519169689Skan	(struct VEC): Use unsigned for num and alloc.
22520169689Skan	* vec.c (struct vec_prefix): Likewise.
22521169689Skan	(vec_o_reserve): Adjust.
22522169689Skan
22523169689Skan	* dbxout.c (dbxout_type): Fix printf format.
22524169689Skan
22525169689Skan	* tree.h (binfo_member): Remove.
22526169689Skan	* tree.c (binfo_member): Remove.
22527169689Skan
22528169689Skan2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
22529169689Skan
22530169689Skan	* tree.h: Include vec.h
22531169689Skan	(DEF_VEC_P(tree)): New type.
22532169689Skan	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust.
22533169689Skan	(BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New.
22534169689Skan	(BINFO_LANG_SLOT): Remove.
22535169689Skan	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New.
22536169689Skan	(struct tree_binfo): Turn base_binfos into a trailing
22537169689Skan	VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields.
22538169689Skan	(binfo_lang_slots): Remove.
22539169689Skan	* tree.c (binfo_lang_slots): Remove.
22540169689Skan	(make_tree_binfo_stat): Take a base binfo count, not a
22541169689Skan	lang slot count.  Adjust.
22542169689Skan	* Makefile.in (TREE_H): Add vec.h
22543169689Skan	* alias.c (record_component_aliases): Adjust BINFO access.
22544169689Skan	* dbxout.c (dbxout_type): Likewise.
22545169689Skan	* dwarf2out.c (gen_member_die): Likewise.
22546169689Skan	* sdbout.c (sdbout_one_type): Likewise.
22547169689Skan	* tree-dump.c (deque_and_dump): Likewise.
22548169689Skan	* config/i386/i386.c (classify_argument,
22549169689Skan	contains_128bit_aligned_vector_p): Likewise.
22550169689Skan	* config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise.
22551169689Skan	* doc/c-tree.texi (Classes): Update BINFO documentation.
22552169689Skan
22553169689Skan2004-07-20  Steven Bosscher  <stevenb@suse.de>
22554169689Skan
22555169689Skan	* c-common.h (check_case_value): Remove prototype.
22556169689Skan	(c_add_case_label): Adjust prototype.
22557169689Skan	* c-common.c (check_case_value): Make static.
22558169689Skan	(check_case_bounds): New function.
22559169689Skan	(c_add_case_label): Use it.  Take new argument orig_type.
22560169689Skan	* c-typeck.c (struct c_switch): New orig_type field.
22561169689Skan	(c_start_case): Set it.
22562169689Skan	(do_case): Pass it to c_add_case_label.
22563169689Skan	* expr.c (expand_expr_real_1): Don't warn for out-of-bounds
22564169689Skan	cases from here.  Add the labels in reverse order.
22565169689Skan	* stmt.c (struct case_node): Adjust comment.  Remove balance field.
22566169689Skan	(add_case_node): Return nothing, don't check for duplicate cases.
22567169689Skan	Insert new case nodes in a list, not in an AVL tree.
22568169689Skan	(expand_end_case_type): Don't turn a case tree into a case list.
22569169689Skan	(case_tree2list): Remove.
22570169689Skan	* tree.h (add_case_node): Adjust prototype.
22571169689Skan
22572169689Skan2004-07-19  Paolo Bonzini  <bonzini@gnu.org>
22573169689Skan
22574169689Skan	* genattr.c (struct range, struct function_unit,
22575169689Skan	write_units, extend_range, init_range): Remove them.
22576169689Skan	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
22577169689Skan	Output "#define INSN_SCHEDULING" here.
22578169689Skan	* genattrtab.c (struct range, struct function_unit_op,
22579169689Skan	struct function_unit, struct dimension, enum operator,
22580169689Skan	operate_exp, expand_units, simplify_knowing,
22581169689Skan	encode_units_mask, simplify_by_exploding,
22582169689Skan	find_and_mark_used_attributes, unmark_used_attributes,
22583169689Skan	add_values_to_cover, increment_current_value,
22584169689Skan	test_for_current_value, simplify_with_current_value,
22585169689Skan	simplify_with_current_value_aux, gen_unit,
22586169689Skan	write_unit_name, write_function_unit_info,
22587169689Skan	write_complex_function, write_toplevel_expr,
22588169689Skan	find_single_value, extend_range): Remove.
22589169689Skan	(write_attr_get): Do not handle common_av->value
22590169689Skan	being an FFS.
22591169689Skan	(struct attr_desc): Remove func_units_p and blockage_p.
22592169689Skan	(write_attr_valueq): Do not handle them.
22593169689Skan	(find_attr): Do not clear them.
22594169689Skan	(make_internal_attr): Do not initialize them.
22595169689Skan	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
22596169689Skan	* sched-vis.c (init_target_units, insn_print_units,
22597169689Skan	init_block_visualization, print_block_visualization,
22598169689Skan	visualize_scheduled_insns, visualize_no_unit,
22599169689Skan	visualize_stall_cycles, visualize_alloc,
22600169689Skan	visualize_free, target_units, get_visual_tbl_length,
22601169689Skan	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
22602169689Skan	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
22603169689Skan	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
22604169689Skan	* haifa-sched.c (blockage_range, clear_units,
22605169689Skan	schedule_unit, actual_hazard, potential_hazard,
22606169689Skan	insn_unit, unit_last_insn, unit_tick,
22607169689Skan	actual_hazard_this_instance, potential_hazard,
22608169689Skan	schedule_unit, max_insn_queue_index_value): Remove.
22609169689Skan	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
22610169689Skan	max_insn_queue_index.
22611169689Skan	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
22612169689Skan	* doc/md.texi (Processor pipeline description): Remove
22613169689Skan	references to old pipeline descriptions.
22614169689Skan	(Automaton pipeline description): Merge with the above.
22615169689Skan	(Old pipeline description, Comparison of the two descriptions):
22616169689Skan	Remove.
22617169689Skan
22618169689Skan	* bt-load.c (migrate_btr_def): Remove references to
22619169689Skan	use_pipeline_interface.
22620169689Skan	* haifa-sched.c (insn_cost, schedule_insn,
22621169689Skan	schedule_block, advance_one_cycle, sched_init,
22622169689Skan	queue_to_ready, sched_finish): Likewise.
22623169689Skan	* modulo-sched.c (sms_schedule, advance_one_cycle,
22624169689Skan	ps_has_conflicts): Likewise.
22625169689Skan	* sched-rgn.c (init_ready): Likewise.
22626169689Skan	(debug_dependencies): Likewise, and remove an "if (1)".
22627169689Skan	* target.h (use_dfa_pipeline_interface): Remove.
22628169689Skan	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22629169689Skan	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22630169689Skan	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22631169689Skan	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22632169689Skan	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22633169689Skan	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22634169689Skan	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22635169689Skan	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22636169689Skan	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22637169689Skan	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22638169689Skan	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22639169689Skan	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22640169689Skan	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22641169689Skan	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22642169689Skan	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22643169689Skan	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22644169689Skan	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22645169689Skan	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22646169689Skan	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
22647169689Skan
22648169689Skan2004-07-19  Roger Sayle  <roger@eyesopen.com>
22649169689Skan
22650169689Skan	* rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call.
22651169689Skan
22652169689Skan2004-07-19  Jeff Law  <law@redhat.com>
22653169689Skan
22654169689Skan	* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New.
22655169689Skan	(get_eq_expr_value): Use it.  Simplify slightly.
22656169689Skan
22657169689Skan2004-07-19  Maciej W. Rozycki  <macro@linux-mips.org>
22658169689Skan
22659169689Skan	* config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
22660169689Skan	(umulsidi3_32bit_r4000): Likewise.
22661169689Skan
22662169689Skan2004-07-19  Nathan Sidwell  <nathan@codesourcery.com>
22663169689Skan
22664169689Skan	* vec.h: Propagate location information properly.
22665169689Skan	(VEC_T_iterate): Add result pointer parameter.
22666169689Skan	(VEC_T_space): New.
22667169689Skan	(VEC_T_reserve): Use it.
22668169689Skan
22669169689Skan2004-07-19  Daniel Jacobowitz  <dan@debian.org>
22670169689Skan
22671169689Skan	* Makefile.in (c-format.o): Depend on c-format.h.
22672169689Skan	* c-format.h: New file.
22673169689Skan	(struct format_char_info): Add CHAIN member.
22674169689Skan	* c-format.c: Move some types and constants to c-format.h.
22675169689Skan	(format_type_error): Set to -1.
22676169689Skan	(struct function_format_info): Use an int for format_type.
22677169689Skan	(decode_format_type): Return an int.  Return format_type_error
22678169689Skan	on error.
22679169689Skan	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
22680169689Skan	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
22681169689Skan	(scan_char_table, time_char_table, monetary_char_table): Initialize
22682169689Skan	CHAIN to NULL.
22683169689Skan	(n_format_types): New variable.
22684169689Skan	(check_format_info_main): Handle CHAIN in format_char_info.
22685169689Skan	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
22686169689Skan	TARGET_N_FORMAT_TYPES.
22687169689Skan	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
22688169689Skan	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
22689169689Skan	* config/sol2-c.c: New file.
22690169689Skan	* config/t-sol2: New file.
22691169689Skan	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
22692169689Skan	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
22693169689Skan	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.
22694169689Skan
22695169689Skan	* doc/extend.texi (Target Format Checks): New section.
22696169689Skan	(Function Attributes): Mention it.
22697169689Skan	* doc/invoke.texi: Mention target format checks.
22698169689Skan	* doc/sourcebuild.texi: Mention target format checks.
22699169689Skan	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
22700169689Skan	TARGET_FORMAT_TYPES.
22701169689Skan
22702169689Skan2004-07-19  Andreas Krebbel  <krebbel1@de.ibm.com>
22703169689Skan
22704169689Skan	* config/s390/s390-protos.h (s390_return_address_offset): Prototype
22705169689Skan	added.
22706169689Skan	* config/s390/s390.c (regclass_map initializer): Register 35 added to
22707169689Skan	ADDR_REGS.
22708169689Skan	(load_multiple_operation, store_multiple_operation): Removed
22709169689Skan	pointless sanity check.
22710169689Skan	(s390_decompose_address): Added check for return_address_pointer_rtx.
22711169689Skan	(s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0.
22712169689Skan	(s390_return_address_offset): New function.
22713169689Skan	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36.
22714169689Skan	(FRAME_REGNO_P): Added check for register 35.
22715169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
22716169689Skan	REG_ALLOC_ORDER): Appended entry for register 35.
22717169689Skan	(REG_CLASS_CONTENTS): Adjusted class masks for register 35.
22718169689Skan	(EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx.
22719169689Skan	(RETURN_ADDRESS_POINTER_REGNUM): New macro.
22720169689Skan	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer
22721169689Skan	is eliminable using stack pointer or hard frame pointer.
22722169689Skan	(REGISTER_NAMES): Added name for register 35.
22723169689Skan	* config/s390/s390.md ("load_multiple", "store_multiple"): Removed
22724169689Skan	pointless sanity check.
22725169689Skan
22726169689Skan2004-07-19  Roger Sayle  <roger@eyesopen.com>
22727169689Skan
22728169689Skan	* fold-const.c (tree_expr_nonzero_p): Add function prototype.
22729169689Skan	(fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from
22730169689Skan	fold_relational_const to here, i.e. "(x | 5) == 0" -> false.
22731169689Skan	(fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons
22732169689Skan	of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT.
22733169689Skan	(fold_relational_const): Tidy up handling of floating point
22734169689Skan	comparisons by calling real_compare.  Remove tree_expr_nonzero_p
22735169689Skan	transformation; fold_relational_const assumes constant operands.
22736169689Skan
22737169689Skan2004-07-19  Gabriel Dos Reis  <gdr@integrable-solution.net>
22738169689Skan
22739169689Skan	* doc/sourcebuild.texi: Add libcpp, now that CPP has its own
22740169689Skan	directory.
22741169689Skan
22742169689Skan2004-07-19  Joseph S. Myers  <jsm@polyomino.org.uk>
22743169689Skan
22744169689Skan	* c-tree.h (struct c_expr): Define.
22745169689Skan	(C_SET_EXP_ORIGINAL_CODE): Remove.
22746169689Skan	(parser_build_binary_op, build_compound_expr): Update prototypes.
22747169689Skan	* c-parse.in (%union): Add exprtype.
22748169689Skan	(FUNC_NAME): Mark as ttype.
22749169689Skan	(expr, expr_no_commas, cast_expr, unary_expr, primary): Change to
22750169689Skan	exprtype.
22751169689Skan	(expr): Update.  Define directly in terms of expr_no_commas
22752169689Skan	instead of using nonnull_exprlist.
22753169689Skan	(nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary,
22754169689Skan	offsetof_member_designator, typespec_nonreserved_nonattr, init,
22755169689Skan	initval, designator, component_declarator,
22756169689Skan	component_notype_declarator, enumerator, array_declarator,
22757169689Skan	condition, exexpr, switch_statement, stmt_nocomp, stmt,
22758169689Skan	nonnull_asm_operands, ivar_declarator, receiver): Update.  Don't
22759169689Skan	set C_EXP_ORIGINAL_CODE.  Use TREE_NO_WARNING for assignments
22760169689Skan	where appropriate.
22761169689Skan	* c-common.h (C_EXP_ORIGINAL_CODE): Remove.
22762169689Skan	* c-common.c (c_common_truthvalue_conversion): Don't check
22763169689Skan	C_EXP_ORIGINAL_CODE.
22764169689Skan	* c-typeck.c (parser_build_binary_op): Use c_expr structures.
22765169689Skan	Don't use C_EXP_ORIGINAL_CODE.
22766169689Skan	(default_conversion, default_function_array_conversion): Don't use
22767169689Skan	C_EXP_ORIGINAL_CODE.  Preserve TREE_NO_WARNING.
22768169689Skan	(internal_build_compound_expr): Merge into build_compound_expr.
22769169689Skan	(build_compound_expr): Take two operands instead of a TREE_LIST.
22770169689Skan	* objc/objc-act.c (get_super_receiver): Update calls to
22771169689Skan	build_compound_expr.
22772169689Skan
22773169689Skan2004-07-18  Paolo Bonzini  <bonzini@gnu.org>
22774169689Skan
22775169689Skan	* config/sh/sh.c (sh_use_dfa_interface): Remove.
22776169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to
22777169689Skan	hook_int_void_1.
22778169689Skan	* config/sh/sh.md: Extract pipeline descriptions
22779169689Skan	into separate files.
22780169689Skan	* config/sh/sh1.md: New file, extracted from sh.md.
22781169689Skan	* config/sh/sh4.md: New file, extracted from sh.md.
22782169689Skan	* config/sh/shmedia.md: New file, extracted from sh.md
22783169689Skan	and rewritten using new-style pipeline description.
22784169689Skan
22785169689Skan2004-07-18  Zack Weinberg  <zack@codesourcery.com>
22786169689Skan
22787169689Skan	* config/pa/pa.md: Delete the two remaining define_peephole
22788169689Skan	patterns.
22789169689Skan
22790169689Skan2004-07-18  Steven Bosscher  <stevenb@suse.de>
22791169689Skan	    Joseph S. Myers  <jsm@polyomino.org.uk>
22792169689Skan
22793169689Skan	* c-common.c (c_common_truthvalue_conversion): Don't warn if
22794169689Skan	TREE_NO_WARNING is set.
22795169689Skan
22796169689Skan2004-07-18  Roger Sayle  <roger@eyesopen.com>
22797169689Skan
22798169689Skan	* builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp,
22799169689Skan	simplify_builtin_strncmp): Delete.
22800169689Skan	(fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
22801169689Skan	Change argument to accept an arglist instead of an "exp".  Assume
22802169689Skan	that the return type is always integer_type_node.  Copy missing
22803169689Skan	transformations from their now obsolete simplify_builtin_*
22804169689Skan	equivalents.
22805169689Skan	(fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp,
22806169689Skan	fold_builtin_strcmp and fold_builtin_strncmp.
22807169689Skan	(simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp
22808169689Skan	and fold_builtin_strncmp instead of simplify_builtin_memcmp,
22809169689Skan	simplify_builtin_strcmp and simplify_builtin_strncmp respectively.
22810169689Skan
22811169689Skan2004-07-18  Daniel Jacobowitz  <dan@debian.org>
22812169689Skan
22813169689Skan	* Makefile.in (tree-alias-common.o): Update dependencies.
22814169689Skan
22815169689Skan2004-07-17  Sebastian Pop  <pop@cri.ensmp.fr>
22816169689Skan
22817169689Skan	* cfgloop.c (flow_loop_nested_p): Fix comment.
22818169689Skan
22819169689Skan2004-07-17  Jason Merrill  <jason@redhat.com>
22820169689Skan
22821169689Skan	PR c++/16115
22822169689Skan	* stor-layout.c (relayout_decl): New fn.
22823169689Skan	* tree.h: Declare it.
22824169689Skan	(DECL_BY_REFERENCE): New macro.
22825169689Skan
22826169689Skan2004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
22827169689Skan
22828169689Skan	* libgcc2.c (__enable_execute_stack): New symbol.
22829169689Skan	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
22830169689Skan	and declare __enable_execute_stack.
22831169689Skan	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
22832169689Skan	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
22833169689Skan	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
22834169689Skan	ENABLE_EXECUTE_STACK.
22835169689Skan	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
22836169689Skan	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
22837169689Skan	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
22838169689Skan	ENABLE_EXECUTE_STACK.
22839169689Skan	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
22840169689Skan	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
22841169689Skan	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
22842169689Skan	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
22843169689Skan	ENABLE_EXECUTE_STACK.
22844169689Skan	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
22845169689Skan	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
22846169689Skan	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
22847169689Skan	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
22848169689Skan	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
22849169689Skan	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
22850169689Skan	(sparc64_initialize_trampoline): Likewise.
22851169689Skan	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
22852169689Skan
22853169689Skan2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
22854169689Skan
22855169689Skan	* langhooks.h (builtin_function): New langhook.
22856169689Skan	* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New.
22857169689Skan	(LANG_HOOKS_INITIALIZER): Update.
22858169689Skan	* tree.h (builtin_function): Remove.
22859169689Skan	* doc/tm.texi: Update.
22860169689Skan	* c-tree.h (builtin_function): Declare.
22861169689Skan	* c-common.c, config/alpha/alpha.c, config/arm/arm.c,
22862169689Skan	config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c,
22863169689Skan	config/ia64/ia64.c, config/iq2000/iq2000.c,
22864169689Skan	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
22865169689Skan	config/stormy16/stormy16.c: All callers of builtin_function
22866169689Skan	changed.
22867169689Skan
22868169689Skan2004-07-17  Andrew Pinski  <pinskia@physics.uc.edu>
22869169689Skan
22870169689Skan	PR target/16556
22871169689Skan	* config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
22872169689Skan	Remove white space after the backslash.
22873169689Skan
22874169689Skan2004-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
22875169689Skan
22876169689Skan	PR rtl-optimization/16294
22877169689Skan	* resource.c (return_insn_p): New predicate.
22878169689Skan	(mark_target_live_regs): Use it.  Special-case return insns.
22879169689Skan	(init_resource_info): Use it.  Don't scan the epilogue past
22880169689Skan	a return.
22881169689Skan
22882169689Skan2004-07-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
22883169689Skan
22884169689Skan	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not
22885169689Skan	destroy dominance information.
22886169689Skan	* passes.c (rest_of_handle_loop2): Free dominance information.
22887169689Skan	* tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before
22888169689Skan	jump threading.
22889169689Skan	(thread_jumps): Update dominance information and remove unreachable
22890169689Skan	blocks.
22891169689Skan	* tree-ssa-phiopt.c (replace_phi_with_stmt): Update dominance
22892169689Skan	information and remove the unreachable block.
22893169689Skan
22894169689Skan2004-07-17  Graham Stott  <graham.stott@btinternet.com>
22895169689Skan
22896169689Skan	* emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn.
22897169689Skan
22898169689Skan2004-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
22899169689Skan
22900169689Skan	* doc/sourcebuild.texi: Remove libf2c entry.
22901169689Skan
22902169689Skan2004-07-17  Paolo Bonzini  <bonzini@gnu.org>
22903169689Skan
22904169689Skan	* config/i386/i386.md (movv16qi_internal): Fix typo.
22905169689Skan
22906169689Skan2004-07-17  Steven Bosscher  <stevenb@suse.de>
22907169689Skan
22908169689Skan	* final.c (final_scan_insn): Fix broken commit from previous
22909169689Skan	patch.
22910169689Skan
22911169689Skan2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
22912169689Skan
22913169689Skan	* c-typeck.c (parser_build_binary_op): Condition warnings for
22914169689Skan	X<=Y<=Z on -Wparentheses instead of -Wextra.
22915169689Skan	* doc/invoke.texi: Update.  Document that most of -Wparentheses is
22916169689Skan	supported for C only.
22917169689Skan
22918169689Skan2004-07-17  Steven Bosscher  <stevenb@suse.de>
22919169689Skan
22920169689Skan	* cfgcleanup.c (try_simplify_condjump): Don't remove line
22921169689Skan	notes to avoid unreachable code warnings.
22922169689Skan	* toplev.c (backend_init): Don't emit line notes for
22923169689Skan	unreachable code warnings.
22924169689Skan
22925169689Skan	* combine.c (distribute_notes): Don't distribute a
22926169689Skan	REG_VTABLE_REF note.
22927169689Skan	* final.c (final_scan_insn): Don't handle it.
22928169689Skan	* rtl.c (reg_note_name): Remove it.
22929169689Skan	* rtl.h (enum reg_node): Dito.
22930169689Skan
22931169689Skan	* emit-rtl.c (force_line_numbers, restore_line_number_status):
22932169689Skan	Remove.
22933169689Skan	* rtl.h (force_line_numbers, restore_line_number_status):
22934169689Skan	Remove prototypes.
22935169689Skan
22936169689Skan	* stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
22937169689Skan	* tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
22938169689Skan	(using_eh_for_cleanups): Also moved here.
22939169689Skan
22940169689Skan	* expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
22941169689Skan	<SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
22942169689Skan	to expand_start_case and add_case_node.
22943169689Skan	* stmt.c (struct nesting): Cleanup unused fields condition_code,
22944169689Skan	last_unconditional_cleanup, nominal_type, printname, and
22945169689Skan	line_number_status.
22946169689Skan	(struct fixup_goto): Remove.
22947169689Skan	(struct stmt_status): Remove x_goto_fixup_chain field.
22948169689Skan	(goto_fixup_chain): Remove.
22949169689Skan	(strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
22950169689Skan	pushcase, pushcase_range): Remove.
22951169689Skan	(expand_start_bindings_and_block): Don't set unused fields in
22952169689Skan	the nesting stack.
22953169689Skan	(expand_start_case, add_case_node): Cleanup unused formal arguments.
22954169689Skan	(expand_end_case_type): Don't simplify the case-list.  Use emit_jump
22955169689Skan	instead of emit_jump_if_reachable.
22956169689Skan	(emit_case_nodes): Likewise.
22957169689Skan	* tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
22958169689Skan	static.
22959169689Skan	(update_eh_label): Work around left-over exception handing regions.
22960169689Skan	* tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
22961169689Skan	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
22962169689Skan	(pass_cleanup_cfg_post_optimizing): New pass.
22963169689Skan	(init_tree_optimization_passes): Run the new pass after all
22964169689Skan	optimizations.
22965169689Skan	* tree.h (pushcase, pushcase_range): Remove prototypes.
22966169689Skan	(expand_start_case, add_case_node): Update prototypes.
22967169689Skan
22968169689Skan2004-07-16  Krister Walfridsson  <cato@df.lth.se>
22969169689Skan
22970169689Skan	* tree-inline.c (estimate_num_insns_1): Correct increase of count.
22971169689Skan
22972169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
22973169689Skan
22974169689Skan	* builtins.c (std_expand_builtin_va_arg): Remove.
22975169689Skan	(expand_builtin_va_arg): Remove.
22976169689Skan	* expr.h: Don't declare them.
22977169689Skan	* gimplify.c (mark_decls_volatile_r): Remove.
22978169689Skan	(copy_if_shared_r): Don't call it.
22979169689Skan	* target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
22980169689Skan	* expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
22981169689Skan	* gimple-low.c (lower_stmt): Likewise.
22982169689Skan	* tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
22983169689Skan	* tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
22984169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
22985169689Skan	* doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
22986169689Skan	EXPAND_BUILTIN_VA_ARG.
22987169689Skan	* system.h (EXPAND_BUILTIN_VA_ARG): Poison.
22988169689Skan	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
22989169689Skan	config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
22990169689Skan	config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.
22991169689Skan
22992169689Skan2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
22993169689Skan
22994169689Skan	* tree-ssa-pre.c (insert_aux): Break out if we hit
22995169689Skan	a critical edge.
22996169689Skan
22997169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
22998169689Skan
22999169689Skan	* basic-block.h (remove_fake_exit_edges): Declare.
23000169689Skan	* cfganal.c (remove_fake_predecessors): Rename from
23001169689Skan	remove_fake_successors; iterate over predecessors.
23002169689Skan	(remove_fake_exit_edges): New.
23003169689Skan	* cfgcleanup.c (try_optimize_cfg): Use it.
23004169689Skan	* gcse.c (one_pre_gcse_pass, store_motion): Likewise.
23005169689Skan	* predict.c (estimate_probability): Likewise.
23006169689Skan	(tree_estimate_probability, note_prediction_to_br_prob): Likewise.
23007169689Skan	* tree-cfg.c (make_edges): Likewise.
23008169689Skan	* tree-ssa-pre.c (fini_pre): Likewise.
23009169689Skan	* profile.c (instrument_edges): Don't remove_fake_edges.
23010169689Skan	(branch_prob): Do it earlier here.
23011169689Skan
23012169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
23013169689Skan
23014169689Skan	* tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
23015169689Skan	switchification wrt CONSTRUCTOR.  Document the reason.
23016169689Skan
23017169689Skan2004-07-16  Frank Ch. Eigler  <fche@redhat.com>
23018169689Skan
23019169689Skan	* tree-mudflap.c (mf_file_function_line_tree): Correct typo
23020169689Skan	that prevented descriptive __mf_check source location strings.
23021169689Skan
23022169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
23023169689Skan
23024169689Skan	* tree-def (WITH_SIZE_EXPR): New.
23025169689Skan	* explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
23026169689Skan	* expr.c (expand_expr_real_1): Likewise.
23027169689Skan	* gimplify.c (maybe_with_size_expr): New.
23028169689Skan	(gimplify_arg, gimplify_modify_expr): Use it.
23029169689Skan	(gimplify_modify_expr_to_memcpy): Take size parameter.
23030169689Skan	(gimplify_modify_expr_to_memset): Likewise.
23031169689Skan	(gimplify_expr): Handle WITH_SIZE_EXPR.
23032169689Skan	* tree-alias-common.c (find_func_aliases): Likewise.
23033169689Skan	* tree-eh.c (tree_could_trap_p): Likewise.
23034169689Skan	(tree_could_throw_p): Likewise.
23035169689Skan	* tree-gimple.c (is_gimple_lvalue): Likewise.
23036169689Skan	(get_call_expr_in): Likewise.
23037169689Skan	* tree-inline.c (estimate_num_insns_1): Likewise.
23038169689Skan	(expand_calls_inline): Likewise.
23039169689Skan	* tree-nested.c (convert_call_expr): Likewise.
23040169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
23041169689Skan	* tree-sra.c (sra_walk_expr): Likewise.
23042169689Skan	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
23043169689Skan	* tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
23044169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
23045169689Skan	* tree-tailcall.c (find_tail_calls): Likewise.
23046169689Skan
23047169689Skan	* calls.c (expand_call): Reset old_stack_allocated after
23048169689Skan	calling emit_stack_restore.
23049169689Skan
23050169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
23051169689Skan
23052169689Skan	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
23053169689Skan	lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
23054169689Skan	* langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
23055169689Skan	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
23056169689Skan	copy_res_decl_for_inlining.
23057169689Skan
23058169689Skan	* tree-inline.c (declare_return_variable): New modify_dest argument.
23059169689Skan	Use it as the return value, when possible or manditory.  Handle
23060169689Skan	TREE_ADDRESSABLE types.
23061169689Skan	(expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
23062169689Skan	replacement of CALL_EXPR.
23063169689Skan
23064169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
23065169689Skan
23066169689Skan	* tree-flow.h (struct var_ann_d): Remove has_hidden_use.
23067169689Skan	* gimple-low.c (expand_var_p): Don't check it.
23068169689Skan	* tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
23069169689Skan	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
23070169689Skan	* tree-ssa-operands.c (add_stmt_operand): Likewise.
23071169689Skan	* tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
23072169689Skan	(find_referenced_vars): Don't call them.
23073169689Skan	* tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.
23074169689Skan
23075169689Skan2004-07-16  Richard Henderson  <rth@redhat.com>
23076169689Skan
23077169689Skan	* function.c (pass_by_reference): True for all variable sized types.
23078169689Skan
23079169689Skan2004-07-16  Sebastian Pop  <pop@cri.ensmp.fr>
23080169689Skan
23081169689Skan	* Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
23082169689Skan	* tree-pretty-print.c: Include tree-chrec.h.
23083169689Skan	(dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN
23084169689Skan	and POLYNOMIAL_CHREC nodes.
23085169689Skan
23086169689Skan2004-07-16  Steve Ellcey  <sje@cup.hp.com>
23087169689Skan
23088169689Skan	* builtins.c (expand_builtin_stpcpy): Do not create temporary
23089169689Skan	reg with VOIDmode.
23090169689Skan
23091169689Skan2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
23092169689Skan
23093169689Skan	* config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
23094169689Skan
23095169689Skan2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>
23096169689Skan
23097169689Skan	* config/s390/s390.md: Changed every occurence of BASE_REGISTER
23098169689Skan	to BASE_REGNUM.
23099169689Skan	* config/s390/s390.c: Likewise.
23100169689Skan	* config/s390/s390.h: Likewise.
23101169689Skan
23102169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23103169689Skan
23104169689Skan	* config/mips/mips.md (addsi3, adddi3): Remove special handling
23105169689Skan	of $sp adds.  Remove REGNO checks from mips16 patterns.
23106169689Skan
23107169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23108169689Skan
23109169689Skan	* config/mips/mips.md: Delete outdated comment.
23110169689Skan
23111169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23112169689Skan
23113169689Skan	* config/mips/mips.c (get_float_compare_codes): Delete.
23114169689Skan	(mips_emit_compare): New function, mostly extracted from
23115169689Skan	get_float_compare_codes and gen_conditional_branch.
23116169689Skan	(gen_conditional_branch, gen_conditional_move): Use it.
23117169689Skan
23118169689Skan2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
23119169689Skan
23120169689Skan	* genautomata.c (add_vect): Speedup by using integers as
23121169689Skan	bit-vectors for walking through the comb_vect and finding
23122169689Skan	a match.
23123169689Skan
23124169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23125169689Skan
23126169689Skan	* config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
23127169689Skan	operand is an uns_arith_operand; use subtraction otherwise.
23128169689Skan	* config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
23129169689Skan	not just arith_operands.
23130169689Skan
23131169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23132169689Skan
23133169689Skan	* config/mips/mips-protos.h (gen_int_relational): Delete.
23134169689Skan	(mips_emit_scc): Declare.
23135169689Skan	* config/mips/mips.c (internal_test): Delete.
23136169689Skan	(sle_operand, sleu_operand): New functions.
23137169689Skan	(map_test_to_internal_test, gen_int_relational): Delete.
23138169689Skan	(mips_emit_binary, mips_relational_operand_ok_p)
23139169689Skan	(mips_emit_int_relational, mips_zero_if_equal)
23140169689Skan	(mips_emit_scc): New functions.
23141169689Skan	(gen_conditional_branch): Rework to use mips_emit_int_relational.
23142169689Skan	* config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
23143169689Skan	sleu_operand.
23144169689Skan	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
23145169689Skan	(sltu, sleu): Use mips_emit_scc.
23146169689Skan	(*sge_[sd]i, *sgeu_[sd]i): New patterns.
23147169689Skan	(*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
23148169689Skan	(*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.
23149169689Skan
23150169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23151169689Skan
23152169689Skan	* config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
23153169689Skan
23154169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23155169689Skan
23156169689Skan	* config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
23157169689Skan	(*sne_[sd]i): Likewise sne_[sd]i_zero.
23158169689Skan	(*sgt_[sd]i): ...and sgt_[sd]i.
23159169689Skan	(*slt_[sd]i): ...and slt_[sd]i.
23160169689Skan	(*sgtu_[sd]i): ...and sgtu_[sd]i.
23161169689Skan	(*sltu_[sd]i): ...and sltu_[sd]i.
23162169689Skan	(*sleu_[sd]i): ...and sleu_[sd]i_const.
23163169689Skan	Name previously unnamed mips16 patterns.  Formatting fixes.
23164169689Skan
23165169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23166169689Skan
23167169689Skan	* config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
23168169689Skan	(branch_type): Delete.
23169169689Skan	(gen_conditional_branch, gen_conditional_move)
23170169689Skan	(mips_gen_conditional_trap): Update after name change.  Get the
23171169689Skan	comparison mode from cmp_operands[0].
23172169689Skan	* config/mips/mips.h (cmp_type, branch_type): Delete.
23173169689Skan	(cmp_operands): Renamed from branch_cmp.
23174169689Skan	* config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
23175169689Skan	name change.  Don't set branch_type.
23176169689Skan	(seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
23177169689Skan	mode class of cmp_operands[0] rather than branch_type.  Update after
23178169689Skan	name change.
23179169689Skan
23180169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23181169689Skan
23182169689Skan	* config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
23183169689Skan	of 0...255 to 0 when inside a SET.
23184169689Skan
23185169689Skan2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
23186169689Skan
23187169689Skan	* config/mips/mips.md: Remove mips16 define_peepholes.
23188169689Skan
23189169689Skan2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
23190169689Skan
23191169689Skan	* tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
23192169689Skan	(fini_pre): Remove fake edges.
23193169689Skan
23194169689Skan2004-07-15  Richard Henderson  <rth@redhat.com>
23195169689Skan
23196169689Skan	* tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
23197169689Skan	(get_indirect_ref_operands, get_call_expr_operands): ... these.
23198169689Skan
23199169689Skan2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
23200169689Skan
23201169689Skan	* vec.h (VEC_address): New function.
23202169689Skan
23203169689Skan2004-07-14  Jason Merrill  <jason@redhat.com>
23204169689Skan
23205169689Skan	PR middle-end/15885
23206169689Skan	* gimplify.c (gimplify_arg): New fn, split out from...
23207169689Skan	(gimplify_call_expr): Here.  Special-case BUILT_IN_VA_START.
23208169689Skan
23209169689Skan2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
23210169689Skan
23211169689Skan	* config/m68k/m68k.c (output_move_qimode): Abort on an attempt to
23212169689Skan	generate code which is generated by pushqi1 now
23213169689Skan	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove.
23214169689Skan
23215169689Skan2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
23216169689Skan
23217169689Skan	* combine.c (simplify_set): match the mode of the constant 0 with
23218169689Skan	the tested operand to match the compare behaviour and the
23219169689Skan	simplify_relational_operation() expectation.
23220169689Skan
23221169689Skan2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
23222169689Skan
23223169689Skan	* config/rs6000/rs6000.md ("bunordered"): Disable for e500.
23224169689Skan	("bordered"): Same.
23225169689Skan
23226169689Skan2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
23227169689Skan
23228169689Skan	* config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
23229169689Skan	unconditionally.
23230169689Skan	* config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
23231169689Skan
23232169689Skan2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
23233169689Skan
23234169689Skan	* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
23235169689Skan	calls in mips16 code.
23236169689Skan
23237169689Skan2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
23238169689Skan
23239169689Skan	* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
23240169689Skan	the destination of the li as well as for the neg.
23241169689Skan
23242169689Skan2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
23243169689Skan
23244169689Skan	g++/15861
23245169689Skan	* cgraphunit.c (cgraph_build_static_cdtor): Add priority argument.
23246169689Skan	* cgraph.h: Update declaration.
23247169689Skan	* c-decl.c (build_cdtor): Update call with default priority.
23248169689Skan	* coverage.c (create_coverage): Ditto.
23249169689Skan	* tree-mudflap.c (mf_init_fndecl): New tree.
23250169689Skan	(mudflap_init): Set it.
23251169689Skan	(mudflap_register_call): Arrange to call __mf_init before the first
23252169689Skan	__mf_register call.
23253169689Skan	(mudflap_finish_file): Mark the mudflap static initializer as extra
23254169689Skan	high priority, to beat all C++ static constructors.
23255169689Skan
23256169689Skan2004-07-15  Jeff Law  <law@redhat.com>
23257169689Skan
23258169689Skan	* loop.c (check_insn_for_givs): Restore check for code labels that was
23259169689Skan	accidentally deleted by a recent checkin.
23260169689Skan
23261169689Skan2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
23262169689Skan
23263169689Skan	* vec.h (VEC_T_truncate): Allow truncation of an empty vector.
23264169689Skan	(VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko.
23265169689Skan
23266169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23267169689Skan
23268169689Skan	* print-tree.c (print_node): Fix casts last change.
23269169689Skan
23270169689Skan2004-07-15  Paul Brook	<paul@codesourcery.com>
23271169689Skan
23272169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO
23273169689Skan	to TARGET_UNWIND_INFO.
23274169689Skan	* except.c (output_function_exception_table): Ditto.
23275169689Skan	* except.h: Ditto.
23276169689Skan	* opts.c (decode_options): Ditto.
23277169689Skan	* passes.c (rest_of_handle_final): Ditto.
23278169689Skan	* final.c (final_start_function): Ditto.
23279169689Skan	(final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
23280169689Skan	target hook.
23281169689Skan	* targhooks.h (default_unwind_emit): Declare.
23282169689Skan	* targhooks.c (default_unwind_emit): New function.
23283169689Skan	* target-def.h: Define and use TARGET_UNWIND_EMIT.
23284169689Skan	* target.h (struct gcc_target): Add unwind_emit.
23285169689Skan	* config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
23286169689Skan	* config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
23287169689Skan	Remove IA64_UNWIND_EMIT.
23288169689Skan	* doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
23289169689Skan
23290169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23291169689Skan
23292169689Skan	* print-tree.c (print_node): Handle SSA_NAME.
23293169689Skan
23294169689Skan2004-07-14  James E Wilson  <wilson@specifixinc.com>
23295169689Skan
23296169689Skan	PR target/16325
23297169689Skan	* config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
23298169689Skan	and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
23299169689Skan
23300169689Skan2004-07-15  Jakub Jelinek  <jakub@redhat.com>
23301169689Skan
23302169689Skan	* expr.c (expand_assignment): Reenable bitfield += optimizations.
23303169689Skan	Use alias set 0 for memory, do proper mode calculations and adjust
23304169689Skan	address for memories.
23305169689Skan
23306169689Skan2004-07-14  Per Bothner	 <per@bothner.com>
23307169689Skan
23308169689Skan	* input.h: If USE_MAPPED_LOCATION, define separate expanded_location
23309169689Skan	structure with extra column field.
23310169689Skan	* tree.c (expand_location): Also fill in column field.
23311169689Skan	* gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype
23312169689Skan	gets confused by the two conditionally-compiled definitions.
23313169689Skan
23314169689Skan2004-07-14  Eric Christopher  <echristo@redhat.com>
23315169689Skan
23316169689Skan	* calls.c (expand_call): Fix typo in comment.
23317169689Skan
23318169689Skan2004-07-14  Steve Ellcey  <sje@cup.hp.com>
23319169689Skan
23320169689Skan	* config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED
23321169689Skan	comparision of TFmode.
23322169689Skan
23323169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23324169689Skan
23325169689Skan	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...
23326169689Skan	(alpha_gimplify_va_arg): ... handling here.  Use pass_by_reference.
23327169689Skan	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference.
23328169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
23329169689Skan	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
23330169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
23331169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
23332169689Skan	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
23333169689Skan	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
23334169689Skan
23335169689Skan2004-07-14  Mike Stump	<mrs@apple.com>
23336169689Skan
23337169689Skan	* config/darwin.h (WINT_TYPE): Define to be int to match
23338169689Skan	system header files.
23339169689Skan
23340169689Skan2004-07-14  Bob Wilson  <bob.wilson@acm.org>
23341169689Skan
23342169689Skan	* config/xtensa/xtensa.c (function_arg_advance): Check for args
23343169689Skan	that must be passed in the stack.
23344169689Skan	(xtensa_gimplify_va_arg_expr): Skip special-case padding for small
23345169689Skan	arguments if the size is not a constant.
23346169689Skan
23347169689Skan2004-07-14  Per Bothner  <per@bothner.com>
23348169689Skan
23349169689Skan	* c-typeck.c (emit_side_effect_warnings): Use EXPR_HAS_LOCATION
23350169689Skan	instead of EXPR_LOCUS in a boolean context, which is always true
23351169689Skan	if --enable-mapped-location.
23352169689Skan	* stmt.c (warn_if_unused_value): Likewise.  Also use EXPR_LOCATION.
23353169689Skan
23354169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23355169689Skan
23356169689Skan	* dominance.c (struct dom_info): Add fake_exit_edge.
23357169689Skan	(init_dom_info): Allocate it.
23358169689Skan	(free_dom_info): Free it.
23359169689Skan	(calc_dfs_tree): Set it.  Handle noreturn and infinite loops
23360169689Skan	in two passes.
23361169689Skan	(calc_idoms): Honor fake_exit_edge.
23362169689Skan
23363169689Skan2004-07-13  Jason Merrill  <jason@redhat.com>
23364169689Skan
23365169689Skan	* tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns.
23366169689Skan	(rhs_test_for): New fn.
23367169689Skan	(is_gimple_tmp_rhs): Rename from is_gimple_rhs.
23368169689Skan	* tree-gimple.h: Declare them.
23369169689Skan	* gimplify.c (gimplify_modify_expr): Use the new fns.
23370169689Skan
23371169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23372169689Skan
23373169689Skan	* config/arm/arm-protos.h (arm_va_arg): Remove.
23374169689Skan	* config/arm/arm.c (arm_va_arg): Remove.
23375169689Skan	(arm_init_expanders): Fix alignment of arg_pointer_rtx.
23376169689Skan	* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove.
23377169689Skan
23378169689Skan2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
23379169689Skan
23380169689Skan	* pa.c (fix_range): New function to mark a range(s) of registers as
23381169689Skan	fixed registers.
23382169689Skan	(override_options): Call fix_range if the -mfixed-range option string
23383169689Skan	is not empty.
23384169689Skan	* pa.h (TARGET_OPTIONS): Add -mfixed-range option.
23385169689Skan	* doc/invoke.texi (-mfixed-range): Document new option.
23386169689Skan
23387169689Skan2004-07-14  David Edelsohn  <edelsohn@gnu.org>
23388169689Skan
23389169689Skan	* config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode
23390169689Skan	for TARGET_64BIT.
23391169689Skan	(rs6000_gimplify_va_arg): Use size_int instead of build_int_2.
23392169689Skan
23393169689Skan2004-07-14  Roger Sayle  <roger@eyesopen.com>
23394169689Skan
23395169689Skan	* expmed.c (expand_sdiv_pow2): New function to expand signed division
23396169689Skan	by a positive power of two, split out from expand_divmod.  Provide
23397169689Skan	an alternate implementation when shifts are expensive.  Lower the
23398169689Skan	threshold for using a branchless implementation to BRANCH_COST >= 2.
23399169689Skan	(expand_divmod): Call expand_sdiv_pow2 for suitable divisions.
23400169689Skan
23401169689Skan2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
23402169689Skan
23403169689Skan	* tree-dfa.c (make_rename_temp): *Really* work just
23404169689Skan	like create_tmp_var if called while outside SSA form.
23405169689Skan
23406169689Skan2004-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
23407169689Skan
23408169689Skan	* config/s390/s390.md ("udivsi3"): Ensure trap is generated
23409169689Skan	for division by zero.
23410169689Skan	("umodsi3"): Likewise.
23411169689Skan
23412169689Skan2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
23413169689Skan
23414169689Skan	* config/mips/mips.c (mips_output_move): When generating mips16 code,
23415169689Skan	force loads of negative constants to be split.
23416169689Skan	* config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise.
23417169689Skan	Generalize SImode li/neg splitter to cope with other modes.
23418169689Skan
23419169689Skan2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
23420169689Skan
23421169689Skan	* expmed.c: Remove more references to QUEUED in the comments.
23422169689Skan	* expr.c: Likewise.
23423169689Skan
23424169689Skan2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
23425169689Skan
23426169689Skan	Revert:
23427169689Skan	2004-07-13  Richard Henderson  <rth@redhat.com>
23428169689Skan	* config/mips/mips.c (mips_pass_by_reference): Handle mode sizes
23429169689Skan	correctly.
23430169689Skan
23431169689Skan2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
23432169689Skan
23433169689Skan	* tree-dfa.c (make_rename_temp): Work just like
23434169689Skan	create_tmp_var if called while outside SSA form.
23435169689Skan
23436169689Skan2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
23437169689Skan
23438169689Skan	* expr.c (enqueue_insn, finish_expr_for_function,
23439169689Skan	protect_from_queue, queued_subexp_p, mark_queue,
23440169689Skan	emit_insns_enqueued_after_mark, emit_queue,
23441169689Skan	expand_increment): Remove.
23442169689Skan	(store_constructor): Expand increment as an assignment.
23443169689Skan	(expand_expr_real_1 <case PREINCREMENT_EXPR,
23444169689Skan	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
23445169689Skan	case POSTDECREMENT_EXPR>): Abort.
23446169689Skan	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
23447169689Skan	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
23448169689Skan	protect_from_queue, emit_queue, queued_subexp_p): Remove.
23449169689Skan	* function.h (pending_chain, x_pending_chain): Remove.
23450169689Skan	* rtl.def (QUEUED): Remove.
23451169689Skan
23452169689Skan	* emit-rtl.c (copy_insn_1, copy_most_rtx,
23453169689Skan	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
23454169689Skan	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
23455169689Skan	encode_units_mask): Likewise.
23456169689Skan	* local-alloc.c (equiv_init_varies_p): Likewise.
23457169689Skan	* rtl.c (copy_rtx): Likewise.
23458169689Skan	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
23459169689Skan	* simplify-rtx.c (simplify_gen_subreg): Likewise.
23460169689Skan	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
23461169689Skan
23462169689Skan	* builtins.c (expand_builtin, expand_builtin_apply,
23463169689Skan	expand_builtin_mathfn, expand_builtin_mathfn_2,
23464169689Skan	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
23465169689Skan	Remove calls to emit_queue and protect_from_queue.
23466169689Skan	* calls.c (expand_call, precompute_arguments,
23467169689Skan	precompute_register_parameters, rtx_for_function_call,
23468169689Skan	store_one_arg): Likewise.
23469169689Skan	* dojump.c (do_compare_and_jump, do_jump): Likewise.
23470169689Skan	* explow.c (memory_address): Likewise.
23471169689Skan	* expmed.c (clear_by_pieces_1, clear_storage,
23472169689Skan	clear_storage_via_libcall, emit_group_load,
23473169689Skan	emit_group_store, emit_store_flag,
23474169689Skan	expand_expr_real_1, store_by_pieces,
23475169689Skan	store_constructor, store_expr, try_casesi,
23476169689Skan	try_tablejump): Likewise.
23477169689Skan	* function.c (expand_pending_sizes): Likewise.
23478169689Skan	* optabs.c (emit_cmp_and_jump_insns,
23479169689Skan	emit_conditional_add, emit_conditional_move,
23480169689Skan	expand_fix, expand_float, prepare_cmp_insn): Likewise.
23481169689Skan	* stmt.c (emit_case_bit_tests,
23482169689Skan	expand_asm_expr, expand_computed_goto,
23483169689Skan	expand_decl_init, expand_end_case_type,
23484169689Skan	expand_end_stmt_expr, expand_expr_stmt_value,
23485169689Skan	expand_return, expand_start_case,
23486169689Skan	optimize_tail_recursion): Likewise.
23487169689Skan	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
23488169689Skan	* config/s390/s390.c (s390_expand_cmpmem): Likewise.
23489169689Skan
23490169689Skan2004-07-14  Ben Elliston  <bje@au.ibm.com>
23491169689Skan
23492169689Skan	* vec.h: Comment fix.
23493169689Skan
23494169689Skan2004-07-13  Richard Henderson  <rth@redhat.com>
23495169689Skan
23496169689Skan	* target.h (struct gcc_target): Add calls.pass_by_reference.
23497169689Skan	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
23498169689Skan	* function.c (pass_by_reference): Use the hook.
23499169689Skan	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
23500169689Skan	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
23501169689Skan	(hook_pass_by_reference_must_pass_in_stack): New.
23502169689Skan	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
23503169689Skan	(alpha_pass_by_reference): New.
23504169689Skan	(TARGET_PASS_BY_REFERENCE): New.
23505169689Skan	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23506169689Skan	* config/arc/arc.c (arc_pass_by_reference): New.
23507169689Skan	(TARGET_PASS_BY_REFERENCE): New.
23508169689Skan	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23509169689Skan	(FUNCTION_ARG_CALLEE_COPIES): True.
23510169689Skan	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
23511169689Skan	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
23512169689Skan	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
23513169689Skan	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23514169689Skan	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23515169689Skan	* config/cris/cris.c (cris_pass_by_reference): New.
23516169689Skan	(TARGET_PASS_BY_REFERENCE): New.
23517169689Skan	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
23518169689Skan	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
23519169689Skan	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23520169689Skan	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
23521169689Skan	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23522169689Skan	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
23523169689Skan	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
23524169689Skan	(frv_function_arg_pass_by_reference): Remove.
23525169689Skan	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23526169689Skan	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
23527169689Skan	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
23528169689Skan	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
23529169689Skan	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23530169689Skan	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
23531169689Skan	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
23532169689Skan	(ia64_pass_by_reference): Rename from
23533169689Skan	ia64_function_arg_pass_by_reference.
23534169689Skan	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23535169689Skan	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23536169689Skan	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
23537169689Skan	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
23538169689Skan	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
23539169689Skan	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23540169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
23541169689Skan	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
23542169689Skan	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
23543169689Skan	(m32r_pass_by_reference): Adjust prototype.  Make static.
23544169689Skan	Handle mode sizes correctly.
23545169689Skan	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23546169689Skan	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
23547169689Skan	(m68hc11_function_arg_pass_by_reference): Remove.
23548169689Skan	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23549169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
23550169689Skan	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
23551169689Skan	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23552169689Skan	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
23553169689Skan	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
23554169689Skan	(mips_va_arg): Use pass_by_reference.
23555169689Skan	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
23556169689Skan	Handle mode sizes correctly.
23557169689Skan	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23558169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
23559169689Skan	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
23560169689Skan	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
23561169689Skan	(mmix_pass_by_reference): Rename from
23562169689Skan	mmix_function_arg_pass_by_reference.
23563169689Skan	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23564169689Skan	(FUNCTION_ARG_CALLEE_COPIES): True.
23565169689Skan	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
23566169689Skan	(mn10300_pass_by_reference): New.
23567169689Skan	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23568169689Skan	(FUNCTION_ARG_CALLEE_COPIES): True.
23569169689Skan	* config/pa/pa.c (pa_pass_by_reference): New.
23570169689Skan	(TARGET_PASS_BY_REFERENCE): New.
23571169689Skan	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23572169689Skan	(FUNCTION_ARG_CALLEE_COPIES): True.
23573169689Skan	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
23574169689Skan	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
23575169689Skan	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
23576169689Skan	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23577169689Skan	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
23578169689Skan	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
23579169689Skan	(s390_pass_by_reference): Rename from
23580169689Skan	s390_function_arg_pass_by_reference.
23581169689Skan	(s390_function_arg_advance): Don't query pass-by-ref.
23582169689Skan	(s390_function_arg): Likewise.
23583169689Skan	(s390_gimplify_va_arg): Use pass_by_reference.
23584169689Skan	(s390_call_saved_register_used): Likewise.
23585169689Skan	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23586169689Skan	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
23587169689Skan	(shcompact_byref, sh_pass_by_reference): New.
23588169689Skan	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23589169689Skan	(SHCOMPACT_BYREF): Remove.
23590169689Skan	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
23591169689Skan	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
23592169689Skan	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
23593169689Skan	(sparc_gimplify_va_arg): Use pass_by_reference.
23594169689Skan	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23595169689Skan	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23596169689Skan	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
23597169689Skan	(v850_pass_by_reference): New.
23598169689Skan	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23599169689Skan	(FUNCTION_ARG_CALLEE_COPIES): True.
23600169689Skan	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
23601169689Skan	FUNCTION_ARG_PASS_BY_REFERENCE docs.
23602169689Skan
23603169689Skan2004-07-14  Richard Henderson  <rth@redhat.com>
23604169689Skan	    Richard Sandiford  <rsandifo@redhat.com>
23605169689Skan
23606169689Skan	* config/mips/mips-protos.h (mips_va_arg): Delete.
23607169689Skan	* config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete.
23608169689Skan	* config/mips/mips.c: Include tree-gimple.h.
23609169689Skan	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
23610169689Skan	(mips_arg_info): Remove special handling of must_pass_in_stck args.
23611169689Skan	(mips_gimplify_va_arg_expr): Rewritten from mips_va_arg.
23612169689Skan	(function_arg_pass_by_reference): Return true if must_pass_in_stack.
23613169689Skan
23614169689Skan2004-07-13  Bob Wilson  <bob.wilson@acm.org>
23615169689Skan
23616169689Skan	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap
23617169689Skan	arguments for COND_EXPR in big-endian adjustment code.
23618169689Skan
23619169689Skan2004-07-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
23620169689Skan
23621169689Skan	* pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.
23622169689Skan	* pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64.
23623169689Skan	* pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers.
23624169689Skan	* pa64-regs.h (REG_ALLOC_ORDER): Likewise.
23625169689Skan
23626169689Skan2004-07-13  Diego Novillo  <dnovillo@redhat.com>
23627169689Skan
23628169689Skan	PR tree-optimization/16443
23629169689Skan	* tree-ssa-alias.c: Add more description for
23630169689Skan	CALL_CLOBBERED_VARS and ADDRESSABLE_VARS.
23631169689Skan	* tree-ssa-operands.c (get_asm_expr_operands): Re-order the
23632169689Skan	clobbering of call-clobbered and addressable variables.  If
23633169689Skan	there are any before aliases have been computed, add them.
23634169689Skan
23635169689Skan2004-07-13  Diego Novillo  <dnovillo@redhat.com>
23636169689Skan
23637169689Skan	* tree-optimize.c (execute_todo): Flush DUMP_FILE before
23638169689Skan	verification.
23639169689Skan
23640169689Skan2004-07-13  Ulrich Weigand  <uweigand@de.ibm.com>
23641169689Skan
23642169689Skan	* config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead
23643169689Skan	of build_int_2.  Convert both operands of PLUS_EXPR and MULT_EXPR
23644169689Skan	to the same type.
23645169689Skan
23646169689Skan2004-07-13  Per Bothner  <per@bothner.com>
23647169689Skan
23648169689Skan	* collect2.c (main): Handle --no-demangle and --demangle flags.
23649169689Skan
23650169689Skan2004-07-13  Sebastian Pop  <pop@cri.ensmp.fr>
23651169689Skan
23652169689Skan	* Makefile.in (OBJS-common): Add tree-data-ref.o.
23653169689Skan	(tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h.
23654169689Skan	(tree-data-ref.o): New rule.
23655169689Skan	* lambda.h: New file.
23656169689Skan	* tree-data-ref.c: New file.
23657169689Skan	* tree-data-ref.h: New file.
23658169689Skan	* tree.c (int_cst_value, tree_fold_gcd): New functions.
23659169689Skan	* tree.h (int_cst_value, tree_fold_gcd): Declared here.
23660169689Skan
23661169689Skan2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
23662169689Skan
23663169689Skan	PR target/13926
23664169689Skan	* config/sparc/sparc-protos.h (output_ubranch): New prototype.
23665169689Skan	* config/sparc/sparc.c (output_ubranch): New function.
23666169689Skan	* config/sparc/sparc.md (jump pattern): Use it.
23667169689Skan
23668169689Skan2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
23669169689Skan
23670169689Skan	PR target/16494
23671169689Skan	* config/sparc/sparc.c (output_cbranch): Properly guard
23672169689Skan	the code handling far branches with TARGET_V9.
23673169689Skan	* config/sparc/sparc.md (length attribute): Document the
23674169689Skan	side-effect of having a length greater or equal to 3.
23675169689Skan
23676169689Skan2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
23677169689Skan	    Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
23678169689Skan
23679169689Skan	PR target/15186
23680169689Skan	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
23681169689Skan	/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
23682169689Skan
23683169689Skan2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
23684169689Skan	    Martin Sebor  <sebor@roguewave.com>
23685169689Skan
23686169689Skan	PR target/12602
23687169689Skan	* doc/invoke.texi (SPARC options): Document -threads
23688169689Skan	and -pthreads on Solaris.
23689169689Skan
23690169689Skan2004-07-13  Richard Henderson  <rth@redhat.com>
23691169689Skan
23692169689Skan	* builtins.c (std_gimplify_va_arg_expr): Handle types passed
23693169689Skan	by reference.
23694169689Skan	(ind_gimplify_va_arg_expr): Remove.
23695169689Skan	* tree.h (ind_gimplify_va_arg_expr): Remove.
23696169689Skan	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
23697169689Skan	* config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
23698169689Skan	argsp to be null.
23699169689Skan
23700169689Skan	* config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
23701169689Skan	(TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
23702169689Skan	* config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
23703169689Skan	config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
23704169689Skan	config/mn10300/mn10300.c, config/v850/v850.c: Similarly.
23705169689Skan
23706169689Skan2004-07-13  Richard Henderson  <rth@redhat.com>
23707169689Skan
23708169689Skan	* function.c (pass_by_reference): New.
23709169689Skan	(assign_parm_find_data_types): Use it.
23710169689Skan	* calls.c (initialize_argument_information): Likewise.
23711169689Skan	(emit_library_call_value_1): Likewise.
23712169689Skan	* expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
23713169689Skan	* function.h (pass_by_reference): Declare.
23714169689Skan
23715169689Skan2004-07-13  Richard Henderson  <rth@redhat.com>
23716169689Skan
23717169689Skan	* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
23718169689Skan	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
23719169689Skan	* expr.h (MUST_PASS_IN_STACK): Remove.
23720169689Skan	* system.h (MUST_PASS_IN_STACK): Poison.
23721169689Skan	* tree.h (must_pass_in_stack_var_size): Declare.
23722169689Skan	(must_pass_in_stack_var_size_or_pad): Declare.
23723169689Skan	* calls.c (must_pass_in_stack_var_size): New.
23724169689Skan	(must_pass_in_stack_var_size_or_pad): Rename from
23725169689Skan	default_must_pass_in_stack.
23726169689Skan	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
23727169689Skan	(TARGET_MUST_PASS_IN_STACK): New.
23728169689Skan	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
23729169689Skan	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
23730169689Skan	(TARGET_MUST_PASS_IN_STACK): New.
23731169689Skan	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
23732169689Skan	* config/frv/frv.c (frv_must_pass_in_stack): New.
23733169689Skan	(TARGET_MUST_PASS_IN_STACK): New.
23734169689Skan	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
23735169689Skan	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
23736169689Skan	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
23737169689Skan	(ix86_must_pass_in_stack): Make static.
23738169689Skan	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
23739169689Skan	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
23740169689Skan	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
23741169689Skan	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
23742169689Skan	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
23743169689Skan	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
23744169689Skan	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
23745169689Skan	(mcore_must_pass_on_stack): Remove.
23746169689Skan	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
23747169689Skan	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
23748169689Skan	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
23749169689Skan	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
23750169689Skan	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
23751169689Skan	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
23752169689Skan	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
23753169689Skan	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
23754169689Skan	(TARGET_MUST_PASS_IN_STACK): New.
23755169689Skan	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
23756169689Skan	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
23757169689Skan	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
23758169689Skan	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
23759169689Skan	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
23760169689Skan	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
23761169689Skan	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
23762169689Skan	MUST_PASS_IN_STACK.
23763169689Skan
23764169689Skan	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
23765169689Skan	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
23766169689Skan	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
23767169689Skan	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
23768169689Skan	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
23769169689Skan	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
23770169689Skan	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
23771169689Skan	config/xtensa/xtensa.c: Use target hook.
23772169689Skan
23773169689Skan2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
23774169689Skan
23775169689Skan	* configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
23776169689Skan	* configure: Rebuilt.
23777169689Skan
23778169689Skan2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
23779169689Skan
23780169689Skan	* doc/invoke.texi: Remove documentation for MIPS -mrnames option.
23781169689Skan	* config/mips/mips.h (mips_reg_names): Don't declare.
23782169689Skan	(MASK_NAME_REGS): Delete.  Shuffle other MASK_* values down.
23783169689Skan	(TARGET_NAME_REGS): Delete.
23784169689Skan	(TARGET_SWITCHES): Remove -mrnames.
23785169689Skan	(REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
23786169689Skan	(ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
23787169689Skan	in REGISTER_NAMES.
23788169689Skan	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
23789169689Skan	(override_options): Remove handling of TARGET_NAME_REGS.
23790169689Skan
23791169689Skan2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
23792169689Skan
23793169689Skan	* config/mips/mips.h (TARGET_*): Boolify.
23794169689Skan
23795169689Skan2004-07-12  Nick Clifton  <nickc@redhat.com>
23796169689Skan
23797169689Skan	* config.gcc: Add sh-*-symbianelf target.
23798169689Skan	* config/sh/sh.c: Add new target macros:
23799169689Skan	TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
23800169689Skan	TARGET_CXX_IMPORT_EXPORT_CLASS.
23801169689Skan	(sh_file_start): Create a definition of the .directive section.
23802169689Skan	(sh_attribute): Add dllimport and dllexport attributes.
23803169689Skan	* config/sh/symbian-pre.h: New file.
23804169689Skan	* config/sh/symbian-post.h: New file.
23805169689Skan	* config/sh/symbian.c: New file. Contains Symbian specific
23806169689Skan	functions.
23807169689Skan	* config/sh/sh-protos.h: Add prototypes for new functions
23808169689Skan	provided by symbian.c.
23809169689Skan	* config/sh/t-symbian: New file.
23810169689Skan	* doc/extend.texi: Document support for dllimport and dllexport
23811169689Skan	attributes by the sh-symbianelf target.
23812169689Skan
23813169689Skan2004-07-12  James E Wilson  <wilson@specifixinc.com>
23814169689Skan
23815169689Skan	* Makefile.in (AR): Use @AR@ not ar.
23816169689Skan	(NM): New.
23817169689Skan	(AR_FOR_TARGET): Use $(AR) not ar for native.
23818169689Skan	(NM_FOR_TARGET): Use $(NM) not nm for native.
23819169689Skan	* configure.ac: Add AC_CHECK_PROG calls for NM and AR.
23820169689Skan	* configure: Regenerate.
23821169689Skan
23822169689Skan2004-07-12  David S. Miller  <davem@nuts.davemloft.net>
23823169689Skan
23824169689Skan	* config/sparc/sparc.md (ashlsi3): Eliminate const 1
23825169689Skan	special case.
23826169689Skan	(ashldi3_sp64): Likewise.
23827169689Skan
23828169689Skan2004-07-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
23829169689Skan
23830169689Skan	PR target/16477
23831169689Skan	* pa.c (function_arg): Update comment.
23832169689Skan	* pa.h (BLOCK_REG_PADDING): Define.
23833169689Skan
23834169689Skan2004-07-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
23835169689Skan
23836169689Skan	PR tree-optimization/16461
23837169689Skan	* tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name
23838169689Skan	arguments of phi nodes.
23839169689Skan
23840169689Skan2004-07-12  Devang Patel  <dpatel@apple.com>
23841169689Skan
23842169689Skan	* doc/invoke.texi (Darwin Options): Document -gused and -gfull.
23843169689Skan
23844169689Skan2004-07-12  Steve Ellcey  <sje@cup.hp.com>
23845169689Skan
23846169689Skan	* function.c (expand_function_start): Ensure r_save is in Pmode.
23847169689Skan	* calls.c (prepare_call_address): Ensure static_chain_value is
23848169689Skan	in Pmode.
23849169689Skan	* builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and
23850169689Skan	r_save_area are in Pmode.
23851169689Skan	* config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr,
23852169689Skan	fnaddr, and static_chain are in Pmode.
23853169689Skan
23854169689Skan2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
23855169689Skan
23856169689Skan	PR target/16445
23857169689Skan	* config/ia64/ia64.c (bundling): Don't count ignored insns.
23858169689Skan
23859169689Skan2004-07-12  Richard Henderson  <rth@redhat.com>
23860169689Skan
23861169689Skan	* target.h (struct gcc_target): Move gimplify_va_arg_expr
23862169689Skan	next to build_builtin_va_list.
23863169689Skan	* target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match.
23864169689Skan	* builtins.c (gimplify_va_arg_expr): Likewise.
23865169689Skan	* gimplify.c (copy_if_shared_r): Likewise.
23866169689Skan
23867169689Skan2004-07-12  Alexandre Oliva  <aoliva@redhat.com>
23868169689Skan
23869169689Skan	* passes.c (rest_of_decl_compilation): Don't defer call of
23870169689Skan	assemble_variable if its DECL_RTL is already set.
23871169689Skan
23872169689Skan2004-07-12  Sebastian Pop  <pop@cri.ensmp.fr>
23873169689Skan
23874169689Skan	* cfgloop.h (struct loop): Add nb_iterations field.
23875169689Skan	(current_loops): Declare.
23876169689Skan	* tree-chrec.c (chrec_not_analyzed_yet,
23877169689Skan	chrec_dont_know, chrec_known, count_ev_in_wider_type,
23878169689Skan	chrec_contains_symbols_defined_in_loop): Remove the temporary
23879169689Skan	hooks.
23880169689Skan	* tree-flow-inline.h (loop_containing_stmt): New function.
23881169689Skan	* tree-scalar-evolution.c: Add implementation.
23882169689Skan	* tree-scalar-evolution.h: Add declarations.
23883169689Skan
23884169689Skan2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
23885169689Skan
23886169689Skan	PR rtl-optimization/15921
23887169689Skan	* Makefile.in (global.o): Add recog.h.
23888169689Skan
23889169689Skan	* global.c (recog.h): Add the include-clause.
23890169689Skan	(bb_info): New member earlyclobber.
23891169689Skan	(allocate_bb_info, free_bb_info): Initialize/finish the new
23892169689Skan	member.
23893169689Skan	(earlyclobber_regclass, earlyclobber_regclass_length): The new
23894169689Skan	global variables.
23895169689Skan	(check_earlyclobber, regclass_intersect,
23896169689Skan	mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1):
23897169689Skan	New functions.
23898169689Skan	(calculate_local_reg_bb_info): Calculate value of earlyclobber.
23899169689Skan	(make_accurate_live_analysis): Modify pavin.
23900169689Skan
23901169689Skan2004-07-12  Diego Novillo  <dnovillo@redhat.com>
23902169689Skan
23903169689Skan	* tree-cfg.c (find_taken_edge): Statically compute the truth
23904169689Skan	value of a predicate comparing an SSA_NAME to itself.
23905169689Skan
23906169689Skan2004-07-12  Roger Sayle  <roger@eyesopen.com>
23907169689Skan
23908169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the
23909169689Skan	rs6000 doesn't have shift-and-add or shift-and-sub instructions
23910169689Skan	by returning the cost of a multiplication plus an addition.
23911169689Skan
23912169689Skan2004-07-12  Paolo Bonzini  <bonzini@gnu.org>
23913169689Skan
23914169689Skan	PR tree-optimization/14107
23915169689Skan	* gimplify.c (gimplify_return_expr): Accept a
23916169689Skan	RETURN_EXPR with an error argument.
23917169689Skan	* tree-optimize.c (init_tree_optimization_passes):
23918169689Skan	Run pass_warn_function_return at -O0.
23919169689Skan
23920169689Skan2004-07-12  Roger Sayle  <roger@eyesopen.com>
23921169689Skan
23922169689Skan	* doc/invoke.texi: Correct -fasynchronous-unwind-tables option
23923169689Skan	index entry.
23924169689Skan
23925169689Skan2004-07-12  Richard Sandiford  <rsandifo@redhat.com>
23926169689Skan
23927169689Skan	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete.
23928169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
23929169689Skan	* config/mips/3000.md: Add copyright notice.  Remove automota and
23930169689Skan	function units; use generic ones instead.  Only define reservations
23931169689Skan	for things that are different from generic.md.  Extend each clause
23932169689Skan	to include r3900.
23933169689Skan	* config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files.
23934169689Skan	* config/mips/mips.md: Include them. Remove define_function_units.
23935169689Skan	(alu, imuldiv): New automata and units.
23936169689Skan
23937169689Skan2004-07-12  Ben Elliston  <bje@au.ibm.com>
23938169689Skan
23939169689Skan	* doc/invoke.texi (Optimize Options): Document -frename-registers
23940169689Skan	not being enabled by default at -O3.
23941169689Skan
23942169689Skan2004-07-11  Roger Sayle  <roger@eyesopen.com>
23943169689Skan
23944169689Skan	* fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for
23945169689Skan	floating point additions, to keep real immediate constant positive.
23946169689Skan	<MINUS_EXPR>: For floating point subtractions, only transform X - -C
23947169689Skan	into X + C, and leave positive real constants as X - C.
23948169689Skan
23949169689Skan2004-07-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
23950169689Skan
23951169689Skan	* pa.c (hppa_gimplify_va_arg_expr): Remove comment.
23952169689Skan
23953169689Skan2004-07-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
23954169689Skan
23955169689Skan	PR tree-optimization/15654
23956169689Skan	* tree-tailcall.c (eliminate_tail_call): Remove unreachable code.
23957169689Skan
23958169689Skan2004-07-11  Roger Sayle  <roger@eyesopen.com>
23959169689Skan
23960169689Skan	* builtins.c (fold_builtin_fputs): Don't bother converting the
23961169689Skan	return type to integer_type_node, as we've already checked that
23962169689Skan	the result will be ignored.
23963169689Skan
23964169689Skan	* tree-eh.c (tree_could_trap_p): Add support for -ftrapv such
23965169689Skan	that signed addition, subtraction, multiplication, division,
23966169689Skan	remainder, negation and absolute value may potentially trap.
23967169689Skan
23968169689Skan	* fold-const.c (fold_ignored_result): New function to strip
23969169689Skan	non-side-effecting tree nodes from an expression whose result
23970169689Skan	is ignored.
23971169689Skan	(fold_convert): Call fold_ignored_result when casting a value
23972169689Skan	to VOID_TYPE.
23973169689Skan	(omit_one_operand): Call fold_ignored_result on the "omitted"
23974169689Skan	operand when building a COMPOUND_EXPR.
23975169689Skan	(pedantic_omit_one_operand): Likewise.
23976169689Skan	* tree.h (fold_ignored_result): Prototype here.
23977169689Skan	* tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result
23978169689Skan	when we're going to ignore the result.
23979169689Skan
23980169689Skan2004-07-11  Richard Henderson  <rth@redhat.com>
23981169689Skan
23982169689Skan	PR tree-opt/16383
23983169689Skan	* tree-ssa-ccp.c (fold_stmt_r): Split out...
23984169689Skan	* tree.c (fields_compatible_p, find_compatible_field): ... new.
23985169689Skan	* tree.h (fields_compatible_p, find_compatible_field): Declare.
23986169689Skan	* tree-sra.c (sra_hash_tree): Hash fields by offset.
23987169689Skan	(sra_elt_eq): Use fields_compatible_p.
23988169689Skan	(generate_one_element_ref): Use find_compatible_field.
23989169689Skan
23990169689Skan2004-07-11  Richard Henderson  <rth@redhat.com>
23991169689Skan
23992169689Skan	PR tree-opt/16422
23993169689Skan	* tree-sra.c (generate_one_element_init): New.
23994169689Skan	(generate_element_init): Use it.
23995169689Skan	(scalarize_init): Push/pop gimplify context around it.
23996169689Skan	(find_new_referenced_vars_1, find_new_referenced_vars): New.
23997169689Skan	* gimplify.c (gimplify_expr): Allow SSA_NAME.
23998169689Skan
23999169689Skan2004-07-11  Roger Sayle  <roger@eyesopen.com>
24000169689Skan
24001169689Skan	* rtlanal.c (insn_rtx_cost): New function, moved and renamed from
24002169689Skan	combine.c's combine_insn_cost.
24003169689Skan	* rtl.h (insn_rtx_cost): Prototype here.
24004169689Skan	* combine.c (combine_insn_cost): Delete function.
24005169689Skan	(combine_validate_cost): Update callers of combine_insn_cost to
24006169689Skan	call insn_rtx_cost instead.
24007169689Skan	(combine_instructions): Likewise.  Use NONJUMP_INSN_P to avoid
24008169689Skan	requesting the rtx_cost of call and/or jump instructions.
24009169689Skan
24010169689Skan	* ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling
24011169689Skan	rtx_cost directly.  Don't request/use the cost of call or jump
24012169689Skan	instructions.  Return -1 if the cost of any instruction can't be
24013169689Skan	determined (or the BB contains a function call).
24014169689Skan	(find_if_case_1): Abort transformation if total_bb_rtx_cost returns
24015169689Skan	-1 (i.e. can't determine the cost of any instruction or the basic
24016169689Skan	block contains a subroutine call).
24017169689Skan	(find_if_case_2): Likewise.
24018169689Skan
24019169689Skan2004-07-11  Roger Sayle  <roger@eyesopen.com>
24020169689Skan
24021169689Skan	* rs6000.c (struct processor_costs): Change semantics of fields to
24022169689Skan	include the COST_N_INSNS scaling, and update all initializers.
24023169689Skan	(rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields.
24024169689Skan	Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE.
24025169689Skan	Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP.  When
24026169689Skan	optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE.
24027169689Skan
24028169689Skan2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
24029169689Skan
24030169689Skan	* LANGUAGES: Remove obsolete information.
24031169689Skan
24032169689Skan2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
24033169689Skan
24034169689Skan	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
24035169689Skan	SIGBUS signal frames, the PSW address points *to* the faulting
24036169689Skan	instruction, not after it.
24037169689Skan
24038169689Skan2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
24039169689Skan
24040169689Skan	* config/s390/s390.c (legitimize_tls_address): Handle constant offsets
24041169689Skan	added to TLS symbol addresses.
24042169689Skan
24043169689Skan2004-07-11  Richard Henderson  <rth@redhat.com>
24044169689Skan
24045169689Skan	* expmed.c (init_expmed): Use stack-local structures for
24046169689Skan	temporary rtl.  Don't recognize shifts.
24047169689Skan
24048169689Skan2004-07-11  Richard Henderson  <rth@redhat.com>
24049169689Skan
24050169689Skan	* expr.c (store_expr): Don't fiddle subreg promotion for types
24051169689Skan	with precision smaller than the mode.
24052169689Skan
24053169689Skan2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
24054169689Skan
24055169689Skan	* tree.h (all_types_permanent): Remove.
24056169689Skan
24057169689Skan2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
24058169689Skan
24059169689Skan	* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
24060169689Skan	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
24061169689Skan	* langhooks.c (lhd_clear_binding_stack): Remove.
24062169689Skan	* langhooks-def.h (lhd_clear_binding_stack,
24063169689Skan	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
24064169689Skan	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
24065169689Skan	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
24066169689Skan	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
24067169689Skan	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
24068169689Skan	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
24069169689Skan	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
24070169689Skan	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
24071169689Skan	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
24072169689Skan	* tree.h (poplevel): Don't declare.
24073169689Skan	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
24074169689Skan	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
24075169689Skan	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
24076169689Skan	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
24077169689Skan	Remove.
24078169689Skan
24079169689Skan2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
24080169689Skan
24081169689Skan	PR tree-optimization/16437
24082169689Skan	* c-common.c (shorten_compare): Don't mark result of conversion to
24083169689Skan	narrower signed type as overflowing.
24084169689Skan	* fold-const.c (decode_field_reference): Determine whether
24085169689Skan	signedness comes from outer type using precision rather than size.
24086169689Skan
24087169689Skan2004-07-11  Phil Edwards  <phil@codesourcery.com>
24088169689Skan
24089169689Skan	* configure.ac: Alphabetize --enable-checking list, add
24090169689Skan	missing valgrind entry.
24091169689Skan	* configure: Regenerate.
24092169689Skan
24093169689Skan2004-07-11  Phil Edwards  <phil@codesourcery.com>
24094169689Skan
24095169689Skan	* doc/install.texi (Testing): Fix syntax in "make check" example.
24096169689Skan
24097169689Skan2004-07-10  James E Wilson  <wilson@specifixinc.com>
24098169689Skan
24099169689Skan	* config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
24100169689Skan
24101169689Skan2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
24102169689Skan
24103169689Skan	PR rtl-optimization/16001
24104169689Skan	* loop-iv.c (iv_number_of_iterations): Prevent copy propagation in
24105169689Skan	niter_expr.
24106169689Skan
24107169689Skan2004-07-10  Geoffrey Keating  <geoffk@apple.com>
24108169689Skan
24109169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt.
24110169689Skan
24111169689Skan2004-07-10  Steve Kargl  <sgk@troutmask.apl.washington.edu>
24112169689Skan	    James Morrison  <phython@gcc.gnu.org>
24113169689Skan
24114169689Skan	* doc/contrib.texi (Contributors): Add gfortran contributors and
24115169689Skan	fix a couple of typos.
24116169689Skan
24117169689Skan2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
24118169689Skan
24119169689Skan	PR rtl-optimization/15387
24120169689Skan	* calls.c (check_sibcall_argument_overlap_1): Handle pointers
24121169689Skan	to incoming args space correctly.
24122169689Skan
24123169689Skan2004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
24124169689Skan
24125169689Skan	* pa.c (output_indirect_call): Only use %r2 as the link register in
24126169689Skan	indirect calls with the long PA 2.0 pc-relative branch.
24127169689Skan
24128169689Skan2004-07-10  Daniel Jacobowitz  <dan@debian.org>
24129169689Skan
24130169689Skan	* config/i386/i386.c (override_options): Pick a 64-bit CPU
24131169689Skan	for the default tuning if TARGET_64BIT.
24132169689Skan
24133169689Skan2004-07-10  Richard Henderson  <rth@redhat.com>
24134169689Skan
24135169689Skan	* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
24136169689Skan	to HOST_WIDE_INT.  Fold pad-args-down arithmetic.
24137169689Skan
24138169689Skan2004-07-10  Jakub Jelinek  <jakub@redhat.com>
24139169689Skan
24140169689Skan	* expr.h (store_bit_field, extract_bit_field): Remove last argument.
24141169689Skan	* expmed.c (store_bit_field, extract_bit_field): Remove last
24142169689Skan	argument.
24143169689Skan	* builtins.c (expand_builtin_signbit): Adjust callers.
24144169689Skan	* optabs.c (expand_vector_binop, expand_vector_unop): Likewise.
24145169689Skan	* calls.c (store_unaligned_arguments_into_pseudos): Likewise.
24146169689Skan	* ifcvt.c (noce_emit_move_insn): Likewise.
24147169689Skan	* stmt.c (expand_return): Likewise.
24148169689Skan	* expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg,
24149169689Skan	store_field, expand_expr_real_1): Likewise.
24150169689Skan
24151169689Skan2004-07-10  Richard Henderson  <rth@redhat.com>
24152169689Skan
24153169689Skan	* builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
24154169689Skan
24155169689Skan2004-07-09  Mike Stump  <mrs@apple.com>
24156169689Skan
24157169689Skan	* config/darwin.c (no_dead_strip): Add.
24158169689Skan	(HAVE_DEAD_STRIP): Add.
24159169689Skan	(darwin_emit_unwind_label): Ensure that we don't dead code strip
24160169689Skan	the .eh label.
24161169689Skan
24162169689Skan2004-07-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
24163169689Skan
24164169689Skan	* tree-ssa-loop-im.c: New file.
24165169689Skan	* Makefile.in (tree-ssa-loop-im.o): Add.
24166169689Skan	* cfgloop.c (superloop_at_depth): New function.
24167169689Skan	* cfgloop.h (superloop_at_depth): Declare.
24168169689Skan	* common.opt (ftree-lim): New flag.
24169169689Skan	* expr.c (array_ref_up_bound): New function.
24170169689Skan	* params.def (PARAM_LIM_EXPENSIVE): New parameter.
24171169689Skan	* timevar.def (TV_LIM): New timevar.
24172169689Skan	* tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when
24173169689Skan	computing immediate uses of a phi node.
24174169689Skan	* tree-flow.h (struct tree_ann_common_d): Add aux field.
24175169689Skan	(loop_commit_inserts, for_each_index, tree_ssa_lim): Declare.
24176169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_lim.
24177169689Skan	* tree-pass.h (pass_lim): Declare.
24178169689Skan	* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New
24179169689Skan	functions.
24180169689Skan	(pass_lim): New pass structure.
24181169689Skan	* tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly.
24182169689Skan	* tree.c (in_array_bounds_p): New function.
24183169689Skan	* tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs.
24184169689Skan	(in_array_bounds_p, array_ref_up_bound): Declare.
24185169689Skan	* doc/invoke.texi (-ftree-lim, --param lim-expensive): Document.
24186169689Skan	* doc/passes.texi (tree-ssa-loop-im.c): Document.
24187169689Skan
24188169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24189169689Skan
24190169689Skan	* builtins.c (expand_builtin_stpcpy): Don't modify len.
24191169689Skan
24192169689Skan	* tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs
24193169689Skan	with prejudice.
24194169689Skan
24195169689Skan2004-07-10  Kelley Cook  <kcook@gcc.gnu.org>
24196169689Skan
24197169689Skan	* flags.h: Delete redundant prototypes that are being generated
24198169689Skan	in options.h from common.opt.
24199169689Skan	* common.opt: Add in the expository comments formerly in flags.h.
24200169689Skan
24201169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24202169689Skan
24203169689Skan	* config/i386/i386.c (init_cumulative_args): Set mmx/sse registers
24204169689Skan	available for use only when TARGET_MMX/_SSE is set, and check for
24205169689Skan	variable argument function if any register count is non-zero.
24206169689Skan	(function_arg): Correctly suppress repeated warnings for passing SSE
24207169689Skan	vectors are arguments without SSE enabled.
24208169689Skan	(ix86_function_arg_boundary): Without SSE enabled, the use of what
24209169689Skan	would be SSE register modes does no longer influence the alignment.
24210169689Skan
24211169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24212169689Skan
24213169689Skan	* builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD.
24214169689Skan	Always align upward to arg boundary.  Use size_in_bytes/round_up.
24215169689Skan	Maintain type-correctness of constants.
24216169689Skan	* stor-layout.c (round_up, round_down): Special-case powers of 2.
24217169689Skan
24218169689Skan2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
24219169689Skan
24220169689Skan	* config/sparc/sparc.c (*_costs): Scale instruction costs
24221169689Skan	by COSTS_N_INSNS.
24222169689Skan	(sparc_rtx_costs): Adjust as appropriate.
24223169689Skan
24224169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24225169689Skan
24226169689Skan	* config/i386/mm3dnow.h: New.
24227169689Skan	* config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64.
24228169689Skan
24229169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24230169689Skan
24231169689Skan	* simplify-rtx.c (simplify_const_relational_operation): Only
24232169689Skan	look at bounds of scalar integers.
24233169689Skan
24234169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24235169689Skan
24236169689Skan	* config/i386/i386.md (sse2_clflush): Use correct operand for clflush.
24237169689Skan
24238169689Skan2004-07-09  Andrew Pinski  <apinski@apple.com>
24239169689Skan
24240169689Skan	* objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as
24241169689Skan	always referenced.
24242169689Skan	(synth_forward_declarations): Likewise for UOBJC_CLASS_decl and
24243169689Skan	UOBJC_METACLASS_decl.
24244169689Skan
24245169689Skan2004-07-09  James E Wilson  <wilson@specifixinc.com>
24246169689Skan
24247169689Skan	PR target/16364
24248169689Skan	* config/ia64/ia64.c (ia64_function_arg): For a single element HFA,
24249169689Skan	do return a parallel if hfa_mode == XFmode and mode == TImode.
24250169689Skan
24251169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24252169689Skan
24253169689Skan	* c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes
24254169689Skan	permissible for unary plus.
24255169689Skan
24256169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24257169689Skan
24258169689Skan	* builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
24259169689Skan	(BT_FN_UINT): Rename from BT_FN_UNSIGNED.
24260169689Skan	(BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED.
24261169689Skan	(BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG,
24262169689Skan	BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New.
24263169689Skan	* builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx,
24264169689Skan	BUILTIN_POPCOUNTxxx): Arguments are unsigned.
24265169689Skan	(BUILTIN_xxxIMAX): New.
24266169689Skan	* builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX,
24267169689Skan	BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and
24268169689Skan	BUILT_IN_PARITYIMAX.
24269169689Skan
24270169689Skan2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
24271169689Skan
24272169689Skan	* config/sparc/sparc.h (processor_costs): Define.
24273169689Skan	(sparc_costs): Declare.
24274169689Skan	* config/sparc/sparc.c (cypress_costs, supersparc_costs,
24275169689Skan	hypersparc_costs, sparclet_costs, ultrasparc_costs,
24276169689Skan	ultrasparc3_costs): New.
24277169689Skan	(sparc_override_options): Set sparc_costs as appropriate.
24278169689Skan	(sparc_rtx_costs): Use sparc_costs instead of messy
24279169689Skan	conditionals.
24280169689Skan
24281169689Skan2004-07-09  Steven Bosscher  <stevenb@suse.de>
24282169689Skan
24283169689Skan	* doc/md.texi (Processor pipeline description): Mention that
24284169689Skan	the old pipeline description is deprecated.
24285169689Skan
24286169689Skan	* config/rs6000/7450.md (automaton ppc7450): Split up, move
24287169689Skan	mciu_7450 function unit to...
24288169689Skan	(automaton ppc7450mciu): ...new automaton.
24289169689Skan
24290169689Skan	* haifa-sched.c (insert_schedule_bubbles_p): Remove.
24291169689Skan	(schedule_block): Don't consider inserting bubbles.
24292169689Skan	(sched_init): Don't initialize DFA bubbles.
24293169689Skan	* target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES,
24294169689Skan	TARGET_SCHED_DFA_BUBBLE): Remove.
24295169689Skan	* target.h (init_dfa_bubbles, dfa_bubble): Remove hooks.
24296169689Skan	* doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES,
24297169689Skan	TARGET_SCHED_DFA_BUBBLE): Remove documentation.
24298169689Skan
24299169689Skan	* stmt.c (conditional_context): Remove prototype.
24300169689Skan	* tree.h (conditional_context): Remove.
24301169689Skan	* tree-cfg.c (pre_insert_on_edge): Remove.
24302169689Skan
24303169689Skan	* c-common.h (c_expand_asm_operands): Remove prototype.
24304169689Skan	* c-typeck.c (c_expand_asm_operands): Remove.
24305169689Skan
24306169689Skan2004-07-09  Jan Beulich  <jbeulich@novell.com>
24307169689Skan
24308169689Skan	* config/i386/i386.c (classify_argument): Treat V1xx modes the same as
24309169689Skan	their base modes. CTImode, TCmode, and XCmode must be passed in memory.
24310169689Skan	TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode,
24311169689Skan	and V8QI are class SSE. All sufficiently small remaining vector modes
24312169689Skan	must be passed in one or two integer registers.
24313169689Skan	(ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be
24314169689Skan	returned in memory.
24315169689Skan	(bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and
24316169689Skan	__builtin_ia32_pmuludq128 have non-uniform argument and return types
24317169689Skan	and must thus be handled explicitly.
24318169689Skan	* config/i386/i386.md (*movdi_1_rex64): Add cases for moving between
24319169689Skan	MMX and XMM regs.
24320169689Skan	(movv8qi_internal, movv4hi_internal, movv2si_internal,
24321169689Skan	movv2sf_internal): Permit moving between MMX and XMM registers (since
24322169689Skan	MMX areguments and return values are passed in XMM registers).
24323169689Skan	(sse2_umulsidi3): Correct type and mode.
24324169689Skan
24325169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24326169689Skan
24327169689Skan	* tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors.
24328169689Skan
24329169689Skan2004-07-09  Eric Christopher  <echristo@redhat.com>
24330169689Skan
24331169689Skan	* config/rs6000/40x.md: Split into two automatons.
24332169689Skan
24333169689Skan2004-07-09  Zack Weinberg  <zack@codesourcery.com>
24334169689Skan	    Andrew Pinski  <apinski@apple.com>
24335169689Skan
24336169689Skan	* c-opts.c (c_common_post_options): Force unit-at-a-time mode
24337169689Skan	on when we have more than one input file.
24338169689Skan	(c_common_parse_file): Restore loop over all input files.
24339169689Skan	Clarify diagnostic for -dy when YYDEBUG wasn't defined.
24340169689Skan
24341169689Skan	* c-decl.c (set_type_context): New function.
24342169689Skan	(pop_scope): Use it to set context of types.  When we
24343169689Skan	encounter a TYPE_DECL, set the context of the attached type too.
24344169689Skan	(pop_file_scope): Don't call cpp_undef_all here.
24345169689Skan	(diagnose_mismatched_decls): Do not complain about a second
24346169689Skan	definition of an 'extern inline' function if it's not in the
24347169689Skan	same translation unit.  Do not complain about inline
24348169689Skan	declaration after use if the use was in a different
24349169689Skan	translation unit.
24350169689Skan	(merge_decls): Don't clobber olddecl's DECL_CONTEXT.
24351169689Skan	(pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in
24352169689Skan	the external scope.
24353169689Skan	(pushdecl_top_level): Likewise.
24354169689Skan	(grokdeclarator): Clarify what is going on with setting
24355169689Skan	DECL_EXTERNAL on function types, a little.
24356169689Skan	(c_write_global_declarations): Don't do anything if
24357169689Skan	-fsyntax-only or errors have been encountered.
24358169689Skan
24359169689Skan2004-07-09  Zack Weinberg  <zack@codesourcery.com>
24360169689Skan
24361169689Skan	* vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument.
24362169689Skan
24363169689Skan2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
24364169689Skan
24365169689Skan	PR target/16459
24366169689Skan	* pa.c (output_indirect_call): Use %r2 as the link register when
24367169689Skan	calling $$dyncall with a pc-relative branch.
24368169689Skan
24369169689Skan2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
24370169689Skan
24371169689Skan	* doc/install.texi (Binaries): Mention OpenPKG.
24372169689Skan
24373169689Skan2004-07-09  Diego Novillo  <dnovillo@redhat.com>
24374169689Skan
24375169689Skan	Fix PR tree-optimization/15555
24376169689Skan	* tree-dfa.c (dump_variable): If the variable is a pointer
24377169689Skan	SSA_NAME, also dump its points-to information.
24378169689Skan	* tree-flow.h (struct ptr_info_def): Add field
24379169689Skan	is_dereferenced.
24380169689Skan	(dump_points_to_info_for): Declare.
24381169689Skan	(debug_points_to_info_for): Declare.
24382169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add a
24383169689Skan	second alias analysis pass after DOM2.
24384169689Skan	Move pass_del_pta to a later spot.
24385169689Skan	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not
24386169689Skan	create a name tags when we find a dereferenced pointer.  Just
24387169689Skan	mark the pointer dereferenced.
24388169689Skan	(collect_points_to_info_for): Move code to clear points-to
24389169689Skan	information to create_name_tags.
24390169689Skan	(create_name_tags): New function.
24391169689Skan	(compute_flow_sensitive_aliasing): Call it.
24392169689Skan	(setup_pointers_and_addressables): Mark type tags for renaming
24393169689Skan	here instead of ...
24394169689Skan	(create_memory_tag): ... here.
24395169689Skan	(merge_pointed_to_info): Do not merge PT_MALLOC attributes.
24396169689Skan	(dump_points_to_info_for): Declare extern.
24397169689Skan	(debug_points_to_info_for): New function.
24398169689Skan
24399169689Skan2004-07-09  Paolo Bonzini  <bonzini@gnu.org>
24400169689Skan
24401169689Skan	* config/arc/arc.md: Switch to DFA-based scheduler description.
24402169689Skan	* config/arc/arc.c: Switch to DFA-based scheduler description.
24403169689Skan
24404169689Skan2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
24405169689Skan
24406169689Skan	* arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame
24407169689Skan	pointer.
24408169689Skan
24409169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24410169689Skan
24411169689Skan	* config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove.
24412169689Skan	* config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24413169689Skan	(xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg.
24414169689Skan	* config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove.
24415169689Skan
24416169689Skan	* config/v850/v850-protos.h (v850_va_arg): Remove.
24417169689Skan	* config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24418169689Skan	(v850_gimplify_va_arg_expr): Rewrite from v850_va_arg.
24419169689Skan	* config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove.
24420169689Skan	(FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types.
24421169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE.
24422169689Skan
24423169689Skan2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
24424169689Skan
24425169689Skan	PR target/12133
24426169689Skan	* arm.c (arm_legitimate_index_p) Allow DFmode for soft-float
24427169689Skan	and DImode to use +/-4k offset.
24428169689Skan
24429169689Skan2004-07-09  Richard Henderson  <rth@redhat.com>
24430169689Skan
24431169689Skan	* config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg):
24432169689Skan	Remove.
24433169689Skan	* config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24434169689Skan	(xstormy16_gimplify_va_arg_expr): Rewrite from
24435169689Skan	xstormy16_expand_builtin_va_arg.
24436169689Skan	* config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove.
24437169689Skan
24438169689Skan	* config/sparc/sparc-protos.h (sparc_va_arg): Remove.
24439169689Skan	* config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static.
24440169689Skan
24441169689Skan	* config/sh/sh-protos.h (sh_va_arg): Remove.
24442169689Skan	* config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24443169689Skan	(sh_gimplify_va_arg_expr): Rewrite from sh_va_arg.
24444169689Skan	* config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove.
24445169689Skan
24446169689Skan	* config/pa/pa-protos.h (hppa_va_arg): Remove.
24447169689Skan	* config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24448169689Skan	(hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg.
24449169689Skan	* config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove.
24450169689Skan
24451169689Skan	* config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove.
24452169689Skan	* config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24453169689Skan	(mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg.
24454169689Skan	* config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove.
24455169689Skan
24456169689Skan2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
24457169689Skan
24458169689Skan	* config/sparc/sparc.md (return): Rewrite length formula.
24459169689Skan	* config/sparc/sparc.c (output_return): Pass 1 as 5th
24460169689Skan	argument to final_scan_insn when in a delay slot.
24461169689Skan	(output_sibcall): Likewise.
24462169689Skan
24463169689Skan2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
24464169689Skan
24465169689Skan	* arm.c (arm_cpp_interwork): New variable.
24466169689Skan	(arm_override_options): Set it if TARGET_INTERWORK was on the command
24467169689Skan	line.
24468169689Skan	* arm.h (arm_cpp_interwork): Declare it.
24469169689Skan	(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
24470169689Skan	__THUMB_INTERWORK__ in the preprocessor.
24471169689Skan
24472169689Skan2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
24473169689Skan
24474169689Skan	* vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
24475169689Skan
24476169689Skan2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
24477169689Skan
24478169689Skan	PR target/16416
24479169689Skan	* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
24480169689Skan	Override default settings to account for -m32 and -m64.
24481169689Skan
24482169689Skan2004-07-08  Randolph Chung  <tausq@debian.org>
24483169689Skan
24484169689Skan	* pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
24485169689Skan
24486169689Skan2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
24487169689Skan
24488169689Skan	* builtins.c (fold_builtin_strncpy): Make sure len is a constant
24489169689Skan	before comparing it as such.
24490169689Skan
24491169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24492169689Skan
24493169689Skan	* builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
24494169689Skan	temporary.  Use bit arithmetic to align.
24495169689Skan
24496169689Skan2004-07-08  Jerry Quinn  <jlquinn@optonline.net>
24497169689Skan
24498169689Skan	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p,
24499169689Skan	nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P,
24500169689Skan	NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
24501169689Skan	* bb-reorder.c (mark_bb_for_unlikely_executed_section,
24502169689Skan	add_labels_and_missing_jumps, find_jump_block,
24503169689Skan	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
24504169689Skan	Likewise.
24505169689Skan	* bt-load.c (btr_referenced_p, compute_defs_uses_and_gen,
24506169689Skan	link_btr_uses, move_btr_def): Likewise.
24507169689Skan	* builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto,
24508169689Skan	expand_builtin_expect_jump): Likewise.
24509169689Skan	* caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise.
24510169689Skan	* calls.c (expand_call, emit_library_call_value_1): Likewise.
24511169689Skan	* cfganal.c (forwarder_block_p): Likewise.
24512169689Skan	* cfgbuild.c (inside_basic_block_p, count_basic_blocks,
24513169689Skan	make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1,
24514169689Skan	find_bb_boundaries): Likewise.
24515169689Skan	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
24516169689Skan	merge_blocks_move_predecessor_nojumps,
24517169689Skan	merge_blocks_move_successor_nojumps, insns_match_p,
24518169689Skan	flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
24519169689Skan	try_optimize_cfg): Likewise.
24520169689Skan	* cfgexpand.c (expand_block, construct_exit_block): Likewise.
24521169689Skan	* cfglayout.c (skip_insns_after_block, label_for_bb,
24522169689Skan	record_effective_endpoints, insn_locators_initialize,
24523169689Skan	fixup_reorder_chain, update_unlikely_executed_notes): Likewise.
24524169689Skan	* cfgmainloop.c (create_loop_notes): Likewise.
24525169689Skan	* cfgrtl.c (delete_insn, delete_insn_chain,
24526169689Skan	create_basic_block_structure, rtl_delete_block, free_bb_for_insn,
24527169689Skan	update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks,
24528169689Skan	block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
24529169689Skan	redirect_branch_edge, force_nonfallthru_and_redirect,
24530169689Skan	rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p,
24531169689Skan	rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb,
24532169689Skan	update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info,
24533169689Skan	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
24534169689Skan	cfg_layout_delete_block, cfg_layout_can_merge_blocks_p,
24535169689Skan	cfg_layout_merge_blocks, rtl_block_ends_with_call_p,
24536169689Skan	need_fake_edge_p, rtl_flow_call_edges_add): Likewise.
24537169689Skan	* combine.c (combine_instructions, can_combine_p, try_combine,
24538169689Skan	find_split_point, record_dead_and_set_regs, reg_dead_at_p,
24539169689Skan	distribute_notes, distribute_links, insn_cuid): Likewise.
24540169689Skan	* cse.c (fold_rtx, cse_insn, cse_around_loop,
24541169689Skan	invalidate_skipped_block, cse_set_around_loop,
24542169689Skan	cse_end_of_basic_block, cse_main, cse_basic_block,
24543169689Skan	cse_condition_code_reg): Likewise.
24544169689Skan	* cselib.c (cselib_process_insn): Likewise.
24545169689Skan	* ddg.c (create_ddg): Likewise.
24546169689Skan	* df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify):
24547169689Skan	Likewise.
24548169689Skan	* dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug,
24549169689Skan	gen_label_die, dwarf2out_var_location): Likewise.
24550169689Skan	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn,
24551169689Skan	next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn,
24552169689Skan	last_call_insn, active_insn_p, next_label, prev_label,
24553169689Skan	link_cc0_insns, next_cc0_user, try_split, add_insn_after,
24554169689Skan	add_insn_before, remove_insn, add_function_usage_to,
24555169689Skan	reorder_insns, find_line_note, remove_unnecessary_notes,
24556169689Skan	emit_insn_after_1, classify_insn): Likewise.
24557169689Skan	* except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before,
24558169689Skan	connect_post_landing_pads, sjlj_mark_call_sites,
24559169689Skan	sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers,
24560169689Skan	can_throw_internal, can_throw_external, set_nothrow_function_flags,
24561169689Skan	convert_to_eh_region_ranges): Likewise.
24562169689Skan	* explow.c (optimize_save_area_alloca): Likewise.
24563169689Skan	* expr.c (expand_expr_real): Likewise.
24564169689Skan	* final.c (insn_current_reference_address, compute_alignments,
24565169689Skan	shorten_branches, final, scan_ahead_for_unlikely_executed_note,
24566169689Skan	final_scan_insn, output_asm_label, leaf_function_p): Likewise.
24567169689Skan	* flow.c (first_insn_after_basic_block_note, delete_dead_jumptables,
24568169689Skan	propagate_block_delete_insn, propagate_one_insn,
24569169689Skan	init_propagate_block_info, propagate_block, libcall_dead_p,
24570169689Skan	mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment):
24571169689Skan	Likewise.
24572169689Skan	* function.c (instantiate_virtual_regs,	reorder_blocks_1,
24573169689Skan	expand_function_start, expand_function_end, contains,
24574169689Skan	thread_prologue_and_epilogue_insns,
24575169689Skan	reposition_prologue_and_epilogue_notes): Likewise.
24576169689Skan	* gcse.c (constprop_register, bypass_conditional_jumps,
24577169689Skan	insert_insn_end_bb, gcse_after_reload): Likewise.
24578169689Skan	* genemit.c (gen_expand, gen_split): Likewise.
24579169689Skan	* genpeep.c (gen_peephole, main): Likewise.
24580169689Skan	* global.c (build_insn_chain): Likewise.
24581169689Skan	* graph.c (node_data, print_rtl_graph_with_bb): Likewise.
24582169689Skan	* haifa-sched.c (unlink_other_notes, unlink_line_notes,
24583169689Skan	get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes,
24584169689Skan	restore_line_notes, rm_redundant_line_notes, rm_other_notes,
24585169689Skan	ok_for_early_queue_removal, set_priorities, sched_init): Likewise.
24586169689Skan	* ifcvt.c (count_bb_insns, first_active_insn, last_active_insn,
24587169689Skan	cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block,
24588169689Skan	merge_if_block, block_jumps_and_fallthru_p, find_if_block,
24589169689Skan	dead_or_predicable): Likewise.
24590169689Skan	* integrate.c (try_constants): Likewise.
24591169689Skan	* jump.c (rebuild_jump_labels, cleanup_barriers,
24592169689Skan	purge_line_number_notes, init_label_info, mark_all_labels,
24593169689Skan	squeeze_notes, get_label_before, get_label_after,
24594169689Skan	reversed_comparison_code_parts, simplejump_p, pc_set,
24595169689Skan	returnjump_p, onlyjump_p, follow_jumps, mark_jump_label,
24596169689Skan	delete_barrier, delete_prior_computation, delete_computation,
24597169689Skan	delete_related_insns, delete_for_peephole, redirect_jump):
24598169689Skan	Likewise.
24599169689Skan	* lcm.c (optimize_mode_switching): Likewise.
24600169689Skan	* local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc):
24601169689Skan	Likewise.
24602169689Skan	* loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise.
24603169689Skan	* loop-invariant.c (find_exits, find_invariants_bb): Likewise.
24604169689Skan	* loop-iv.c (simplify_using_assignment): Likewise.
24605169689Skan	* loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg,
24606169689Skan	libcall_benefit, skip_consec_insns, move_movables, prescan_loop,
24607169689Skan	find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop,
24608169689Skan	loop_bivs_init_find, strength_reduce, check_insn_for_bivs,
24609169689Skan	check_insn_for_givs, check_final_value, update_giv_derive,
24610169689Skan	basic_induction_var, product_cheap_p, check_dbra_loop,
24611169689Skan	loop_insn_first_p, last_use_this_basic_block,
24612169689Skan	canonicalize_condition, get_condition, loop_regs_scan, load_mems,
24613169689Skan	try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise.
24614169689Skan	* modulo-sched.c (doloop_register_get, find_line_note, sms_schedule,
24615169689Skan	sms_schedule_by_order): Likewise.
24616169689Skan	* optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise.
24617169689Skan	* postreload.c (reload_cse_simplify_operands, reload_combine,
24618169689Skan	reload_cse_move2add): Likewise.
24619169689Skan	* predict.c (can_predict_insn_p, estimate_probability,
24620169689Skan	expected_value_to_br_prob, process_note_predictions): Likewise.
24621169689Skan	* print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise.
24622169689Skan	* profile.c (branch_prob): Likewise.
24623169689Skan	* ra-build.c (live_out_1, livethrough_conflicts_bb,
24624169689Skan	detect_webs_set_in_cond_jump): Likewise.
24625169689Skan	* ra-debug.c (ra_print_rtx_object, ra_debug_insns,
24626169689Skan	ra_print_rtl_with_bb): Likewise.
24627169689Skan	* ra-rewrite.c (insert_stores, rewrite_program2): Likewise.
24628169689Skan	* recog.c (next_insn_tests_no_inequality, find_single_use,
24629169689Skan	split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise.
24630169689Skan	* reg-stack.c (next_flags_user, record_label_references,
24631169689Skan	emit_swap_insn, swap_rtx_condition, subst_stack_regs,
24632169689Skan	compensate_edge, convert_regs_1): Likewise.
24633169689Skan	* regclass.c (scan_one_insn): Likewise.
24634169689Skan	* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
24635169689Skan	regmove_optimize, fixup_match_1, single_set_for_csa,
24636169689Skan	combine_stack_adjustments_for_block): Likewise.
24637169689Skan	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise.
24638169689Skan	* reload.c (find_reloads, find_reloads_address_1, subst_reloads,
24639169689Skan	find_equiv_reg): Likewise.
24640169689Skan	* reload1.c (reload, calculate_needs_all_insns, set_label_offsets,
24641169689Skan	reload_as_needed, emit_input_reload_insns, do_output_reload,
24642169689Skan	delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges):
24643169689Skan	Likewise.
24644169689Skan	* reorg.c (find_end_label, emit_delay_sequence,
24645169689Skan	delete_from_delay_slot, delete_scheduled_jump, optimize_skip,
24646169689Skan	get_jump_flags, rare_destination, mostly_true_jump,
24647169689Skan	try_merge_delay_insns, redundant_insn, own_thread_p,
24648169689Skan	fill_simple_delay_slots, fill_slots_from_thread,
24649169689Skan	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
24650169689Skan	dbr_schedule): Likewise.
24651169689Skan	* resource.c (find_basic_block, next_insn_no_annul,
24652169689Skan	find_dead_or_set_registers, mark_target_live_regs): Likewise.
24653169689Skan	* rtl.h (RTX_PREV): Likewise.
24654169689Skan	* rtlanal.c (global_reg_mentioned_p, no_labels_between_p,
24655169689Skan	no_jumps_between_p, reg_used_between_p, reg_referenced_between_p,
24656169689Skan	reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage,
24657169689Skan	find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1,
24658169689Skan	tablejump_p, computed_jump_p, insns_safe_to_move_p,
24659169689Skan	find_first_parameter_load, can_hoist_insn_p): Likewise.
24660169689Skan	* sched-deps.c (get_condition, add_dependence, sched_analyze_2,
24661169689Skan	sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise.
24662169689Skan	* sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns,
24663169689Skan	schedule_ebbs): Likewise.
24664169689Skan	* sched-rgn.c (is_cfg_nonregular, find_conditional_protection,
24665169689Skan	is_conditionally_protected, can_schedule_ready_p,
24666169689Skan	add_branch_dependences, debug_dependencies): Likewise.
24667169689Skan	* stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable):
24668169689Skan	Likewise.
24669169689Skan	* unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p,
24670169689Skan	reg_dead_after_loop, loop_find_equiv_value, loop_iterations,
24671169689Skan	set_dominates_use, ujump_to_loop_cont): Likewise.
24672169689Skan	* var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise.
24673169689Skan	* varasm.c (output_constant_pool_1): Likewise.
24674169689Skan
24675169689Skan2004-07-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
24676169689Skan
24677169689Skan	* tree-scalar-evolution.c: New file.
24678169689Skan	* tree-scalar-evolution.h: New file.
24679169689Skan	* tree-ssa-loop-niter.c: New file.
24680169689Skan	* Makefile.in (SCEV_H): New.
24681169689Skan	(tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files.
24682169689Skan	* cfgloop.h (struct loop): Add bounds field.
24683169689Skan	* tree-flow.h (struct tree_niter_desc): New type.
24684169689Skan	(number_of_iterations_cond, number_of_iterations_exit,
24685169689Skan	loop_niter_by_eval, find_loop_niter_by_eval,
24686169689Skan	estimate_numbers_of_iterations, can_count_iv_in_wider_type,
24687169689Skan	free_numbers_of_iterations_estimates): Declare.
24688169689Skan	* tree.h (lower_bound_in_type, upper_bound_in_type): Declare.
24689169689Skan	* params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter.
24690169689Skan	* doc/invoke.texi (max-iterations-to-track): Document.
24691169689Skan
24692169689Skan2004-07-08  Kaz Kojima  <kkojima@gcc.gnu.org>
24693169689Skan
24694169689Skan	* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
24695169689Skan	* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
24696169689Skan	(MODE_AFTER): Add cast appropriately.
24697169689Skan	* config/sh/sh.md (movdi splitter): Likewise.
24698169689Skan	(casesi_worker_2): Add const qualifier appropriately.
24699169689Skan	(eh_return): Remove unused variable.
24700169689Skan	(insv): Initialize v;
24701169689Skan
24702169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24703169689Skan
24704169689Skan	* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
24705169689Skan	* config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24706169689Skan	(mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
24707169689Skan	* config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
24708169689Skan	(FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.
24709169689Skan
24710169689Skan	* config/m32r/m32r-protos.h (m32r_va_arg): Remove.
24711169689Skan	* config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24712169689Skan	(m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
24713169689Skan	* config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.
24714169689Skan
24715169689Skan	* config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
24716169689Skan	* config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24717169689Skan	(iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
24718169689Skan	* config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.
24719169689Skan
24720169689Skan	* config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
24721169689Skan	* config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24722169689Skan	(frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
24723169689Skan	* config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.
24724169689Skan
24725169689Skan	* config/i860/i860-protos.h (i860_va_arg): Remove.
24726169689Skan	* config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24727169689Skan	(i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
24728169689Skan	* config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.
24729169689Skan
24730169689Skan2004-05-31  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
24731169689Skan
24732169689Skan	* system.h: Prototype getpagesize if missing.
24733169689Skan	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
24734169689Skan	* configure: Regenerate.
24735169689Skan	* config.in: Regenerate.
24736169689Skan
24737169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24738169689Skan
24739169689Skan	* config/fr30/fr30-protos.h (fr30_va_arg): Remove.
24740169689Skan	* config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24741169689Skan	(fr30_gimplify_va_arg_expr): New.
24742169689Skan	(fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
24743169689Skan	* config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.
24744169689Skan
24745169689Skan2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
24746169689Skan
24747169689Skan	PR target/16414
24748169689Skan	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
24749169689Skan	of asm_noperands result.
24750169689Skan
24751169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24752169689Skan
24753169689Skan	* config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
24754169689Skan	* config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24755169689Skan	(cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
24756169689Skan	* config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.
24757169689Skan
24758169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24759169689Skan
24760169689Skan	* builtins.c (ind_gimplify_va_arg_expr): New.
24761169689Skan	* tree.h (ind_gimplify_va_arg_expr): Declare.
24762169689Skan	* config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.
24763169689Skan
24764169689Skan2004-07-08  Jan Beulich  <jbeulich@novell.com>
24765169689Skan
24766169689Skan	* expmed.c (extract_bit_field): Correct condition to use vec_extract
24767169689Skan	patterns also on vector elements other than the first one.
24768169689Skan	* config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
24769169689Skan	break statements.
24770169689Skan
24771169689Skan2004-07-08  Geoffrey Keating  <geoffk@apple.com>
24772169689Skan
24773169689Skan	* config/rs6000/darwin-ldouble.c: Correct reference
24774169689Skan	to the Linnainmaa paper.
24775169689Skan
24776169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24777169689Skan
24778169689Skan	* config/arc/arc-protos.h (arc_va_arg): Remove.
24779169689Skan	* config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24780169689Skan	(arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
24781169689Skan	* config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.
24782169689Skan
24783169689Skan	* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
24784169689Skan	* config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
24785169689Skan	(c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
24786169689Skan	* config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.
24787169689Skan
24788169689Skan2004-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
24789169689Skan
24790169689Skan	* pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
24791169689Skan
24792169689Skan2004-07-08  Zack Weinberg  <zack@codesourcery.com>
24793169689Skan
24794169689Skan	* c-decl.c (static_ctors, static_dtors): Make static.
24795169689Skan	(pop_file_scope): Call c_common_write_pch and
24796169689Skan	cgraph_finalize_compilation_unit here.
24797169689Skan	(build_cdtor): Moved here from c-objc-common.c; simplify.
24798169689Skan	(c_write_global_declarations_1): Clarify comment.
24799169689Skan	(c_write_global_declarations): Close the external scope before
24800169689Skan	doing anything else.  Call build_cdtor, cgraph_optimize, and
24801169689Skan	mudflap_finish_file here.
24802169689Skan	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
24803169689Skan	Clarify comment.
24804169689Skan	* c-objc-common.c: No need to include cgraph.h.
24805169689Skan	(build_cdtor): Moved to c-decl.c.
24806169689Skan	(c_objc_common_finish_file): Delete.
24807169689Skan	* c-tree.h: Update to match.
24808169689Skan	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
24809169689Skan	(generate_static_references): Set TREE_USED before calling finish_decl.
24810169689Skan	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
24811169689Skan	on the static_instances_decl.
24812169689Skan
24813169689Skan2004-07-08  Zack Weinberg  <zack@codesourcery.com>
24814169689Skan
24815169689Skan	* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
24816169689Skan	decls when there is only one input translation unit.
24817169689Skan	* langhooks.c (lhd_set_decl_assembler_name): Partially revert
24818169689Skan	change of 2004-07-05; do not treat declarations with
24819169689Skan	DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
24820169689Skan	* opts.c (cur_in_fname): Delete.
24821169689Skan	* opts.h: Likewise.
24822169689Skan	* tree.c: Revert changes of 2004-07-05; no special treatment
24823169689Skan	for TRANSLATION_UNIT_DECLs.
24824169689Skan	* Makefile.in (tree.o): Update dependencies.
24825169689Skan
24826169689Skan2004-07-08  Roger Sayle  <roger@eyesopen.com>
24827169689Skan
24828169689Skan	* builtins.c (fold_builtin_strcpy): Merge functionality from
24829169689Skan	simplify_builtin_strcpy.  Add additional len argument.  No longer
24830169689Skan	static.  Remove function prototype.
24831169689Skan	(fold_builtin_strncpy): Likewise integrate functionality from
24832169689Skan	simplify_builtin_strncpy.  Add additional slen argument.  No
24833169689Skan	longer static.  Remove function prototype.
24834169689Skan	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
24835169689Skan	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
24836169689Skan	types of "ignore" and "unlocked" parameters to bool.
24837169689Skan	(fold_builtin_1): Add additional ignore argument.  Call renamed
24838169689Skan	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
24839169689Skan	builtins.  Update arguments to fold_builtin_strncpy and
24840169689Skan	fold_builtin_strcpy.  Add function prototype.
24841169689Skan	(fold_builtin): Add additional Boolean ignore argument to pass
24842169689Skan	to fold_builtin_1.
24843169689Skan	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
24844169689Skan	and fold_builtin_strncpy instead of simplify_builtin_fputs,
24845169689Skan	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.
24846169689Skan
24847169689Skan	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
24848169689Skan	simplify_builtin_strncpy): Delete function prototypes.
24849169689Skan	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
24850169689Skan	fold_builtin_strncpy): Add function prototypes here.
24851169689Skan	(fold_builtin): Update function prototype with new "bool ignore".
24852169689Skan
24853169689Skan	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
24854169689Skan	(ccp_fold_builtin): Update call to fold_builtin.  Call
24855169689Skan	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
24856169689Skan	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
24857169689Skan	simplify_builtin_strncpy respectively.
24858169689Skan	* fold-const.c (fold): Update call to fold_builtin.
24859169689Skan
24860169689Skan2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
24861169689Skan
24862169689Skan	* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
24863169689Skan	to strcpy.
24864169689Skan
24865169689Skan	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
24866169689Skan	(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
24867169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Likewise.
24868169689Skan	* calls.c: Remove ifdefs of macros above.
24869169689Skan	* functions.c: Likewise.
24870169689Skan	* expr.c: Likewise.
24871169689Skan
24872169689Skan2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
24873169689Skan
24874169689Skan	* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
24875169689Skan	(arch attribute): Delete.
24876169689Skan	(current_function_calls_alloca attribute): Rename into calls_alloca.
24877169689Skan	(calls_eh_return): New attribute.
24878169689Skan	(leaf_function): Likewise.
24879169689Skan	(length attribute): Fix formula for sibcalls.
24880169689Skan	(return insn): Correctly compute the 'length' attribute.
24881169689Skan	(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.
24882169689Skan
24883169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24884169689Skan
24885169689Skan	* tree-cfg.c (make_exit_edges): Use get_call_expr_in.
24886169689Skan	(remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
24887169689Skan	(tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
24888169689Skan	* tree-eh.c (lower_eh_constructs_1): Likewise.
24889169689Skan	* tree-sra.c (sra_walk_modify_expr): Likewise.
24890169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
24891169689Skan	(eliminate_unnecessary_stmts): Likewise.
24892169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Likewise.
24893169689Skan	* tree-tailcall.c (optimize_tail_call): Likewise.
24894169689Skan	* tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.
24895169689Skan
24896169689Skan2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
24897169689Skan	    Jakub Jelinek  <jakub@redhat.com>
24898169689Skan
24899169689Skan	* config/i386/i386.c (override_options): Enable
24900169689Skan	SSE prefetches with -mtune, as long as we are
24901169689Skan	compiling for i686 or higher.  All i686 processors
24902169689Skan	accept SSE prefetches as NOPS, some i586's don't.
24903169689Skan
24904169689Skan2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
24905169689Skan
24906169689Skan	PR target/10567
24907169689Skan	* config/sparc/sparc.md (update_return): Honor flag_delayed_branch.
24908169689Skan
24909169689Skan2004-07-08  Diego Novillo  <dnovillo@redhat.com>
24910169689Skan
24911169689Skan	* tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
24912169689Skan	the handling of clobbering ASM_EXPRs.
24913169689Skan
24914169689Skan2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
24915169689Skan
24916169689Skan	PR target/16430
24917169689Skan	* config/sparc/sparc.c (function_value): In 64-bit mode,
24918169689Skan	return the aggregates larger than 16 bytes like unions.
24919169689Skan
24920169689Skan2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
24921169689Skan
24922169689Skan	PR target/16199
24923169689Skan	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
24924169689Skan	'temp' is zero, generate new pseudos as needed and emit the
24925169689Skan	sequence of insns in single-assignment form.  Resync comments
24926169689Skan	with code.
24927169689Skan	(sparc_emit_set_const64): Pass zero as 'temp' argument to above
24928169689Skan	function before reload.
24929169689Skan
24930169689Skan2004-07-08  Nathan Sidwell  <nathan@codesourcery.com>
24931169689Skan
24932169689Skan	* vec.c (vec_assert_fail): Remove duplicate 'function'.
24933169689Skan
24934169689Skan	* vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed.
24935169689Skan
24936169689Skan	* vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init):
24937169689Skan	Allocation is signed.
24938169689Skan	(VEC_reserve): Return flag, allocation is signed.
24939169689Skan
24940169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24941169689Skan
24942169689Skan	* tree-ssa-ccp.c (fold_stmt): Get type directly from
24943169689Skan	OBJ_TYPE_REF_OBJECT.
24944169689Skan
24945169689Skan2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
24946169689Skan	    Neil Booth  <neil@daikokuya.co.uk>
24947169689Skan
24948169689Skan	PR c/2511
24949169689Skan	PR c/3325
24950169689Skan	* c-decl.c (finish_struct): Ensure bit-fields are given the
24951169689Skan	correct type.
24952169689Skan	* c-common.c (c_common_signed_or_unsigned_type): For C, require
24953169689Skan	the precision to match as well as the mode.
24954169689Skan	* expr.c (reduce_to_bit_field_precision): New function.
24955169689Skan	(expand_expr_real_1): Reduce expressions of bit-field type to
24956169689Skan	proper precision.
24957169689Skan	* langhooks.h (reduce_bit_field_operations): New hook.
24958169689Skan	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
24959169689Skan	Define.
24960169689Skan	* c-lang.c, objc/objc-lang.c
24961169689Skan	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
24962169689Skan	* objc/objc-act.c (check_ivars): Convert types to bit-field types
24963169689Skan	before checking.
24964169689Skan	* tree.c (build_nonstandard_integer_type): New function.
24965169689Skan	* tree.h (build_nonstandard_integer_type): New prototype.
24966169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
24967169689Skan	conversions between integer and boolean types as useless.
24968169689Skan
24969169689Skan2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
24970169689Skan
24971169689Skan	* c-common.c (c_common_nodes_and_builtins): Do not
24972169689Skan	create __builtin_ptrdiff_t and __builtin_size_t.
24973169689Skan
24974169689Skan2004-07-08  Andrew Pinski  <apinski@apple.com>
24975169689Skan
24976169689Skan	* Makefile.in (libbackend.o): Add -combine to the gcc
24977169689Skan	command line.
24978169689Skan
24979169689Skan2004-07-08  Nick Clifton  <nickc@redhat.com>
24980169689Skan
24981169689Skan	* config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define.
24982169689Skan	Set to -Os.
24983169689Skan
24984169689Skan2004-07-08  Richard Henderson  <rth@redhat.com>
24985169689Skan
24986169689Skan	* except.c (expand_eh_region_start, expand_eh_region_end,
24987169689Skan	expand_eh_handler, expand_eh_region_end_cleanup,
24988169689Skan	expand_start_all_catch, expand_start_catch, expand_end_catch,
24989169689Skan	expand_end_all_catch, expand_eh_region_end_allowed,
24990169689Skan	expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
24991169689Skan	expand_eh_region_end_fixup): Remove.
24992169689Skan	* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
24993169689Skan	cleanups, outer_cleanups, label_chain, exception_region.
24994169689Skan	(struct goto_fixup): Remove stack_level, cleanup_list_list.
24995169689Skan	(struct label_chain): Remove.
24996169689Skan	(struct stmt_status): Remove x_stack_block_stack.
24997169689Skan	(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
24998169689Skan	fixup_gotos, save_stack_pointer, expand_decl_cleanup,
24999169689Skan	expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
25000169689Skan	end_cleanup_deferral, last_cleanup_this_contour,
25001169689Skan	containing_blocks_have_cleanups_or_stack_level,
25002169689Skan	any_pending_cleanups): Remove.
25003169689Skan	(expand_null_return_1): Take no arguments.
25004169689Skan	(expand_label, expand_naked_return, expand_return,
25005169689Skan	expand_start_bindings_and_block, expand_end_bindings, expand_decl,
25006169689Skan	expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
25007169689Skan	expand_end_case_type): Don't use any of them.
25008169689Skan	* calls.c (expand_call): Likewise.
25009169689Skan	* dojump.c (do_jump): Likewise.
25010169689Skan	* function.c (expand_function_end): Likewise.
25011169689Skan	* expr.c (store_expr, expand_expr_real_1): Likewise.
25012169689Skan	(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
25013169689Skan	(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
25014169689Skan	CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
25015169689Skan	EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
25016169689Skan	* fold-const.c (fold_checksum_tree): Use first_rtl_op.
25017169689Skan	* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
25018169689Skan	* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
25019169689Skan	for WITH_CLEANUP_EXPR.
25020169689Skan	(gimple_push_cleanup): Likewise.
25021169689Skan	* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
25022169689Skan	* print-tree.c (print_node): Likewise.
25023169689Skan	* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
25024169689Skan	* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
25025169689Skan	(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
25026169689Skan	* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
25027169689Skan	(GOTO_SUBROUTINE_EXPR): Remove.
25028169689Skan	* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
25029169689Skan	(DECL_TOO_LATE): Remove.
25030169689Skan	* except.h, tree.h: Update decls.
25031169689Skan
25032169689Skan2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
25033169689Skan
25034169689Skan	* explow.c (optimize_save_area_alloca): Do not accept parameters.
25035169689Skan	* passes.c (rest_of_handle_final): Handle symout.
25036169689Skan	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc):
25037169689Skan	Push timevar here.
25038169689Skan	(rest_of_handle_sched): Break out SMS.  Remove ifs for
25039169689Skan	flag_schedule_insns and flag_modulo_sched.
25040169689Skan	(rest_of_handle_addressof, rest_of_handle_cse2): Garbage
25041169689Skan	collect at the end.
25042169689Skan	(rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS.
25043169689Skan	(rest_of_handle_partition_blocks, rest_of_handle_sms,
25044169689Skan	rest_of_handle_if_after_reload, rest_of_handle_peephole2,
25045169689Skan	rest_of_handle_mode_switching, rest_of_handle_jump,
25046169689Skan	rest_of_handle_guess_branch_prob, rest_of_handle_eh,
25047169689Skan	rest_of_handle_jump2, rest_of_handle_postreload,
25048169689Skan	rest_of_handle_flow2, rest_of_clean_state,
25049169689Skan	rest_of_handle_shorten_branches,
25050169689Skan	rest_of_handle_prologue_epilogue,
25051169689Skan	rest_of_handle_branch_target_load_optimize): New.
25052169689Skan	(rest_of_compilation): Call the above.  Remove ggc_collect
25053169689Skan	calls moved to rest_of_handle_*.
25054169689Skan	* rtl.h (optimize_save_area_alloca): Do not accept parameters.
25055169689Skan
25056169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW.
25057169689Skan	* except.c (set_nothrow_function_flags): Set TREE_NOTHROW.
25058169689Skan	* except.h (set_nothrow_function_flags): Update comment.
25059169689Skan	* function.c (current_function_nothrow): Remove.
25060169689Skan	* output.h (current_function_nothrow): Remove.
25061169689Skan	* passes.c (rest_of_compilation): Do not set TREE_NOTHROW.
25062169689Skan	* config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW.
25063169689Skan
25064169689Skan2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
25065169689Skan
25066169689Skan	PR bootstrap/16326
25067169689Skan	* reorg.c: Revert 2004-06-30 change.
25068169689Skan	(find_end_label): If HAVE_epilogue and !HAVE_return,
25069169689Skan	return 0 instead of creating a label at the end of the insn chain.
25070169689Skan	(optimize_skip): Account for the failure mode of find_end_label.
25071169689Skan	(fill_simple_delay_slots): Likewise.
25072169689Skan	(fill_slots_from_thread): Likewise.
25073169689Skan	(relax_delay_slots): Likewise.
25074169689Skan
25075169689Skan2004-07-08  Diego Novillo  <dnovillo@redhat.com>
25076169689Skan
25077169689Skan	* tree-flow.h (addressable_vars): Declare.
25078169689Skan	* tree-ssa-alias.c (addressable_vars): Define.
25079169689Skan	(setup_pointers_and_addressables): Add addressable variables
25080169689Skan	to addressable_vars.
25081169689Skan	* tree-ssa-operands.c (get_stmt_operands): Move
25082169689Skan	handling of ASM_EXPRs ...
25083169689Skan	(get_asm_expr_operands): ... here.
25084169689Skan	When the ASM_EXPR clobbers memory, also clobber addressable
25085169689Skan	variables.
25086169689Skan	* tree-ssa.c (init_tree_ssa): Initialize addressable_vars.
25087169689Skan	(delete_tree_ssa): Reset addressable_vars.
25088169689Skan
25089169689Skan2004-07-07  Jan Beulich  <jbeulich@novell.com>
25090169689Skan	    Richard Henderson  <rth@redhat.com>
25091169689Skan
25092169689Skan	* varasm.c (assemble_variable): Use assemble_zeros for
25093169689Skan	zero-initialized variables.
25094169689Skan	(categorize_decl_for_section): Honor flag_zero_initialized_in_bss
25095169689Skan	for SECCAT_BSS and SECCAT_TBSS.
25096169689Skan
25097169689Skan2004-07-07  Jan Beulich  <jbeulich@novell.com>
25098169689Skan
25099169689Skan	* varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP.
25100169689Skan
25101169689Skan	* expmed.c (emit_store_flag): Also special-case double-word
25102169689Skan	(in-)equality comparison against -1.
25103169689Skan
25104169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for
25105169689Skan	passing arguments the containers for which are registers.
25106169689Skan
25107169689Skan	* calls.c (emit_library_call_value_1): Use mode of function parameter
25108169689Skan	rather than that of argument since constants have none.
25109169689Skan
25110169689Skan2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
25111169689Skan
25112169689Skan	Introduce H8SX support.
25113169689Skan	* expr.c (expand_strcpy): Renamed and moved to...
25114169689Skan	* builtins.c (expand_movstr): ... here.  Tweak.
25115169689Skan	(expand_builtin_strcpy): Adjust.  Use movstr if len can't be
25116169689Skan	computed or has side effects.
25117169689Skan	(expand_builtin_stpcpy): Likewise.  Use strcpy if return value is
25118169689Skan	unused, or if mempcpy fails.  Adjust the return value in the
25119169689Skan	latter case.  Use movstr if everything else fails.
25120169689Skan	* doc/md.texi (movstr): Document.
25121169689Skan	(movmemM, clrmemM): Fix explanation of memory block operands.
25122169689Skan	* config/h8300/h8300.md (stpcpy): Renamed to...
25123169689Skan	(movstr): ... this.  Adjust.
25124169689Skan	2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
25125169689Skan	* config/h8300/h8300.md: Rename movstr*, except for movstrict*, to
25126169689Skan	movmem* and clrstr* to clrmem*.
25127169689Skan	2004-06-27  Alexandre Oliva  <aoliva@redhat.com>
25128169689Skan	* config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to
25129169689Skan	GENERAL_REGS, always.
25130169689Skan	(h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of
25131169689Skan	getting the stack pointer as addr.
25132169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes
25133169689Skan	from general_operand_dst.
25134169689Skan	* config/h8300/h8300.md (movmd_internal_normal): New, normal-mode
25135169689Skan	variant of...
25136169689Skan	(movmd_internal): ... this.  Add modes to operands.  Disparage `D'
25137169689Skan	instead of requiring it to match only before reload.
25138169689Skan	(stpcpy_internal_normal): New, normal-mode variant of...
25139169689Skan	(stpcpy_internal): ... this.  Add modes to operands.  Disparage
25140169689Skan	`D' instead of requiring it to match only before reload.
25141169689Skan	* config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add
25142169689Skan	mode argument.
25143169689Skan	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to...
25144169689Skan	* config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to
25145169689Skan	h8300_get_index.
25146169689Skan	* config/h8300/h8300.md (attr type): Add call.
25147169689Skan	(attr can_delay): If type is call, set it no.
25148169689Skan	(call, call_value): Set type to call.
25149169689Skan	2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
25150169689Skan	* config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New.
25151169689Skan	2004-06-16  Alexandre Oliva  <aoliva@redhat.com>
25152169689Skan	* tree.c (get_narrower): Don't narrow integral types into
25153169689Skan	non-integral types.
25154169689Skan	* config/h8300/h8300.c (h8300_expand_epilogue): Initialize
25155169689Skan	frame_size *before* the first use.
25156169689Skan	* config/h8300/h8300.md (movstrictqi): Reintroduce post-increment
25157169689Skan	on input.
25158169689Skan	(peephole2): Don't widen instructions that push SP.  Move
25159169689Skan	decrement of SP to the end of all stm-generating peepholes.
25160169689Skan	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
25161169689Skan	* config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield
25162169689Skan	and OR to set it to all ones.
25163169689Skan	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
25164169689Skan	* config/h8300/h8300.md (can_delay): Default to "no" for bit branches.
25165169689Skan	(call, call_value): Set can_delay to "no".
25166169689Skan	2003-07-22  Richard Sandiford  <rsandifo@redhat.com>
25167169689Skan	* config/h8300/h8300.md (extzv): Make subreg check more robust.
25168169689Skan	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
25169169689Skan	* config/h8300/h8300.md (*brabit): Remove.
25170169689Skan	* config/h8300/h8300.md (*brabc, *brabs): Remove mode from
25171169689Skan	zero_extract.  Use bit_memory_operand as the predicate for
25172169689Skan	operand 1 and 'WU' as the constraint.  Check the difference
25173169689Skan	between the base length and the final one when deciding which
25174169689Skan	type of branch to use.
25175169689Skan	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
25176169689Skan	* config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1.
25177169689Skan	Use convert_move to extend the result for TARGET_H8300SX.  Check
25178169689Skan	for QImode memory references.  Optimize the case where the
25179169689Skan	destination is a paradoxical subreg.
25180169689Skan	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
25181169689Skan	* config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative.
25182169689Skan	* config/h8300/h8300.md (andqi): Remove bclr from h8sx version.
25183169689Skan	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
25184169689Skan	* config/h8300/h8300.md: Include mova.md
25185169689Skan	(length_table): Add mova and mova_zero.
25186169689Skan	* config/h8300/h8300.c (print_operand): Handle '%o'.  Print a length
25187169689Skan	after all constant addresses for '%R', '%X', '%T' and '%S'.
25188169689Skan	(h8300_mova_length): New function.
25189169689Skan	(h8300_insn_length_from_table): Use it to handle mova and mova_zero.
25190169689Skan	* config/h8300/t-h8300 (mova.md): Generate from genmova.sh.  Add to
25191169689Skan	dependencies for s-config, etc.
25192169689Skan	* config/h8300/gemova.sh: New file.
25193169689Skan	* config/h8300/mova.md: Generated.
25194169689Skan	2003-07-20  Alexandre Oliva  <aoliva@redhat.com>
25195169689Skan	* config/h8300/h8300.c (h8300_bitfield_length): New.
25196169689Skan	(nibble_operand): Adjust.
25197169689Skan	(h8300_binary_length): Handle conditional binary op.
25198169689Skan	(h8300_insn_length_from_table): Handle bitfield and bitbranch.
25199169689Skan	* config/h8300/h8300.h: Change constraints W# and Y# to P#>X and
25200169689Skan	P#<X, respectively.  The original P is now IP4>X.  Introduced P#>0
25201169689Skan	and P#<0, unused so far.  W and Y are now prefixes to multi-letter
25202169689Skan	constraints.  WU is introduced as a variant of U that requires a
25203169689Skan	mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT.
25204169689Skan	* config/h8300/h8300.md (attr type): Added bitbranch.
25205169689Skan	(attr length_table): Added bitfield and bitbranch.
25206169689Skan	(attr length): Compute bitbranch length.
25207169689Skan	(andqi): Separate pattern for H8300SX.  Use bfld for loading the
25208169689Skan	least-significant bit of a byte.
25209169689Skan	(brabit, brabc, brabs): New.
25210169689Skan	(insv, extzv): Emit bfst and bfld on H8300SX.
25211169689Skan	(bfld, bfst, seq, sne): New.
25212169689Skan	(bstzhireg, cmpstz, bstz, bistz): New.
25213169689Skan	(cmpcondbset, condbset, cmpcondbclr, condbclr): New.
25214169689Skan	(cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New.
25215169689Skan	2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
25216169689Skan	* config/h8300/h8300.c (h8sx_binary_memory_operator): New function.
25217169689Skan	(h8sx_unary_memory_operator): New function.
25218169689Skan	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable.
25219169689Skan	(PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator.
25220169689Skan	* config/h8300/h8300.md: Add peepholes to combine reloads and
25221169689Skan	arithmetic insns.
25222169689Skan	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
25223169689Skan	* config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints.
25224169689Skan	(*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise.
25225169689Skan	(and?i, ior?i, xor?i): Likewise.
25226169689Skan	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
25227169689Skan	* config/h8300/h8300.c: Move enums and prototypes to head of file.
25228169689Skan	Various whitespace fixes.
25229169689Skan	(h8300_constant_length): New function, split out from...
25230169689Skan	(h8300_displacement_size): ...here.  Rename h8300_displacement_length.
25231169689Skan	(h8300_classify_operand): Use IN_RANGE.
25232169689Skan	(h8300_classify_operand): Use h8300_constant_length.
25233169689Skan	(h8300_short_move_mem_p): Tighten size check.
25234169689Skan	(h8sx_mergeable_memrefs_p): Tighten equality check.
25235169689Skan	2003-06-30  Richard Sandiford  <rsandifo@redhat.com>
25236169689Skan	* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__
25237169689Skan	for -msx.
25238169689Skan	* config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code.
25239169689Skan	* config/h8300/crtn.asm: Likewise.
25240169689Skan	* config/h8300/lib1funcs.asm: Likewise.  Use 32-bit pointers
25241169689Skan	if __H8300SX__ is defined.
25242169689Skan	2003-06-27  Richard Sandiford  <rsandifo@redhat.com>
25243169689Skan	* config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter.
25244169689Skan	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly.
25245169689Skan	(GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed
25246169689Skan	addresses as mode-dependent.
25247169689Skan	* config/h8300/h8300.c (print_operand_address): Update call to
25248169689Skan	h8300_get_index.
25249169689Skan	(h8300_get_index): Take a mode argument.  Rework to fix an
25250169689Skan	earlier misunderstanding.
25251169689Skan	2003-06-26  Richard Sandiford  <rsandifo@redhat.com>
25252169689Skan	* config/h8300/h8300.c (zero_extendqisi2): Force the source operand
25253169689Skan	into a register if TARGET_H8300SX.
25254169689Skan	(*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for
25255169689Skan	TARGET_H8300SX.  Also disable related define_splits.
25256169689Skan	(*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns.
25257169689Skan	2003-06-23  Richard Sandiford  <rsandifo@redhat.com>
25258169689Skan	* config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling.
25259169689Skan	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
25260169689Skan	* config/h8300/h8300.h (OK_FOR_Z): New macro.
25261169689Skan	(EXTRA_CONSTRAINT_STR): Check it.
25262169689Skan	* config/h8300/h8300.c (h8300_classify_operand): Accept null
25263169689Skan	class arguments.
25264169689Skan	(h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4.
25265169689Skan	* config/h8300/h8300.md (length_table): Add mov_imm4.
25266169689Skan	(movqi, movhi): Add Z <- W4 alternatives to h8sx patterns.
25267169689Skan	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
25268169689Skan	* genattrtab.c (write_eligible_delay): Allow candidate_insn to
25269169689Skan	be a label.
25270169689Skan	* config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro.
25271169689Skan	* config/h8300/h8300.c (h8300_reorg): New function.
25272169689Skan	(TARGET_MACHINE_DEPENDENT_REORG): Define.
25273169689Skan	* config/h8300/h8300.md (length): Subtract the length of the
25274169689Skan	delay slot from (pc) when checking the range of forward branches.
25275169689Skan	(delay_slot, can_delay): New attributes.
25276169689Skan	(define_delay): Add bra/s handling.
25277169689Skan	(movmd_internal, return_h8sx, *return_1): Set can_delay to no.
25278169689Skan	(jump): Add delayed-branch handling.
25279169689Skan	2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
25280169689Skan	* expr.c (expand_strcpy): New function.
25281169689Skan	* builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy.
25282169689Skan	(expand_builtin_stpcpy): Likewise.
25283169689Skan	* config/h8300/h8300-protos.h (h8sx_split_movmd): Remove.
25284169689Skan	(h8300_swap_into_er6, h8300_swap_out_of_er6): Declare.
25285169689Skan	* config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd'
25286169689Skan	handling to improve register allocation for -fno-omit-frame-pointer.
25287169689Skan	(h8sx_split_movmd): Delete, moving er6 handling into...
25288169689Skan	(h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions.
25289169689Skan	* config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant.
25290169689Skan	(movmd): Add calls to copy_rtx.
25291169689Skan	(movmd_internal): In the second alternative, allow the initial and
25292169689Skan	final destination registers to be different .  Update the splitter
25293169689Skan	accordingly.  Call h8300_swap_into_er6 and h8300_swap_out_of_er6
25294169689Skan	instead of h8sx_split_movmd.
25295169689Skan	(stpcpy, movsd): New expanders.
25296169689Skan	(movsd_internal): New define_insn.
25297169689Skan	2003-06-13  Richard Sandiford  <rsandifo@redhat.com>
25298169689Skan	* config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare.
25299169689Skan	(h8sx_emit_movmd, h8sx_split_movmd): Declare.
25300169689Skan	* config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS
25301169689Skan	and DESTINATION_REGS.
25302169689Skan	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
25303169689Skan	(REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes.
25304169689Skan	(REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter.
25305169689Skan	(h8300_move_ratio): Declare.
25306169689Skan	(MOVE_RATIO): Use it.
25307169689Skan	* config/h8300/h8300.c (h8300_move_ratio): New variable.
25308169689Skan	(h8300_init_once): Initialize it.
25309169689Skan	(h8300_reg_class_from_letter): New function.
25310169689Skan	(print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l".
25311169689Skan	(h8sx_emit_movmd, h8sx_split_movmd): New functions.
25312169689Skan	* config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant.
25313169689Skan	(COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants.
25314169689Skan	(movstrsi, movmd): New expanders.
25315169689Skan	(movmd_internal): New insn.
25316169689Skan	2003-06-06  Richard Sandiford  <rsandifo@redhat.com>
25317169689Skan	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define.
25318169689Skan	2003-06-04  Richard Sandiford  <rsandifo@redhat.com>
25319169689Skan	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn.
25320169689Skan	* config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise.
25321169689Skan	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
25322169689Skan	* config/h8300/h8300.c (nibble_operand): Fix warning.
25323169689Skan	* config/h8300/h8300.md (movstricthi): Set adjust_length to no.
25324169689Skan	(movsi_h8sx): Likewise here and the normal h8sx movhi pattern.
25325169689Skan	(movsf_h8300h): Disable for TARGET_H8300SX.
25326169689Skan	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
25327169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel,
25328169689Skan	h8300_stm_parallel and h8300_return_parallel.
25329169689Skan	* config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p,
25330169689Skan	h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel,
25331169689Skan	h8300_stm_parallel, h8300_return_parallel): New functions.
25332169689Skan	(h8300_expand_prologue): Don't enforce ldm/stm register alignment
25333169689Skan	if TARGET_H8300SX.  Use h8300_push_pop.
25334169689Skan	(h8300_expand_epilogue): Likewise.  Try to merge the return insn
25335169689Skan	and final pop when generating h8sx code.  Always emit some form
25336169689Skan	of return insn.
25337169689Skan	* config/h8300/h8300.md: Don't enforce register alignment in
25338169689Skan	stm peepholes if TARGET_H8300SX.
25339169689Skan	(ldm_h8300s, stm_h8300s, return_h8sx): New patterns.
25340169689Skan	(ldm_h8300s_[234], stm_h8300_[234]): Disable.
25341169689Skan	(epilogue): Expect h8300_expand_epilogue to emit a return insn.
25342169689Skan	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
25343169689Skan	* config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib.
25344169689Skan	(MULTILIB_DIRNAMES): Add a directory for it.
25345169689Skan	(MULTILIB_MATCHES): Delete.
25346169689Skan	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
25347169689Skan	* final.c (walk_alter_subreg): Handle addresses with subregs
25348169689Skan	inside a ZERO_EXTEND or AND.
25349169689Skan	* config/h8300/h8300-protos.h (h8300_get_index): Declare.
25350169689Skan	* config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS
25351169689Skan	if TARGET_H8300SX.
25352169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index.
25353169689Skan	* config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b),
25354169689Skan	@(dd,Rn.w) and @(dd,ERn.L).
25355169689Skan	(h8300_displacement_size): Take the whole address as argument.
25356169689Skan	(h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly.
25357169689Skan	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
25358169689Skan	* config/mips/mips-protos.h (h8300_operands_match_p): Declare.
25359169689Skan	(h8sx_mergeable_memrefs_p): Declare.
25360169689Skan	* config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX.
25361169689Skan	(HAVE_PRE_INCREMENT): Likewise.
25362169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement
25363169689Skan	addresses for TARGET_H8300SX,
25364169689Skan	* config/h8300/h8300.c (print_operand_address): Deal with PRE_INC
25365169689Skan	and POST_DEC.
25366169689Skan	(movb_length_table, movl_length_table): New tables.
25367169689Skan	(movw_length_table): Define to movb_length_table.
25368169689Skan	(h8300_displacement_size): New, split out from...
25369169689Skan	(h8300_classify_address): ...here.  Handle pre/post inc/dec.
25370169689Skan	(h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands.
25371169689Skan	(h8300_insn_length_from_table): Add cases for movb, movw and movl.
25372169689Skan	(h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions.
25373169689Skan	(output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx.
25374169689Skan	(compute_plussi_length, compute_plussi_cc): Update accordingly.
25375169689Skan	(h8sx_unary_shift_operator): Get the mode from the operator.
25376169689Skan	(binary_shift_operator): Likewise.
25377169689Skan	* config/h8300/h8300.md: If a peephole2 applies gen_lowpart to
25378169689Skan	a memory reference, check whether the reference is offsettable.
25379169689Skan	(length_table): Add movb, movw and movl.
25380169689Skan	(movqi): Add new h8sx pattern.  Don't force one operand to be a
25381169689Skan	register when generating h8sx code.
25382169689Skan	(movhi, movsi, movsf): Likewise.
25383169689Skan	(movstrictqi): Use the length_table attribute.
25384169689Skan	(movstricthi): Likewise.  Add h8sx alternative for mov.w #xx:3,Rn.
25385169689Skan	(addqi3): Split into a define_expand and define_insn.  Don't accept
25386169689Skan	memory operands in the expander.  Use h8300_operands_match_p to
25387169689Skan	check for matching operands in the define_insn.
25388169689Skan	(subqi3, negqi2, one_cmplqi2): Likewise.
25389169689Skan	(add[hs]i3): Don't accept memory operands in the expander.  Likewise
25390169689Skan	in any patterns that are unused in h8sx code.  In the h8sx patterns,
25391169689Skan	use h8300_operands_match_p to check whether operands match.
25392169689Skan	(sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3,
25393169689Skan	one_cmpl[hs]i3): Likewise.
25394169689Skan	(andqi3, iorqi3, xorqi3): Likewise.  Don't call fix_bit_operand
25395169689Skan	in the expander.
25396169689Skan	2003-05-23  Richard Sandiford  <rsandifo@redhat.com>
25397169689Skan	* config/h8300/h8300-protos.h (expand_a_shift): Return a bool.
25398169689Skan	(h8300_insn_length_from_table): Add a second parameter.
25399169689Skan	(output_h8sx_shift): Declare.
25400169689Skan	* config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros.
25401169689Skan	(EXTRA_CONSTRAINT): Replace with...
25402169689Skan	(EXTRA_CONSTRAINT_STR): ...this.  Use OK_FOR_W and OK_FOR_Y.
25403169689Skan	(CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'.
25404169689Skan	(PREDICATE_CODES): Add entries for h8sx_unary_shift_operator
25405169689Skan	and h8sx_binary_shift_operator.
25406169689Skan	* config/h8300/h8300.c (two_insn_adds_subs_operand): Return false
25407169689Skan	for TARGET_H8300SX.
25408169689Skan	(bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U.
25409169689Skan	(bit_memory_operand, fix_bit_operand): Likewise.
25410169689Skan	(h8300_length_table_for_insn): Remove.
25411169689Skan	(h8300_classify_operand): Fix check for 16-bit operands in 32-bit
25412169689Skan	instructions.
25413169689Skan	(h8300_short_immediate_length, h8300_binary_length): New functions.
25414169689Skan	(h8300_insn_length_from_table): Add an opcodes parameter.  Rework.
25415169689Skan	(output_plussi): Use sub to add negative constants.
25416169689Skan	(compute_plussi_length): Adjust accordingly.
25417169689Skan	(h8sx_single_shift_type): New enum.
25418169689Skan	(h8sx_single_shift, h8sx_unary_shift_operator,
25419169689Skan	h8sx_binary_shift_operator, output_h8sx_shift): New functions.
25420169689Skan	(expand_a_shift, expand_a_rotate): Emit nothing if the shift is a
25421169689Skan	single h8sx instruction.  Return false in this case.
25422169689Skan	* config/h8300/h8300.md (length_table): Add short_immediate.
25423169689Skan	(length): Pass the operand array to h8300_insn_length_from_table.
25424169689Skan	(adjust_length): Assume "no" for insns with a length_table attribute.
25425169689Skan	(*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3.
25426169689Skan	(*addhi3_h8300hs): Don't use for h8sx.
25427169689Skan	(*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3
25428169689Skan	and sub.w #xx:3.
25429169689Skan	(ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand
25430169689Skan	1's predicate to nonimmediate_operand.  Only skip default expansion
25431169689Skan	if expand_a_shift or expand_a_rotate returns true.  Add new patterns
25432169689Skan	for single h8sx shift instructions.
25433169689Skan	2003-05-22  Alexandre Oliva  <aoliva@redhat.com>
25434169689Skan	* config/h8300/h8300.c (nibble_operand): Split out of...
25435169689Skan	(reg_or_nibble_operand): ... this.
25436169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand.
25437169689Skan	* config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3,
25438169689Skan	umulhisi3): Introduce expand, and introduce separate insns for
25439169689Skan	sign- or zero-extended REG and already-extended CONST_INT.
25440169689Skan	2003-05-20  Richard Sandiford  <rsandifo@redhat.com>
25441169689Skan	* config/h8300/h8300.c (h8300_unary_length): Fix miscounting.
25442169689Skan	* config/h8300/h8300.md (subqi3): Generalize for h8sx.
25443169689Skan	(subhi3): Likewise.  Don't accept immediates for operand 1.
25444169689Skan	Remove the early clobber from second alternative of the h8300s pattern.
25445169689Skan	(subsi3): Generalize for h8sx.  Force operand 2 into a register
25446169689Skan	on plain h8300 targets.
25447169689Skan	(subsi3_h8300): Use h8300_dst_operand for consistency with expander.
25448169689Skan	(subsi3_h8300h): Generalize for h8sx.
25449169689Skan	(one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise.
25450169689Skan	2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
25451169689Skan	* config/h8300/h8300.c (reg_or_nibble_operand): New.
25452169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
25453169689Skan	(TARGET_H8300SXMUL): New.
25454169689Skan	(CONST_OK_FOR_P): New.
25455169689Skan	(CONST_OK_FOR_LETTER_P): Adjust.
25456169689Skan	* config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3,
25457169689Skan	umulhisi3): Accept 4-bit immediate on H8SX.
25458169689Skan	(mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New.
25459169689Skan	(udivsi3, divhi3, udivsi3, divsi3): New.
25460169689Skan	2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
25461169689Skan	* config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare.
25462169689Skan	* config/h8300/h8300.h (OK_FOR_Q): New macro.
25463169689Skan	(EXTRA_CONSTRAINT): Use it to check the 'Q' constraint.
25464169689Skan	(PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand.
25465169689Skan	Add ADDRESSOF to the bit_operand entry.
25466169689Skan	* config/h8300/h8300.c (h8300_dst_operand): New predicate.
25467169689Skan	(h8300_src_operand): Likewise.
25468169689Skan	(bit_operand): Check nonimmediate_operand rather than general_operand.
25469169689Skan	Accept any nonimmediate_operand in h8sx code.
25470169689Skan	(h8300_and_costs): Initialize operands[1].
25471169689Skan	(h8300_rtx_costs) <AND>: Return false if the operands aren't valid.
25472169689Skan	(h8300_operand_class): New enum.
25473169689Skan	(h8300_length_table): New typedef.
25474169689Skan	(addb_length_table, addw_length_table, addl_length_table,
25475169689Skan	logicl_length_table): New tables.
25476169689Skan	(logicb_length_table, logicw_length_table): New macros.
25477169689Skan	(h8300_classify_operand, h8300_length_from_table,
25478169689Skan	h8300_length_table_for_insn, h8300_unary_length,
25479169689Skan	h8300_insn_length_from_table): New functions.
25480169689Skan	(output_plussi): Only use adds and subs for register destinations.
25481169689Skan	Disable redundant clause.
25482169689Skan	(compute_plussi_cc): Likewise.
25483169689Skan	(compute_plussi_length): Likewise.  Use h8300_length_from_table
25484169689Skan	to work out the length of an insn.
25485169689Skan	(output_logical_op): Only use narrower immediate instructions
25486169689Skan	if the destination is a register.
25487169689Skan	(compute_logical_op_cc): Likewise.
25488169689Skan	(compute_logical_op_length): Likewise.  Use h8300_length_from_table.
25489169689Skan	(h8300_adjust_insn_length): Tighten check for reg<->mem moves.
25490169689Skan	* config/h8300/h8300.md (length_table): New attribute.
25491169689Skan	(length): When an instruction has a length_table attribute, use
25492169689Skan	h8300_insn_length_from_table to calculate its default length.
25493169689Skan	(cmpqi): Use h8300_dst_operand for the first operand and
25494169689Skan	h8300_src_operand for the second.
25495169689Skan	(cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2,
25496169689Skan	negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3,
25497169689Skan	addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3,
25498169689Skan	iorsi3, xorhi3, xorsi3): Likewise.
25499169689Skan	(andqi3): Use h8300_src_operand for operand 2.  Adjust the condition
25500169689Skan	so that it allows any combination of operands for TARGET_H8300SX.
25501169689Skan	(iorqi3, xorqi3): Likewise.
25502169689Skan	(cmpqi): Use the length_table attribute.
25503169689Skan	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3,
25504169689Skan	xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
25505169689Skan	(cmpqi): Add 'Q' constraint.
25506169689Skan	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3,
25507169689Skan	iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
25508169689Skan	2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
25509169689Skan	* config/h8300/h8300.h (MASK_H8300SX): New macro.
25510169689Skan	(TARGET_H8300S): True for both -ms and -msx.
25511169689Skan	(TARGET_H8300SX): New macro.
25512169689Skan	(TARGET_SWITCHES): Add entries for -msx and -mno-sx.
25513169689Skan	* config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx.
25514169689Skan	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx.
25515169689Skan	* config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx.
25516169689Skan	[Temporary change.]
25517169689Skan	2003-02-28  Alexandre Oliva  <aoliva@redhat.com>
25518169689Skan	* config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with
25519169689Skan	16-bit pointers and 32-bit ints.
25520169689Skan	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept
25521169689Skan	CONST_DOUBLE with mode no wider than SImode.
25522169689Skan	* config/h8300/h8300.md (extendqisi2_h8300): Add constraints for
25523169689Skan	output operand.
25524169689Skan	2003-02-27  Alexandre Oliva  <aoliva@redhat.com>
25525169689Skan	* config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX
25526169689Skan	or SUBREG thereof.
25527169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
25528169689Skan	2003-02-22  Alexandre Oliva  <aoliva@redhat.com>
25529169689Skan	* config/h8300/h8300.c (dosize): Truncate sign * size to Pmode.
25530169689Skan
25531169689Skan2004-05-28  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
25532169689Skan
25533169689Skan	* config.gcc (i[34567]86-*-mingw32*): Enable threads by default.
25534169689Skan
25535169689Skan2004-07-07  Per Bothner  <per@bothner.com>
25536169689Skan
25537169689Skan	* flow.c (attempt_auto_inc): Remove now-redundant PUT_CODE.
25538169689Skan
25539169689Skan2004-07-07  Mike Stump  <mrs@apple.com>
25540169689Skan
25541169689Skan	* darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.
25542169689Skan	* darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name)
25543169689Skan	(machopic_finish): Likewise.
25544169689Skan
25545169689Skan2004-07-07  Richard Henderson  <rth@redhat.com>
25546169689Skan
25547169689Skan	* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look
25548169689Skan	through any value-preserving cast.
25549169689Skan
25550169689Skan2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
25551169689Skan
25552169689Skan	* function.c (assign_parm_find_data_types): Call
25553169689Skan	FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined.
25554169689Skan
25555169689Skan2004-07-07  Steven Bosscher  <stevenb@suse.de>
25556169689Skan
25557169689Skan	* tree-cfg.c (group_case_labels): Remove case labels that have
25558169689Skan	the same target as the default case.
25559169689Skan
25560169689Skan2004-07-07  Steven Bosscher  <stevenb@suse.de>
25561169689Skan
25562169689Skan	* tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS
25563169689Skan	regardless of DECL_LANG_SPECIFIC being present or not.
25564169689Skan	* tree.h (DECL_NUM_STMTS): Purge.
25565169689Skan
25566169689Skan2004-07-07  Andrew Pinski  <apinski@apple.com>
25567169689Skan
25568169689Skan	* configure: Regenerate with the right autoconf.
25569169689Skan
25570169689Skan2004-07-07  David Edelsohn  <edelsohn@gnu.org>
25571169689Skan
25572169689Skan	* ifcvt.c (total_bb_rtx_cost): New function.
25573169689Skan	(find_if_case_1): Compare rtx_cost of basic block to cost of
25574169689Skan	BRANCH_COST insns.
25575169689Skan	(find_if_case_2): Same.
25576169689Skan
25577169689Skan2004-07-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
25578169689Skan
25579169689Skan	PR target/10567
25580169689Skan	* config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch.
25581169689Skan	(output_return): Likewise.
25582169689Skan	(output_sibcall): Abort if !flag_delayed_branch.
25583169689Skan	(sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch.
25584169689Skan	(emit_and_preserve): New function.
25585169689Skan	(sparc_output_mi_thunk): Use it.  Honor flag_delayed_branch.  Emit an
25586169689Skan	indirect jump to the thunked-to function if !flag_delayed_branch.
25587169689Skan	* config/sparc/sparc.md (delayed_branch): New attribute.
25588169689Skan	(load_pcrel_sym): Honor flag_delayed_branch.  Use above
25589169689Skan	attribute to compute the length of the insn.
25590169689Skan	(goto_handler_and_restore): Likewise.
25591169689Skan
25592169689Skan2004-07-07  Andrew Pinski  <apinski@apple.com>
25593169689Skan
25594169689Skan	PR tree-optimization/15777
25595169689Skan	* fold-const.c (fold_single_bit_test): Fold the x^1 expression.
25596169689Skan
25597169689Skan	* expr.c (expand_expr_real_1): Fix formating.
25598169689Skan	BUFFER_REF and IN_EXPR are dead.
25599169689Skan	* fold-const.c (non_lvalue): BUFFER_REF is dead.
25600169689Skan	* tree-inline.c (estimate_num_insns_1): Likewise.
25601169689Skan	* tree-pretty-print.c (dump_generic_node): BUFFER_REF,
25602169689Skan	IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead.
25603169689Skan	* tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill.
25604169689Skan
25605169689Skan2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>
25606169689Skan
25607169689Skan	* collect2.c (dump_file): Don't call cplus_demangle if
25608169689Skan	HAVE_LD_DEMANGLE is defined.
25609169689Skan	(main): Pass "--demangle" to ld if no_demangle is not 0 and
25610169689Skan	HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style
25611169689Skan	if HAVE_LD_DEMANGLE is defined.
25612169689Skan
25613169689Skan	* configure.ac (--with-demangler-in-ld): Added
25614169689Skan	(HAVE_LD_DEMANGLE): Define if ld supports --demangle when
25615169689Skan	--with-demangler-in-ld is used.
25616169689Skan	* config.in: Regenerated.
25617169689Skan	* configure: Likewise.
25618169689Skan
25619169689Skan2004-07-07  Roger Sayle  <roger@eyesopen.com>
25620169689Skan
25621169689Skan	* config/rs6000/rs6000.c (struct processor_costs): Add new fields
25622169689Skan	for simple floating point operations "fp", double precision
25623169689Skan	multiplication "dmul", and single and double precision division
25624169689Skan	"sdiv" and "ddiv".  Update all CPU variant tables as appropriate.
25625169689Skan	(ppc630_cost): New table split from ppc620_cost, to distinguish
25626169689Skan	differences in floating point latencies.
25627169689Skan	(rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630.
25628169689Skan	(rs6000_rtx_costs): Add support for single and double precision
25629169689Skan	floating point addition, subtraction, multiplication, division,
25630169689Skan	fused-multiply-add, fused-multiply-sub, negation, absolute value
25631169689Skan	and negative absolute value.  Tweak MEM case to use prefered idiom.
25632169689Skan
25633169689Skan2004-07-07  Richard Henderson  <rth@redhat.com>
25634169689Skan
25635169689Skan	* tree-flow-inline.h (may_propagate_copy): Move...
25636169689Skan	* tree-ssa-copy.c (may_propagate_copy): ... here.  Fail if we
25637169689Skan	attempt to copy between types requiring conversion.
25638169689Skan	* tree-flow.h (may_propagate_copy): Update decl.
25639169689Skan	* tree-ssa-dom.c (cprop_operand): Tidy redundant tests.
25640169689Skan
25641169689Skan2004-07-07  Jakub Jelinek  <jakub@redhat.com>
25642169689Skan
25643169689Skan	* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
25644169689Skan	from -mtune= option.
25645169689Skan
25646169689Skan2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
25647169689Skan
25648169689Skan	* builtins.c: Rename movstr*, except for movstrict*, to
25649169689Skan	movmem* and clrstr* to clrmem*.
25650169689Skan	* expr.c: Likewise.
25651169689Skan	* expr.h: Likewise.
25652169689Skan	* genopinit.c: Likewise.
25653169689Skan	* integrate.c: Likewise.
25654169689Skan	* local-alloc.c: Likewise.
25655169689Skan	* optabs.c: Likewise.
25656169689Skan	* optabs.h: Likewise.
25657169689Skan	* config/alpha/alpha.h: Likewise.
25658169689Skan	* config/alpha/alpha.md: Likewise.
25659169689Skan	* config/arm/arm-protos.h: Likewise.
25660169689Skan	* config/arm/arm.c: Likewise.
25661169689Skan	* config/arm/arm.md: Likewise.
25662169689Skan	* config/avr/avr.md: Likewise.
25663169689Skan	* config/c4x/c4x.c: Likewise.
25664169689Skan	* config/c4x/c4x.md: Likewise.
25665169689Skan	* config/frv/frv.md: Likewise.
25666169689Skan	* config/i386/i386-protos.h: Likewise.
25667169689Skan	* config/i386/i386.c: Likewise.
25668169689Skan	* config/i386/i386.h: Likewise.
25669169689Skan	* config/i386/i386.md: Likewise.
25670169689Skan	* config/i860/i860.c: Likewise.
25671169689Skan	* config/i860/i860.md: Likewise.
25672169689Skan	* config/ip2k/ip2k.md: Likewise.
25673169689Skan	* config/ip2k/libgcc.S: Likewise.
25674169689Skan	* config/ip2k/t-ip2k: Likewise.
25675169689Skan	* config/m32r/m32r.c: Likewise.
25676169689Skan	* config/m32r/m32r.md: Likewise.
25677169689Skan	* config/mcore/mcore.md: Likewise.
25678169689Skan	* config/mips/mips.c: Likewise.
25679169689Skan	* config/mips/mips.md: Likewise.
25680169689Skan	* config/ns32k/ns32k.c: Likewise.
25681169689Skan	* config/ns32k/ns32k.h: Likewise.
25682169689Skan	* config/ns32k/ns32k.md: Likewise.
25683169689Skan	* config/pa/pa.c: Likewise.
25684169689Skan	* config/pa/pa.md: Likewise.
25685169689Skan	* config/pdp11/pdp11.h: Likewise.
25686169689Skan	* config/pdp11/pdp11.md: Likewise.
25687169689Skan	* config/rs6000/rs6000.c: Likewise.
25688169689Skan	* config/rs6000/rs6000.md: Likewise.
25689169689Skan	* config/s390/s390-protos.h: Likewise.
25690169689Skan	* config/s390/s390.c: Likewise.
25691169689Skan	* config/s390/s390.md: Likewise.
25692169689Skan	* config/sh/lib1funcs.asm: Likewise.
25693169689Skan	* config/sh/sh.c: Likewise.
25694169689Skan	* config/sh/sh.md: Likewise.
25695169689Skan	* config/sh/t-sh: Likewise.
25696169689Skan	* config/sparc/sparc.h: Likewise.
25697169689Skan	* config/vax/vax.md: Likewise.
25698169689Skan	* config/xtensa/xtensa.c: Likewise.
25699169689Skan	* config/xtensa/xtensa.md: Likewise.
25700169689Skan	* doc/invoke.texi: Likewise.
25701169689Skan	* doc/md.texi: Likewise.
25702169689Skan	* doc/rtl.texi: Likewise.
25703169689Skan
25704169689Skan2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
25705169689Skan
25706169689Skan	PR target/16407
25707169689Skan	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
25708169689Skan	* config/mips/mips.c (mips_declare_common_object): New function,
25709169689Skan	mostly split out from...
25710169689Skan	(mips_output_aligned_decl_common): ...here.
25711169689Skan	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
25712169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
25713169689Skan	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
25714169689Skan	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
25715169689Skan
25716169689Skan2004-07-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
25717169689Skan
25718169689Skan	PR c/16392
25719169689Skan	* function.c (assign_parms): Fix typo from previous change.
25720169689Skan
25721169689Skan2004-07-07  Jason Merrill  <jason@redhat.com>
25722169689Skan
25723169689Skan	PR c++/15815
25724169689Skan	* doc/extend.texi (C++ Interface): Correct information and
25725169689Skan	discourage use.
25726169689Skan
25727169689Skan2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
25728169689Skan
25729169689Skan	PR target/16130
25730169689Skan	PR target/16142
25731169689Skan	PR target/16143
25732169689Skan	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
25733169689Skan	insn.
25734169689Skan
25735169689Skan2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
25736169689Skan
25737169689Skan	PR target/1679.
25738169689Skan	* config/m32r/m32r.c (m32r_function_symbol): New function:
25739169689Skan	Generate a symbol name RTX with the correct m32r specific flags
25740169689Skan	set.
25741169689Skan	(block_move_call): Use new function to generate correct symbol.
25742169689Skan	* config/m32r/m32r-protos.h: Add prototype for new funcion.
25743169689Skan	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
25744169689Skan	function.
25745169689Skan
25746169689Skan2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
25747169689Skan
25748169689Skan	* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
25749169689Skan	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
25750169689Skan	TYPE_BINFO_BASETYPE): Remove.
25751169689Skan	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
25752169689Skan	to ...
25753169689Skan	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
25754169689Skan	here.
25755169689Skan	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
25756169689Skan	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
25757169689Skan	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
25758169689Skan	(struct tree_binfo): Rename base_types to base_binfos.
25759169689Skan	* alias.c (record_component_aliases): Adjust BINFO macros.
25760169689Skan	* dbxout.c (dbxout_type): Likewise.
25761169689Skan	* dwarf2out.c (gen_member_die): Likewise.
25762169689Skan	* sdbout.c (sdbout_one_type): Likewise.
25763169689Skan	* tree-dump.c (deque_and_dump): Likewise.
25764169689Skan	* config/i386/i386.c (classify_argument,
25765169689Skan	contains_128bit_aligned_vector_p): Likewise.
25766169689Skan
25767169689Skan2004-07-07  Nick Clifton  <nickc@redhat.com>
25768169689Skan
25769169689Skan	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Change
25770169689Skan	arguments to match TARGET_SETUP_INCOMING_VARARGS prototype.
25771169689Skan
25772169689Skan2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
25773169689Skan
25774169689Skan	* vec.h: Fix the example use.
25775169689Skan
25776169689Skan2004-07-06  Richard Henderson  <rth@redhat.com>
25777169689Skan
25778169689Skan	* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
25779169689Skan	* langhooks.h (struct lang_hooks): Remove gimple_before_inlining.
25780169689Skan	* tree-inline.c (copy_body_r, setup_one_parameter,
25781169689Skan	initialize_inlined_parameters, expand_call_inline,
25782169689Skan	declare_inline_vars): Don't check it.
25783169689Skan	(expand_calls_inline): Remove old version, rename new version
25784169689Skan	from gimple_expand_calls_inline.
25785169689Skan	* tree-optimize.c (execute_gimple): Remove.
25786169689Skan	(pass_gimple): Don't run anything.
25787169689Skan
25788169689Skan2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
25789169689Skan
25790169689Skan	* doc/sourcebuild.texi: Use semicolons instead of commas in
25791169689Skan	section title.
25792169689Skan
25793169689Skan2004-07-06  Richard Henderson  <rth@redhat.com>
25794169689Skan
25795169689Skan	* tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
25796169689Skan	(sra_walk_modify_expr, scan_init): Likewise.
25797169689Skan	(generate_element_zero): Check visited before scanning children.
25798169689Skan	(generate_element_init): Set visited on error.
25799169689Skan	(scalarize_init): Handle generate_element_init failure similar
25800169689Skan	to use_block_copy.
25801169689Skan
25802169689Skan2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
25803169689Skan
25804169689Skan	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define.
25805169689Skan	(warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG.
25806169689Skan
25807169689Skan2004-07-06  Richard Henderson  <rth@redhat.com>
25808169689Skan
25809169689Skan	* config/i386/i386.c (legitimize_pic_address): Make static.
25810169689Skan	(legitimize_address): Handle CONST with TLS operand.
25811169689Skan	(ix86_expand_move): Don't call legitimize_pic_address directly.
25812169689Skan	* config/i386/i386-protos.h (legitimize_pic_address): Remove.
25813169689Skan
25814169689Skan2004-07-06  Roger Sayle  <roger@eyesopen.com>
25815169689Skan
25816169689Skan	* ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
25817169689Skan	(noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway.
25818169689Skan	(noce_process_if_block): Initialize if_info.b_unconditional if insn_b
25819169689Skan	is currently executed unconditionally, i.e. not in "else_bb".
25820169689Skan
25821169689Skan2004-07-06  Steven Bosscher  <stevenb@suse.de>
25822169689Skan
25823169689Skan	* config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove.
25824169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25825169689Skan	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove.
25826169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25827169689Skan	* config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove.
25828169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25829169689Skan	* config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove.
25830169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25831169689Skan	* config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove.
25832169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25833169689Skan	* config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove.
25834169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25835169689Skan	* config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove.
25836169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25837169689Skan	* config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove.
25838169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
25839169689Skan
25840169689Skan2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
25841169689Skan
25842169689Skan	* dojump.c (do_jump): REFERENCE_EXPR is dead.
25843169689Skan	* expr.c (expand_expr_real_1): Ditto.
25844169689Skan	* tree-inline.c (estimate_num_insns_1): Ditto.
25845169689Skan	* tree-pretty-print.c (dump_generic_node): Ditto.
25846169689Skan	(op_symbol): Ditto.
25847169689Skan	* tree.def: Ditto.
25848169689Skan
25849169689Skan2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
25850169689Skan
25851169689Skan	* tree-ssa-pre.c (reference_node_pool): New pool.
25852169689Skan	(find_or_generate_expression): Class 'r' is okay too.
25853169689Skan	(create_value_expr_from): Ditto.
25854169689Skan	(add_to_sets): LHS should not include vuses.
25855169689Skan	(eliminate): Ditto.
25856169689Skan	(compute_avail): Reverse ordering of tests.
25857169689Skan	Valuize INDIRECT_REF as well.
25858169689Skan
25859169689Skan2004-07-06  Richard Sandiford  <rsandifo@redhat.com>
25860169689Skan
25861169689Skan	PR rtl-optimization/16380
25862169689Skan	* loop.c (check_dbra_loop): Sink comparison instructions if they
25863169689Skan	do something other than set cc0.
25864169689Skan
25865169689Skan2004-07-06  James E Wilson  <wilson@specifixinc.com>
25866169689Skan
25867169689Skan	* doc/interface.texi (longjmp and automatic variables): Delete
25868169689Skan	paragraph recommending taking the address of a variable.
25869169689Skan
25870169689Skan2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
25871169689Skan
25872169689Skan	* vec.h (VEC_embedded_alloc): Remove.
25873169689Skan	(VEC_embedded_size, VEC_embedded_init): New.
25874169689Skan	(VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add
25875169689Skan	MEM_STAT_INFO.
25876169689Skan	(VEC_truncate): New.
25877169689Skan	(vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL.
25878169689Skan	(vec_embedded_alloc): Remove.
25879169689Skan	* vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust.
25880169689Skan	(vec_embedded_alloc): Remove.
25881169689Skan
25882169689Skan2004-07-06  Mark Mitchell  <mark@codesourcery.com>
25883169689Skan
25884169689Skan	* Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
25885169689Skan	(gt-langhooks.h): Remove.
25886169689Skan
25887169689Skan2004-07-06  George Helffrich <george@gly.bris.ac.uk>
25888169689Skan
25889169689Skan	* xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.
25890169689Skan
25891169689Skan2004-07-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
25892169689Skan
25893169689Skan	* config/sparc/sparc.c (get_pc_symbol): Rename into
25894169689Skan	add_pc_to_pic_symbol.
25895169689Skan	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
25896169689Skan	(load_pic_register): Account for previous changes.
25897169689Skan	Use reg_names.  Don't create the label twice.
25898169689Skan	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
25899169689Skan	UNSPEC_LOAD_PCREL_SYM.
25900169689Skan	(get_pc): Rename into load_pcrel_sym.  Add predicate to
25901169689Skan	operands.  Remove condition.
25902169689Skan
25903169689Skan2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
25904169689Skan
25905169689Skan	* dbxout.c (dbxout_type): Don't test whether the binfo slot of
25906169689Skan	RECORD, UNION & QUAL_UNION is actually a binfo.
25907169689Skan
25908169689Skan	* tree.h (TREE_VIA_VIRTUAL): Rename to ...
25909169689Skan	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
25910169689Skan	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
25911169689Skan	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
25912169689Skan	* dwarf2out.c (add_data_member_location_attribute): Likewise.
25913169689Skan	(gen_inheritance_die): Likewise.
25914169689Skan	* tree-dump.c (deque_and_dump): Likewise.
25915169689Skan	* doc/c-tree.texi (Binfos): Add under reconstruction note.
25916169689Skan
25917169689Skan2004-07-06  Steven Bosscher  <stevenb@suse.de>
25918169689Skan
25919169689Skan	* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
25920169689Skan	Define.
25921169689Skan	* config/mcore/mcore.md: Model memory latency with a simple DFA
25922169689Skan	pipeline description instead of a define_function_unit.
25923169689Skan
25924169689Skan2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
25925169689Skan
25926169689Skan	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
25927169689Skan	* langhooks.h (var_mod_type_p): Likewise.
25928169689Skan	* c-decl.c (finish_decl): Add extra arg to variably_modified_type_p.
25929169689Skan	* expr.c (count_type_elements): Properly handle return from
25930169689Skan	array_type_nelts and properly test for overflow.
25931169689Skan	* gimplify.c (gimplify_init_constructor): Properly handle return
25932169689Skan	from array_type_nelts.
25933169689Skan	(gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS.
25934169689Skan	* integrate.c (copy_decl_for_inlining): Correct comments.
25935169689Skan	* tree-inline.c (remap_decl): Update comments, remove dead code,
25936169689Skan	and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist.
25937169689Skan	(remap_type): Only remap if variably modified by vars in function
25938169689Skan	being inlined.
25939169689Skan	(copy_body_r): Use compatible_type langhooks to see when can fold.
25940169689Skan	(setup_one_parameter): Don't remap type.
25941169689Skan	(inline_forbidden_p_1): Add arg to variably_modified_type_p.
25942169689Skan	* tree.c (recompute_tree_invarant_for_addr_expr): Properly
25943169689Skan	compute TREE_INVARIANT for decl case.
25944169689Skan	(find_var_from_fn): New function.
25945169689Skan	(variably_modified_type_p): Add arg and call new function.
25946169689Skan	* tree.h (variably_modified_type_p): Add extra arg.
25947169689Skan
25948169689Skan2004-07-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
25949169689Skan
25950169689Skan	* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
25951169689Skan	(goto_handler_and_restore_v9): Delete disabled insn.
25952169689Skan	(goto_handler_and_restore_v9_sp64): Likewise.
25953169689Skan
25954169689Skan2004-07-05  Roger Sayle  <roger@eyesopen.com>
25955169689Skan
25956169689Skan	* calls.c (load_register_parameters): Call expand_shift instead
25957169689Skan	of expand_binop with ashl_optab (or other shift optab) directly.
25958169689Skan	* expr.c (emit_group_load, emit_group_store): Likewise.
25959169689Skan	* function.c (assign_parm_setup_block): Likewise.
25960169689Skan	* stmt.c (shift_return_value): Likewise.
25961169689Skan
25962169689Skan2004-07-05  Jakub Jelinek  <jakub@redhat.com>
25963169689Skan
25964169689Skan	* expr.c (expand_assignment): Disable the bitfield += optimizations.
25965169689Skan
25966169689Skan2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
25967169689Skan
25968169689Skan	* doc/sourcebuild.texi: Revert previous patch.
25969169689Skan
25970169689Skan2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
25971169689Skan
25972169689Skan	* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
25973169689Skan	TARGET_MEM_FUNCTIONS.
25974169689Skan	* system.h: Poison TARGET_MEM_FUNCTIONS.
25975169689Skan	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
25976169689Skan	bcmp_libfunc, bzero_libfunc): Remove.
25977169689Skan	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
25978169689Skan	bzero_libfunc.
25979169689Skan	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
25980169689Skan	* doc/standards.texi: Don't mention calling BSD string functions.
25981169689Skan	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
25982169689Skan	* config/vax/t-memfuncs: New.
25983169689Skan	* config/memcmp.c, config/memcpy.c, config/memmove.c,
25984169689Skan	config/memset.c: New.
25985169689Skan	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
25986169689Skan	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
25987169689Skan	vax/t-memfuncs.
25988169689Skan	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
25989169689Skan	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
25990169689Skan	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
25991169689Skan	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
25992169689Skan	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
25993169689Skan	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
25994169689Skan	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
25995169689Skan	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
25996169689Skan	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
25997169689Skan	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
25998169689Skan
25999169689Skan2004-07-05  Richard Henderson  <rth@redhat.com>
26000169689Skan
26001169689Skan	* function.c (assign_parm_setup_reg): Properly rename variables in
26002169689Skan	FUNCTION_ARG_CALLEE_COPIES section.
26003169689Skan
26004169689Skan2004-07-05  Zack Weinberg  <zack@codesourcery.com>
26005169689Skan
26006169689Skan	* tree-mudflap.c: Include cgraph.h.
26007169689Skan	(mf_init_extern_trees): Rename to mudflap_init.  Export.
26008169689Skan	Rewrite to create synthetic declarations instead of looking
26009169689Skan	up declarations from mf-runtime.h.
26010169689Skan	(mf_make_builtin, mf_make_cache_struct_type): New functions.
26011169689Skan	(mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl):
26012169689Skan	Correct commentary.
26013169689Skan	(execute_mudflap_function_decls, mudflap_register_call):
26014169689Skan	Don't call mf_init_extern_trees.
26015169689Skan	(mudflap_finish_file): Use cgraph_build_static_cdtor.
26016169689Skan
26017169689Skan	* tree-mudflap.h: Update prototypes.
26018169689Skan	* c-mudflap.c: Delete file.
26019169689Skan	* c-common.c: Include tree-mudflap.h.
26020169689Skan	(c_common_nodes_and_builtins): Call mudflap_init if appropriate.
26021169689Skan	* Makefile.in: Remove all references to c-mudflap.o.
26022169689Skan	Update dependencies.
26023169689Skan
26024169689Skan2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
26025169689Skan
26026169689Skan	* pa.md (prefetch, prefetch_32, prefetch_64): Only allow short
26027169689Skan	displacements with the spatial-locality cache-control completer.
26028169689Skan
26029169689Skan2004-07-05  Zack Weinberg  <zack@codesourcery.com>
26030169689Skan
26031169689Skan	* langhooks.c: Don't include gt-langhooks.h.
26032169689Skan	(var_labelno): Delete.
26033169689Skan	(lhd_set_decl_assembler_name): Do not append a distinguishing
26034169689Skan	number to file-scope internal-linkage declarations for the first
26035169689Skan	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
26036169689Skan	the declaration itself (if at block scope), or its containing
26037169689Skan	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
26038169689Skan	number.
26039169689Skan
26040169689Skan	* opts.c (cur_in_fname): New global.
26041169689Skan	* opts.h: Declare it.
26042169689Skan	* tree.c: Include opts.h.
26043169689Skan	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
26044169689Skan	DECL_UID equal to cur_in_fname.
26045169689Skan	(copy_node_stat): Do not change DECL_UID when copying a
26046169689Skan	TRANSLATION_UNIT_DECL.
26047169689Skan	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
26048169689Skan	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.
26049169689Skan
26050169689Skan	* c-decl.c (c_static_assembler_name): Delete.
26051169689Skan	* c-tree.h (c_static_assembler_name): Delete prototype.
26052169689Skan	* c-lang.c, objc/objc-lang.c: Don't override
26053169689Skan	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.
26054169689Skan
26055169689Skan	* Makefile.in (tree.o): Update dependencies.
26056169689Skan	(GTFILES): Remove langhooks.c.
26057169689Skan
26058169689Skan2004-07-05  Roger Sayle  <roger@eyesopen.com>
26059169689Skan
26060169689Skan	* fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus
26061169689Skan	by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)".
26062169689Skan	Normalize "X % C" as "X % -C" for signed modulus and negative C.
26063169689Skan	Optimize "X % -Y" as "X % Y" for signed modulus.
26064169689Skan	<EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0"
26065169689Skan	into "((unsigned) X % Y) == 0".
26066169689Skan
26067169689Skan2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
26068169689Skan
26069169689Skan	* sourcebuild.texi (Config Fragments): Use @comma{} in
26070169689Skan	cross-reference to section title.
26071169689Skan
26072169689Skan2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
26073169689Skan
26074169689Skan	* tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
26075169689Skan	* gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it.
26076169689Skan	(gimplify_target_expr, gimplify_expr): Likewise.
26077169689Skan	(copy_if_shared_r): No longer need special case for BIND_EXPR.
26078169689Skan	(unshare_body, unvisit_body): Only look at nested if BODY_P is
26079169689Skan	whole function.
26080169689Skan	(gimplify_compound_lval): See if we can strip any useless conversion.
26081169689Skan	(gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size
26082169689Skan	from RHS, not LHS.
26083169689Skan	(gimplify_modify_expr_to_memset): Likewise.
26084169689Skan	(gimplify_expr, case CONSTRUCTOR): Handle use as statement.
26085169689Skan	* tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P.
26086169689Skan	(declare_inline_vars): Likewise.
26087169689Skan	(walk_type_fields): New function.
26088169689Skan	(walk_tree): Use it.
26089169689Skan	* tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR.
26090169689Skan
26091169689Skan	* tree-sra.c (struct sra_walk_fns): Init function now returns bool.
26092169689Skan	(sra_walk_modify_expr): Allow init function to fail.
26093169689Skan	(scan_init): Now returns bool.
26094169689Skan	(generate_element_init): If can't understand INIT, return false.
26095169689Skan	(scalarize_init): Return false if generate_element_init does.
26096169689Skan
26097169689Skan	* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly
26098169689Skan	print bounds.
26099169689Skan
26100169689Skan	* expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against
26101169689Skan	bounds if bounds aren't constant.
26102169689Skan
26103169689Skan	* tree-cfg.c (verify_expr): Use CHECK_OP in binary case.
26104169689Skan
26105169689Skan	* function.c, langhooks-def.h, langhooks.h: Move max_size hook
26106169689Skan	to type hooks; remove bogus PARAMS.
26107169689Skan
26108169689Skan2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
26109169689Skan
26110169689Skan	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
26111169689Skan	* dwarf2out.c (add_data_member_location_attribute): Check for
26112169689Skan	TREE_BINFO.
26113169689Skan	* tree.c (tree_node_kinds): Add "binfos".
26114169689Skan	(binfo_lang_slots): New.
26115169689Skan	(make_node_stat): Add TREE_BINFO.
26116169689Skan	(make_tree_binfo_stat): New.
26117169689Skan	(tree_node_structure): Add TREE_BINFO.
26118169689Skan	* tree.def (TREE_BINFO): New.
26119169689Skan	* tree.h (REC_OR_UNION_CHECK): Rename to ...
26120169689Skan	(RECORD_OR_UNION_CHECK): ... here.
26121169689Skan	(NOT_RECORD_OR_UNION_CHECK): New.
26122169689Skan	(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
26123169689Skan	(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
26124169689Skan	RECORD_OR_UNION_CHECK.
26125169689Skan	(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
26126169689Skan	(TYPE_LANG_SLOT_1): New.
26127169689Skan	(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
26128169689Skan	BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
26129169689Skan	BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
26130169689Skan	(BINFO_ELTS): Remove.
26131169689Skan	(BINFO_LANG_SLOT): New.
26132169689Skan	(struct tree_binfo): New.
26133169689Skan	(binfo_lang_slots): Declare.
26134169689Skan	(enum tree_node_structure_enum): Add TS_BINFO.
26135169689Skan	(union tree_node): Add binfo.
26136169689Skan	(make_tree_binfo_stat): Declare.
26137169689Skan	(make_tree_binfo): New.
26138169689Skan	(enum tree_node_kind): Add binfo_kind.
26139169689Skan
26140169689Skan	* objc/objc-act.c (start_class, objc_declare_protocols,
26141169689Skan	start_protocols): Use TYPE_LANG_SLOT_1.
26142169689Skan	* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
26143169689Skan	to ...
26144169689Skan	(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
26145169689Skan	(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
26146169689Skan	CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
26147169689Skan	PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.
26148169689Skan
26149169689Skan2004-07-05  Steven Bosscher  <stevenb@suse.de>
26150169689Skan
26151169689Skan	* rtl.h (struct rtx_def): Remove the integrated flag.
26152169689Skan	Use the return_val flag for MEM_SCALAR_P.
26153169689Skan	Reshuffle and update flags in CLEAR_RTX_FLAGS.
26154169689Skan
26155169689Skan2004-07-05  Richard Sandiford  <rsandifo@redhat.com>
26156169689Skan
26157169689Skan	PR target/16357
26158169689Skan	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
26159169689Skan	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
26160169689Skan	move_by_pieces.
26161169689Skan
26162169689Skan2004-07-05  Josef Zlomek  <zlomekj@suse.cz>
26163169689Skan
26164169689Skan	* var-tracking.c: Fix some comments.
26165169689Skan	(frame_stack_adjust): New.
26166169689Skan	(vt_stack_adjustments): Init stack_adjust of entry block to
26167169689Skan	minus stack adjustment of function prologue.
26168169689Skan	(adjust_stack_reference): Do not adjust if adjustment == 0.
26169169689Skan	(compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS.
26170169689Skan	(emit_notes_in_bb): Likewise.
26171169689Skan	(vt_add_function_parameters): Do not adjust locations of
26172169689Skan	function arguments.
26173169689Skan	(vt_initialize): Compute the stack adjustment of function
26174169689Skan	prologue and offset the initial "location" of frame_base_decl
26175169689Skan	from the stack pointer after prologue.
26176169689Skan
26177169689Skan2004-07-04  Richard Henderson  <rth@redhat.com>
26178169689Skan
26179169689Skan	* function.c (struct assign_parm_data_all): New.
26180169689Skan	(struct assign_parm_data_one): New.
26181169689Skan	(assign_parms_initialize_all, assign_parms_augmented_arg_list,
26182169689Skan	assign_parm_find_data_types, assign_parms_setup_varargs,
26183169689Skan	assign_parm_find_entry_rtl, assign_parm_is_stack_parm,
26184169689Skan	assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl,
26185169689Skan	assign_parm_adjust_stack_rtl, assign_parm_setup_block_p,
26186169689Skan	assign_parm_setup_block, assign_parm_setup_reg,
26187169689Skan	assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ...
26188169689Skan	(assign_parms): ... here.
26189169689Skan
26190169689Skan2004-07-04  Daniel Berlin  <dberlin@dberlin.org>
26191169689Skan
26192169689Skan	* tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets
26193169689Skan	now are bitmap_set_t's.
26194169689Skan	(bitmap_insert_into_set): No point in inserting the value if
26195169689Skan	it's invariant.
26196169689Skan	(bitmap_set_contains): New function.
26197169689Skan	(bitmap_set_replace_value): Add comment on why we do it
26198169689Skan	this way.
26199169689Skan	(set_contains): Removed.
26200169689Skan	(bitmap_set_subtract_from_value_set): New name of
26201169689Skan	set_subtract now that it's arguments are two different
26202169689Skan	types of sets.
26203169689Skan	Update callers.
26204169689Skan	(bitmap_find_leader): Change algorithm used.
26205169689Skan	(find_or_generate_expression): Update use of functions for new
26206169689Skan	bitmap sets.
26207169689Skan	(create_expression_by_pieces): Ditto.
26208169689Skan	(insert_aux): Ditto.
26209169689Skan	(insert): Ditto.
26210169689Skan	(add_to_sets): Ditto.
26211169689Skan	(init_pre): Ditto.
26212169689Skan	(execute_pre): Ditto.
26213169689Skan	(compute_avail): Ditto.
26214169689Skan	Also ignore virtual phis.
26215169689Skan
26216169689Skan2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
26217169689Skan
26218169689Skan	* combine.c (simplify_comparison): Fix comment typo.
26219169689Skan
26220169689Skan2004-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
26221169689Skan
26222169689Skan	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename
26223169689Skan	into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
26224169689Skan	(eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P.
26225169689Skan	(output_restore): Change parameter from 'insn' to 'pat'.
26226169689Skan	(output_return): Adjust call to output_restore.
26227169689Skan	(output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P.
26228169689Skan	Adjust call to output_restore.
26229169689Skan
26230169689Skan2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
26231169689Skan
26232169689Skan	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__
26233169689Skan	and assert system is bsd.
26234169689Skan
26235169689Skan2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
26236169689Skan
26237169689Skan	* config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete.
26238169689Skan	(TARGET_SWITCHES): Remove -mdebugc.
26239169689Skan	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
26240169689Skan	(sltu, sleu): Remove TARGET_DEBUG_C_MODE handling.
26241169689Skan	(seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i)
26242169689Skan	(sle_[sd]i_reg): Delete.
26243169689Skan
26244169689Skan2004-07-04  Steven Bosscher  <stevenb@suse.de>
26245169689Skan
26246169689Skan	* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
26247169689Skan	Define.
26248169689Skan	* config/iq2000/iq2000.md: Translate old pipeline description to an
26249169689Skan	equivalent new one.
26250169689Skan
26251169689Skan2004-07-04  Roger Sayle  <roger@eyesopen.com>
26252169689Skan
26253169689Skan	* tree-ssa-ccp.c (set_rhs): Change function to return a bool.
26254169689Skan	Ensure the replacement rhs is valid gimple before performing
26255169689Skan	the substitution.  Return false if these sanity checks fail.
26256169689Skan	(fold_stmt): Only set changed to true, if set_rhs returns true.
26257169689Skan	(execute_fold_all_builtins): Only call modify_stmt if set_rhs
26258169689Skan	succeeds.
26259169689Skan
26260169689Skan2004-07-04  Richard Henderson  <rth@redhat.com>
26261169689Skan
26262169689Skan	PR c/16348
26263169689Skan	* c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops.
26264169689Skan
26265169689Skan2004-07-04  Mark Mitchell  <mark@codesourcery.com>
26266169689Skan
26267169689Skan	* configure.ac (ranlib_flags): New variable.
26268169689Skan	* Makefile.in (RANLIB_FLAGS): New variable.
26269169689Skan	(libbackend.a): Use it.
26270169689Skan	* configure: Regenerated.
26271169689Skan
26272169689Skan2004-07-04  Roger Sayle  <roger@eyesopen.com>
26273169689Skan
26274169689Skan	* ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate
26275169689Skan	a "sign mask" instead of using ashr_optab directly.
26276169689Skan
26277169689Skan2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
26278169689Skan
26279169689Skan	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
26280169689Skan	* doc/cppopts.texi: Clarify processing of command-line defines.
26281169689Skan
26282169689Skan2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
26283169689Skan
26284169689Skan	* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
26285169689Skan
26286169689Skan2004-07-04  Richard Henderson  <rth@redhat.com>
26287169689Skan
26288169689Skan	* rtl.def (ADDRESSOF): Remove.
26289169689Skan	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
26290169689Skan	(find_base_term, memrefs_conflict_p): Likewise.
26291169689Skan	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
26292169689Skan	(fold_rtx, cse_insn, set_live_p): Likewise.
26293169689Skan	* dwarf2out.c (mem_loc_descriptor): Likewise.
26294169689Skan	(add_location_or_const_value_attribute): Likewise.
26295169689Skan	* emit-rtl.c (copy_insn_1): Likewise.
26296169689Skan	* explow.c (memory_address): Likewise.
26297169689Skan	* expmed.c (store_split_bit_field): Likewise.
26298169689Skan	* expr.c (expand_expr_real_1): Likewise.
26299169689Skan	* function.c (instantiate_decl
26300169689Skan	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
26301169689Skan	* genrecog.c (preds, validate_pattern): Likewise.
26302169689Skan	* integrate.c (copy_rtx_and_substitute): Likewise.
26303169689Skan	* recog.c (general_operand, register_operand): Likewise.
26304169689Skan	(memory_address_p): Likwise.
26305169689Skan	* reload1.c (eliminate_regs, elimination_effects): Likewise.
26306169689Skan	* rtl.c (copy_rtx): Likewise.
26307169689Skan	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
26308169689Skan	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
26309169689Skan	* rtlhooks.c (gen_lowpart_general): Likewise.
26310169689Skan	* stmt.c (expand_asm_operands): Likewise.
26311169689Skan	* web.c (entry_register, replace_ref, web_main): Likewise.
26312169689Skan	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
26313169689Skan	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
26314169689Skan	* config/arm/arm.c (thumb_rtx_costs): Likewise.
26315169689Skan	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
26316169689Skan	* config/frv/frv.c (move_destination_operand, move_source_operand,
26317169689Skan	condexec_dest_operand, condexec_source_operand,
26318169689Skan	condexec_memory_operand): Likewise.
26319169689Skan	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
26320169689Skan	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
26321169689Skan	(destination_xfmode_operand): Likewise.
26322169689Skan	* config/mips/mips.h (PREDICATE_CODES): Likewise.
26323169689Skan	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
26324169689Skan	* config/s390/s390.c (general_s_operand): Likewise.
26325169689Skan	* config/s390/s390.md (mov*): Likewise.
26326169689Skan	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
26327169689Skan
26328169689Skan	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
26329169689Skan	* expr.c (expand_expr_real_1): Likewise.
26330169689Skan	* stmt.c (expand_decl): Likewise.
26331169689Skan	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
26332169689Skan
26333169689Skan	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
26334169689Skan	postponed_insns, put_var_into_stack, put_reg_into_stack,
26335169689Skan	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
26336169689Skan	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
26337169689Skan	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
26338169689Skan	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
26339169689Skan	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
26340169689Skan	purge_bitfield_addressof_replacements, purge_addressof_replacements,
26341169689Skan	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
26342169689Skan	struct insns_for_mem_walk_info, insns_for_mem_walk,
26343169689Skan	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
26344169689Skan	setjmp_protect_args): Remove.
26345169689Skan	(push_function_context_to): Don't handle var_refs_queue.
26346169689Skan	(pop_function_context_from, free_after_compilation): Likewise.
26347169689Skan	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
26348169689Skan	(assign_parms, allocate_struct_function): Likewise.
26349169689Skan	(use_register_for_decl): New.
26350169689Skan	(expand_function_end): Don't setjmp_protect.
26351169689Skan	* function.h (struct emit_status): Update commentary.
26352169689Skan	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
26353169689Skan	(max_parm_reg, parm_reg_stack_loc): Remove.
26354169689Skan	* passes.c (DFI_addressof): Remove.
26355169689Skan	(dump_file_info): Remove addressof.
26356169689Skan	(rest_of_handle_addressof): Remove.
26357169689Skan	(rest_of_compilation): Don't call it.
26358169689Skan	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
26359169689Skan	* stmt.c (expand_decl): Use use_register_for_decl.
26360169689Skan	* tree.h: Update decls.
26361169689Skan	* web.c (mark_addressof): Remove.
26362169689Skan	* doc/invoke.texi (-dF): Remove.
26363169689Skan
26364169689Skan2004-07-03  Richard Henderson  <rth@redhat.com>
26365169689Skan
26366169689Skan	* config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp
26367169689Skan	instead of gen_mem_addressof.
26368169689Skan	* config/ia64/ia64.md (movxf): Use assign_stack_temp to handle
26369169689Skan	TImode output register.
26370169689Skan
26371169689Skan2004-07-03  Richard Henderson  <rth@redhat.com>
26372169689Skan
26373169689Skan	PR tree-optimization/16341
26374169689Skan	* tree-sra.c (sra_walk_function): Increment to next stmt before
26375169689Skan	processing the current stmt.
26376169689Skan	(sra_insert_after): Always use BSI_SAME_STMT.
26377169689Skan
26378169689Skan2004-07-03  Richard Henderson  <rth@redhat.com>
26379169689Skan
26380169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold
26381169689Skan	fp plus with minus.
26382169689Skan
26383169689Skan2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
26384169689Skan
26385169689Skan	* tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal
26386169689Skan	with tree_int_cst_equal.
26387169689Skan
26388169689Skan2004-07-03  Andreas Schwab  <schwab@suse.de>
26389169689Skan
26390169689Skan	* config/ia64/ia64.md: Define new attribute "empty".
26391169689Skan	(prologue_use, nop_x, insn_group_barrier): Set it.
26392169689Skan
26393169689Skan	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
26394169689Skan	skip over "empty" insns.
26395169689Skan
26396169689Skan2004-07-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
26397169689Skan
26398169689Skan	* tree-inline.c (initialize_inlined_parameters): Pass proper function
26399169689Skan	context to gimplify_body.
26400169689Skan	(walk_tree): Don't walk into types twice.
26401169689Skan	(walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers.
26402169689Skan
26403169689Skan	* tree-sra.c (generate_element_init): Remove any useless conversions.
26404169689Skan
26405169689Skan	* gimplify.c (gimplify_conversion): Remove stripping useless
26406169689Skan	conversions from here.
26407169689Skan	(gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS.
26408169689Skan	(gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare):
26409169689Skan	Unshare before substituting PLACEHOLDER_EXPR.
26410169689Skan	(gimplify_modify_expr_to_memset): Likewise.
26411169689Skan	Pass address of TO to memset, not TO itself.
26412169689Skan	(gimplify_init_constructor): Make copy of OBJECT so we have it each
26413169689Skan	time we make an expression (to match a PLACEHOLDER_EXPR).
26414169689Skan
26415169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion): Also look at
26416169689Skan	VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
26417169689Skan	* tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION.
26418169689Skan	* tree-ssa-dom.c (local_fold): Likewise.
26419169689Skan
26420169689Skan	* langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
26421169689Skan	* langhooks.h (strct lang_hooks): New field type_max_size.
26422169689Skan	* function.c (assign_temp): Call it.
26423169689Skan
26424169689Skan2004-07-03  Steven Bosscher  <stevenb@suse.de>
26425169689Skan
26426169689Skan	* config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1.
26427169689Skan	* config/sh/sh.md: Convert the SH1 pipeline description to
26428169689Skan	a DFA model.
26429169689Skan
26430169689Skan2004-07-02  Zack Weinberg  <zack@codesourcery.com>
26431169689Skan
26432169689Skan	* c-decl.c (struct c_binding): Remove contour field; add
26433169689Skan	depth, invisible, nested fields.
26434169689Skan	(B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE)
26435169689Skan	(B_IN_EXTERNAL_SCOPE): New convenience macros.
26436169689Skan	(bind): Add invisible and nested arguments. Initialize
26437169689Skan	new fields of struct c_binding; adjust loop scanning for
26438169689Skan	insertion point.
26439169689Skan	(free_binding_and_advance): Clear structure with memset.
26440169689Skan	(pop_scope): Adjust to match.  Set DECL_CONTEXT on everything
26441169689Skan	in file scope, even if it's in external scope too.
26442169689Skan	(pushdecl): Adjust to match.  Create invisible file-scope
26443169689Skan	declarations for block-scope forward declarations of static functions.
26444169689Skan	(pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare)
26445169689Skan	(undeclared_variable, lookup_label, declare_label, define_label)
26446169689Skan	(lookup_tag, lookup_name, lookup_name_in_scope, builtin_function)
26447169689Skan	(c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value)
26448169689Skan	(store_parm_decls_oldstyle): Adjust to match.
26449169689Skan	(diagnose_mismatched_decls): Correct handling of linkage clashes.
26450169689Skan	(merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE.
26451169689Skan
26452169689Skan	* c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete.
26453169689Skan	(C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one.
26454169689Skan
26455169689Skan2004-07-02  Richard Henderson  <rth@redhat.com>
26456169689Skan
26457169689Skan	* c-decl.c (grokdeclarator): Don't frob current_function_decl
26458169689Skan	around variable_size.
26459169689Skan	(set_decl_nonlocal): Remove.
26460169689Skan	(store_parm_decls): Add stmts for pending sizes.
26461169689Skan	* calls.c (calls_function, calls_function_1): Remove.
26462169689Skan	(precompute_arguments): Don't call it.
26463169689Skan	* cfgexpand.c (set_save_expr_context): Remove.
26464169689Skan	(tree_expand_cfg): Don't call it.
26465169689Skan	* dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
26466169689Skan	(dwarf2out_finish): Likewise.
26467169689Skan	* expr.c (emit_block_move): Adjust addresses to BLKmode.
26468169689Skan	(store_constructor): Don't pre-evaluate SAVE_EXPR.
26469169689Skan	(safe_from_p): Don't queue SAVE_EXPRs.
26470169689Skan	(expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
26471169689Skan	or build plain VAR_DECLs.
26472169689Skan	* fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
26473169689Skan	(fold): Likewise.
26474169689Skan	(fold_checksum_tree): Don't special-case SAVE_EXPR.
26475169689Skan	* function.c (free_after_compilation): Don't clear x_save_expr_regs.
26476169689Skan	(put_var_into_stack): Don't handle SAVE_EXPR.
26477169689Skan	(gen_mem_addressof): Likewise.
26478169689Skan	* function.h (struct function): Remove x_save_expr_regs.
26479169689Skan	(save_expr_regs): Remove.
26480169689Skan	* gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
26481169689Skan	* print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
26482169689Skan	* stor-layout.c (variable_size): Don't set it.
26483169689Skan	(force_type_save_exprs, force_type_save_exprs_1): Remove.
26484169689Skan	* tree-inline.c (remap_save_expr): Remove fn argument.  Update
26485169689Skan	all callers.  Don't set SAVE_EXPR_CONTEXT.
26486169689Skan	* tree-inline.h (remap_save_expr): Update decl.
26487169689Skan	* tree.c (save_expr): Update build size.
26488169689Skan	(first_rtl_op): Don't handle SAVE_EXPR.
26489169689Skan	(unsave_expr_1, contains_placeholder_p): Likewise.
26490169689Skan	(decl_function_context): Likewise.
26491169689Skan	* tree.def (SAVE_EXPR): Remove args 1 and 2.
26492169689Skan	* tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
26493169689Skan	(SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.
26494169689Skan
26495169689Skan2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
26496169689Skan
26497169689Skan	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
26498169689Skan	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
26499169689Skan	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
26500169689Skan	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
26501169689Skan	some first-person references and patronizing comments.  Based on
26502169689Skan	printed manual.
26503169689Skan	* doc/invoke.texi: Don't reference fortran@gnu.org.
26504169689Skan	* doc/trouble.texi (Warning when a non-void function value is
26505169689Skan	ignored): Rewrite.  From Russ Allbery and Chris Devers.
26506169689Skan
26507169689Skan2004-07-02  Daniel Berlin  <dberlin@dberlin.org)
26508169689Skan
26509169689Skan	* tree-ssa-pre.c (bitmap_set_t): New.
26510169689Skan	(bb_value_sets): avail_out is now a bitmap_set_t.
26511169689Skan	(bitmap_find_leader): New function.
26512169689Skan	(bitmap_value_insert_into_set): Ditto.
26513169689Skan	(bitmap_set_copy): Ditto.
26514169689Skan	(bitmap_value_replace_in_set): Ditto.
26515169689Skan	(bitmap_set_contains_value): Ditto.
26516169689Skan	(bitmap_set_new): Ditto.
26517169689Skan	(bitmap_set_pool): New pool.
26518169689Skan	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
26519169689Skan	(insert_aux): Ditto.
26520169689Skan	(add_to_sets): Ditto.
26521169689Skan	(compute_avail): Ditto
26522169689Skan	(eliminate): Ditto.
26523169689Skan	(init_pre): Ditto.
26524169689Skan	(fini_pre): Ditto.
26525169689Skan	(execute_pre): Ditto.
26526169689Skan
26527169689Skan2004-07-02  Roger Sayle  <roger@eyesopen.com>
26528169689Skan
26529169689Skan	* config/rs6000/rs6000.c (struct processor_costs): New structure
26530169689Skan	used to hold instruction latencies/sizes for processor types.
26531169689Skan	(rs6000_cost): New global variable pointing to current CPU's costs.
26532169689Skan	(rs6000_override_options): Initialize rs6000_cost to point to the
26533169689Skan	appropriate cost table based upon rs6000_cpu and optimize_size.
26534169689Skan	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
26535169689Skan	timings inline.
26536169689Skan
26537169689Skan2004-07-02  Richard Henderson  <rth@redhat.com>
26538169689Skan
26539169689Skan	* expmed.c (make_tree): Don't use SET_DECL_RTL.
26540169689Skan
26541169689Skan2004-07-02  Steven Bosscher  <stevenb@suse.de>
26542169689Skan
26543169689Skan	* tree-flow.h (bb_ann_d): Remove ephi_nodes field.
26544169689Skan
26545169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26546169689Skan
26547169689Skan	* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
26548169689Skan	(alpha_gp_save_rtx): Use assign_stack_local instead of
26549169689Skan	gen_mem_addressof.
26550169689Skan
26551169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26552169689Skan
26553169689Skan	* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
26554169689Skan	(alpha_rtx_cost_data): Update to match.
26555169689Skan	(alpha_rtx_cost_size): New.
26556169689Skan	(alpha_rtx_costs): Honor optimize_size.
26557169689Skan
26558169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26559169689Skan
26560169689Skan	* gimple-low.c (lower_function_body): Don't reset_block_changes here.
26561169689Skan	* cfgexpand.c (tree_expand_cfg): Do it here.
26562169689Skan	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
26563169689Skan	* config/ia64/ia64.c (ia64_output_mi_thunk): And here.
26564169689Skan	* config/mips/mips.c (mips_output_mi_thunk): And here.
26565169689Skan	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
26566169689Skan	* config/sh/sh.c (sh_output_mi_thunk): And here.
26567169689Skan	* config/sparc/sparc.c (sparc_output_mi_thunk): And here.
26568169689Skan
26569169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26570169689Skan
26571169689Skan	* tree.def (RTL_EXPR): Remove.
26572169689Skan	* c-typeck.c (lvalue_p): Don't handle it.
26573169689Skan	* expr.c (safe_from_p): Likewise.
26574169689Skan	(expand_expr_real_1): Likewise.
26575169689Skan	* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
26576169689Skan	(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
26577169689Skan	* gengtype.c (adjust_field_tree_exp): Likewise.
26578169689Skan	* stmt.c (warn_if_unused_value): Likewise.
26579169689Skan	* tree-gimple.c (recalculate_side_effects): Likewise.
26580169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
26581169689Skan	* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
26582169689Skan	(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
26583169689Skan	* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.
26584169689Skan
26585169689Skan	* stmt.c (struct stmt_status): Remove x_last_expr_type,
26586169689Skan	x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
26587169689Skan	(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
26588169689Skan	(expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
26589169689Skan	all the bits that tracked last_expr.
26590169689Skan	(expand_end_bindings): Don't track last_expr.
26591169689Skan	(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
26592169689Skan	(clear_last_expr): Remove.
26593169689Skan	(expand_asm): Don't call it.
26594169689Skan	(expand_asm_operands, expand_end_cond): Likewise.
26595169689Skan	(expand_naked_return, expand_null_return_1): Likewise.
26596169689Skan	* c-typeck.c (c_begin_compound_stmt): Likewise.
26597169689Skan	* cfgexpand.c (expand_block): Use expand_expr_stmt.
26598169689Skan	* expr.c (expand_expr_real_1): Likewise.
26599169689Skan	* tree.h: Update prototypes.
26600169689Skan
26601169689Skan	* function.h (struct sequence_stack): Remove sequence_rtl_expr.
26602169689Skan	(struct emit_status): Remove sequence_rtl_expr.
26603169689Skan	(struct function): Remove x_rtl_expr_chain.
26604169689Skan	(seq_rtl_expr, rtl_expr_chain): Remove.
26605169689Skan	* function.c (struct temp_slot): Remove rtl_expr.
26606169689Skan	(assign_stack_temp_for_type): Don't set it.
26607169689Skan	(free_temp_slots, pop_temp_slots): Don't check it.
26608169689Skan	(free_after_compilation): Don't clear x_rtl_expr_chain.
26609169689Skan	(fixup_var_refs): Don't search it.
26610169689Skan	(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
26611169689Skan	* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
26612169689Skan	or seq_rtl_expr.
26613169689Skan	(push_topmost_sequence): Likewise.
26614169689Skan	(end_sequence, init_emit): Likewise.
26615169689Skan	(start_sequence_for_rtl_expr): Remove.
26616169689Skan	* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
26617169689Skan	* rtl.h (preserve_rtl_expr_result): Remove.
26618169689Skan
26619169689Skan2004-07-02  Kazu Hirata  <kazu@cs.umass.edu>
26620169689Skan
26621169689Skan	* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
26622169689Skan	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
26623169689Skan	typos.
26624169689Skan
26625169689Skan2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
26626169689Skan
26627169689Skan	* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
26628169689Skan	(STANDARD_STARTFILE_PREFIX_2): Define.
26629169689Skan	(standard_startfile_prefix_1): Initialize to
26630169689Skan	STANDARD_STARTFILE_PREFIX_1.
26631169689Skan	(standard_startfile_prefix_2): Initialize to
26632169689Skan	STANDARD_STARTFILE_PREFIX_2.
26633169689Skan	* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
26634169689Skan	(STANDARD_STARTFILE_PREFIX_1): Define.
26635169689Skan	(STANDARD_STARTFILE_PREFIX_2): Define.
26636169689Skan	* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
26637169689Skan	(STANDARD_STARTFILE_PREFIX_2): Document.
26638169689Skan
26639169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26640169689Skan
26641169689Skan	* tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
26642169689Skan	in order to disable scalarization.  Instead set a flag and wait
26643169689Skan	for a candidate decl.
26644169689Skan
26645169689Skan2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
26646169689Skan
26647169689Skan	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
26648169689Skan	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
26649169689Skan	Use terminology "testsuite" and "enumerated".
26650169689Skan
26651169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26652169689Skan
26653169689Skan	* dwarf2out.c (reg_save): Use INVALID_REGNUM.
26654169689Skan	(dwarf2out_reg_save, dwarf2out_return_save): Likewise.
26655169689Skan	(initial_return_save): Likewise.
26656169689Skan	(flush_queued_reg_saves): Remap register numbers.
26657169689Skan	(dwarf2out_return_reg): Likewise.
26658169689Skan
26659169689Skan2004-07-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
26660169689Skan
26661169689Skan	* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.
26662169689Skan
26663169689Skan	* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
26664169689Skan	access functions for lower bound and element size and only output
26665169689Skan	if lower bound nonzero or element size not same as that of type.
26666169689Skan	(dump_generic_node, case COMPONENT_REF): Use access func. for offset.
26667169689Skan
26668169689Skan2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
26669169689Skan
26670169689Skan	* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.
26671169689Skan
26672169689Skan2004-07-01  Per Bothner  <per@bothner.com>
26673169689Skan
26674169689Skan	* final.c (final): Fix typo reported by Aaron W. LaFramboise.
26675169689Skan
26676169689Skan2004-07-01  Jakub Jelinek  <jakub@redhat.com>
26677169689Skan
26678169689Skan	* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
26679169689Skan	bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
26680169689Skan	first operand.  Don't optimize if the bitfield is volatile.
26681169689Skan
26682169689Skan2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
26683169689Skan
26684169689Skan	* c-pretty-print.c (pp_c_postfix_expression): Handle
26685169689Skan	floating-point comparison operators.
26686169689Skan	(pp_c_expression): Pass floating-point comparison
26687169689Skan	operators to pp_c_postfix_expression.
26688169689Skan
26689169689Skan2004-07-01  Roger Sayle  <roger@eyesopen.com>
26690169689Skan
26691169689Skan	* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
26692169689Skan	rtx_cost instead of "had_mult" to determine whether the transformed
26693169689Skan	expression is cheaper than the original.
26694169689Skan
26695169689Skan2004-07-01  Jerry Quinn  <jlquinn@optonline.net>
26696169689Skan
26697169689Skan	* alias.c (get_alias_set, canon_rtx, get_addr,
26698169689Skan	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
26699169689Skan	Use MEM_P.
26700169689Skan	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
26701169689Skan	expand_builtin): Likewise.
26702169689Skan	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
26703169689Skan	Likewise.
26704169689Skan	* combine.c (can_combine_p, combinable_i3pat, try_combine,
26705169689Skan	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
26706169689Skan	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
26707169689Skan	record_dead_and_set_regs_1, get_last_value_validate,
26708169689Skan	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
26709169689Skan	* cse.c (check_dependence, canon_hash, equiv_constant,
26710169689Skan	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
26711169689Skan	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
26712169689Skan	count_reg_usage): Likewise.
26713169689Skan	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
26714169689Skan	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
26715169689Skan	cselib_record_sets): Likewise.
26716169689Skan	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
26717169689Skan	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
26718169689Skan	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
26719169689Skan	* df.c (df_uses_record): Likewise.
26720169689Skan	* dojump (do_jump): Likewise.
26721169689Skan	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
26722169689Skan	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
26723169689Skan	decl_start_label): Likewise.
26724169689Skan	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
26725169689Skan	operand_subword, change_address_1, make_safe_from): Likewise.
26726169689Skan	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
26727169689Skan	stabilize, force_not_mem): Likewise.
26728169689Skan	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
26729169689Skan	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
26730169689Skan	* expr.c (convert_move, convert_modes, emit_block_move,
26731169689Skan	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
26732169689Skan	emit_move_insn_1, expand_assignment, store_expr,
26733169689Skan	store_constructor_field, store_constructor, store_field,
26734169689Skan	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
26735169689Skan	Likewise.
26736169689Skan	* final.c (cleanup_subreg_operands, alter_subreg,
26737169689Skan	get_mem_expr_from_op): Likewise.
26738169689Skan	* flow.c (notice_stack_pointer_modification_1,
26739169689Skan	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
26740169689Skan	Likewise.
26741169689Skan	* function.c (mark_temp_addr_taken, preserve_temp_slots,
26742169689Skan	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
26743169689Skan	optimize_bit_field, flush_addressof, purge_addressof_1,
26744169689Skan	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
26745169689Skan	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
26746169689Skan	keep_stack_depressed): Likewise.
26747169689Skan	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
26748169689Skan	noce_process_if_block, find_memory): Likewise.
26749169689Skan	* integrate.c (subst_constants, allocate_initial_values): Likewise.
26750169689Skan	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
26751169689Skan	update_equiv_regs): Likewise.
26752169689Skan	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
26753169689Skan	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
26754169689Skan	* optabs.c (expand_abs, emit_unop_insn): Likewise.
26755169689Skan	* passes.c (rest_of_handle_final): Likewise.
26756169689Skan	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
26757169689Skan	move2add_note_store): Likewise.
26758169689Skan	* ra-build.c (detect_remat_webs): Likewise.
26759169689Skan	* ra-debug.c (dump_static_insn_cost): Likewise.
26760169689Skan	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
26761169689Skan	* recog.c (validate_change, apply_change_group, cancel_changes,
26762169689Skan	validate_replace_rtx_1, general_operand, register_operand,
26763169689Skan	nonmemory_operand, push_operand, pop_operand, memory_operand,
26764169689Skan	indirect_operand, asm_operand_ok, offsettable_memref_p,
26765169689Skan	offsettable_nonstrict_memref_p, constrain_operands,
26766169689Skan	store_data_bypass_p): Likewise.
26767169689Skan	* reg-stack.c (subst_stack_regs_pat): Likewise.
26768169689Skan	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
26769169689Skan	copy_cost, reg_scan_mark_refs): Likewise.
26770169689Skan	* regmove.c (optimize_reg_copy_3, stack_memref_p,
26771169689Skan	combine_stack_adjustments_for_block): Likewise.
26772169689Skan	* regrename.c (copyprop_hardreg_forward_1): Likewise.
26773169689Skan	* reload.c (can_reload_into, push_reload, decompose, immune_p,
26774169689Skan	find_reloads, find_reloads_address, find_reloads_address_1,
26775169689Skan	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
26776169689Skan	find_equiv_reg): Likewise.
26777169689Skan	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
26778169689Skan	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
26779169689Skan	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
26780169689Skan	delete_address_reloads): Likewise.
26781169689Skan	* resource.c (mark_referenced_resources): Likewise.
26782169689Skan	* rtlanal.c (get_jump_table_offset, count_occurrences,
26783169689Skan	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
26784169689Skan	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
26785169689Skan	num_sign_bit_copies1): Likewise.
26786169689Skan	* rtlhooks.c (gen_lowpart_general): Likewise.
26787169689Skan	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
26788169689Skan	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
26789169689Skan	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
26790169689Skan	sdbout_global_decl): Likewise.
26791169689Skan	* simplify-rtx.c (simplify_subreg): Likewise.
26792169689Skan	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
26793169689Skan	expand_anon_union_decl, expand_end_case_type): Likewise.
26794169689Skan	* unroll.c (calculate_giv_inc): Likewise.
26795169689Skan	* var-tracking.c (stack_adjust_offset_pre_post,
26796169689Skan	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
26797169689Skan	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
26798169689Skan	vt_add_function_parameters): Likewise.
26799169689Skan	* varasm.c (make_var_volatile, notice_global_symbol,
26800169689Skan	assemble_external, decode_addr_const, mark_weak,
26801169689Skan	default_encode_section_info): Likewise.
26802169689Skan
26803169689Skan2004-07-01  Steven Bosscher  <stevenb@suse.de>
26804169689Skan
26805169689Skan	* stmt.c (check_seenlabel): Remove.
26806169689Skan	(pushcase, pushcase_range, expand_end_case_type): Don't call it.
26807169689Skan
26808169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26809169689Skan
26810169689Skan	* function.h (struct function): Remove x_function_call_count.
26811169689Skan	(function_call_count): Remove.
26812169689Skan	* calls.c (expand_call): Don't set it.
26813169689Skan	* integrate.c (copy_rtx_and_substitute): Likewise.
26814169689Skan
26815169689Skan	* function.h (struct function): Remove x_cleanup_label.
26816169689Skan	(cleanup_label): Remove.
26817169689Skan	* stmt.c (expand_value_return): Don't use it.
26818169689Skan	* function.c (free_after_compilation): Don't set it.
26819169689Skan	(expand_function_start): Likewise.  Remove parms_have_cleanups arg.
26820169689Skan	* cfgexpand.c (tree_expand_cfg): Update call.
26821169689Skan	* tree.h (expand_function_start): Update decl.
26822169689Skan
26823169689Skan2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
26824169689Skan
26825169689Skan	PR c/1027
26826169689Skan	* c-lang.c (c_initialize_diagnostics): Move from here ...
26827169689Skan	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
26828169689Skan	(c_tree_printer): Use pretty-printer to format %T.
26829169689Skan	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
26830169689Skan	before '*' if not C++.
26831169689Skan	(pp_c_direct_abstract_declarator): Don't try to print array upper
26832169689Skan	bound for flexible array members.
26833169689Skan	* c-tree.h: Include "diagnostic.h".
26834169689Skan	(c_initialize_diagnostics): Declare.
26835169689Skan	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
26836169689Skan	* c-format.c (format_type_warning): New function.  Improve
26837169689Skan	diagnostics for incorrect format argument types.
26838169689Skan	(check_format_types): Use it.  Add two parameters.  Use the
26839169689Skan	TYPE_MAIN_VARIANT of wanted_type.
26840169689Skan	(check_format_info_main): Pass new parameters to
26841169689Skan	check_format_types.
26842169689Skan	(struct format_wanted_type): Update comment.
26843169689Skan
26844169689Skan2004-07-01  Nick Clifton  <nickc@redhat.com>
26845169689Skan
26846169689Skan	* target.h (struct gcc_target): Add new field to struct cxx:
26847169689Skan	import_export_class.
26848169689Skan	* target-def.h (TARGET_CXX): Initialise the new field.
26849169689Skan	(TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for
26850169689Skan	the new field.
26851169689Skan	* doc/tm.texi: Document the new target hook.
26852169689Skan
26853169689Skan2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
26854169689Skan
26855169689Skan	* builtins.c (fold_builtin_classify): Fix typo.
26856169689Skan
26857169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26858169689Skan
26859169689Skan	* function.c (identify_blocks, identify_blocks_1): Remove.
26860169689Skan	* function.h (identify_blocks): Remove.
26861169689Skan	* rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.
26862169689Skan
26863169689Skan2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
26864169689Skan
26865169689Skan	* builtins.c (fold_builtin_classify): New.
26866169689Skan	(fold_builtin_unordered_cmp): Fix commentary.
26867169689Skan	(fold_builtin): Use it.
26868169689Skan	* builtins.def: Define builtins for isnan,
26869169689Skan	isnanf, isnanl, finite, finitef, finitel,
26870169689Skan	isinf, isinff, isinfl.
26871169689Skan
26872169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26873169689Skan
26874169689Skan	* function.h (struct function): Remove dont_emit_block_notes.
26875169689Skan	* gimple-low.c (lower_function_body): Don't set it.
26876169689Skan	* cfgexpand.c (expand_block): Don't check it.
26877169689Skan	* cfglayout.c (insn_locators_initialize): Likewise.
26878169689Skan	* expr.c (expand_expr_real, expand_expr_real_1): Likewise.
26879169689Skan	* passes.c (rest_of_compilation): Likewise.
26880169689Skan	* stmt.c (expand_start_bindings_and_block): Likewise.
26881169689Skan	(expand_end_bindings): Likewise.
26882169689Skan
26883169689Skan2004-07-01  Richard Henderson  <rth@redhat.com>
26884169689Skan
26885169689Skan	* cgraph.h (cgraph_build_static_cdtor): Declare.
26886169689Skan	* cgraphunit.c (cgraph_build_static_cdtor): New.
26887169689Skan	* c-objc-common.c (build_cdtor): Use it.
26888169689Skan	* coverage.c (create_coverage): Likewise.
26889169689Skan	* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
26890169689Skan	* optabs.c (init_optabs): Don't set gcov_init_libfunc.
26891169689Skan
26892169689Skan2004-06-30  Roger Sayle  <roger@eyesopen.com>
26893169689Skan
26894169689Skan	* expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a
26895169689Skan	constant as a sequence of additions depending upon the rtx_costs.
26896169689Skan	(synth_mult): Update the "observed" cost of a shift, based upon
26897169689Skan	the above optimization.
26898169689Skan
26899169689Skan2004-06-28  Geoffrey Keating  <geoffk@apple.com>
26900169689Skan	    Andreas Tobler  <a.tobler@schweiz.ch>
26901169689Skan
26902169689Skan	PR 15813
26903169689Skan	* dwarf2out.c (reg_save): Output DW_CFA_same_value when a
26904169689Skan	register is saved in itself.
26905169689Skan	(initial_return_save): If the return address is a register,
26906169689Skan	it's already there, don't bother to mention it in the CFI.
26907169689Skan	(struct queued_reg_save): Add field saved_reg.
26908169689Skan	(struct reg_saved_in_data): New.
26909169689Skan	(regs_saved_in_regs): New.
26910169689Skan	(num_regs_saved_in_regs): New.
26911169689Skan	(queue_reg_save): Add extra parameter to specify register saved
26912169689Skan	in register.  Remove duplicate entries from queue.  Add comment
26913169689Skan	for function.
26914169689Skan	(flush_queued_reg_saves): Handle registers saved in registers.
26915169689Skan	Update regs_saved_in_regs.  Add comment for function.
26916169689Skan	(clobbers_queued_reg_save): Add comment for function.  Allow
26917169689Skan	for regs_saved_in_regs.
26918169689Skan	(reg_saved_in): New.
26919169689Skan	(dwarf2out_frame_debug_expr): Handle saving registers in other
26920169689Skan	registers.
26921169689Skan	(dwarf2out_frame_debug): Reset regs_saved_in_regs.
26922169689Skan	* unwind-dw2.c (execute_cfa_program): Correct handling of
26923169689Skan	DW_CFA_same_value.  Add FIXME comment about incorrect implementation
26924169689Skan	of DW_CFA_restore_extended.
26925169689Skan	* config/rs6000/rs6000.c (rs6000_emit_prologue): Let
26926169689Skan	dwarf2out_frame_debug_expr see instructions that save registers
26927169689Skan	in other registers or save those other registers in memory.
26928169689Skan
26929169689Skan	* unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h.
26930169689Skan	(_Unwind_FrameState): Likewise.
26931169689Skan	* unwind-dw2.h: New.
26932169689Skan	* Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h.
26933169689Skan	* config/rs6000/darwin-fallback.c: New file.
26934169689Skan	* config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
26935169689Skan	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o.
26936169689Skan
26937169689Skan2004-07-01  Alan Modra  <amodra@bigpond.net.au>
26938169689Skan
26939169689Skan	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
26940169689Skan	(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
26941169689Skan	calculating gpr size for altivec.  Simplify and correct
26942169689Skan	rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
26943169689Skan	for ABI_V4 gpr case too.  Fix off-by-one error in long double
26944169689Skan	reg test.  Generate the correct PARALLEL to handle long double
26945169689Skan	for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
26946169689Skan	(function_arg_partial_nregs): Align before calculating regs left.
26947169689Skan	Don't return info on partial fprs when we need info on gprs.
26948169689Skan	Correct long double fpr off-by-one error.
26949169689Skan
26950169689Skan2004-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
26951169689Skan
26952169689Skan	* pa-protos.h (prefetch_operand): Add prototype.
26953169689Skan	* pa.c (prefetch_operand): New function.
26954169689Skan	* pa.h (prefetch_operand): Add to PREDICATE_CODES.
26955169689Skan	* pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns.
26956169689Skan
26957169689Skan2004-06-30  Richard Henderson  <rth@redhat.com>
26958169689Skan
26959169689Skan	* function.h (struct function): Remove x_whole_function_mode_p.
26960169689Skan	* c-decl.c (store_parm_decls): Don't set it.
26961169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
26962169689Skan	* passes.c (rest_of_compilation): Don't check it.
26963169689Skan	* stmt.c (expand_fixup): Likewise.
26964169689Skan	* function.c (fixup_var_refs_insn): Remove unused variable.
26965169689Skan
26966169689Skan2004-06-30  Richard Henderson  <rth@redhat.com>
26967169689Skan
26968169689Skan	* tree.h (immediate_size_expand): Delete.
26969169689Skan	* stor-layout.c (immediate_size_expand): Delete.
26970169689Skan	(variable_size): Don't look at it.
26971169689Skan	* c-decl.c (push_parm_decl): Don't frob immediate_size_expand.
26972169689Skan	(start_function): Likewise.
26973169689Skan	* cfgexpand.c (construct_exit_block): Likewise.
26974169689Skan	* function.c (init_function_start, expand_function_end): Likewise.
26975169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
26976169689Skan
26977169689Skan2004-06-30  Richard Henderson  <rth@redhat.com>
26978169689Skan
26979169689Skan	* gimplify.c (gimplify_compound_lval): Take fallback argument
26980169689Skan	instead of want_lvalue.
26981169689Skan	(gimplify_call_expr): Take want_value argument instead of test
26982169689Skan	function.  Gimplify arguments to val only if reg_type; otherwise
26983169689Skan	allow lvalue forms.
26984169689Skan	(gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr
26985169689Skan	calls.
26986169689Skan	* tree-gimple.c: Update GIMPLE grammer.  Use true/false not 1/0.
26987169689Skan	Tidy commentary globally.
26988169689Skan	(get_call_expr_in): Remove RETURN_EXPR handling.  Tidy.
26989169689Skan	* tree-gimple.h (is_gimple_call_addr): Mark extern.
26990169689Skan
26991169689Skan	* gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo.
26992169689Skan
26993169689Skan2004-06-30  Richard Henderson  <rth@redhat.com>
26994169689Skan
26995169689Skan	* tree-gimple.c (right_assocify_expr): Kill
26996169689Skan	(rationalize_compound_expr): Kill.
26997169689Skan	* tree-gimple.h: Likewise.
26998169689Skan	* tree-inline.c (expand_call_inline): Don't call it.
26999169689Skan
27000169689Skan	* function.h (struct function): Remove x_last_parm_insn,
27001169689Skan	inl_last_parm_insn.
27002169689Skan	(last_parm_insn): Remove.
27003169689Skan	* function.c (free_after_compilation): Don't clear them.
27004169689Skan	(fixup_var_refs_insn, assign_parms): Don't set them.
27005169689Skan
27006169689Skan	* function.c, rtl.h (get_first_nonparm_insn): Remove.
27007169689Skan
27008169689Skan2004-06-30  Joseph S. Myers  <jsm@polyomino.org.uk>
27009169689Skan
27010169689Skan	* c-common.h (check_function_format): Remove first parameter.
27011169689Skan	* c-format.c (format_check_context): Remove status.
27012169689Skan	(check_format_info, check_format_info_main,
27013169689Skan	maybe_read_dollar_number, avoid_dollar_number,
27014169689Skan	finish_dollar_format_checking, check_format_types,
27015169689Skan	check_function_format): Remove first parameter.  Don't use
27016169689Skan	status_warning.
27017169689Skan	(check_format_arg): Don't use status_warning.
27018169689Skan	(status_warning): Remove.
27019169689Skan	* c-common.c (check_function_arguments): Update call to
27020169689Skan	check_function_format.
27021169689Skan
27022169689Skan2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
27023169689Skan
27024169689Skan	* config/sparc/sparc-protos.h (output_cbranch): Constify return
27025169689Skan	value.
27026169689Skan	(output_v9branch): Likewise.
27027169689Skan	(sparc_v8plus_shift): Likewise.  Rename into output_v8plus_shift.
27028169689Skan	* config/sparc/sparc.c (output_cbranch): Constify return value.
27029169689Skan	Prettify output for delay slots.
27030169689Skan	(output_v9branch): Likewise.
27031169689Skan	(sparc_v8plus_shift): Constify return value.  Rename into
27032169689Skan	output_v8plus_shift.
27033169689Skan	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
27034169689Skan	sparc_v8plus_shift.
27035169689Skan	(ashrdi3_v8plus): Likewise.
27036169689Skan	(lshrdi3_v8plus): Likewise.
27037169689Skan	(call_address_struct_value_sp32): Prettify output for delay slots.
27038169689Skan	(call_symbolic_struct_value_sp32): Likewise.
27039169689Skan	(call_address_untyped_struct_value_sp32): Likewise.
27040169689Skan	(call_symbolic_untyped_struct_value_sp32): Likewise.
27041169689Skan
27042169689Skan2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
27043169689Skan
27044169689Skan	* common.opt (ftree-loop-optimize): New flag.
27045169689Skan	* tree-flow.h (kill_redundant_phi_nodes): Declare.
27046169689Skan	* tree-optimize.c (init_tree_optimization_passes): Add pass_loop.
27047169689Skan	* tree-pass.h (pass_loop_init, pass_loop_done): Declare.
27048169689Skan	* tree-ssa-loop.c (current_loops): New variable.
27049169689Skan	(tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init,
27050169689Skan	tree_ssa_loop_done): New functions.
27051169689Skan	(pass_loop, pass_loop_init, pass_loop_done): New passes.
27052169689Skan	* tree-ssa.c (kill_redundant_phi_nodes): Export.
27053169689Skan	* doc/invoke.texi (-ftree-loop-optimize): Document.
27054169689Skan
27055169689Skan2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
27056169689Skan
27057169689Skan	* tree-ssa-loop-ch.c: New file.
27058169689Skan	* Makefile.in (tree-ssa-loop-ch.o): Add.
27059169689Skan	(tree-into-ssa.o): Add GGC_H dependency.
27060169689Skan	* tree-cfg.c (tree_duplicate_bb): Copy virtual arguments.
27061169689Skan	* tree-flow.h (rewrite_into_ssa): Declaration changed.
27062169689Skan	(rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name):
27063169689Skan	Declare.
27064169689Skan	* tree-into-ssa.c: Include ggc.h.
27065169689Skan	(struct def_blocks_d): Add phi_blocks field.
27066169689Skan	(struct mark_def_sites_global_data): Add names_to_rename field.
27067169689Skan	(struct ssa_name_info): New.
27068169689Skan	(compute_global_livein): Export.
27069169689Skan	(set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block,
27070169689Skan	insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for,
27071169689Skan	register_new_def, get_reaching_def, def_blocks_free,
27072169689Skan	get_def_blocks_for, rewrite_into_ssa): Modified to work with
27073169689Skan	rewrite_ssa_into_ssa.
27074169689Skan	(get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def,
27075169689Skan	set_current_def, ssa_mark_def_sites_initialize_block,
27076169689Skan	ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name,
27077169689Skan	ssa_register_new_def, ssa_rewrite_initialize_block,
27078169689Skan	ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block,
27079169689Skan	ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New
27080169689Skan	functions.
27081169689Skan	(pass_build_ssa): Call rewrite_all_into_ssa.
27082169689Skan	* tree-optimize.c (execute_todo, execute_one_pass,
27083169689Skan	tree_rest_of_compilation): Allocate vars_to_rename only once.
27084169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter
27085169689Skan	to rewrite_into_ssa.
27086169689Skan	* tree-ssa-loop.c (should_duplicate_loop_header_p,
27087169689Skan	mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p,
27088169689Skan	copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c.
27089169689Skan	Use rewrite_ssa_into_ssa.
27090169689Skan	* tree-ssa-operands.c (copy_virtual_operands): New function.
27091169689Skan	* tree-ssa-operands.h (copy_virtual_operands): Declare.
27092169689Skan	* tree.h (struct tree_ssa_name): Add aux field.
27093169689Skan	(SSA_NAME_AUX): New macro to access it.
27094169689Skan
27095169689Skan2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
27096169689Skan
27097169689Skan	* prefix.c (lookup_key): Cast buffer to LPBYTE.
27098169689Skan
27099169689Skan2004-06-30  Per Bothner  <per@bothner.com>
27100169689Skan
27101169689Skan	Conditionally compile support for --enable-mapped_location.
27102169689Skan	* input.h: #include line-map.h for source_location typedef.
27103169689Skan	(BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location,
27104169689Skan	LOCATION_FILE, LOCATION_LINE): New macros and functions.
27105169689Skan	(expanded_location, source_locus): New typedefs.
27106169689Skan	(push_srcloc): Change parameter list if USE_MAPPED_LOCATION.
27107169689Skan	* rtl.def (NOTE, ASM_OPERANDS): Modify specifcation, if
27108169689Skan	USE_MAPPED_LOCATION.
27109169689Skan	* rtl.h (NOTE_DELETED_LABEL_NAME): New macro.
27110169689Skan	(NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED):
27111169689Skan	New conditional macros.
27112169689Skan	(ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE): Replace
27113169689Skan	by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION.
27114169689Skan	* tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION,
27115169689Skan	EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO,
27116169689Skan	DECL_IS_BUILTIN): New macros, most depending on USE_MAPPED__LOCATION.
27117169689Skan	(tree_exp): Change type of locus to use new source_locus typedef.
27118169689Skan	* tree.c (build1_stat): Use SET_EXPR_LOCATION.
27119169689Skan	(annotate_with_locus, annotate_with_file_line): Conditionalize.
27120169689Skan	(expand_location): New function.
27121169689Skan	* toplev.c (unknown_location): New static, when USE_MAPPED_LOCATION.
27122169689Skan	(push_srcloc, pop_loc): Adjust parameter handling.
27123169689Skan	(process_options): Don't set input_filename by itself.
27124169689Skan	(lang_dependent_init): Save, set input_location to <built-in>.
27125169689Skan	(warn_deprecated_use): Use expand_location.
27126169689Skan
27127169689Skan	* basic-block.h (struct edge_def): Use new source_locus typedef.
27128169689Skan	* c-common.c (fname_decl): Update save/clear/store of input_location.
27129169689Skan	(c_do_switch_warnings): Update for USE_MAPPED_LOCATION case.
27130169689Skan	* c-decl.c: Likewise.
27131169689Skan	* c-dump.c (dump_stmt): Likewise.
27132169689Skan	* c-gimplify.c (c-gimplify.c): Generalize using SET_EXPR_LOCATION.
27133169689Skan	* c-lex.c (cb_line_change): If USE_MAPPED_LOCATION use token's	src_loc
27134169689Skan	to set input_location direction, rather than using linemap_lookup.
27135169689Skan	(fe_file_change, cb_def_pragma): Again use source_location directly.
27136169689Skan	* c-opts.c (saved_lineno): Remove static variable.
27137169689Skan	(c_common_post_options, c_common_init): Don't bothner to save,
27138169689Skan	clear and restore input_Location - now handled by lang_dependent_init.
27139169689Skan	* function.c (init_function_start): Use new DECL_IS_BUILTIN macro.
27140169689Skan	* xcoffout.c (xcoff_assign_fundamental_type_number): Likewise.
27141169689Skan	* tree-mudflap.c (mf_file_function_line_tree): Take a location_t
27142169689Skan	rather than a pointer to one.  Use expand_location.
27143169689Skan	(mf_varname_tree): Use expand_location.
27144169689Skan	* tree-dump.c: Use expand_location on DECL_SOURCE_LOCATION.
27145169689Skan	* coverage.c: Likewise.
27146169689Skan	* print-tree.c: Likewise.
27147169689Skan	* c-aux-info.c (gen_aux_info_record): Likewise.
27148169689Skan	* c-parse.in: Use SET_EXPR_LOCATION macro.
27149169689Skan	* gimple-low.c: Likewise.
27150169689Skan	* tree-mudflap.c: Likewise.
27151169689Skan	* gimplify.c: Likewise.  Also use EXPR_LOCATION and EXPR_HAS_LOCATION.
27152169689Skan	* c-ppoutput.c: Use new source_location typedef instead of fileline.
27153169689Skan	* c-semantics.c: Use new macros.
27154169689Skan	* c-typeck.c: Likewise.
27155169689Skan	* cfgexpand.c: Handle USE_MAPPED_LOCATION case for function_end_locus.
27156169689Skan	* cfglayout.c (insn_locators_initialize): Const cleanup.  New macros.
27157169689Skan	* cfgrtl.c (delete_insn): Use new NOTE_DELETED_LABEL_NAME macro.
27158169689Skan	* print-rtl.c (print_rtx): Likewise.
27159169689Skan	* emit-rtl.c: Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
27160169689Skan	* combine.c: Use new SET_INSN_DELETED macro.
27161169689Skan	* flow.c: Likewise.
27162169689Skan	* haifa-sched.c: Likewise.
27163169689Skan	* ifcvt.c: Likewise.
27164169689Skan	* recog.c: Likewise.
27165169689Skan	* reload1.c: Likewise.
27166169689Skan	* diagnostic.c: Use expand_location macro.
27167169689Skan	* pretty-print.c (pp_base_format_text): Likewise.
27168169689Skan	* profile.c: Likewise.
27169169689Skan	* dwarf2out.c: Likewise.  Also use expand_location, DECL_IS_BUILTIN.
27170169689Skan	* dwarf2out.c (dwarf2out_decl: Use BUILTINS_LOCATION.
27171169689Skan	* emit-rtl.c (emit_line_note): Simplify if USE_MAPPED_LOCATION.
27172169689Skan	(force_next_line_note, insn_emit): Handle USE_MAPPED_LOCATION case.
27173169689Skan	* final.c (final): Likewise.
27174169689Skan	* haifa-sched.c: Likewise.
27175169689Skan	* integrate.c: Likewise.
27176169689Skan	* jump.c: Likewise.
27177169689Skan	* rtl-error.c: Likewise.
27178169689Skan	* stmt.c (check_seenlabel): Likewise.
27179169689Skan	* tree-pretty-print.c: Likewise.
27180169689Skan	* gengtype-lex.l: Temporary kludge to avoid duplicate typedef.
27181169689Skan	* gengtype.c: Update for now typdefs in input.h.  More kludges.
27182169689Skan	* modulo-sched.c (sms_schedule): Use NOTE_EXPANDED_LOCATION macro.
27183169689Skan	* ra-debug.c (ra_print_rtl): Likewise.
27184169689Skan	* sched-rgn.c: Likewise.
27185169689Skan	* sched-vis.c: Likewise.
27186169689Skan	* rtl.h (gen_rtx_ASM_OPERANDS): Redefine if USE_MAPPED_LOCATION.
27187169689Skan	* stmt.c (expand_asm_operands): Adjust calls to gen_rtx_ASM_OPERANDS.
27188169689Skan	* tree-cfg.c: Use new macros and typedefs.
27189169689Skan	* tree-flow-inline.h: Likewise.
27190169689Skan
27191169689Skan2004-06-30  Richard Sandiford  <rsandifo@redhat.com>
27192169689Skan	    Eric Christopher  <echristo@redhat.com>
27193169689Skan
27194169689Skan	* config/mips/3000.md: Improve description.
27195169689Skan
27196169689Skan2004-06-30  Paul Brook  <paul@codesourcery.com>
27197169689Skan
27198169689Skan	* config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn,
27199169689Skan	cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads.
27200169689Skan
27201169689Skan2004-06-30  Sebastian Pop  <pop@cri.ensmp.fr>
27202169689Skan
27203169689Skan	* Makefile.in (OBJS-common): Add tree-chrec.o.
27204169689Skan	(tree-chrec.o): New rule.
27205169689Skan	(GTFILES): Add tree-chrec.h.
27206169689Skan	* gengtype.c (open_base_files): Add tree-chrec.h.
27207169689Skan	* tree-chrec.c: New file.
27208169689Skan	* tree-chrec.h: New file.
27209169689Skan	* tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes.
27210169689Skan
27211169689Skan2004-06-30  Roger Sayle  <roger@eyesopen.com>
27212169689Skan
27213169689Skan	* combine.c: Include "output.h" to define dump_file.
27214169689Skan	(uid_insn_cost, last_insn_cost): New global variables.
27215169689Skan	(combine_insn_cost): New function to estimate cost of an insn.
27216169689Skan	(combine_validate_cost): New function to determine whether a
27217169689Skan	try_combine replacement sequence is cheaper than the original.
27218169689Skan	(combine_instructions): Allocate and populate uid_insn_cost
27219169689Skan	array at the start of the combine pass, and deallocate it after.
27220169689Skan	(try_combine): Check combine_validate_cost to determine whether
27221169689Skan	a "recombination" should be rejected as being more expensive.
27222169689Skan	* Makefile.in (combine.o): Add dependency upon output.h.
27223169689Skan
27224169689Skan2004-06-30  Roger Sayle  <roger@eyesopen.com>
27225169689Skan
27226169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle
27227169689Skan	subtractions identically to additions, always COSTS_N_INSNS (1).
27228169689Skan
27229169689Skan2004-06-30  J"orn Rennecke <joern.rennecke@superh.com>
27230169689Skan
27231169689Skan	* expmed.c (expand_smod_pow2): Fix sign of mask.
27232169689Skan
27233169689Skan2004-06-29  Diego Novillo  <dnovillo@redhat.com>
27234169689Skan
27235169689Skan	* tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant
27236169689Skan	to check for constants.
27237169689Skan	(set_remove): Likewise.
27238169689Skan	(value_replace_in_set): Likewise.
27239169689Skan	(find_leader): Likewise.
27240169689Skan	* tree-vn.c (set_value_handle): Likewise.
27241169689Skan	(vn_lookup): Likewise.
27242169689Skan	(vn_lookup_or_add): Likewise.
27243169689Skan
27244169689Skan2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
27245169689Skan
27246169689Skan	RTL prologue/epilogue for SPARC
27247169689Skan	* config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete.
27248169689Skan	(sparc_skip_caller_unimp): Likewise.
27249169689Skan	(load_pic_register): Likewise.
27250169689Skan	(leaf_return_peephole_ok): Likewise.
27251169689Skan	(compute_frame_size): Rename into sparc_compute_frame_size.
27252169689Skan	(sparc_expand_prologue): New prototype.
27253169689Skan	(sparc_expand_epilogue): Likewise.
27254169689Skan	(output_return): Likewise.
27255169689Skan	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
27256169689Skan	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to
27257169689Skan	compute_frame_size.  Move comment up.
27258169689Skan	(DELAY_SLOTS_FOR_EPILOGUE): Delete.
27259169689Skan	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
27260169689Skan	(EPILOGUE_USES): Return true for %g1 if the function uses EH return.
27261169689Skan	* config/sparc/sparc.md (UNSPECV_SAVEW): New constant.
27262169689Skan	(type attribute): Add 'return' and 'savew'.
27263169689Skan	(eligible_for_return_delay): New attribute.
27264169689Skan	(return): New delay_slot.
27265169689Skan	(sibcall_epilogue): Call sparc_expand_epilogue.
27266169689Skan	(prologue): Likewise.  Move up.
27267169689Skan	(save_register_window): New expander.
27268169689Skan	(save_register_windowsi): New pattern.
27269169689Skan	(save_register_windowdi): Likewise.
27270169689Skan	(epilogue): New expander.
27271169689Skan	(return_internal): New pattern.
27272169689Skan	(Return peepholes): Delete.
27273169689Skan	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro.
27274169689Skan	(sparc_emitting_epilogue): Delete.
27275169689Skan	(sparc_skip_caller_unimp): Likewise.
27276169689Skan	(sparc_sr_alias_set): New global variable.
27277169689Skan	(frame_base_name): Delete.
27278169689Skan	(frame_base_reg): New global variable.
27279169689Skan	(sparc_override_options): Get new alias set for save/restore.
27280169689Skan	(leaf_return_peephole_ok): Delete.
27281169689Skan	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
27282169689Skan	Factor out code into eligible_for_restore_insn_delay.
27283169689Skan	(eligible_for_restore_insn_delay): New function extraced from above.
27284169689Skan	Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE.
27285169689Skan	(eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P.
27286169689Skan	Factor out code into eligible_for_restore_insn_delay.
27287169689Skan	(load_pic_register): Make static.  Remove check.
27288169689Skan	(save_regs): Delete.
27289169689Skan	(restore_regs): Likewise.
27290169689Skan	(compute_frame_size): Rename into sparc_compute_frame_size.
27291169689Skan	Rename leaf_function into leaf_function_p.
27292169689Skan	(build_big_number): Delete.
27293169689Skan	(save_or_restore_regs): New function.
27294169689Skan	(emit_save_regs): Likewise.
27295169689Skan	(emit_restore_regs): Likewise.
27296169689Skan	(emit_stack_pointer_increment ): Likewise.
27297169689Skan	(emit_stack_pointer_decrement): Likewise.
27298169689Skan	(sparc_expand_prologue): Likewise.
27299169689Skan	(sparc_function_prologue): Rename into sparc_asm_function_prologue.
27300169689Skan	Remove all code to emit instructions.
27301169689Skan	(sparc_expand_epilogue): New function.
27302169689Skan	(sparc_function_epilogue): Rename into sparc_asm_function_epilogue.
27303169689Skan	Remove all code to emit instructions.
27304169689Skan	(output_restore): New function.
27305169689Skan	(output_return): Likewise.
27306169689Skan	(output_sibcall): Factor out code into output_restore.
27307169689Skan	(print_operand): Adjust for frame_base_reg.
27308169689Skan	* target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'.
27309169689Skan	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define.
27310169689Skan	(TARGET_INITIALIZER): Add it.
27311169689Skan	* passes.c (rest_of_compilation): Set the conditional predicate
27312169689Skan	'current_function_uses_only_leaf_regs' before sched2.  If target
27313169689Skan	has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right
27314169689Skan	before sched2.
27315169689Skan	* reorg.c (return_insn_p): New predicate.
27316169689Skan	(find_end_label): Use it.
27317169689Skan	(relax_delay_slots): Do not thread an unconditional jump that points
27318169689Skan	to the end return label.
27319169689Skan	* doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity
27320169689Skan	domain of 'current_function_uses_only_leaf_regs'.
27321169689Skan	(Stack and Calling) <Function Entry>: Document new target hook
27322169689Skan	TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
27323169689Skan
27324169689Skan2004-06-30  Jakub Jelinek  <jakub@redhat.com>
27325169689Skan
27326169689Skan	* simplify-rtx.c (simplify_binary_operation): Simplify
27327169689Skan	((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and
27328169689Skan	N has at least all bits in M set as well.
27329169689Skan
27330169689Skan	PR tree-optimization/15310
27331169689Skan	* expr.c (expand_assignment): Optimize += or -= on a bit field in
27332169689Skan	most significant bits.
27333169689Skan
27334169689Skan2004-06-30  Steven Bosscher  <stevenb@suse.de>
27335169689Skan
27336169689Skan	* config/c4x/c4x.md: Fix comment.
27337169689Skan
27338169689Skan2004-06-30  Akos Kiss  <akiss@inf.u-szeged.hu>
27339169689Skan
27340169689Skan	* arm.md (cond_return_inverted): Add "length" attribute.
27341169689Skan
27342169689Skan2004-06-29  Per Bothner  <per@bothner.com>
27343169689Skan
27344169689Skan	* config/i386/winnt.c (i386_pe_encode_section_info): Smash rtlname's
27345169689Skan	XSTR in place, so we don't lose SYMBOL_REF_DECL info.
27346169689Skan
27347169689Skan2004-06-29  Zack Weinberg  <zack@codesourcery.com>
27348169689Skan
27349169689Skan	* config/ia64/hpux.h: Target does too support thread-local storage.
27350169689Skan
27351169689Skan2004-06-29  Zack Weinberg  <zack@codesourcery.com>
27352169689Skan
27353169689Skan	* combine.c (distribute_notes): Don't look at global_regs for
27354169689Skan	pseudos.
27355169689Skan
27356169689Skan2004-06-29  Richard Henderson  <rth@redhat.com>
27357169689Skan
27358169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Move immediately before
27359169689Skan	gimplify_modify_expr.
27360169689Skan	(gimplify_init_constructor): Likewise.  Gimplify the null
27361169689Skan	CONSTRUCTOR assignment.
27362169689Skan	(gimplify_modify_expr_to_memcpy): New.
27363169689Skan	(gimplify_modify_expr_to_memset): New.
27364169689Skan	(gimplify_modify_expr): Use them.
27365169689Skan
27366169689Skan2004-06-29  Roman Zippel <zippel@linux-m68k.org>
27367169689Skan
27368169689Skan	* web.c (union_defs): use all defs of an instruction to create a
27369169689Skan	union with a read/write use
27370169689Skan
27371169689Skan2004-06-29  Richard Henderson  <rth@redhat.com>
27372169689Skan
27373169689Skan	PR middle-end/16216
27374169689Skan	* builtins.c (gimplify_va_arg_expr): Check for valist being
27375169689Skan	an error_mark_node.
27376169689Skan
27377169689Skan2004-06-29  Jakub Jelinek  <jakub@redhat.com>
27378169689Skan
27379169689Skan	PR target/16195
27380169689Skan	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
27381169689Skan	r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
27382169689Skan	(first_reg_to_save): Pretend call_used_regs[30] is 0 if
27383169689Skan	TARGET_TOC && TARGET_MINIMAL_TOC.
27384169689Skan	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
27385169689Skan
27386169689Skan2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
27387169689Skan
27388169689Skan	Fix gcc.dg/builtin-apply2.c failures:
27389169689Skan	* sh.h (TARGET_VARARGS_PRETEND_ARGS): Define.
27390169689Skan	* sh.c (extra_push): Delete.
27391169689Skan	(sh_expand_prologue): Don't do extra stack adjustment for
27392169689Skan	current_function_pretend_args_size if it comes from varargs setup.
27393169689Skan	Use TARGET_VARARGS_PRETEND_ARGS.  Don't set extra_push.
27394169689Skan	(sh_expand_epilogue): Don't use extra_push.
27395169689Skan	(sh_setup_incoming_varargs): Set pretend_arg_size when necessary.
27396169689Skan
27397169689Skan2004-06-29  Roger Sayle  <roger@eyesopen.com>
27398169689Skan
27399169689Skan	* expmed.c (expand_smod_pow2): Provide alternate implementations
27400169689Skan	that avoid conditional jumps, and choose between them based upon
27401169689Skan	the target's rtx_costs.
27402169689Skan
27403169689Skan2004-06-29  Andrew Pinski  <apinski@apple.com>
27404169689Skan
27405169689Skan	* tree-sra.c: Include expr.h for definition of MOVE_RATIO.
27406169689Skan	* Makefile.in (tree-sra.c): Update dependencies.
27407169689Skan
27408169689Skan2004-06-29  Richard Henderson  <rth@redhat.com>
27409169689Skan
27410169689Skan	* tree-sra.c: Rewrite from scratch.  Handle nested aggregates.
27411169689Skan
27412169689Skan2004-06-29  Nathan Sidwell  <nathan@codesourcery.com>
27413169689Skan
27414169689Skan	* vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
27415169689Skan	size_t is bigger than int.
27416169689Skan
27417169689Skan2004-06-29  Paul Brook  <paul@codesourcery.com>
27418169689Skan
27419169689Skan	* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
27420169689Skan	TARGET_CXX_COOKIE_HAS_SIZE): Define.
27421169689Skan	(TARGET_CXX): Use them.
27422169689Skan	* target.h (struct gcc_target): Add cxx.get_cookie_size and
27423169689Skan	cxx.cookie_has_size.
27424169689Skan	* targhooks.c (default_cxx_get_cookie_size): New fucntion.
27425169689Skan	* targhooks.h (default_cxx_get_cookie_size): Add prototype.
27426169689Skan	* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
27427169689Skan	TARGET_CXX_COOKIE_HAS_SIZE): Define.
27428169689Skan	(arm_get_cookie_size, arm_cookie_has_size): New functions.
27429169689Skan	* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
27430169689Skan	* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
27431169689Skan	TARGET_CXX_COOKIE_HAS_SIZE.
27432169689Skan
27433169689Skan2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
27434169689Skan
27435169689Skan	* cfglayout.c (fixup_reorder_chain): Don't do anything for
27436169689Skan	e_fall->dest == EXIT_BLOCK_PTR.
27437169689Skan
27438169689Skan2004-06-28  Richard Henderson  <rth@redhat.com>
27439169689Skan
27440169689Skan	* tree-cfg.c (verify_stmt): Add last_in_block parameter.  Verify
27441169689Skan	that eh stmts can throw.
27442169689Skan	(verify_stmts): Update verify_stmt call.
27443169689Skan	(tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
27444169689Skan	* tree-eh.c (remove_stmt_from_eh_region): New.
27445169689Skan	(lower_eh_constructs): Fix throw_stmt_table delete routine.
27446169689Skan	(tree_could_trap_p): Match may_trap_p.
27447169689Skan	(maybe_clean_eh_stmt): New.
27448169689Skan	* tree-flow.h: Update decls.
27449169689Skan	* tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
27450169689Skan	(substitute_and_fold): Clean eh edges.
27451169689Skan	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
27452169689Skan	empty basic blocks.
27453169689Skan	* tree-ssa-dom.c (need_eh_cleanup): New.
27454169689Skan	(tree_ssa_dominator_optimize): Allocate it.  Cleanup eh edges.
27455169689Skan	(optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
27456169689Skan
27457169689Skan2004-06-29  Alan Modra  <amodra@bigpond.net.au>
27458169689Skan
27459169689Skan	* function.c (assign_parms): Don't abort with zero size stack
27460169689Skan	parm failing the PARM_BOUNDARY check.
27461169689Skan
27462169689Skan2004-06-28  Diego Novillo  <dnovillo@redhat.com>
27463169689Skan
27464169689Skan	* common.opt (ftree-fre): New flag.
27465169689Skan	* flags.h (flag_tree_fre): Declare.
27466169689Skan	* opts.c (decode_options): Set.
27467169689Skan	* timevar.def (TV_TREE_FRE): Define.
27468169689Skan	* tree-flow-inline.h (may_propagate_copy): Re-arrange for
27469169689Skan	readability.  Handle destinations that are not SSA_NAMEs.
27470169689Skan	* tree-flow.h (struct ptr_info_def): Move from tree.h
27471169689Skan	(cprop_into_stmt, cprop_into_successor_phis): Remove.
27472169689Skan	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
27473169689Skan	vuse_optype parameter.
27474169689Skan	* tree-pass.h (pass_fre): Declare.
27475169689Skan	* tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
27476169689Skan	(cprop_into_stmt): Likewise.
27477169689Skan	(cprop_into_successor_phis): Likewise.
27478169689Skan	* tree-ssa-dom.c (eliminate_redundant_computations): Fix
27479169689Skan	argument ordering in call to may_propagate_copy.
27480169689Skan	* tree-ssa-pre.c (is_undefined_value): Assume hard registers
27481169689Skan	to be always defined.
27482169689Skan	(add_to_sets): New local function.
27483169689Skan	(create_value_expr_from): New local function.
27484169689Skan	(compute_avail): Call them.
27485169689Skan	(eliminate): Don't ignore statements with virtual operands.
27486169689Skan	(init_pre): New local function.
27487169689Skan	(fini_pre): New local function.
27488169689Skan	(execute_pre): Call them.
27489169689Skan	Add argument DO_FRE.  Don't do insertion if DO_FRE is true.
27490169689Skan	(do_pre): New function.
27491169689Skan	(do_fre): New function.
27492169689Skan	(gate_fre): New function.
27493169689Skan	(pass_fre): Declare.
27494169689Skan	* tree-ssa.c (init_tree_ssa): Don't call vn_init.
27495169689Skan	(delete_tree_ssa): Don't call vn_delete.
27496169689Skan	* tree-vn.c (val_expr_pair_d): Add documentation.
27497169689Skan	(vn_compute): Add VUSES argument to incorporate in computing
27498169689Skan	hash values.  Update all callers.
27499169689Skan	(expressions_equal_p): Call operand_equal_p with
27500169689Skan	OEP_PURE_SAME.
27501169689Skan	(vn_add): Add VUSES argument.  Update all callers.
27502169689Skan	(vn_lookup): Likewise.
27503169689Skan	(vn_lookup_or_add): Likewise.
27504169689Skan	* doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.
27505169689Skan
27506169689Skan2004-06-28  Steven Bosscher  <stevenb@suse.de>
27507169689Skan
27508169689Skan	* config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
27509169689Skan	m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
27510169689Skan	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
27511169689Skan	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
27512169689Skan	* config/m32r/m32r.md: Rewrite the pipeline description as a DFA.
27513169689Skan
27514169689Skan2004-06-28  Richard Henderson  <rth@redhat.com>
27515169689Skan
27516169689Skan	* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
27517169689Skan	* fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
27518169689Skan	IMAGPART_EXPR.
27519169689Skan	* tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
27520169689Skan	IMAGPART_EXPR explicitly.
27521169689Skan	* tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
27522169689Skan	and IMAGPART_EXPR specially.
27523169689Skan	* tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
27524169689Skan
27525169689Skan2004-06-28  J"orn Rennecke <joern.rennecke@superh.com>
27526169689Skan
27527169689Skan	* config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
27528169689Skan
27529169689Skan2004-06-28  Joseph S. Myers  <jsm@polyomino.org.uk>
27530169689Skan
27531169689Skan	* builtins.def (execl, execlp, execle, execv, execvp, execve,
27532169689Skan	fork): Change to DEF_EXT_LIB_BUILTIN.
27533169689Skan
27534169689Skan2004-06-28  Roger Sayle  <roger@eyesopen.com>
27535169689Skan
27536169689Skan	* expmed.c (expand_smod_pow2): New function to expand signed
27537169689Skan	remainder by a constant power of 2, such as "x % 16".
27538169689Skan	(expand_divmod): Call new expand_smod_pow2 when appropriate.
27539169689Skan	Minor corrections to comments, e.g. wrapping long lines.
27540169689Skan
27541169689Skan2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
27542169689Skan
27543169689Skan	* Makefile.in (vec.o): Fix dependencies.
27544169689Skan
27545169689Skan2004-06-28  Andreas Tobler <a.tobler@schweiz.ch>
27546169689Skan
27547169689Skan	* Makefile.in: Fix parallel make dependency problem on vec.o.
27548169689Skan
27549169689Skan2004-06-28  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
27550169689Skan
27551169689Skan	PR target/14041
27552169689Skan	* config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define.
27553169689Skan
27554169689Skan2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
27555169689Skan
27556169689Skan	* tree.h (tree_check_failed): Make varadic.
27557169689Skan	(tree_not_check_failed): New prototype.
27558169689Skan	(tree_check2_failed, tree_check3_failed,
27559169689Skan	tree_check4_failed, tree_check5_failed): Remove.
27560169689Skan	(TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4,
27561169689Skan	TREE_CHECK5): Adjust.
27562169689Skan	(TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4,
27563169689Skan	TREE_NOT_CHECK5): New.
27564169689Skan	(TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE,
27565169689Skan	TREE_RTL_OPERAND_CHECK): Adjust.
27566169689Skan	* tree.c (tree_check_failed): Make varadic.
27567169689Skan	(tree_not_check_failed): New.
27568169689Skan	(tree_check2_failed, tree_check3_failed,
27569169689Skan	tree_check4_failed, tree_check5_failed): Remove.
27570169689Skan
27571169689Skan2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
27572169689Skan
27573169689Skan	* combine.c (can_combine_p): Do not prevent building insns that use
27574169689Skan	and clobber the same fixed hard register.
27575169689Skan	(reg_dead_at_p): Likewise.
27576169689Skan
27577169689Skan2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27578169689Skan
27579169689Skan	* tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers
27580169689Skan	changed.
27581169689Skan	(is_sra_candidate_complex_ref): New function.
27582169689Skan	(scalarize_modify_expr): Call it and check for LHS also.
27583169689Skan
27584169689Skan	* tree-pretty-print.c (dump_function_declaration): New.
27585169689Skan	(dump_generic_node, case FUNCTION_TYPE): Call it.
27586169689Skan	(dump_generic_node, case RECORD_TYPE): Don't output dup semicolon.
27587169689Skan	(dump_generic_node, case DECL_EXPR): New case.
27588169689Skan	(dump_generic_node, case PLACEHOLDER_EXPR): Handle.
27589169689Skan	(print_declaration): Handle type and function declarations.
27590169689Skan
27591169689Skan	* tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
27592169689Skan	(convert_nonlocal_reference, convert_local_reference): Properly
27593169689Skan	convert nest of handled component references.
27594169689Skan
27595169689Skan2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
27596169689Skan
27597169689Skan	* vec.h, vec.c: New, type safe vector API.
27598169689Skan	* Makefile.in (OBJS-common): Add vec.o.
27599169689Skan	(vec.o): New target.
27600169689Skan	(gengtype-lex.o): Depend on vec.h.
27601169689Skan
27602169689Skan2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
27603169689Skan
27604169689Skan	* fold-const.c (fold_cond_expr_with_comparison): Add ARG1
27605169689Skan	parameter.  Use it instead of ARG00 to produce the result.
27606169689Skan
27607169689Skan2004-06-28  Alexandre Oliva  <aoliva@redhat.com>
27608169689Skan
27609169689Skan	* config/mn10300/mn10300-protos.h (legitimate_address_p): Declare.
27610169689Skan	* config/mn10300/mn10300.c (legitimate_address_p): New.  Test that
27611169689Skan	index is legitimate, compared with code moved from...
27612169689Skan	* config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here.
27613169689Skan	(REG_STRICT): Define, according to REG_OK_STRICT.
27614169689Skan	(REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P,
27615169689Skan	REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict
27616169689Skan	argument.
27617169689Skan	(REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P,
27618169689Skan	REGNO_STRICT_OK_FOR_INDEX_P): New.
27619169689Skan	(REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P,
27620169689Skan	REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P,
27621169689Skan	RTX_OK_FOR_BASE_P): Use them.
27622169689Skan
27623169689Skan2004-06-28  Ben Elliston  <bje@au.ibm.com>
27624169689Skan
27625169689Skan	* doc/cfg.texi (Basic Blocks): Define dominators.
27626169689Skan
27627169689Skan2004-06-27  Andrew Pinski  <pinskia@physics.uc.edu>
27628169689Skan
27629169689Skan	PR c++/16205
27630169689Skan	* c-common.c (warn_for_collisions_1): Warn for only decls which
27631169689Skan	have a name.
27632169689Skan
27633169689Skan	PR c++/15145
27634169689Skan	* c.opt (Wsequence-point): Enable for C++ and ObjC++.
27635169689Skan
27636169689Skan	PR c/14963
27637169689Skan	* c-decl.c (start_decl): Check for null types.
27638169689Skan
27639169689Skan2004-06-27  David Edelsohn  <edelsohn@gnu.org>
27640169689Skan
27641169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
27642169689Skan	Accept TOC addresses.
27643169689Skan
27644169689Skan2004-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
27645169689Skan
27646169689Skan	* config/s390/s390-protos.h (s390_load_got): Update prototype.
27647169689Skan	* config/s390/s390.c (struct machine_function): Add member base_reg.
27648169689Skan	(s390_decompose_address): Accept UNSPEC_LTREF.  Simplify logic.
27649169689Skan	(s390_split_branches): Annotate late pool references.
27650169689Skan	(annotate_constant_pool_refs): New function.
27651169689Skan	(find_constant_pool_ref): Work on annotated pool references.
27652169689Skan	(replace_constant_pool_ref): Likewise.  Use explicit base.
27653169689Skan	(replace_ltrel_base): Use explicit base.
27654169689Skan	(s390_mainpool_start): Reflect main_pool pattern change.
27655169689Skan	(s390_mainpool_finish): Use base register from main_pool.
27656169689Skan	Update calls to replace_ltrel_base and replace_constant_pool_ref.
27657169689Skan	(s390_chunkify_start): Use base_reg from struct machine_function.
27658169689Skan	(s390_chunkify_finish): Remove base_reg argument.  Update calls
27659169689Skan	to replace_ltrel_base and replace_constant_pool_ref.
27660169689Skan	(s390_reorg): Don't decide upon base register.  Update calls.
27661169689Skan	(s390_load_got): Remove MAYBE_DEAD handling.  Do not emit insns
27662169689Skan	but return sequence instead.
27663169689Skan	(s390_emit_prologue): Decide upon base register to use.  Annotate
27664169689Skan	all literal pool references.  Adapt to main_pool pattern change.
27665169689Skan	Update s390_load_got call; move MAYBE_DEAD handling here.
27666169689Skan	(s390_emit_epilogue): Annotate late literal pool references.
27667169689Skan	Remove barrier before register restore instruction.
27668169689Skan	* config/s390/s390.md (UNSPEC_LTREF): New constant.
27669169689Skan	("builtin_setjmp_receiver"): Update s390_load_got call.
27670169689Skan	("main_pool"): Explicitly reference base register.
27671169689Skan
27672169689Skan2004-06-27  Roger Sayle  <roger@eyesopen.com>
27673169689Skan
27674169689Skan	* fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1.
27675169689Skan	<BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1.
27676169689Skan	<BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0.
27677169689Skan	<TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false.
27678169689Skan	<TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true.
27679169689Skan	<TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true.  Now that
27680169689Skan	TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0
27681169689Skan	is a constant.
27682169689Skan
27683169689Skan2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27684169689Skan
27685169689Skan	* c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
27686169689Skan	* c-common.def (DECL_STMT): Remove.
27687169689Skan	* c-common.h (DECL_STMT_DECL): Deleted.
27688169689Skan	(COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
27689169689Skan	(c_safe_from_p, c_walk_subtrees): Deleted.
27690169689Skan	* c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
27691169689Skan	* c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
27692169689Skan	* c-gimplify.c (gimplify_decl_stmt): Deleted.
27693169689Skan	(gimplify_compound_literal_expr): Use DECL_EXPR_DECL
27694169689Skan	and gimplify_and_add.
27695169689Skan	(c_gimplify_expr, case DECL_EXPR): New case.
27696169689Skan	(c_gimplify_expr, case DECL_STMT): Deleted.
27697169689Skan	* c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
27698169689Skan	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
27699169689Skan	* expr.c (safe_from_p, case 's'): New case.
27700169689Skan	* gimplify.c (gimplify_decl_expr): New function.
27701169689Skan	(gimplify_expr, case DECL_EXPR): New case.
27702169689Skan	* tree-inline.c (walk_tree): Walk into all fields of a type and
27703169689Skan	decl only if they are in a DECL_EXPR.
27704169689Skan	(mark_local_for_remap_r): Minor code cleanup.
27705169689Skan	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
27706169689Skan	* tree.c (has_cleanups, case DECL_EXPR): New case.
27707169689Skan	* tree.def (DECL_EXPR): New code.
27708169689Skan	* tree.h (DECL_EXPR_DECL): New macro.
27709169689Skan
27710169689Skan	* objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
27711169689Skan
27712169689Skan2004-06-26  Andrew Pinski  <pinskia@physics.uc.edu>
27713169689Skan
27714169689Skan	PR 13334
27715169689Skan	* doc/install.texi: Document non-standard CFLAGS and bootstrap
27716169689Skan	failures and warnings.
27717169689Skan
27718169689Skan2004-06-26  Andrew Haley  <aph@redhat.com>
27719169689Skan
27720169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
27721169689Skan	TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
27722169689Skan	* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
27723169689Skan	* tree.h (TREE_THIS_NOTRAP): New.
27724169689Skan
27725169689Skan2004-06-26  Kaz Kojima  <kkojima@gcc.gnu.org>
27726169689Skan
27727169689Skan	* genattrtab.c (write_test_expr): Put a unsigned cast before
27728169689Skan	the first operand for GEU, GTU, LEU and LTU.
27729169689Skan
27730169689Skan2004-06-26  Kazu Hirata  <kazu@cs.umass.edu>
27731169689Skan
27732169689Skan	* c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c,
27733169689Skan	gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c,
27734169689Skan	tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c,
27735169689Skan	tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c,
27736169689Skan	tree-tailcall.c: Fix comment typos.  Follow spelling
27737169689Skan	conventions.
27738169689Skan
27739169689Skan2004-06-25  Eric Christopher  <echristo@redhat.com>
27740169689Skan
27741169689Skan	* config/mips/mips.md: Add back scheduling exclusion info.
27742169689Skan
27743169689Skan2004-06-25  Roger Sayle  <roger@eyesopen.com>
27744169689Skan
27745169689Skan	* ifcvt.c (seq_contains_jump): Delete function.
27746169689Skan	(end_ifcvt_sequence): Replace call to seq_contains_jump with an
27747169689Skan	inline test for a jump instruction in the existing "insn" loop.
27748169689Skan	(block_fallthru): Document function.
27749169689Skan
27750169689Skan2004-06-25  Philip Blundell  <philb@gnu.org>
27751169689Skan
27752169689Skan	PR wrong-code/15089
27753169689Skan	* loop.c (scan_loop): Do not move user-specified register
27754169689Skan	assignments.
27755169689Skan
27756169689Skan2004-06-25  DJ Delorie  <dj@redhat.com>
27757169689Skan
27758169689Skan	* c-common.h (warn_cast_qual, warn_missing_format_attribute,
27759169689Skan	warn_pointer_arith, warn_missing_prototypes, warn_parentheses,
27760169689Skan	warn_missing_braces, warn_sign_compare, warn_long_long,
27761169689Skan	warn_redundant_decls, warn_float_equal, warn_char_subscripts,
27762169689Skan	warn_conversion, warn_format_y2k, warn_format_extra_args,
27763169689Skan	warn_format_zero_length, warn_format_nonliteral,
27764169689Skan	warn_format_security, mesg_implicit_function_declaration,
27765169689Skan	warn_bad_function_cast, warn_traditional,
27766169689Skan	warn_declaration_after_statement, warn_strict_prototypes,
27767169689Skan	warn_missing_declarations, warn_nested_externs,
27768169689Skan	warn_sequence_point, warn_init_self, warn_div_by_zero,
27769169689Skan	warn_implicit_int, warn_nonnull, warn_old_style_definition,
27770169689Skan	warn_selector, warn_undeclared_selector, warn_protocol,
27771169689Skan	warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy,
27772169689Skan	warn_overloaded_virtual, warn_nonvdtor, warn_reorder,
27773169689Skan	warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo,
27774169689Skan	warn_old_style_cast, warn_nontemplate_friend,
27775169689Skan	warn_deprecated): Remove explicit declarations.
27776169689Skan	* c-common.c: Likewise, remove explicit definitions.
27777169689Skan	* c-opts.c: Likewise, remove explicit assignments.
27778169689Skan	* c.opts: Likewise, add implicit declare/define/assign.
27779169689Skan
27780169689Skan2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27781169689Skan
27782169689Skan	* gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
27783169689Skan	(build_addr_expr_with_type): Deleted.
27784169689Skan	(build_addr_expr): Deleted; callers changed to build_fold_addr_expr.
27785169689Skan	(gimplify_compound_lval): Make two passes over reference nest.
27786169689Skan
27787169689Skan	* tree-nested.c (build_addr): Merge real/imagpart with
27788169689Skan	handled_component_p.
27789169689Skan	(convert_nonlocal_reference, convert_local_reference): Process extra
27790169689Skan	args to COMPONENT_REF and ARRAY_REF.
27791169689Skan	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for
27792169689Skan	lower bound and field offset being constant.
27793169689Skan
27794169689Skan2004-06-25  Mark Mitchell  <mark@codesourcery.com>
27795169689Skan
27796169689Skan	PR wrong-code/16129
27797169689Skan	* alias.c (get_alias_set): Adjust setting of
27798169689Skan	DECL_POINTER_ALIAS_SET for pointers to aggregates.
27799169689Skan
27800169689Skan2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27801169689Skan
27802169689Skan	* tree-inline.c (remap_type): Arrange to have just one pointer type
27803169689Skan	for each type, mode, and 'can alias' value.
27804169689Skan	(setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL.
27805169689Skan	(estimate_num_insns_1): Minor code reformatting.
27806169689Skan	(inline_forbidden_p_1): Likewise; add; missing return statement.
27807169689Skan
27808169689Skan2004-06-25  Roger Sayle  <roger@eyesopen.com>
27809169689Skan
27810169689Skan	PR middle-end/15825
27811169689Skan	* ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence.
27812169689Skan	Use get_isns and end_sequence instead of accepting a seq argument.
27813169689Skan	Scan the instruction sequence for unrecognizable or jump insns.
27814169689Skan	(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
27815169689Skan	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
27816169689Skan	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
27817169689Skan	noce_try_sign_mask): Use end_ifcvt_sequence to factor common code.
27818169689Skan
27819169689Skan2004-06-24  Jeff Law  <law@redhat.com>
27820169689Skan
27821169689Skan	* gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS
27822169689Skan	after gimplifying the innermost component.
27823169689Skan
27824169689Skan2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
27825169689Skan
27826169689Skan	PR target/16176
27827169689Skan	* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
27828169689Skan	register for the destination of the lwl or ldl.
27829169689Skan
27830169689Skan2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27831169689Skan
27832169689Skan	* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
27833169689Skan	handled_component_p handling.
27834169689Skan	* tree-gimple.c (get_base_address): Likewise and fix typo that
27835169689Skan	caused both recursion and looping.
27836169689Skan
27837169689Skan	* tree-cfg.c (verify_expr): Add macro CHECK_OK.
27838169689Skan	Properly test for nest of handled_components in LHS context.
27839169689Skan
27840169689Skan2004-06-25  Devang Patel  <dpatel@apple.com>
27841169689Skan
27842169689Skan	* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
27843169689Skan
27844169689Skan2004-06-25  Paul Brook  <paul@codesourcery.com>
27845169689Skan
27846169689Skan	* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
27847169689Skan	TARGET_CXX): Define.
27848169689Skan	(TARGET_INITIALIZER): Use TARGET_CXX.
27849169689Skan	* target.h (struct gcc_target): Add struct cxx.
27850169689Skan	* targhooks.h (default_cxx_guard_type): Add prototype.
27851169689Skan	* targhooks.c (default_cxx_guard_type): New function.
27852169689Skan	* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
27853169689Skan	Define.
27854169689Skan	(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
27855169689Skan	* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
27856169689Skan	TARGET_CXX_GUARD_MASK_BIT.
27857169689Skan
27858169689Skan2004-06-25  Devang Patel  <dpatel@apple.com>
27859169689Skan
27860169689Skan	* config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
27861169689Skan	* config/i386/darwin.h (CC1_SPEC): Same.
27862169689Skan
27863169689Skan2004-06-25  Mark G. Adams  <mark.g.adams@sympatico.ca>
27864169689Skan
27865169689Skan	* dbxout.h: Add include guards
27866169689Skan
27867169689Skan2004-06-25  Paul Brook  <paul@codesourcery.com>
27868169689Skan
27869169689Skan	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
27870169689Skan
27871169689Skan2004-06-25  Richard Earnshaw  <rearnsha@arm.com>
27872169689Skan
27873169689Skan	* arm.c (arm_arch4t): New variable.
27874169689Skan	(arm_override_options): Initialize it.  If compiling for armv5 or
27875169689Skan	higher clear TARGET_INTERWORK.
27876169689Skan	(output_call): Abort if called for armv5.  Use BX if it's available.
27877169689Skan	(output_call_mem): Use BLX if available and ensure that all armv5
27878169689Skan	code is interworking safe.
27879169689Skan	(output_return_instruction): Always use BX in preference to MOV if
27880169689Skan	it's available.
27881169689Skan	(arm_output_epilogue): Likewise.
27882169689Skan	(arm_final_prescan_insn): Never conditionally call a subroutine
27883169689Skan	on armv5.
27884169689Skan	* arm.h (arm_arch4t): Declare.
27885169689Skan	* arm.md (call_reg_armv5, call_value_reg_armv5): New.
27886169689Skan	(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
27887169689Skan	call_value_reg respectively.
27888169689Skan	(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
27889169689Skan	(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
27890169689Skan	and call_value_indirect respectively.
27891169689Skan
27892169689Skan2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
27893169689Skan
27894169689Skan	* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
27895169689Skan	in terms of const_float_1_operand.
27896169689Skan
27897169689Skan2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
27898169689Skan
27899169689Skan	PR target/16144
27900169689Skan	* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
27901169689Skan	is 1.0; force it into a register instead.
27902169689Skan
27903169689Skan2004-06-25  Bernardo Innocenti  <bernie@develer.com>
27904169689Skan
27905169689Skan	* config/m68k/m68k.h: Restore valid comment removed by mistake with
27906169689Skan	the recent m68k comments cleanup.
27907169689Skan
27908169689Skan2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27909169689Skan
27910169689Skan	* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
27911169689Skan	* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
27912169689Skan	(gimplify_loop_expr, gimplify_init_constructor): Likewise.
27913169689Skan	(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.
27914169689Skan
27915169689Skan	PR/16131
27916169689Skan	* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
27917169689Skan
27918169689Skan	* gimplify.c: Remove unneeded forward declarations.
27919169689Skan
27920169689Skan	* gimplify.c (append_to_compound_expr): Deleted.
27921169689Skan	* tree-gimple.h (append_to_compound_expr): Deleted.
27922169689Skan
27923169689Skan	* fold-const.c (fold_addr_expr_with_type): Look through all
27924169689Skan	valid LHS modifiers to find a base to mark addressable.
27925169689Skan
27926169689Skan	* tree.h (debug_find_tree): Add declaration.
27927169689Skan	* tree-inline.c (debug_find_tree): Remove extern declaration.
27928169689Skan
27929169689Skan2004-06-24  Eric Christopher  <echristo@redhat.com>
27930169689Skan
27931169689Skan	* config/rs6000/rs6000.md: Apply change mistakenly
27932169689Skan	deleted with 2004-06-22 patch.
27933169689Skan
27934169689Skan2004-06-24  Richard Henderson  <rth@redhat.com>
27935169689Skan
27936169689Skan	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
27937169689Skan	(c_break_label, c_cont_label): New.
27938169689Skan	(start_function): Update initializations.
27939169689Skan	(c_push_function_context): Update saves.
27940169689Skan	(c_pop_function_context): Update restores.
27941169689Skan	* c-parse.in: Update expected conflicts.
27942169689Skan	(stmt_count, compstmt_count): Remove.  Remove all updates.
27943169689Skan	(if_prefix, simple_if, do_stmt_start): Remove.
27944169689Skan	(lineno_labeled_stmt): Remove.
27945169689Skan	(lineno_labels): New.
27946169689Skan	(c99_block_lineno_labeled_stmt): Use it.
27947169689Skan	(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
27948169689Skan	annotate_with_locus.
27949169689Skan	(select_or_iter_stmt): Replace by ...
27950169689Skan	(condition, if_statement_1, if_statement_2, if_statement,
27951169689Skan	start_break, start_continue, while_statement, do_statement,
27952169689Skan	for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
27953169689Skan	(stmt): Split out ...
27954169689Skan	(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
27955169689Skan	c_finish_goto_ptr.
27956169689Skan	* c-semantics.c (add_stmt): Don't add line numbers to labels.
27957169689Skan	* c-tree.h: Update prototypes.
27958169689Skan	(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
27959169689Skan	add x_break_label, x_cont_label, x_switch_stack.
27960169689Skan	(c_switch_stack): Declare.
27961169689Skan	* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
27962169689Skan	(c_finish_return): Return the statement.
27963169689Skan	(c_switch_stack): Rename from switch_stack; export.
27964169689Skan	(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
27965169689Skan	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
27966169689Skan	c_finish_else): Remove.
27967169689Skan	(c_finish_if_stmt): Rewrite to perform the entire operation.
27968169689Skan	(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
27969169689Skan	c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
27970169689Skan	c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
27971169689Skan	(c_finish_loop): New.
27972169689Skan	(c_finish_bc_stmt): New.
27973169689Skan	(c_finish_expr_stmt): Return the statement.  Split out...
27974169689Skan	(c_process_expr_stmt): ... this.  Don't add locus to error marks.
27975169689Skan	* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
27976169689Skan	* tree-gimple.c (is_gimple_stmt): Likewise.
27977169689Skan	* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
27978169689Skan	(print_struct_decl): Delete empty compound statement.
27979169689Skan	* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
27980169689Skan	* objc/objc-act.h: Update decl.
27981169689Skan
27982169689Skan2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27983169689Skan
27984169689Skan	* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
27985169689Skan	Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.
27986169689Skan
27987169689Skan2004-06-24  Andrew Pinski  <apinski@apple.com>
27988169689Skan
27989169689Skan	* objc-act.c (build_objc_method_call): Save the lookup_object
27990169689Skan	so we do not call it twice.
27991169689Skan
27992169689Skan2004-06-24  Richard Henderson  <rth@redhat.com>
27993169689Skan
27994169689Skan	* tree-ssa-dom.c (real_avail_expr_hash): New.
27995169689Skan	(tree_ssa_dominator_optimize): Use it in the htab.
27996169689Skan
27997169689Skan2004-06-24  Frank Ch. Eigler  <fche@redhat.com>
27998169689Skan
27999169689Skan	* tree-mudflap.c (mx_register_decls): Add third (type) argument
28000169689Skan	to synthesized __mf_unregister call.
28001169689Skan
28002169689Skan2004-06-24  Roger Sayle  <roger@eyesopen.com>
28003169689Skan
28004169689Skan	PR middle-end/15239
28005169689Skan	* expmed.c (expand_mult): Remove artificial restriction on the
28006169689Skan	maximum cost of a synthetic multiplication sequence.
28007169689Skan
28008169689Skan2004-06-24  Eric Christopher  <echristo@redhat.com>
28009169689Skan
28010169689Skan	* combine.c (distribute_notes): Don't delete sets to
28011169689Skan	global register variables.
28012169689Skan
28013169689Skan2004-06-24  Jakub Jelinek  <jakub@redhat.com>
28014169689Skan
28015169689Skan	* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
28016169689Skan	(ffs_rex64): New splitter.
28017169689Skan	(ffsdi_1, ctzdi2, bsr_rex64): New instructions.
28018169689Skan
28019169689Skan2004-06-24  Andrew Pinski  <apinski@apple.com>
28020169689Skan
28021169689Skan	* config/darwin7.h (MATH_LIBRARY): Remove.
28022169689Skan	(LIB_SPEC): Define.
28023169689Skan	* config/darwin.h (MATH_LIBRARY): Define always to empty.
28024169689Skan	(LIB_SPEC): Only define if not already defined.
28025169689Skan
28026169689Skan2004-06-24  Revital Eres  <eres@il.ibm.com>
28027169689Skan
28028169689Skan	* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
28029169689Skan	shifts of induction variable.
28030169689Skan	(iv_shift): New function.
28031169689Skan
28032169689Skan2004-06-24  Richard Henderson  <rth@redhat.com>
28033169689Skan
28034169689Skan	* gimplify.c (gimplify_body): Watch for body vanishing.
28035169689Skan
28036169689Skan2004-06-24  Jeff Law  <law@redhat.com>
28037169689Skan
28038169689Skan	* tree-ssa-dom.c (record_dominating_conditions): New function.
28039169689Skan	(dom_opt_finalize_block, get_eq_expr_value): Use it.
28040169689Skan
28041169689Skan2004-06-24  Richard Sandiford  <rsandifo@redhat.com>
28042169689Skan
28043169689Skan	* calls.c (shift_returned_value): Fix handling of non-integer
28044169689Skan	TYPE_MODEs.
28045169689Skan
28046169689Skan2004-06-24  Ulrich Weigand  <uweigand@de.ibm.com>
28047169689Skan
28048169689Skan	* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
28049169689Skan	* system.h (DEFAULT_MAIN_RETURN): Poison.
28050169689Skan	* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.
28051169689Skan
28052169689Skan2004-06-24  Ben Elliston  <bje@au.ibm.com>
28053169689Skan
28054169689Skan	* doc/cfg.texi (Edges): Fix typo.
28055169689Skan
28056169689Skan2004-06-24  Paul Brook  <paul@codesourcery.com>
28057169689Skan
28058169689Skan	* config/arm/arm.c (arm_output_epilogue): Remove excess checks.
28059169689Skan
28060169689Skan2004-06-23  Andrew Pinski  <apinski@apple.com>
28061169689Skan
28062169689Skan	PR middle-end/15988
28063169689Skan	* fold-const.c (fold_convert): Types which are compatible
28064169689Skan	can be converted with only a NOP_EXPR.
28065169689Skan
28066169689Skan2004-06-24  Alan Modra  <amodra@bigpond.net.au>
28067169689Skan
28068169689Skan	* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
28069169689Skan	pass raw n_named_args to it.
28070169689Skan	* targhooks.c: Formatting.
28071169689Skan	(hook_bool_CUMULATIVE_ARGS_false): Correct comment.
28072169689Skan
28073169689Skan2004-06-23  Richard Henderson  <rth@redhat.com>
28074169689Skan
28075169689Skan	* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
28076169689Skan	non-constant size check.  Gimplify the type too.  Tidy building
28077169689Skan	BUILT_IN_STACK_ALLOC call.
28078169689Skan
28079169689Skan2004-06-23  Roger Sayle  <roger@eyesopen.com>
28080169689Skan
28081169689Skan	* c-common.c (expand_unordered_cmp): Delete.
28082169689Skan	(expand_tree_builtin): Delete.
28083169689Skan	* c-common.h (expand_tree_builtin): Delete function prototype.
28084169689Skan	* c-typeck.c (build_function_call): Don't call expand_tree_builtin.
28085169689Skan
28086169689Skan2004-06-23  Richard Henderson  <rth@redhat.com>
28087169689Skan
28088169689Skan	* gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
28089169689Skan	COMPONENT_REF variable fields unless they're non-constant.
28090169689Skan
28091169689Skan2004-06-23  Robert Millan  <robertmh@gnu.org>
28092169689Skan
28093169689Skan	* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
28094169689Skan	* config/i386/linux.h: Allow overriding of LINK_EMULATION,
28095169689Skan	  DYNAMIC_LINKER and register names in sc_ structure.
28096169689Skan	* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
28097169689Skan	* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
28098169689Skan	* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
28099169689Skan	* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
28100169689Skan
28101169689Skan	* config/kfreebsdgnu.h: Remove.
28102169689Skan	* config/t-kfreebsd-gnu: Likewise.
28103169689Skan	* config/i386/kfreebsdgnu.h: Likewise.
28104169689Skan
28105169689Skan2004-06-23  Eric Christopher  <echristo@redhat.com>
28106169689Skan
28107169689Skan	* fold-const.c (make_range): Cleanup type checking through function.
28108169689Skan	Remove orig_type. Replace with checks to exp_type and arg0_type.
28109169689Skan	Clarify comment when converting from unsigned to signed.
28110169689Skan
28111169689Skan2004-06-23  Eric Christopher  <echristo@redhat.com>
28112169689Skan
28113169689Skan	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
28114169689Skan	* config/mips/mips.md: Remove R3000 scheduling description.
28115169689Skan	* config/mips/3000.md: New file.
28116169689Skan
28117169689Skan2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
28118169689Skan
28119169689Skan	* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
28120169689Skan	(s390_emit_jump): Likewise.
28121169689Skan	* config/s390/s390.c (s390_emit_compare): New function.
28122169689Skan	(s390_emit_jump): Likewise.
28123169689Skan	* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
28124169689Skan	"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
28125169689Skan	"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
28126169689Skan	and s390_emit_jump.
28127169689Skan	("cjump"): Remove, replace by ...
28128169689Skan	("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
28129169689Skan	("icjump", "*icjump_64", "*icjump_31"): Likewise.
28130169689Skan	("trap"): Fix type attribute.
28131169689Skan	("conditional_trap"): Use s390_emit_compare.
28132169689Skan	("doloop_si"): Remove, replace by ...
28133169689Skan	("doloop_si64", "doloop_si31"): ... these new insn_and_split.
28134169689Skan	Merge existing splitter into insn_and_split.  Improve length default.
28135169689Skan	("doloop_di"): Merge with existing splitter into insn_and_split.
28136169689Skan	("doloop"): Adapt.
28137169689Skan	("jump"): Convert to expander.  Use s390_emit_jump.
28138169689Skan	("*jump_64", "*jump_31"): New insns.  Improve length default.
28139169689Skan
28140169689Skan2004-06-23  Wu Yongwei  <adah@sh163.net>
28141169689Skan
28142169689Skan	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
28143169689Skan	(__gthr_i486_lock_cmp_xchg): New inline assembly function.
28144169689Skan	(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
28145169689Skan	suitable function for interlocked compare-and-exchange.
28146169689Skan	(__gthread_mutex_trylock): Use
28147169689Skan	__GTHR_W32_InterlockedCompareExchange.
28148169689Skan	(__gthread_mutex_init_function, __gthread_mutex_lock,
28149169689Skan	__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
28150169689Skan	initial counter value to work correctly under Windows 95.
28151169689Skan	* config/i386/gthr-win32.c: Adjust include order.
28152169689Skan	Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
28153169689Skan	gthr-win32.h.
28154169689Skan	(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
28155169689Skan	__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
28156169689Skan	to match inline versions in gthr-win32.h.
28157169689Skan
28158169689Skan2004-06-23  David Edelsohn  <edelsohn@gnu.org>
28159169689Skan
28160169689Skan	* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
28161169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
28162169689Skan	(insvdi_rshift_rlwimi_p): New function.
28163169689Skan	* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
28164169689Skan	(extendsfdf2): Convert to define_insn_and_split.
28165169689Skan	* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.
28166169689Skan
28167169689Skan2004-06-23  Andrew Pinski  <apinski@apple.com>
28168169689Skan
28169169689Skan	* c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
28170169689Skan	type qualifiers at all.
28171169689Skan	If both of the type domains are null and the new element type is
28172169689Skan	the same as one of the, return the one which the element type.
28173169689Skan	matches.
28174169689Skan	Do not call qualify_type on the new type.
28175169689Skan
28176169689Skan2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
28177169689Skan
28178169689Skan	* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.
28179169689Skan
28180169689Skan2004-06-23  Roger Sayle  <roger@eyesopen.com>
28181169689Skan
28182169689Skan	* convert.c (strip_float_extension): Skip both NOP_EXPR and
28183169689Skan	CONVERT_EXPR floating point extensions.
28184169689Skan
28185169689Skan2004-06-23  Diego Novillo  <dnovillo@redhat.com>
28186169689Skan
28187169689Skan	* Makefile.in (tree-vn.o): New.
28188169689Skan	(tree-ssa-pre.o): Don't depend on RTL_H.
28189169689Skan	* tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa.
28190169689Skan	* tree-flow.h (struct var_ann_d): Remove field expr_set.
28191169689Skan	(add_to_value, expressions_equal_p, get_value_handle, vn_compute,
28192169689Skan	vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare.
28193169689Skan	* tree-optimize.c (execute_init_datastructures): New local function.
28194169689Skan	(pass_init_datastructures): New local variable.
28195169689Skan	(init_tree_optimization_passes): Sequence pass_init_datastructures.
28196169689Skan	* tree-pretty-print.c (MASK_POINTER): Remove.
28197169689Skan	(dump_generic_node): Handle VALUE_HANDLE.
28198169689Skan	* tree-ssa-pre.c: Move all value numbering routines to tree-vn.c.
28199169689Skan	Update callers to use new function names.
28200169689Skan	Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of
28201169689Skan	variable annotations.
28202169689Skan	* tree-ssa.c (init_tree_ssa): Call vn_init.
28203169689Skan	(delete_tree_ssa): Call vn_delete.
28204169689Skan	* tree-vn.c: New file.
28205169689Skan	* tree.c (tree_size): Handle VALUE_HANDLE.
28206169689Skan	(tree_node_structure): Likewise.
28207169689Skan	(iterative_hash_expr): Likewise.
28208169689Skan	* tree.def (VALUE_HANDLE): New code.
28209169689Skan	* tree.h (struct tree_value_handle): New.
28210169689Skan	(VALUE_HANDLE_ID): Define.
28211169689Skan	(VALUE_HANDLE_EXPR_SET): Define.
28212169689Skan	(enum tree_node_structure_enum): Add TS_VALUE_HANDLE.
28213169689Skan	(union tree_node): Add struct tree_value_handle.
28214169689Skan
28215169689Skan2004-06-23  Andrew Pinski  <apinski@apple.com>
28216169689Skan
28217169689Skan	* c-typeck.c (composite_type):
28218169689Skan	<case POINTER_TYPE>: Build a qualified type of
28219169689Skan	the new type.
28220169689Skan	<case ARRAY_TYPE>: Likewise.
28221169689Skan	<case FUNCTION_TYPE>: Likewise.
28222169689Skan
28223169689Skan2004-06-23  Pat Haugen  <pthaugen@us.ibm.com>
28224169689Skan
28225169689Skan	PR optimization/15633
28226169689Skan	* value-prof.c (divmod_fixed_value_transform): Compute probability
28227169689Skan	of taking optimal path and pass along to gen_ routine.
28228169689Skan	(mod_pow2_value_transform): Same.
28229169689Skan	(mod_subtract_transform): Same.
28230169689Skan	(gen_divmod_fixed_value): Add new probability parameter.
28231169689Skan	Add probability to newly created jump.
28232169689Skan	(gen_mod_pow2): Same.
28233169689Skan	(gen_mod_subtract): Same.
28234169689Skan
28235169689Skan2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
28236169689Skan
28237169689Skan	* PR target/15948
28238169689Skan	* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
28239169689Skan	one and two.
28240169689Skan
28241169689Skan2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
28242169689Skan
28243169689Skan	PR target/15927
28244169689Skan	* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
28245169689Skan	reload if CLASS is BASE_REGS.
28246169689Skan
28247169689Skan2004-06-23  Richard Sandiford  <rsandifo@redhat.com>
28248169689Skan
28249169689Skan	* gengtype-yacc.y (option): Avoid use of non-constant struct
28250169689Skan	initializer.
28251169689Skan
28252169689Skan2004-06-23  Nathan Sidwell  <nathan@codesourcery.com>
28253169689Skan
28254169689Skan	* doc/extend.texi (Function Attributes): Alphabetize.
28255169689Skan
28256169689Skan2004-06-23  Richard Henderson  <rth@redhat.com>
28257169689Skan
28258169689Skan	* c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
28259169689Skan	Use gimplify_and_add.
28260169689Skan	* c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt.
28261169689Skan	* gimplify.c (build_and_jump, gimplify_exit_expr,
28262169689Skan	gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup,
28263169689Skan	gimplify_stmt, gimplify_expr): Likewise.
28264169689Skan	(shortcut_cond_expr): Handle NULL arms of COND_EXPR.
28265169689Skan	(gimplify_statement_list): Remove NULL entries.
28266169689Skan	(gimplify_to_stmt_list): Handle NULL results.
28267169689Skan	(gimplify_type_sizes): Add list_p argument.
28268169689Skan	(gimplify_one_sizepos): Don't use internal pre/post queue.
28269169689Skan	* tree-gimple.h (gimplify_type_sizes): Update.
28270169689Skan
28271169689Skan2004-06-22  Eric Christopher  <echristo@redhat.com>
28272169689Skan
28273169689Skan	* config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns.
28274169689Skan
28275169689Skan2004-06-22  Pat Haugen  <pthaugen@us.ibm.com>
28276169689Skan
28277169689Skan	* cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
28278169689Skan	when redirecting back edges.
28279169689Skan
28280169689Skan	* cfghooks.c (split_block): Call make_single_succ_edge so that edge
28281169689Skan	count/probability are set correctly.
28282169689Skan
28283169689Skan2004-06-22  Richard Henderson  <rth@redhat.com>
28284169689Skan
28285169689Skan	* c-typeck.c (emit_side_effect_warnings): Ignore error marks.
28286169689Skan	(c_finish_stmt_expr): Likewise.
28287169689Skan
28288169689Skan	* config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New.
28289169689Skan	(ix86_return_in_memory): Move SSE vector return warning ...
28290169689Skan	(ix86_struct_value_rtx): ... here.  New.
28291169689Skan
28292169689Skan2004-06-22  Richard Henderson  <rth@redhat.com>
28293169689Skan
28294169689Skan	* tree.def (VTABLE_REF): Remove.
28295169689Skan	(OBJ_TYPE_REF): New.
28296169689Skan	(TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
28297169689Skan	* expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
28298169689Skan	* fold-const.c (non_lvalue): Likewise.
28299169689Skan	* gimplify.c (gimplify_expr): Likewise.
28300169689Skan	(gimplify_call_expr): Use is_gimple_call_addr.
28301169689Skan	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
28302169689Skan	* langhooks.h (fold_obj_type_ref): New.
28303169689Skan	* tree-gimple.c (is_gimple_call_addr): New.
28304169689Skan	* tree-gimple.h (is_gimple_call_addr): Declare.
28305169689Skan	* tree-inline.c (inlinable_function_p): Fix merge error.
28306169689Skan	(estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
28307169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
28308169689Skan	(print_call_name): Handle OBJ_TYPE_REF.
28309169689Skan	* tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
28310169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
28311169689Skan	* tree.h (OBJ_TYPE_REF_EXPR): New.
28312169689Skan	(OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
28313169689Skan	* doc/c-tree.texi (VTABLE_REF): Remove.
28314169689Skan	* objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
28315169689Skan
28316169689Skan2004-06-22  Richard Henderson  <rth@redhat.com>
28317169689Skan
28318169689Skan	PR middle-end/16026
28319169689Skan	* function.c (assign_parms): Don't abort for overaligned PARALLEL.
28320169689Skan
28321169689Skan2004-06-22  Joseph S. Myers  <jsm@polyomino.org.uk>
28322169689Skan
28323169689Skan	* Makefile.in (distclean): Don't try to remove empty directories.
28324169689Skan
28325169689Skan2004-06-22  Richard Sandiford  <rsandifo@redhat.com>
28326169689Skan
28327169689Skan	PR target/15869
28328169689Skan	* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
28329169689Skan
28330169689Skan2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
28331169689Skan
28332169689Skan	* config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
28333169689Skan	operands.
28334169689Skan
28335169689Skan2004-06-22  Dale Johannesen  <dalej@apple.com>
28336169689Skan
28337169689Skan	* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
28338169689Skan	global, rename rs6000_legitimate_offset_address_p.
28339169689Skan	(rs6000_legitimate_address_p): Adjust calls to it.
28340169689Skan	(lmw_operation): Ditto.
28341169689Skan	(stmw_operation): Ditto.
28342169689Skan	* config/rs6000/rs6000-protos.h: Declare it.
28343169689Skan	* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
28344169689Skan	instead of offsettable_memref_p.
28345169689Skan
28346169689Skan2004-06-22  Dale Johannesen  <dalej@apple.com>
28347169689Skan
28348169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
28349169689Skan	[reg+reg] mode for TFmode memory accesses.
28350169689Skan	(rs6000_eliminate_indexed_memrefs): New.
28351169689Skan	(rs6000_emit_move): Call preceding for TImode and TFmode.
28352169689Skan
28353169689Skan2004-06-22  Paolo Bonzini  <bonzini@gnu.org>
28354169689Skan
28355169689Skan	* tree-cfg.c (pass_warn_function_return): It needs
28356169689Skan	CFG, not SSA.
28357169689Skan
28358169689Skan2004-06-22  Nathan Sidwell  <nathan@codesourcery.com>
28359169689Skan
28360169689Skan	* doc/invoke.texi (Machine Dependent Options): Alphabetize.
28361169689Skan	(Submodel Options): Likewise.
28362169689Skan
28363169689Skan2004-06-21  Andrew Pinski  <apinski@apple.com>
28364169689Skan
28365169689Skan	Radar #: 3701874
28366169689Skan	* c-decl.c (push_file_scope): Return early if we already
28367169689Skan	have a file scope.
28368169689Skan
28369169689Skan2004-06-21  Geoffrey Keating  <geoffk@apple.com>
28370169689Skan
28371169689Skan	* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
28372169689Skan	* c-common.h (flag_pch_preprocess): Declare.
28373169689Skan	(c_common_pch_pragma): Likewise.
28374169689Skan	* c-common.c (flag_pch_preprocess): New.
28375169689Skan	* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
28376169689Skan	(c_common_pch_pragma): New.
28377169689Skan	* c-ppoutput.c (cb_read_pch): New.
28378169689Skan	(init_pp_output): Support -fpch-preprocess.
28379169689Skan	* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
28380169689Skan	* c.opt (fpch-preprocess): New.
28381169689Skan	* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
28382169689Skan	* doc/cppopts.texi: Document -fpch-preprocess.
28383169689Skan	* doc/invoke.texi (Precompiled Headers): Mention that
28384169689Skan	-fpreprocessed is safe for PCH.  Mention that if an option is
28385169689Skan	listed as safe that doesn't mean it does what you expect.
28386169689Skan
28387169689Skan2004-06-22  Ben Elliston  <bje@au.ibm.com>
28388169689Skan
28389169689Skan	* tree-ssa.c (ssa_redirect_edge): Correct leading comment.
28390169689Skan
28391169689Skan2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28392169689Skan
28393169689Skan	* Makefile.in (gimplify.o): Add cgraph.h.
28394169689Skan	* alias.c (adjust_offset_for_component_ref): Use
28395169689Skan	component_ref_field_offset.
28396169689Skan	* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
28397169689Skan	* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
28398169689Skan	(gimplify_decl_stmt): Call gimplify_type_sizes for type.
28399169689Skan	For decl, call gimplify_one_sizepos and use statement list.
28400169689Skan	(gimplify_compound_literal_expr): New arg PRE_P.
28401169689Skan	Add statement to PRE_P list and return DECL.
28402169689Skan	(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
28403169689Skan	gimplify_compound_literal_expr.
28404169689Skan	* c-tree.h (getdecls): Deleted.
28405169689Skan	* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
28406169689Skan	(build_array_ref): Add two operands for ARRAY_REF.
28407169689Skan	(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
28408169689Skan	COMPOUND_LITERAL_EXPR.
28409169689Skan	* coverage.c (tree_coverage_counter_ref): Add new operands
28410169689Skan	for ARRAY_REF.
28411169689Skan	* emit-rtl.c (component_ref_for_mem_expr): Add new operand
28412169689Skan	for COMPONENT_REF.
28413169689Skan	(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
28414169689Skan	and array_ref_element_size.
28415169689Skan	(widen_memory_access):Use component_ref_field_offset.
28416169689Skan	* explow.c (update_nonlocal_goto_save_area): Add two operands
28417169689Skan	for ARRAY_REF.
28418169689Skan	* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
28419169689Skan	(component_ref_field_offset): Likewise.
28420169689Skan	(get_inner_reference): Use them.
28421169689Skan	(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
28422169689Skan	* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
28423169689Skan	(fold_read_from_constant_string): Use array_ref_low_bound.
28424169689Skan	Verify that result is a character type.
28425169689Skan	(build_fold_indirect_ref): Add two operands for ARRAY_REF.
28426169689Skan	* function.c (expand_function_start): Likewise.
28427169689Skan	* gimple-low.c (expand_var_p): Delete duplicated line.
28428169689Skan	* gimplify.c: Add static decls for local functions.
28429169689Skan	(cgraph.h): Now included.
28430169689Skan	(create_tmp_var): Remove check for ARRAY_TYPE.
28431169689Skan	(copy_if_shared_r): Look at bounds and sizes of types.
28432169689Skan	(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
28433169689Skan	(gimplify_exit_expr, shortcut_cond_expr): Likewise.
28434169689Skan	(gimplify_save_expr, gimple_push_cleanup): Likewise.
28435169689Skan	(gimplify_init_constructor): Likewise.
28436169689Skan	WANT_VALUE now bool.
28437169689Skan	If empty list with no result wanted, return GS_UNHANDLED.
28438169689Skan	Add additional operands for ARRAY_REF and COMPONENT_REF.
28439169689Skan	(canonicalize_component_ref): Convert to &array[L].
28440169689Skan	(gimplify_array_ref_to_plus): Use array_ref_element_size and
28441169689Skan	array_ref_lower_bound.
28442169689Skan	(build_addr_expr_with_type, build_addr_expr): New functions.
28443169689Skan	(gimplify_compound_lval): WANT_LVALUE now bool.
28444169689Skan	Major rework to allow handle_component_p and initialize and
28445169689Skan	gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
28446169689Skan	COMPONENT_REF.
28447169689Skan	(gimplify_array_ref): Deleted.
28448169689Skan	(gimplify_self_mod_expr): WANT_VALUE now bool.
28449169689Skan	(gimplify_modify_expr): Gimplify to_p and from_p later.
28450169689Skan	Factor out code into gimplify_modify_expr_rhs and call twice.
28451169689Skan	Move variable-size code earlier and handle PLACEHOLDER_EXPR.
28452169689Skan	(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
28453169689Skan	(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
28454169689Skan	(gimplify_expr, case ARRAY_REF): Delete special case.
28455169689Skan	Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
28456169689Skan	IMAGPART, and REALPART the same way.
28457169689Skan	(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
28458169689Skan	(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
28459169689Skan	Call alloc_stmt_list instead of build_empty_stmt.
28460169689Skan	Deal with _REF that's volatile.
28461169689Skan	(gimplify_type_sizes, gimplify_one_sizepos): New functions.
28462169689Skan	(unshare_body, unvisit_body): New functions.
28463169689Skan	(gimplify_body): Call them.
28464169689Skan	* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
28465169689Skan	* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
28466169689Skan	* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
28467169689Skan	* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
28468169689Skan	like ARRAY_REF.
28469169689Skan	(verify_expr, case ADDR_EXPR): Use handled_component_p.
28470169689Skan	* tree-dfa.c (get_virtual_var): Likewise.
28471169689Skan	* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
28472169689Skan	New cases to dump new operands; likewise for ARRAY_RANGE_REF.
28473169689Skan	* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
28474169689Skan	* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
28475169689Skan	and INDIRECT_REF.
28476169689Skan	(get_base_address): Use handled_component_p.
28477169689Skan	* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
28478169689Skan	* tree-inline.c (walk_tree): Walk more things for types and decls.
28479169689Skan	* tree-mudflap.c (mf_build_check_statement_for): Add new operands
28480169689Skan	for ARRAY_REF and COMPONENT_REF.
28481169689Skan	(mx_xform_derefs_1): Clean up usage of decl sizes.
28482169689Skan	* tree-nested.c (build_addr): Use handled_component_p.
28483169689Skan	(walk_stmts, case CATCH_EXPR): Add missing "break".
28484169689Skan	(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
28485169689Skan	(finalize_nesting_tree_1): Likewise.
28486169689Skan	(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
28487169689Skan	and process additional operands.
28488169689Skan	(convert_local_reference): Likewise.
28489169689Skan	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
28490169689Skan	ARRAY_RANGE_REF similarly to ARRAY_REF.
28491169689Skan	* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
28492169689Skan	like RECORD_TYPE.
28493169689Skan	(dump_generic_node, case COMPONENT_REF): Print offset operand.
28494169689Skan	(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
28495169689Skan	and print lower bound and element size for both.
28496169689Skan	(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
28497169689Skan	* tree-sra.c (csc_build_component_ref): Add new operand.
28498169689Skan	(scalarize_call_expr): Use get_base_address.
28499169689Skan	* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
28500169689Skan	(maybe_fold_offset_to_array_ref): Rework to handle input having an
28501169689Skan	ARRAY_REF, refine handling of lower bound, and add new operands
28502169689Skan	for ARRAY_REF.
28503169689Skan	(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
28504169689Skan	(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
28505169689Skan	(maybe_fold_stmt_addition): Only handle constant lower bound.
28506169689Skan	* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
28507169689Skan	Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
28508169689Skan	Look at new offset operand of COMPONENT_REF.
28509169689Skan	* tree-ssa.c (set_is_used): Use handled_component_p.
28510169689Skan	* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
28511169689Skan	(stabilize_reference, case COMPONENT_REF): Likewise.
28512169689Skan	(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
28513169689Skan	(recompute_tree_invariant_for_addr_expr): Completely rework to
28514169689Skan	be more precise.  Also set TREE_SIDE_EFFECTS.
28515169689Skan	(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
28516169689Skan	(build2_stat, build3_stat, build4_stat): For references,
28517169689Skan	propagate TREE_THIS_VOLATILE.
28518169689Skan	(get_unwidened): Add new operand for COMPONENT_REF.
28519169689Skan	(get_narrower): Likewise; use host_integerp for DECL_SIZE.
28520169689Skan	* tree.def (COMPONENT_REF): Add new operand.
28521169689Skan	(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
28522169689Skan	* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
28523169689Skan	(component_ref_field_offset): Likewise.
28524169689Skan	* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
28525169689Skan	(alpha_gimplify_va_arg): Likewise.
28526169689Skan	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
28527169689Skan	* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
28528169689Skan	* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
28529169689Skan	* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
28530169689Skan	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
28531169689Skan	Likewise.
28532169689Skan	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
28533169689Skan	* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
28534169689Skan	* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
28535169689Skan	Likewise.
28536169689Skan	(xstormy16_expand_builtin_va_arg): Likewise.
28537169689Skan	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.
28538169689Skan	* objc/objc-act.c (generate_static_references): Likewise.
28539169689Skan	(generate_strings, build_method_prototype_list_template): Likewise.
28540169689Skan	(generate_protocol_list): Likewise.
28541169689Skan
28542169689Skan2004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
28543169689Skan
28544169689Skan	PR rtl-optimization/14782
28545169689Skan	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
28546169689Skan	the address checks for secondary reloads for loads from and stores
28547169689Skan	to floating-point registers.
28548169689Skan	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
28549169689Skan	in the address check.  Move work around for ELF32 targets to
28550169689Skan	GO_IF_LEGITIMATE_ADDRESS.
28551169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
28552169689Skan	correctly aligned for DImode loads and stores.  Don't allow long
28553169689Skan	SFmode displacements on ELF32.
28554169689Skan
28555169689Skan2004-06-21  Richard Henderson  <rth@redhat.com>
28556169689Skan
28557169689Skan	PR rtl-opt/16114
28558169689Skan	* cse.c (merge_equiv_classes): Also rehash in response to
28559169689Skan	delete_reg_equiv changes.
28560169689Skan	(rehash_using_reg): Don't exclude REGs from rehashing.
28561169689Skan
28562169689Skan2004-06-21  Richard Henderson  <rth@redhat.com>
28563169689Skan
28564169689Skan	* c-common.def (RETURN_STMT): Remove.
28565169689Skan	* c-common.h (RETURN_STMT_EXPR): Remove.
28566169689Skan	(c_expand_return, build_return_stmt): Remove.
28567169689Skan	(c_common_stmt_codes): Remove RETURN_STMT.
28568169689Skan	* c-dump.c (dump_next_stmt): Remove.
28569169689Skan	(c_dump_tree): Remove RETURN_STMT.
28570169689Skan	* c-decl.c (finish_function): Use c_finish_return.
28571169689Skan	* c-parse.in (stmt): Likewise.
28572169689Skan	* c-gimplify.c (gimplify_return_stmt): Remove.
28573169689Skan	(c_gimplify_expr): Remove RETURN_STMT.
28574169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
28575169689Skan	* c-semantics.c (build_return_stmt): Remove.
28576169689Skan	* c-tree.h (c_finish_return): Declare.
28577169689Skan	* c-typeck.c (c_finish_return): Rename from c_expand_return.
28578169689Skan	Return void.  Build RETURN_EXPR directly.
28579169689Skan	* tree-dump.h (dump_next_stmt): Remove.
28580169689Skan
28581169689Skan2004-06-21  Zack Weinberg  <zack@codesourcery.com>
28582169689Skan
28583169689Skan	* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
28584169689Skan	look at TREE_ADDRESSABLE of symbol name.
28585169689Skan
28586169689Skan2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
28587169689Skan
28588169689Skan	PR target/15551
28589169689Skan	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
28590169689Skan	(allocate_stack_worker): Make unspec_volatile.
28591169689Skan	(allocate_stack_worker_rex64): Likewise.
28592169689Skan	(allocate_stack_worker_postreload): Likewise.
28593169689Skan	(allocate_stack_worker_rex64_postreload): Likewise.
28594169689Skan
28595169689Skan2004-06-21  Daniel Berlin  <dberlin@dberlin.org>
28596169689Skan
28597169689Skan	Fix PR optimization/15982
28598169689Skan	* tree-ssa-pre.c: Update a few comments and todos to
28599169689Skan	reflect constants change.
28600169689Skan	(get_value_handle): Constants now value number to themselves.
28601169689Skan	(lookup): Constants lookup to themselves.
28602169689Skan	(add_to_value): Adjust to always be on.
28603169689Skan	(set_contains_value): Adjust for constants change.
28604169689Skan	(find_leader): Ditto.
28605169689Skan	(phi_translate): 'r' nodes are never ANTIC right now.
28606169689Skan	(valid_in_set): Ditto.
28607169689Skan	(get_expr_set): New function.
28608169689Skan	(find_or_generate_expression): New function, broken out from
28609169689Skan	insert_aux.
28610169689Skan	(create_expression_by_pieces): Ditto, plus additional
28611169689Skan	machinery to handle complex values.
28612169689Skan	(compute_avail): Remove dead RETURN_EXPR handling.
28613169689Skan
28614169689Skan2004-06-21  Steven Bosscher  <stevenb@suse.de>
28615169689Skan
28616169689Skan	* config/i386/i386.c: Include insn-codes.h
28617169689Skan	* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
28618169689Skan	define here.
28619169689Skan	* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
28620169689Skan	DIRFLAG_REG): New define_constants.  Use them everywhere.
28621169689Skan
28622169689Skan2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>
28623169689Skan
28624169689Skan	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
28625169689Skan
28626169689Skan2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>
28627169689Skan
28628169689Skan	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define.
28629169689Skan	(SUPPORT_SH4_SINGLE): Likewise.
28630169689Skan	(TARGET_SWITCHES): Break out switches for cpu subtargets:
28631169689Skan	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
28632169689Skan	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
28633169689Skan	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
28634169689Skan	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
28635169689Skan	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
28636169689Skan	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
28637169689Skan	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
28638169689Skan	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
28639169689Skan	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
28640169689Skan	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
28641169689Skan	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
28642169689Skan	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
28643169689Skan	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
28644169689Skan	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
28645169689Skan	(TARGET_DEFAULT): Likewise.
28646169689Skan	* config/sh/t-elf: Amend comment.
28647169689Skan	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
28648169689Skan	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
28649169689Skan	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
28650169689Skan	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
28651169689Skan	* config/sh/t-mlib-sh4-single: Likewise.
28652169689Skan	* config/sh/t-mlib-sh4-single-only: Likewise.
28653169689Skan	* config/sh/t-mlib-sh5-32media: Likewise.
28654169689Skan	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
28655169689Skan	* config/sh/t-mlib-sh5-64media: Likewise.
28656169689Skan	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
28657169689Skan	* config/sh/t-mlib-sh5-compact: Likewise.
28658169689Skan	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
28659169689Skan	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
28660169689Skan	(MULTILIB_CPUS): Define.
28661169689Skan	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
28662169689Skan	(MULTILIB_MATCHES): Use some shell code to calculate it.
28663169689Skan	(MULTILIB_EXCEPTIONS): Change to ml/m1.
28664169689Skan	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
28665169689Skan	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
28666169689Skan	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
28667169689Skan	(NO_PROFILE_COUNTERS): Define to 1.
28668169689Skan	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
28669169689Skan	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
28670169689Skan	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
28671169689Skan	(MULTILIB_MATCHES): Don't zap.
28672169689Skan	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
28673169689Skan	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
28674169689Skan	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
28675169689Skan	(MULTILIB_RAW_DIRNAMES): Define.
28676169689Skan	(MULTILIB_DIRNAMES): Use it.
28677169689Skan	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
28678169689Skan	(sh*linux configurations): Merge into:
28679169689Skan	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
28680169689Skan	--with-multilib-list options.  Support sh-superh-elf configuration.
28681169689Skan	(sh*-netbsd*): Use SELECT_SH* macros.
28682169689Skan	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
28683169689Skan	Merge sh*-*-netbsd* configurations into sh-elf configurations.
28684169689Skan	* config/sh/t-netbsd-sh5, config/sh/t-be, config/sh/t-le: Delete.
28685169689Skan	* config/sh/t-monolib: Likewise.
28686169689Skan
28687169689Skan2004-06-21  Paul Brook  <paul@codesourcery.com>
28688169689Skan
28689169689Skan	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
28690169689Skan	not imply FPA.
28691169689Skan
28692169689Skan2004-06-21  Roger Sayle  <roger@eyesopen.com>
28693169689Skan
28694169689Skan	* fold-const.c (operand_equal_p): Pass flags in recursive calls for
28695169689Skan	binary and relational operations.  Add support for TRUTH_ANDIF_EXPR,
28696169689Skan	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
28697169689Skan	* tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
28698169689Skan	ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
28699169689Skan	and TRUTH_XOR_EXPR.
28700169689Skan
28701169689Skan2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
28702169689Skan
28703169689Skan	* rtlanal.c (may_trap_p): Mark LTGT as trapping.
28704169689Skan
28705169689Skan2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
28706169689Skan
28707169689Skan	* tree-alias-common.h (struct tree_alias_ops): Change ip and
28708169689Skan	ip_partial to unsigned int.
28709169689Skan
28710169689Skan2004-06-21  Richard Henderson  <rth@redhat.com>
28711169689Skan
28712169689Skan	* c-common.c (verify_sequence_points): Export.
28713169689Skan	(c_expand_expr_stmt): Move to c-typeck.c.
28714169689Skan	* c-common.h (c_expand_expr_stmt): Remove.
28715169689Skan	(verify_sequence_points): Declare.
28716169689Skan	* c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
28717169689Skan	* c-parse.in (for_init_stmt, stmt): Likewise.
28718169689Skan	* c-tree.h (c_finish_expr_stmt): Declare.
28719169689Skan	(c_tree_expr_nonnegative_p): Remove.
28720169689Skan	* c-typeck.c (c_tree_expr_nonnegative_p): Remove.
28721169689Skan	(build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
28722169689Skan	(emit_side_effect_warnings): New.
28723169689Skan	(c_finish_expr_stmt): Rename from c_expand_expr_stmt.  Use it.
28724169689Skan	(c_finish_stmt_expr): Work without EXPR_STMT.  Handle eh regions.
28725169689Skan	Use emit_side_effect_warnings.
28726169689Skan	(push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
28727169689Skan	* fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
28728169689Skan	* gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
28729169689Skan	with void initializer.
28730169689Skan	(gimplify_target_expr): Handle void BIND_EXPR initializer.
28731169689Skan	* tree-inline.c (estimate_num_insns_1): Fix type lookup for
28732169689Skan	INIT_EXPR and MODIFY_EXPR.
28733169689Skan	* objc/objc-act.c (build_module_descriptor): Use add_stmt
28734169689Skan	instead of c_expand_expr_stmt.
28735169689Skan
28736169689Skan2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
28737169689Skan
28738169689Skan	* fold-const.c (fold_cond_expr_with_comparison):
28739169689Skan	New function, extracted from fold.
28740169689Skan	(fold): Extract code to fold A op B ? A : C, use
28741169689Skan	it to fold A op B ? C : A.  Really optimize
28742169689Skan	A & N ? N : 0 where N is a power of two.  Avoid
28743169689Skan	relying on canonicalization and recursion for
28744169689Skan	foldings of COND_EXPR to happen.
28745169689Skan
28746169689Skan2004-06-20  David Ayers  <d.ayers@inode.at>
28747169689Skan
28748169689Skan	* objc/objc-act.h (get_object_reference): Rename to
28749169689Skan	get_protocol_reference.
28750169689Skan	(super_type): Rename to objc_super_type.
28751169689Skan	(selector_type): Rename to objc_selector_type.
28752169689Skan	(id_type): Rename to objc_id_type.
28753169689Skan	(instance_type): Rename to objc_instance_type.
28754169689Skan	(protocol_type): Rename to objc_protocol_type.
28755169689Skan	(IS_ID): Update reference to id_type.
28756169689Skan	* objc/objc-act.c (get_object_reference): Rename to
28757169689Skan	get_protocol_reference; add documentation; update references to
28758169689Skan	id_type.
28759169689Skan	(lookup_method_in_protocol_list): Rename class_meth to
28760169689Skan	is_class; add documentation.
28761169689Skan	(finish_message_expr): Rename is_class to class_tree.
28762169689Skan	(synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
28763169689Skan	next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
28764169689Skan	build_next_objc_exception_stuff, get_arg_type_list,
28765169689Skan	build_objc_method_call): Update references to id_type.
28766169689Skan	(synth_module_prologue, build_objc_symtab_template,
28767169689Skan	build_selector_reference_decl, build_selector,
28768169689Skan	build_selector_translation_table, build_typed_selector_reference,
28769169689Skan	get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
28770169689Skan	synth_self_and_ucmd_args): Update references to selector_type.
28771169689Skan	(build_private_template, build_ivar_reference):	Update references
28772169689Skan	to instance_type.
28773169689Skan	(synth_module_prologue, build_protocol_reference,
28774169689Skan	build_protocol_expr, start_protocol): Update references to
28775169689Skan	protocol_type.
28776169689Skan	(synth_module_prologue, get_arg_type_list, build_objc_method_call):
28777169689Skan	Update references to super_type.
28778169689Skan	* c-parse.in: (typespec_nonreserved_nonattr): Update
28779169689Skan	references to get_object_reference.
28780169689Skan	* objc/objc-tree.def: Add C mode identifier sequence.
28781169689Skan
28782169689Skan2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
28783169689Skan
28784169689Skan	* loop-invariant.c: New file.
28785169689Skan	* Makefile.in (loop-invariant.o): New.
28786169689Skan	* cfgloop.h (global_cost_for_size, init_set_costs,
28787169689Skan	move_loop_invariants): Declare.
28788169689Skan	* cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New
28789169689Skan	functions.
28790169689Skan	(avail_regs, res_regs, small_cost, pres_cost, spill_cost): New
28791169689Skan	variables.
28792169689Skan	* common.opt (floop-optimize2, fmove-loop-invariants): New options.
28793169689Skan	* loop-init.c (loop_optimizer_init): Call init_set_costs.
28794169689Skan	* passes.c (rest_of_handle_loop2): Call move_loop_invariants.
28795169689Skan	(rest_of_compilation): Check flag_loop_optimize2.
28796169689Skan	* toplev.c (process_options): Handle flag_loop_optimize2.
28797169689Skan	* doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document.
28798169689Skan	* doc/passes.texi (loop-invariant.c): Document.
28799169689Skan
28800169689Skan2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
28801169689Skan
28802169689Skan	* tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.
28803169689Skan
28804169689Skan2004-06-20  Richard Henderson  <rth@redhat.com>
28805169689Skan
28806169689Skan	* stmt.c (warn_if_unused_value): Add locus argument.
28807169689Skan	* tree.h (warn_if_unused_value): Update decl.
28808169689Skan	* c-typeck.c (internal_build_compound_expr): Update call.
28809169689Skan	* c-gimplify.c (gimplify_expr_stmt): Likewise.
28810169689Skan
28811169689Skan2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>
28812169689Skan
28813169689Skan	PR middle-end/16089
28814169689Skan	* builtins.c (entry_of_function): Move to ...
28815169689Skan	* cfgrtl.c (entry_of_function): Here and make non-static.
28816169689Skan	* integrate.c (emit_initial_value_sets): Use entry_of_function.
28817169689Skan	* rtl.h (entry_of_function): Prototype.
28818169689Skan
28819169689Skan2004-06-20  Roger Sayle  <roger@eyesopen.com>
28820169689Skan
28821169689Skan	* config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
28822169689Skan	(ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when
28823169689Skan	TARGET_DECOMPOSE_LEA.
28824169689Skan
28825169689Skan2004-06-20  Richard Henderson  <rth@redhat.com>
28826169689Skan
28827169689Skan	* c-common.h (add_decl_stmt): Move to cp-tree.h.
28828169689Skan	* c-decl.c (finish_decl): Don't use add_decl_stmt.
28829169689Skan	* c-parse.in: Likewise.
28830169689Skan	* c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR.
28831169689Skan	(gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise.
28832169689Skan	* c-semantics.c (add_decl_stmt): Move to cp/semantics.c.
28833169689Skan
28834169689Skan2004-06-20  Richard Henderson  <rth@redhat.com>
28835169689Skan
28836169689Skan	* c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def.
28837169689Skan	* c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY,
28838169689Skan	CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h.
28839169689Skan	(c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT.
28840169689Skan	* c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree.
28841169689Skan	* c-pretty-print.c (pp_c_statement): Similarly.
28842169689Skan	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts,
28843169689Skan	gimplify_if_stmt): Move to cp-gimplify.c.
28844169689Skan	(c_genericize, c_gimplify_expr): Don't call them.
28845169689Skan	* c-semantics.c (push_cleanup): Move to cp/semantics.c.
28846169689Skan	* c-typeck.c (push_cleanup): New.
28847169689Skan	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else,
28848169689Skan	c_finish_if_stmt): Use COND_EXPR.
28849169689Skan	* tree.h (CLEANUP_EH_ONLY): Update documentation.
28850169689Skan
28851169689Skan2004-06-20  Zack Weinberg  <zack@codesourcery.com>
28852169689Skan
28853169689Skan	* c-common.h (has_c_linkage): New interface.
28854169689Skan	* c-cppbuiltin.c: Include target.h.
28855169689Skan	(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
28856169689Skan	__PRAGMA_EXTERN_PREFIX when appropriate.
28857169689Skan	* c-pragma.c: Include target.h.
28858169689Skan	Document clarified semantics of symbol-renaming #pragmas.
28859169689Skan	(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
28860169689Skan	(maybe_apply_renaming_pragma): Rewrite according to clarified
28861169689Skan	semantics.  Always recognize, but do not necessarily execute.
28862169689Skan	(init_pragma): Unconditionally register symbol-renaming pragmas.
28863169689Skan	* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
28864169689Skan	and HANDLE_PRAGMA_EXTERN_PREFIX.
28865169689Skan	* target.h (struct gcc_target): Add handle_pragma_redefine_extname
28866169689Skan	and handle_pragma_extern_prefix flags.
28867169689Skan	* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
28868169689Skan	and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
28869169689Skan	* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
28870169689Skan	* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
28871169689Skan	not HANDLE_PRAGMA_REDEFINE_EXTNAME.
28872169689Skan	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
28873169689Skan	(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
28874169689Skan	* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
28875169689Skan	not HANDLE_PRAGMA_EXTERN_PREFIX.
28876169689Skan	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
28877169689Skan	* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
28878169689Skan	into one section "Symbol-Renaming Pragmas"; clarify; document
28879169689Skan	adjusted semantics.
28880169689Skan
28881169689Skan	* builtins.c (expand_builtin): Do not issue error for a builtin
28882169689Skan	with no special case code and no DECL_ASSEMBLER_NAME; just do the
28883169689Skan	library call.
28884169689Skan	* c-decl.c (builtin_function): Don't call make_decl_rtl.
28885169689Skan	* c-objc-common.c (has_c_linkage): Stub implementation.
28886169689Skan	* cgraphunit.c (cgraph_expand_function)
28887169689Skan	(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.
28888169689Skan
28889169689Skan2004-06-19  Roger Sayle  <roger@eyesopen.com>
28890169689Skan
28891169689Skan	* builtins.c (fold_builtin_unordered_cmp): Take an EXP argument
28892169689Skan	instead of both an ARGLIST and a result TYPE.  Handle these C99
28893169689Skan	comparison functions as "polymorphic" builtins.  Also handle
28894169689Skan	lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node.
28895169689Skan	(fold_builtin_1): Update calls to fold_builtin_unordered_cmp.
28896169689Skan	Move handling of BUILT_IN_ISUNORDERED from here to there.
28897169689Skan
28898169689Skan2004-06-19  Richard Henderson  <rth@redhat.com>
28899169689Skan
28900169689Skan	* c-common.c, c-common.h (lang_gimplify_stmt): Remove.
28901169689Skan	* c-gimplify.c: Remove unnecessary prototypes.
28902169689Skan	(c_gimplify_stmt): Merge into ...
28903169689Skan	(c_gimplify_expr): ... here.  Don't play with prep_stmt.
28904169689Skan	* c-semantics.c (prep_stmt): Remove.
28905169689Skan	* gimplify.c (annotate_one_with_locus): Break out from ...
28906169689Skan	(annotate_all_with_locus): ... here.
28907169689Skan	(gimplify_expr): Add locus to expressions even if pre/post queues
28908169689Skan	are not present.
28909169689Skan
28910169689Skan2004-06-19  Richard Henderson  <rth@redhat.com>
28911169689Skan
28912169689Skan	PR target/15941
28913169689Skan	* function.c (assign_parms): If not padding upward or intentionally
28914169689Skan	forcing upward padding, take offset_rtx into account when determining
28915169689Skan	the alignment for stack_parm.
28916169689Skan
28917169689Skan2004-06-19  Richard Henderson  <rth@redhat.com>
28918169689Skan
28919169689Skan	PR target/15550
28920169689Skan	* ifcvt.c (noce_try_move): Recognize all generated instructions.
28921169689Skan
28922169689Skan2004-06-19  Jan Hubicka  <jh@suse.cz>
28923169689Skan
28924169689Skan	* function.c (free_after_compilation): Do not free computed_goto_common*.
28925169689Skan	* function.h (struct function): Kill computed_goto_common*.
28926169689Skan	* stmt.c (expand_computed_goto): Do not commonize the computed gotos.
28927169689Skan	* tree-cfg.c (disband_implicit_edges): Do not forward across the
28928169689Skan	commonized computed goto.
28929169689Skan
28930169689Skan2004-06-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
28931169689Skan
28932169689Skan	* doc/invoke.texi: Remove obsolete comment regarding PA 2.0 support
28933169689Skan	in binutils.
28934169689Skan
28935169689Skan2004-06-19  Andrew Pinski  <apinski@apple.com>
28936169689Skan
28937169689Skan	PR c++/15721
28938169689Skan	* toplev.c (wrapup_global_declarations): Do not check
28939169689Skan	TREE_SYMBOL_REFERENCED of the DECL_ASSEMBLER_NAME but check
28940169689Skan	cgraph_varpool_node's needed field.
28941169689Skan
28942169689Skan2004-06-19  Jan Hubicka  <jh@suse.cz>
28943169689Skan	    Steven Bosscher  <stevenb@suse.de>
28944169689Skan
28945169689Skan	CFG transparent RTL expansion:
28946169689Skan	* Makefile.in (cfgexpand.o): New object file.
28947169689Skan	(builtins.o): Add dependency on basic-block.h
28948169689Skan	* builtins.c: Include basic-block.h
28949169689Skan	(entry_of_function): New function.
28950169689Skan	(expand_builtin_apply_args, expand_builtin_saveargs): Use it.
28951169689Skan	* cfgexpand.c: New file.
28952169689Skan	* expr.c (execute_expand, pass_expand): Kill.
28953169689Skan	* pass.c (rest_of_compilation): Do not build CFG unless called from
28954169689Skan	coverage code.
28955169689Skan	* tree-cfg.c (delete_tree_cfg): Rename to..
28956169689Skan	(delete_tree_cfg_annotations): ... this one; Do not remove the CFG itself.
28957169689Skan	* tree-flow.h (delete_tree_cfg_annotations): Declare.
28958169689Skan	(dleete_tree_cfg): Kill.
28959169689Skan	* tree-optimize.c (execute_rebuild_bind, pass_rebuild_bind): Kill.
28960169689Skan	(execute_del_cfg): Rename to...
28961169689Skan	(execute_free_datastructures): This one...
28962169689Skan	(pass_del_cfg): Rename to...
28963169689Skan	(pass_free_datastructures): ... this one; Do not kill PROP_cfg.
28964169689Skan	(init_tree_optimization_passes): Make cfg build and profiling to happen
28965169689Skan	unconditionally.
28966169689Skan
28967169689Skan2004-06-19  Steven Bosscher  <stevenb@suse.de>
28968169689Skan
28969169689Skan	* tree-mudflap.c (mf_decl_cache_locals): Skip labels before
28970169689Skan	inserting the cache variables.
28971169689Skan
28972169689Skan	* tree-mudflap.c: Include headers to make basic_block available.
28973169689Skan	Move functions around such that related functions are near each
28974169689Skan	other.  Add prototypes for all static functions.  Add comments
28975169689Skan	briefly explaining what IR the mudflap1 and mudflap2 work on and
28976169689Skan	what they do.
28977169689Skan	(mudflap_function_decls): Rename to execute_mudflap_function_decls.
28978169689Skan	(mudflap_function_ops): Rename to execute_mudflap_function_ops.
28979169689Skan	(pass_mudflap_1, pass_mudflap_2): Update.
28980169689Skan	(mf_decl_cache_locals): Make it work on the CFG instead of the saved
28981169689Skan	function tree.
28982169689Skan	(mf_build_check_statement_for): Make it work on the CFG.
28983169689Skan	(mf_xform_derefs_1): Likewise.  Cleanup code style.
28984169689Skan	(mf_xform_derefs): Likewise.
28985169689Skan
28986169689Skan2004-06-19  Jan Hubicka  <jh@suse.cz>
28987169689Skan
28988169689Skan	* tree-cfg.c (label_to_block): Invent the label destination for
28989169689Skan	undefined labels.
28990169689Skan	(cleanup_dead_labels): Update table in the case label_to_block added
28991169689Skan	new label.
28992169689Skan
28993169689Skan2004-06-18  Richard Henderson  <rth@redhat.com>
28994169689Skan
28995169689Skan	PR c++/16036
28996169689Skan	* gimple-low.c (lower_function_body): Generate return statement for
28997169689Skan	fall off the end of the function here ...
28998169689Skan	* tree-cfg.c (make_edges): ... instead of here.
28999169689Skan	* gimplify.c (gimplify_return_expr): Mark return temp TREE_NO_WARNING.
29000169689Skan
29001169689Skan2004-06-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
29002169689Skan
29003169689Skan	* tree-ssa.c (raise_value): Removed.
29004169689Skan	(get_eq_name, check_phi_redundancy): New functions.
29005169689Skan	(kill_redundant_phi_nodes): Use standard ssa minimalization algorithm.
29006169689Skan
29007169689Skan2004-06-18  Roger Sayle  <roger@eyesopen.com>
29008169689Skan
29009169689Skan	* fold-const.c (fold) <UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR,
29010169689Skan	UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR>: Add
29011169689Skan	constant folding for unordered comparison tree nodes.  If both
29012169689Skan	operands are real constants, call fold_relational_const.  If either
29013169689Skan	operand is a NaN, evaluate the other for side-effects and return a
29014169689Skan	constant.  Optimize (double)float1 CMP (double)float2 into the
29015169689Skan	equivalent float1 CMP float2.
29016169689Skan	(nondestructive_fold_binary_to_constant) <UNORDERED_EXPR,
29017169689Skan	ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
29018169689Skan	LTGT_EXPR>: Call fold_relational_const for constant operands.
29019169689Skan	(fold_relational_const): Add support for unordered comparison tree
29020169689Skan	nodes.  Don't constant fold "ordered" floating point comparisons
29021169689Skan	against NaN if when flag_trapping_math is set.
29022169689Skan
29023169689Skan2004-06-19  Jakub Jelinek  <jakub@redhat.com>
29024169689Skan
29025169689Skan	* fold-const.c (build_range_check): If !in_p and recursive call
29026169689Skan	fails, exit immediately.  If high - low overflows and etype is
29027169689Skan	a signed type, retry with unsigned etype.
29028169689Skan	(merge_ranges): If !in0_p and !in1_p, handle even range2 adjacent
29029169689Skan	to range1 at TYPE_MAX_VALUE and TYPE_MIN_VALUE.
29030169689Skan
29031169689Skan2004-06-18  Richard Henderson  <rth@redhat.com>
29032169689Skan
29033169689Skan	* c-gimplify.c (gimplify_condition): Remove.
29034169689Skan	(gimplify_c_loop, gimplify_if_stmt, gimplify_switch_stmt): Don't
29035169689Skan	call it.
29036169689Skan
29037169689Skan2004-06-18  Richard Henderson  <rth@redhat.com>
29038169689Skan
29039169689Skan	* tree-eh.c (decide_copy_try_finally): Fix scaling of copy and
29040169689Skan	switch estimates.
29041169689Skan
29042169689Skan2004-06-18  Andrew Pinski  <pinskia@physics.uc.edu>
29043169689Skan
29044169689Skan	* config/i386/darwin.h (HOT_TEXT_SECTION_NAME): Define.
29045169689Skan	(NORMAL_TEXT_SECTION_NAME): Define.
29046169689Skan	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
29047169689Skan	(SECTION_FORMAT_STRING): Define.
29048169689Skan
29049169689Skan2004-06-18  Steven Bosscher  <stevenb@suse.de>
29050169689Skan
29051169689Skan	* config/xtensa/xtensa.c
29052169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
29053169689Skan	* xtensa.md: Replace the old pipeline description with a DFA model.
29054169689Skan
29055169689Skan2004-06-18  Steven Bosscher  <stevenb@suse.de>
29056169689Skan	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
29057169689Skan
29058169689Skan	* config/s390/s390.md: Remove the generic pipeline description.
29059169689Skan	* config/s390/2064.md: Make all insn reservations apply to
29060169689Skan	the z900, g5 and g6.
29061169689Skan	* config/s390/s390.c (s390_use_dfa_pipeline_interface): Remove.
29062169689Skan	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
29063169689Skan	Define to hook_int_void_1.
29064169689Skan	(s390_adjust_cost): Cleanup.  Don't check address dependency here.
29065169689Skan	(s390_first_cycle_multipass_dfa_lookahead): Always return 4.
29066169689Skan
29067169689Skan2004-06-18  Daniel Berlin  <dberlin@dberlin.org>
29068169689Skan			Diego Novillo  <dnovillo@redhat.com>
29069169689Skan
29070169689Skan	* tree-dfa.c (create_var_ann): tree_ann -> tree_ann_t.
29071169689Skan	(create_stmt_ann): Ditto.
29072169689Skan	(create_tree_ann): New function.
29073169689Skan	(create_cst_ann): Remove.
29074169689Skan	(create_expr_ann): Ditto.
29075169689Skan
29076169689Skan	* tree-flow-inline.h (cst_ann): Remove.
29077169689Skan	(get_cst_ann): Ditto.
29078169689Skan	(get_expr_ann): Ditto.
29079169689Skan	(expr_ann): Ditto.
29080169689Skan	(get_tree_ann): New function.
29081169689Skan	(tree_ann): Ditto.
29082169689Skan	(ann_type): tree_ann -> tree_ann_t.
29083169689Skan	* tree-flow.h (tree_ann_type): CST_ANN, EXPR_ANN removed.
29084169689Skan	(struct cst_ann_d): Removed.
29085169689Skan	(struct expr_ann_d): Ditto.
29086169689Skan	(union tree_ann_d): Removed cst and expr.
29087169689Skan	(tree_ann): Renamed to tree_ann_t.
29088169689Skan	* tree-ssa-ccp.c (set_rhs): tree_ann -> tree_ann_t.
29089169689Skan	* tree-ssa-pre.c (get_value_handle): Rewrite for single common
29090169689Skan	annotation.
29091169689Skan	(set_value_handle): Ditto.
29092169689Skan	(phi_translate): Ditto.
29093169689Skan	* tree-tailcall.c (adjust_return_value): tree_ann -> tree_ann_t.
29094169689Skan
29095169689Skan2004-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
29096169689Skan
29097169689Skan	* config/sh/t-linux64: New file.
29098169689Skan	* config.gcc: Add it to tmake_file for sh64*-*-linux*.
29099169689Skan
29100169689Skan2004-06-18  Paolo Bonzini  <bonzini@gnu.org>
29101169689Skan
29102169689Skan	* emit-rtl.c (unshare_all_rtl_1): New name of unshare_all_rtl.
29103169689Skan	(unshare_all_rtl_again): Call unshare_all_rtl_1.
29104169689Skan	(unshare_all_rtl): New.
29105169689Skan	* function.c (instantiate_virtual_regs): Remove parameters.
29106169689Skan	* function.h (instantiate_virtual_regs): Add prototype.
29107169689Skan	* rtl.h (unshare_all_rtl): Add prototype.
29108169689Skan	* tree.h (instantiate_virtual_regs, unshare_all_rtl): Remove
29109169689Skan	prototype.
29110169689Skan	* passes.c: Remove assertions on the parameters to
29111169689Skan	rest_of_handle_* functions.  Remove the parameters to
29112169689Skan	the functions, replacing decl with current_function_decl
29113169689Skan	and insns with get_insns ().
29114169689Skan
29115169689Skan2004-06-17  Roger Sayle  <roger@eyesopen.com>
29116169689Skan
29117169689Skan	* fold-const.c (constant_boolean_node): Handle boolean_type_node
29118169689Skan	directly, return either boolean_true_node or boolean_false_node.
29119169689Skan
29120169689Skan2004-06-18  Kelley Cook  <kcook@gcc.gnu.org>
29121169689Skan
29122169689Skan	* opts.sh: Delete.  Break out generated code to next four files.
29123169689Skan	* opt-gather.awk: New file.
29124169689Skan	* optc-gen.awk: New file.
29125169689Skan	* opth-gen.awk: New file.
29126169689Skan	* opt-functions.awk: New common file.
29127169689Skan	* Makefile.in: Update for above.
29128169689Skan	* configure.ac: Update comment.
29129169689Skan	* configure: Regenerate.
29130169689Skan
29131169689Skan2004-06-17  Richard Henderson  <rth@redhat.com>
29132169689Skan
29133169689Skan	* c-common.c (flag_objc_sjlj_exceptions): New.
29134169689Skan	* c-common.h (flag_objc_sjlj_exceptions): Declare.
29135169689Skan	* c-opts.c (c_common_handle_option): Set it.
29136169689Skan	(c_common_post_options): Handle interation of different
29137169689Skan	objective-c exception and runtime switches.
29138169689Skan	* c-decl.c (c_eh_initialized_p): New.
29139169689Skan	(finish_decl): Use it instead of local eh_initialized_p.
29140169689Skan	* c-parse.in (nested_function, notype_nested_function): Record
29141169689Skan	the result of compstmt.
29142169689Skan	(compstmt_or_error): Likewise.
29143169689Skan	(compstmt): Don't add_stmt the result.
29144169689Skan	(stmt): Don't return anything.  Rewrite objc try and sync rules.
29145169689Skan	(objc_try_stmt, objc_catch_list): Remove.
29146169689Skan	(objc_catch_block, objc_finally_block): Remove.
29147169689Skan	(objc_catch_prefix, objc_catch_clause, objc_opt_catch_list): New.
29148169689Skan	(objc_try_catch_clause, objc_finally_clause): New.
29149169689Skan	(objc_try_catch_stmt): Rewrite.
29150169689Skan	* c-tree.h (c_eh_initialized_p): Declare.
29151169689Skan	* c-opt (fobjc-sjlj-exceptions): New.
29152169689Skan	* except.c (output_function_exception_table): Don't call cgraph
29153169689Skan	on non-decls.
29154169689Skan	* objc/objc-act.c (UTAG_EXCDATA_VAR, UTAG_CAUGHTEXC_VAR,
29155169689Skan	UTAG_RETHROWEXC_VAR, UTAG_EVALONCE_VAR, struct val_stack,
29156169689Skan	catch_count_stack, exc_binding_stack, if_nesting_count,
29157169689Skan	blk_nesting_count, objc_enter_block, objc_exit_block,
29158169689Skan	objc_declare_variable, val_stack_push, val_stack_pop,
29159169689Skan	objc_build_try_enter_fragment, objc_build_extract_expr,
29160169689Skan	objc_build_try_exit_fragment, objc_build_extract_fragment,
29161169689Skan	objc_build_try_prologue, objc_build_try_epilogue,
29162169689Skan	objc_build_catch_stmt, objc_build_catch_epilogue,
29163169689Skan	objc_build_finally_prologue, objc_build_finally_epilogue,
29164169689Skan	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
29165169689Skan	objc_build_synchronized_epilogue): Remove.
29166169689Skan	(objc_create_temporary_var, struct objc_try_context, cur_try_context,
29167169689Skan	objc_eh_runtime_type, objc_init_exceptions, objc_build_exc_ptr,
29168169689Skan	next_sjlj_build_try_exit, next_sjlj_build_enter_and_setjmp,
29169169689Skan	next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
29170169689Skan	next_sjlj_build_try_catch_finally, objc_begin_try_stmt,
29171169689Skan	objc_begin_catch_clause, objc_finish_catch_clause,
29172169689Skan	objc_build_finally_clause, objc_finish_try_stmt,
29173169689Skan	objc_build_synchronized): New.
29174169689Skan	(objc_is_object_id, objc_is_class_id): New.
29175169689Skan	(objc_comptypes): Use them.
29176169689Skan	(build_next_objc_exception_stuff): Break NeXT sjlj out from
29177169689Skan	build_objc_exception_stuff.
29178169689Skan	(synth_module_prologue): Update to match.
29179169689Skan	(objc_build_throw_stmt): Use cur_try_context to decide if
29180169689Skan	we're in a @catch.
29181169689Skan	* objc/objc-act.h: Update prototypes.
29182169689Skan	(OCTI_EXCEPTION_BLK_STACK, objc_exception_block_stack): Remove.
29183169689Skan
29184169689Skan2004-06-17  Andrew Pinski <apinski@apple.com>
29185169689Skan
29186169689Skan	* c-typeck.c (tagged_types_tu_compatible_p <case UNION_TYPE>):
29187169689Skan	Use TYPE_FIELDS instead of TYPE_VALUES.
29188169689Skan
29189169689Skan2004-06-17  Jason Merrill  <jason@redhat.com>
29190169689Skan
29191169689Skan	PR c++/16015
29192169689Skan	* gimplify.c (gimplify_target_expr): Handle void initializer.
29193169689Skan	* expr.c (expand_expr_real_1) [TARGET_EXPR]: Likewise.
29194169689Skan	* doc/c-tree.texi (Expression trees): Update TARGET_EXPR
29195169689Skan	and AGGR_INIT_EXPR.
29196169689Skan
29197169689Skan2004-06-17  Roger Sayle  <roger@eyesopen.com>
29198169689Skan
29199169689Skan	* fold-const.c (fold_relational_const): Use constant_boolean_node.
29200169689Skan
29201169689Skan2004-06-17  Jan Hubicka  <jh@suse.cz>
29202169689Skan
29203169689Skan	PR target/15433
29204169689Skan	* i386.md (SSE SF cmov 0 splitter): The conditional is VOIDmode; fix
29205169689Skan	operand numbering in the output template.
29206169689Skan	(SSE DF cmov 0 splitter): The conditional is VOIDmode.
29207169689Skan
29208169689Skan2004-06-17  Jan Hubicka  <jh@suse.cz>
29209169689Skan
29210169689Skan	* except.c (can_throw_internal): Recognize RESX expresisons.
29211169689Skan
29212169689Skan2004-06-17  Jan Hubicka  <jh@suse.cz>
29213169689Skan
29214169689Skan	* cfgbuild.c (make_edges): Do not use label_value_list.
29215169689Skan	(find_basic_blocks_1): Do not collect label_value_list.
29216169689Skan	(find_sub_basic_blocks): Update call of make_edges.
29217169689Skan
29218169689Skan2004-06-17  Andrew MacLeod  <amacleod@redhat.com>
29219169689Skan
29220169689Skan	* tree-cfg.c (tree_make_forwarder_block): Use SET_PHI_RESULT.
29221169689Skan	* tree-flow-inline.h (get_use_op_ptr): Return a use_operand_p.
29222169689Skan	(get_use_from_ptr, get_def_from_ptr): New.  Return operand pointers.
29223169689Skan	(get_def_op_ptr): Return a def_operand_p instead of a 'tree *'.
29224169689Skan	(get_v_may_def_result_ptr): Return a def_operand_p.
29225169689Skan	(get_v_may_def_op_ptr, get_vuse_op_ptr): Return a use_operand_p.
29226169689Skan	(get_v_must_def_op_ptr): Return a def_operand_p.
29227169689Skan	(get_phi_result_ptr): New.  Return a pointer to the result of a PHI.
29228169689Skan	(get_phi_arg_def_ptr): New.  Return a pointer to an argument of a PHI.
29229169689Skan	(phi_element_for_edge): Remove.
29230169689Skan	* tree-flow.h (propagate_value, replace_exp): Change prototype.
29231169689Skan	(propagate_tree_value): Add new prototype.
29232169689Skan	(phi_element_for_edge): Remove prototype.
29233169689Skan	* tree-into-ssa.c (mark_def_sites): Use new operand types.
29234169689Skan	(prepare_operand_for_rename): Split into two functions.
29235169689Skan	(prepare_use_operand_for_rename): Prepare use operands.
29236169689Skan	(prepare_def_operand_for_rename): Prepare def operands.
29237169689Skan	(rewrite_stmt): Use new operand types.
29238169689Skan	(rewrite_operand): Use new operand types, change parameter type.
29239169689Skan	* tree-outof-ssa.c (replace_variable): Split into two functions.
29240169689Skan	(replace_use_variable): Rewrite uses.
29241169689Skan	(replace_def_variable): Rewrite defs.
29242169689Skan	(rewrite_trees, rewrite_vars_out_of_ssa): Use new operand types.
29243169689Skan	* tree-phinodes.c (make_phi_node, resize_phi_node): Use new types.
29244169689Skan	(add_phi_arg, remove_phi_arg_num): Use new operand types.
29245169689Skan	* tree-ssa-ccp.c (substitute_and_fold): Use new operand types.
29246169689Skan	(ccp_fold, replace_uses_in): Use new operand types.
29247169689Skan	* tree-ssa-copy.c (replace_ssa_names): Rename to replace_ssa_names_ann
29248169689Skan	and no longer set the value, change parameter type.
29249169689Skan	(replace_exp_1): Use new operand types.
29250169689Skan	(propagate_value): Change parameter type, use new operand types.
29251169689Skan	(propagate_tree_value): Propagate_value without SSA operands.
29252169689Skan	(replace_exp, cprop_operand, cprop_into_stmt): Use new operand types.
29253169689Skan	(cprop_into_successor_phis): Use new operand types.
29254169689Skan	* tree-ssa-dom.c (thread_across_edge): Use new operand types.
29255169689Skan	(eliminate_redundant_computations): Use new operand types.
29256169689Skan	* tree-ssa-dse.c (fix_phi_uses): Use new operand_types.
29257169689Skan	(fix_stmt_v_may_defs): Use new operand_types.
29258169689Skan	* tree-ssa-live.c (create_ssa_var_map): Use new operand_types.
29259169689Skan	(build_tree_conflict_graph): Use new operand_types.
29260169689Skan	* tree-ssa-loop.c (duplicate_blocks): Use PHI_ARG_DEF_FROM_EDGE.
29261169689Skan	* tree-ssa-operands.c (struct freelist_d): Remove.
29262169689Skan	(check_optype_freelist, add_optype_freelist): Remove.
29263169689Skan	(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
29264169689Skan	allocate_vuse_optype, allocate_v_must_def_optype): Call ggc_alloc.
29265169689Skan	(free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
29266169689Skan	Call ggc_free instead of add_optype_freelist.
29267169689Skan	(init_ssa_operands, fini_ssa_operands): Remove free list code.
29268169689Skan	(finalize_ssa_defs, finalize_ssa_uses): Set new use/def operands.
29269169689Skan	* tree-ssa-operands.h (struct def_optype_d): Change underlying type.
29270169689Skan	(struct use_optype_d): Change underlying type.
29271169689Skan	(def_operand_p, use_operand_p): New types for pointers to operands.
29272169689Skan	(USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP,
29273169689Skan	V_MUST_DEF_OP): Use new pointer type instead of dereferencing directly.
29274169689Skan	(USE_FROM_PTR, DEF_FROM_PTR): New macros to "dereference" operand
29275169689Skan	pointer types.
29276169689Skan	(SET_USE, SET_DEF): New macros to set operands from their pointer.
29277169689Skan	(SET_USE_OP, SET_DEF_OP, SET_V_MAY_DEF_RESULT, SET_V_MAY_DEF_OP,
29278169689Skan	SET_VUSE_OP, SET_V_MUST_DEF_OP): New SET routines for operands.
29279169689Skan	(PHI_RESULT_PTR, PHI_RESULT, SET_PHI_RESULT): Macros to manage the
29280169689Skan	PHI result as an operand.
29281169689Skan	(PHI_ARG_DEF_PTR, PHI_ARG_DEF, SET_PHI_ARG_DEF, PHI_ARG_DEF_FROM_EDGE,
29282169689Skan	PHI_ARG_DEF_PTR_FROM_EDGE): Macros to manage the PHI arguments.
29283169689Skan	* tree-ssa-pre.c (eliminate): Call propagate_tree_value.
29284169689Skan	* tree-tailcall.c (independent_of_stmt_p, propagate_through_phis): Use
29285169689Skan	PHI_ARG_DEF_FROM_EDGE.
29286169689Skan	* tree.h (PHI_RESULT): Renamed to PHI_RESULT_TREE.
29287169689Skan	(PHI_ARG_DEF): Renamed to PHI_ARG_DEF_TREE.
29288169689Skan
29289169689Skan2004-06-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
29290169689Skan
29291169689Skan	PR tree-optimization/15991
29292169689Skan	* tree-cfg.c (tree_block_label): Export.
29293169689Skan	* tree-flow-inline.h (bsi_after_labels): New function.
29294169689Skan	* tree-flow.h (bsi_after_labels, tree_block_label): Declare.
29295169689Skan	* tree-ssa.c (propagate_into_addr): New function.
29296169689Skan	(replace_immediate_uses): Handle propagation of pointer constants.
29297169689Skan	(raise_value): Do not restrict propagation of pointer constants.
29298169689Skan	* tree-ssanames.c (duplicate_ssa_name): New function.
29299169689Skan	* tree.h (duplicate_ssa_name): Declare.
29300169689Skan
29301169689Skan2004-06-17  David Ayers  <d.ayers@inode.at>
29302169689Skan
29303169689Skan	* c-parse.in: Unify Objective-C token names.
29304169689Skan
29305169689Skan2004-06-17  Zack Weinberg  <zack@codesourcery.com>
29306169689Skan
29307169689Skan	Bug 14610
29308169689Skan	* Makefile.in (min-insn-modes.o): Correct dependencies.
29309169689Skan	* real.c (encode_ieee_extended, decode_ieee_extended): Always
29310169689Skan	produce/consume 12-byte little-endian Intel format.
29311169689Skan	(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
29312169689Skan	(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
29313169689Skan	(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
29314169689Skan	(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
29315169689Skan	New functions which convert between 12-byte little-endian Intel
29316169689Skan	format and the desired format.
29317169689Skan	(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
29318169689Skan	(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
29319169689Skan	Update.
29320169689Skan
29321169689Skan2004-06-17  Zack Weinberg  <zack@codesourcery.com>
29322169689Skan
29323169689Skan	* expmed.c (expand_mult_const): In sanity check, compare only
29324169689Skan	the bits of val and val_so_far that are significant in the
29325169689Skan	result mode.
29326169689Skan
29327169689Skan2004-06-17  Daniel Berlin  <dberlin@dberlin.org>
29328169689Skan
29329169689Skan	* tree-ssa-pre.c: Update comments.
29330169689Skan	(val_expr_pair_eq): Factor code from here.
29331169689Skan	(expr_pred_trans_eq): and here.
29332169689Skan	(expressions_equal_p): To here.
29333169689Skan	(print_value_set): Print value for expression.
29334169689Skan	(phi_trans_lookup): Rename some variables.
29335169689Skan	(lookup): Ditto.
29336169689Skan	(value_exists_in_set_bitmap): Ditto.
29337169689Skan	(value_remove_from_set_bitmap): Ditto.
29338169689Skan	(value_insert_into_set_bitmap): Ditto.
29339169689Skan
29340169689Skan2004-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
29341169689Skan
29342169689Skan	* config/s390/s390-modes.def (CCL3mode): New machine mode.
29343169689Skan	* config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode.
29344169689Skan	(s390_alc_comparison, s390_slb_comparison): Likewise.
29345169689Skan	(s390_branch_condition_mask): Likewise.
29346169689Skan	* config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New.
29347169689Skan	("*subsi3_cc2", "*subsi3_cconly2"): New.
29348169689Skan
29349169689Skan	* config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and
29350169689Skan	ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison.
29351169689Skan	* config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
29352169689Skan	Handle SIGN_EXTEND and ZERO_EXTEND.
29353169689Skan
29354169689Skan	* config/s390/s390-protos.h (s390_expand_addcc): New prototype.
29355169689Skan	* config/s390/s390.c (s390_expand_addcc): New function.
29356169689Skan	* config/s390/s390.md ("adddicc", "addsicc"): New expanders.
29357169689Skan	("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns.
29358169689Skan	("sltu", "sgtu", "sleu", "sgeu"): New expanders.
29359169689Skan
29360169689Skan2004-06-17  Ben Elliston  <bje@au.ibm.com>
29361169689Skan
29362169689Skan	* tree-alias-common.c: Add whitespace.
29363169689Skan	* tree-inline.c: Correct comment about this file's purpose.
29364169689Skan	* tree-optimize.c: Likewise.
29365169689Skan	* tree-tailcall.c: Likewise.
29366169689Skan
29367169689Skan	* tree-alias-ander.h: Add standard top-of-file comment.
29368169689Skan	* tree-alias-common.h: Likewise.
29369169689Skan	* tree-alias-type.h: Likewise.
29370169689Skan
29371169689Skan2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
29372169689Skan
29373169689Skan	* tree-ssa-pre.c (compute_avail): Value number uses as well.
29374169689Skan	Strip useless type conversions.
29375169689Skan	Casts have to be treated slightly different than normal unaries.
29376169689Skan
29377169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29378169689Skan
29379169689Skan	* c-common.def (COMPOUND_STMT): Remove.
29380169689Skan	* c-common.c (finish_fname_decls): Don't look through it.
29381169689Skan	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
29382169689Skan	* c-common.h (COMPOUND_BODY): Remove.
29383169689Skan	(c_common_stmt_codes): Remove COMPOUND_STMT.
29384169689Skan	* c-dump.c (c_dump_tree): Likewise.
29385169689Skan	* c-gimplify.c (c_gimplify_stmt): Likewise.
29386169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
29387169689Skan	* tree.h (DECL_SAVED_TREE): Update commentary.
29388169689Skan	* doc/c-tree.texi (ASM_EXPR): Rename from ASM_STMT.
29389169689Skan	(CASE_LABEL_EXPR): Rename from CASE_LABEL.
29390169689Skan	(GOTO_EXPR): Rename from GOTO_STMT.
29391169689Skan	(GOTO_FAKE_P): Remove.
29392169689Skan	(COMPOUND_STMT): Remove.
29393169689Skan	(HANDLER): Update wrt COMPOUND_STMT.
29394169689Skan	(STMT_EXPR): Likewise.
29395169689Skan	(LABEL_EXPR): Rename from LABEL_STMT.
29396169689Skan	(SCOPE_STMT): Remove.
29397169689Skan	* objc/objc-act.c (objc_build_try_catch_finally_stmt): Don't look
29398169689Skan	through COMPOUND_STMT.
29399169689Skan
29400169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29401169689Skan
29402169689Skan	* c-common.h (c_begin_if_stmt, c_begin_while_stmt,
29403169689Skan	c_finish_while_stmt_cond): Remove decls.
29404169689Skan	* c-parse.in (if_prefix): Don't save c_begin_if_stmt result.
29405169689Skan	* c-typeck.c (c_begin_if_stmt): Return void.
29406169689Skan	(c_begin_else): Tidy.  Save stmt_count.
29407169689Skan	* c-tree.h (c_begin_if_stmt): Update decl.
29408169689Skan
29409169689Skan	* objc/objc-act.c (objc_build_try_enter_fragment,
29410169689Skan	objc_build_extract_fragment, objc_build_try_epilogue,
29411169689Skan	objc_build_catch_stmt, objc_build_catch_epilogue,
29412169689Skan	objc_build_finally_prologue, objc_build_finally_epilogue): Update
29413169689Skan	for if builder function changes.
29414169689Skan
29415169689Skan2004-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
29416169689Skan
29417169689Skan	* config/s390/s390.c (struct machine_function): New member
29418169689Skan	last_restore_gpr.
29419169689Skan	(s390_frame_info): Add BASE_USED and RETURN_ADDR_USED parameters.
29420169689Skan	Do not modify machine->save_return_addr_p or regs_ever_live.
29421169689Skan	Fill in machine->last_restore_gpr.
29422169689Skan	(s390_optimize_prolog): Use s390_frame_info to compute registers
29423169689Skan	to save/restore, remove duplicated code.
29424169689Skan	(s390_arg_frame_offset): Use s390_frame_info to compute frame
29425169689Skan	size, remove duplicated code.
29426169689Skan	(s390_emit_prologue): Adapt s390_frame_info call.  Update
29427169689Skan	machine->save_return_addr_p and regs_ever_live.
29428169689Skan	(s390_emit_epilogue): Use machine->last_restore_gpr instead of
29429169689Skan	machine->last_save_gpr.
29430169689Skan
29431169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29432169689Skan
29433169689Skan	* c-parse.in (if_stmt_locus): Remove.
29434169689Skan	(if_prefix): Increment stmt_count; pass it to c_finish_if_cond.
29435169689Skan	(select_or_iter_stmt): Move empty if warnings to c-typeck.c.
29436169689Skan	* c-typeck.c (if_elt): Sort by expected size.  Rename locus to
29437169689Skan	empty_locus.  Add stmt_count, saw_else.
29438169689Skan	(c_begin_if_stmt): Push if_stack here.
29439169689Skan	(c_finish_if_cond): Rename from c_expand_end_cond.  Record stmt_count.
29440169689Skan	(c_finish_then, c_finish_else): Record empty_locus.
29441169689Skan	(c_begin_else): Rename from c_expand_start_else.  Record stmt_count.
29442169689Skan	(c_finish_if_stmt): Rename from c_expand_end_cond.  Warn for empty
29443169689Skan	if or else body.
29444169689Skan	* c-tree.h: Update prototypes.
29445169689Skan
29446169689Skan2004-06-16  Steven Bosscher  <stevenb@suse.de>
29447169689Skan
29448169689Skan	* tree.h (PHI_CHAIN): New.
29449169689Skan	* (tree-cfg.c, tree-dfa.c, tree-flow-inline.h, tree-into-ssa.c,
29450169689Skan	tree-outof-ssa.c, tree-phinodes.c, tree-pretty-print.c,
29451169689Skan	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-dse.c,
29452169689Skan	tree-ssa-live.c, tree-ssa-loop.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
29453169689Skan	tree-ssa.c, tree-tailcall.c): Use PHI_CHAIN instead of TREE_CHAIN
29454169689Skan	when traversing a list of PHI_NODEs.
29455169689Skan
29456169689Skan2004-06-16  Bernardo Innocenti  <bernie@develer.com>
29457169689Skan
29458169689Skan	PR target/13292
29459169689Skan	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
29460169689Skan	on -msoft-float.
29461169689Skan	(TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
29462169689Skan	68040 and soft-float.
29463169689Skan	* config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
29464169689Skan	in the TARGET_68040_ONLY case.
29465169689Skan
29466169689Skan2004-06-16 Peter Barada  <peter@the-baradas.com>
29467169689Skan
29468169689Skan	* config/m68k/m68k.md (movsi_cfv4): New pattern to allow mov3q.
29469169689Skan	(movsi_cf): Make named, don't match TARGET_CFV4.
29470169689Skan	(pushexthisi_const): Use mov3q if possible.
29471169689Skan	(extendhisi2, cvf4_extendhisi2): Split extendhisi2 pattern
29472169689Skan	to special case mvz.w for ColdFire V4.
29473169689Skan	(extendqisi2, cvf4_extendqisi2): Split extendhisi2 pattern
29474169689Skan	to special case mvz.b for ColdFire V4.
29475169689Skan	(udivmodhi4, divmodhi4): Use mvz to zero extend arg for
29476169689Skan	divide.
29477169689Skan	(iorsi3, xorsi3, andsi3): Use bitfield instructions if possible.
29478169689Skan	* config/m68k/m68k.c(valid_mov3q_const): New function.
29479169689Skan	(const_method): SWAP is valid for ColdFire.
29480169689Skan	(MULL_COST, MULW_COST): Fix costs for ColdFire V3/V4.
29481169689Skan	* config/m68k/m68k-protos.h (valid_mov3q_const): Prototype here.
29482169689Skan
29483169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29484169689Skan
29485169689Skan	* c-common.def (CASE_LABEL): Remove.
29486169689Skan	* c-common.c (c_add_case_label): Use CASE_LABEL, not CASE_LABEL_DECL.
29487169689Skan	(match_case_to_enum_1): Likewise.
29488169689Skan	* c-common.h (c_common_stmt_codes): Remove CASE_LABEL.
29489169689Skan	* c-dump.c (c_dump_tree): Likewise.
29490169689Skan	* c-gimplify.c (c_gimplify_stmt): Likewise.
29491169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
29492169689Skan	* c-semantics.c (build_case_label): Use CASE_LABEL_EXPR.
29493169689Skan	* tree.h (CASE_LOW): Update commentary.
29494169689Skan
29495169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29496169689Skan
29497169689Skan	* c-common.def (ASM_STMT): Remove.
29498169689Skan	* c-common.h (c_common_stmt_codes): Remove ASM_STMT.
29499169689Skan	* c-dump.c (c_dump_tree): Likewise.
29500169689Skan	* c-gimplify.c (c_gimplify_stmt): Likewise.
29501169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
29502169689Skan	* c-typeck.c (build_asm_expr): Use ASM_EXPR.
29503169689Skan	* tree.h: Fix commentary.
29504169689Skan
29505169689Skan2004-06-16  Richard Henderson  <rth@redhat.com>
29506169689Skan
29507169689Skan	* c-common.def (GOTO_STMT, LABEL_STMT): Remove.
29508169689Skan	* c-common.c (c_add_case_label): Use LABEL_EXPR.
29509169689Skan	* c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove.
29510169689Skan	(c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT.
29511169689Skan	* c-dump.c (c_dump_tree): Likewise.
29512169689Skan	* c-gimplify.c (c_gimplify_stmt): Likewise.
29513169689Skan	* c-pretty-print.c (pp_c_statement): Likewise.
29514169689Skan	* c-parse.in (stmt): Use GOTO_EXPR.
29515169689Skan	(label): Use LABEL_EXPR.
29516169689Skan	* c-semantics.c (build_stmt): Set TREE_TYPE to void.
29517169689Skan	* tree-inline.c (copy_body_r): Don't build empty BLOCKs.
29518169689Skan
29519169689Skan2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
29520169689Skan
29521169689Skan	* cfgcleanup.c (try_simplify_condjump): Update test to make
29522169689Skan	sure we have a conditional branch around am unconditional branch.
29523169689Skan
29524169689Skan2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
29525169689Skan
29526169689Skan	* tree-cfg.c (pass_split_crit_edge): Give it a name and a dump file.
29527169689Skan
29528169689Skan2004-06-16  Dale Johannesen  <dalej@apple.com>
29529169689Skan
29530169689Skan	* loop.c (loop_givs_reduce): Avoid miscompilation of
29531169689Skan	loops entered at bottom.
29532169689Skan
29533169689Skan2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
29534169689Skan
29535169689Skan	* cfglayout.c (fixup_reorder_chain): Handle case where the
29536169689Skan	destination of E_FALL is EXIT_BLOCK_PTR.
29537169689Skan
29538169689Skan2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
29539169689Skan
29540169689Skan	PR target/15653
29541169689Skan	* config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
29542169689Skan	after shifts before asm.
29543169689Skan
29544169689Skan2004-06-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
29545169689Skan
29546169689Skan	PR tree-optimization/15993
29547169689Skan	* tree-ssa-dom.c (thread_across_edge): Do not thread edge if its
29548169689Skan	destination is unchanged.
29549169689Skan
29550169689Skan2004-06-16  Andreas Jaeger  <aj@suse.de>
29551169689Skan
29552169689Skan	* doc/install.texi (Configuration): Update description for
29553169689Skan	--enable-version-specific-runtime-libs.
29554169689Skan
29555169689Skan2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
29556169689Skan
29557169689Skan	* doc/install.texi: boehm-gc now uses automake 1.8.5.
29558169689Skan
29559169689Skan2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
29560169689Skan
29561169689Skan	* toplev.h (rest_of_compilation): Adjust prototype.
29562169689Skan
29563169689Skan2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
29564169689Skan
29565169689Skan	* coverage.c: Remove argument to rest_of_compilation.
29566169689Skan	* expr.c (execute_expand, set_save_expr_context, pass_expand): New.
29567169689Skan	* passes.c (rest_of_compilation): Remove argument.
29568169689Skan	(pass_rest_of_compilation): New.
29569169689Skan	(rest_of_handle_final, rest_of_handle_delay_slots,
29570169689Skan	rest_of_handle_stack_regs, rest_of_handle_variable_tracking
29571169689Skan	rest_of_handle_machine_reorg, rest_of_handle_regrename
29572169689Skan	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2
29573169689Skan	rest_of_handle_regmove, rest_of_handle_tracer
29574169689Skan	rest_of_handle_if_conversion, rest_of_handle_if_after_combine
29575169689Skan	rest_of_handle_web, rest_of_handle_branch_prob
29576169689Skan	rest_of_handle_value_profile_transformations, rest_of_handle_cfg
29577169689Skan	rest_of_handle_addressof, rest_of_handle_jump_bypass
29578169689Skan	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2):
29579169689Skan	Check that the two arguments are actually superfluous.
29580169689Skan	* tree-optimize.c (register_dump_files): Add properties argument.
29581169689Skan	Track validity of passes.  Only initialize dump files for
29582169689Skan	tree-based passes.  Store the full set of provided passes in
29583169689Skan	the pass.
29584169689Skan	(init_tree_optimization_passes): Register pass_expand and
29585169689Skan	pass_rest_of_compilation.
29586169689Skan	(execute_one_pass): Do not track the presence of required properties
29587169689Skan	here.  Set in_gimple_form.  Do not update current_properties.
29588169689Skan	(current_properties): Remove.
29589169689Skan	(set_save_expr_context): Remove.
29590169689Skan	(tree_rest_of_compilation): Do not set in_gimple_form.  Do not
29591169689Skan	expand to RTL here, and do not call rest_of_compilation.  Push
29592169689Skan	GGC context even before gimplification.
29593169689Skan	* tree-pass.h (PROP_rtl, PROP_trees): New flags.
29594169689Skan	(pass_expand, pass_rest_of_compilation): Declare.
29595169689Skan
29596169689Skan2004-06-15  Jeff Law  <law@redhat.com>
29597169689Skan
29598169689Skan	* fold-const.c (swap_tree_comparison): No longer static.
29599169689Skan	(tree_swap_operands_p): Similarly.  Return true if both operands
29600169689Skan	are SSA_NAMEs and the first operand has a higher version number than
29601169689Skan	the second operand.
29602169689Skan	* tree.h (swap_tree_comparison): Prototype.
29603169689Skan	(tree_swap_operands_p): Prototype.
29604169689Skan	* tree-ssa-operands.c (get_expr_operands): For commutative
29605169689Skan	operators and relational comparisons, canonicalize the
29606169689Skan	order of the operands.
29607169689Skan
29608169689Skan2004-06-15  Richard Henderson  <rth@redhat.com>
29609169689Skan
29610169689Skan	* c-common.c (lang_gimplify_stmt): Remove next_p argument.
29611169689Skan	(if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
29612169689Skan	c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
29613169689Skan	c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
29614169689Skan	(finish_fname_decls, fname_decl): Use statement_lists.
29615169689Skan	(c_expand_expr_stmt): Don't set last_expr_type.
29616169689Skan	(c_type_hash): Fix indentation.
29617169689Skan	(c_safe_from_p): Don't follow TREE_CHAIN.
29618169689Skan	(c_tree_chain_matters_p): Remove.
29619169689Skan	* c-common.def (SCOPE_STMT): Remove.
29620169689Skan	(CLEANUP_STMT): Redefine to contain its own body.
29621169689Skan	* c-common.h (struct stmt_tree_s): Remove x_last_stmt,
29622169689Skan	x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
29623169689Skan	Add x_cur_stmt_list.
29624169689Skan	(last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
29625169689Skan	(cur_stmt_list): New.
29626169689Skan	(STATEMENT_LIST_STMT_EXPR): New.
29627169689Skan	(SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
29628169689Skan	SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
29629169689Skan	(CLEANUP_BODY): New.
29630169689Skan	(CLEANUP_DECL): Move to operand 2.
29631169689Skan	(c_common_stmt_codes): Remove SCOPE_STMT.
29632169689Skan	(COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
29633169689Skan	* c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
29634169689Skan	(c_push_function_context, c_pop_function_context): Don't save it.
29635169689Skan	(finish_decl): Set TREE_USED on the decl for a cleanup.
29636169689Skan	Use push_cleanup.
29637169689Skan	(store_parm_decls): Use statement lists.
29638169689Skan	(finish_function): Remove compstmt rule workaround.  Use statement
29639169689Skan	lists.  Call finish_fname_decls after finalizing the body.
29640169689Skan	(c_begin_compound_stmt): Move to c-typeck.c.
29641169689Skan	* c-dump.c (c_dump_tree): Remove SCOPE_STMT.
29642169689Skan	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
29643169689Skan	(c_genericize): Invoke them.
29644169689Skan	(c_gimplify_stmt): Don't look through TREE_CHAIN.  Kill SCOPE_STMT.
29645169689Skan	(c_build_bind_expr): Export.
29646169689Skan	(gimplify_block, gimplify_cleanup): Remove.
29647169689Skan	(gimplify_condition): Use gimplify_stmt.
29648169689Skan	(gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
29649169689Skan	(gimplify_if_stmt): Remove recursion hack.
29650169689Skan	(c_gimplify_expr): Remove STMT_EXPR handling.
29651169689Skan	(stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
29652169689Skan	(is_last_stmt_of_scope): Remove.
29653169689Skan	* c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
29654169689Skan	* c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
29655169689Skan	c_end_compound_stmt.
29656169689Skan	* c-objc-common.c (build_cdtor): Likewise.
29657169689Skan	* c-parse.in (primary): Use c_finish_stmt_expr.
29658169689Skan	(push_scope, pop_scope): Remove.
29659169689Skan	(c99_block_start, compstmt_start): Use c_begin_compound_stmt.
29660169689Skan	(c99_block_end, compstmt): Use c_end_compound_stmt.
29661169689Skan	(c99_block_lineno_labeled_stmt): Likewise.
29662169689Skan	(compstmt_primary_start): Use c_begin_stmt_expr.
29663169689Skan	(simple_if, select_or_iter_stmt): Update calls to stmt builders.
29664169689Skan	(do_stmt_start): Fill in body directly.
29665169689Skan	(lineno_stmt): Avoid setting lineno on constants.
29666169689Skan	* c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
29667169689Skan	Remove SCOPE_STMT.
29668169689Skan	* c-semantics.c (begin_stmt_tree): Remove.
29669169689Skan	(push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
29670169689Skan	(add_stmt): Use statement lists.
29671169689Skan	(add_scope_stmt, finish_stmt_tree): Remove.
29672169689Skan	(push_cleanup): New.
29673169689Skan	* c-tree.h: Move some decls from c-common.h.
29674169689Skan	* c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
29675169689Skan	(do_case, c_finish_case): Likewise.
29676169689Skan	(c_finish_then): Take body for then as argument.
29677169689Skan	(c_finish_else): Similarly.
29678169689Skan	(c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
29679169689Skan	c_finish_for_stmt_incr, c_finish_for_stmt): New.
29680169689Skan	(c_begin_stmt_expr, c_finish_stmt_expr): New.
29681169689Skan	(c_begin_compound_stmt): Do scope management.
29682169689Skan	(c_end_compound_stmt): New.
29683169689Skan	* fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
29684169689Skan	* gimplify.c (voidify_wrapper_expr): Accept temporary argument.
29685169689Skan	Look through exception handling constructs.
29686169689Skan	(gimplify_bind_expr): Accept temporary argument.
29687169689Skan	(gimplify_target_expr): Special case BIND_EXPR bodies.
29688169689Skan	(gimplify_expr): Handle fallback == fb_none like a statement.
29689169689Skan	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
29690169689Skan	* langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
29691169689Skan	* langhooks.h (tree_chain_matters_p): Remove.
29692169689Skan	* stub-objc.c (objc_clear_super_receiver): New.
29693169689Skan	* tree-gimple.h (voidify_wrapper_expr): Update decl.
29694169689Skan	(append_to_statement_list, append_to_statement_list_force): Move
29695169689Skan	to tree-iterator.h.
29696169689Skan	* tree-inline.c (expand_call_inline): Update call.
29697169689Skan	(clone_body): Use statement lists.
29698169689Skan	(walk_tree): Don't check tree_chain_matters_p.
29699169689Skan	(copy_tree_r): Likewise.
29700169689Skan	* tree-iterator.c (alloc_stmt_list): Clear lang bits.
29701169689Skan	(tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
29702169689Skan	* tree-iterator.h (append_to_statement_list,
29703169689Skan	append_to_statement_list_force): Moved from tree-gimple.h.
29704169689Skan	* tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
29705169689Skan	* objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
29706169689Skan	(objc_enter_block): Likewise.
29707169689Skan	(objc_exit_block): Use c_end_compound_stmt.
29708169689Skan	(objc_build_try_enter_fragment): Add #error and comment for
29709169689Skan	rewriting for OBJCPLUS.
29710169689Skan	(objc_build_extract_fragment, objc_build_try_epilogue,
29711169689Skan	objc_build_catch_stmt, objc_build_finally_prologue,
29712169689Skan	objc_build_finally_epilogue): Update for C statement builders.
29713169689Skan	* objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
29714169689Skan	Remove.
29715169689Skan
29716169689Skan2004-06-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
29717169689Skan
29718169689Skan	* df.c (df_reg_clobber_gen): Removed.
29719169689Skan	(df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
29720169689Skan	Make more effective for hard regs.
29721169689Skan	* ra-build.c (livethrough_conflicts_bb): Check contains_call.
29722169689Skan
29723169689Skan2004-06-15  Alexandre Oliva  <aoliva@redhat.com>
29724169689Skan
29725169689Skan	* c-pragma.h (c_lex_string_translate): Change type to int.
29726169689Skan	* c-parse.in: Change all assignments of c_lex_string_translate
29727169689Skan	to true and false to 1 and 0.
29728169689Skan	* c-lex.c (c_lex_string_translate): Likewise.
29729169689Skan	(lex_string): Convert string without translation in the -1
29730169689Skan	case.
29731169689Skan
29732169689Skan2004-06-15  Mark G. Adams  <mark.g.adams@sympatico.ca>
29733169689Skan
29734169689Skan	* convert.h: Add include guards
29735169689Skan
29736169689Skan2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
29737169689Skan
29738169689Skan	* tree-flow-inline.h: Document all functions.
29739169689Skan
29740169689Skan2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
29741169689Skan
29742169689Skan	* tree-flow-inline.h (stmt_ann): Remove use of is_essa_node.
29743169689Skan	* tree-dfa.c (create_stmt_ann): Ditto.
29744169689Skan	* tree-pretty-print.c (dump_generic_node): Remove E* node handling.
29745169689Skan	* tree-inline.c (estimate_num_insns_1): Ditto.
29746169689Skan	* tree.c (tree_size): Ditto.
29747169689Skan	(make_node_stat): Ditto.
29748169689Skan	(tree_node_structure): Ditto.
29749169689Skan	(ephi_node_elt_check_failed): Remove.
29750169689Skan	(is_essa_node): Ditto.
29751169689Skan	* tree.def (EPHI_NODE): Ditto.
29752169689Skan	(EEXIT_NODE): Ditto.
29753169689Skan	(EUSE_NODE): Ditto.
29754169689Skan	(EKILL_NODE): Ditto.
29755169689Skan	* tree.h (EREF_NODE_CHECK): Remove.
29756169689Skan	(EPHI_NODE_ELT_CHECK): Ditto.
29757169689Skan	(struct tree_eref_common): Ditto.
29758169689Skan	(struct tree_euse_node): Ditto.
29759169689Skan	(struct ephi_arg_d): Ditto.
29760169689Skan	(struct tree_ephi_node): Ditto.
29761169689Skan	(ephi_node_elt_check_failed): Remove prototype.
29762169689Skan	(is_essa_node): Ditto.
29763169689Skan	(enum tree_node_structure_enum): Remove TS_E*_NODE.
29764169689Skan	(union tree_node): Remove E*_NODE uses.
29765169689Skan
29766169689Skan2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
29767169689Skan
29768169689Skan	* alias.c (record_set, record_base_value, canon_rtx, get_addr,
29769169689Skan	nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
29770169689Skan	* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
29771169689Skan	Likewise.
29772169689Skan	* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
29773169689Skan	expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
29774169689Skan	expand_builtin_strcmp, expand_builtin_strncmp,
29775169689Skan	expand_builtin_frame_address): Likewise.
29776169689Skan	* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
29777169689Skan	insert_one_insn): Likewise.
29778169689Skan	* calls.c (prepare_call_address, precompute_register_parameters,
29779169689Skan	precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
29780169689Skan	* cfganal.c (flow_active_insn_p): Likewise.
29781169689Skan	* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
29782169689Skan	combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
29783169689Skan	subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
29784169689Skan	make_extraction, recog_for_combine, gen_lowpart_for_combine,
29785169689Skan	simplify_comparison, record_dead_and_set_regs_1,
29786169689Skan	record_dead_and_set_regs, record_promoted_value,
29787169689Skan	check_promoted_subreg, get_last_value_validate, get_last_value,
29788169689Skan	reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
29789169689Skan	unmentioned_reg_p_1): Likewise.
29790169689Skan	* conflict.c (mark_reg): Likewise.
29791169689Skan	* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
29792169689Skan	mention_regs, insert_regs, lookup, lookup_for_remove, insert,
29793169689Skan	merge_equiv_classes, flush_hash_table, invalidate,
29794169689Skan	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
29795169689Skan	invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
29796169689Skan	cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
29797169689Skan	record_jump_cond, cse_insn, addr_affects_sp_p,
29798169689Skan	invalidate_from_clobbers, cse_process_notes, cse_around_loop,
29799169689Skan	cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
29800169689Skan	cse_cc_succs, cse_condition_code_reg): Likewise.
29801169689Skan	* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
29802169689Skan	cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
29803169689Skan	cselib_record_set, cselib_record_sets): Likewise.
29804169689Skan	* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
29805169689Skan	dbxout_block): Likewise.
29806169689Skan	* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
29807169689Skan	* dojump.c (do_jump): Likewise.
29808169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
29809169689Skan	is_based_loc, rtl_for_decl_location): Likewise.
29810169689Skan	* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
29811169689Skan	set_decl_incoming_rtl, mark_user_reg): Likewise.
29812169689Skan	* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
29813169689Skan	copy_to_suggested_reg, allocate_dynamic_stack_space,
29814169689Skan	probe_stack_range, hard_function_value): Likewise.
29815169689Skan	* expmed.c (store_bit_field, store_fixed_bit_field,
29816169689Skan	store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
29817169689Skan	extract_split_bit_field, expand_divmod, emit_store_flag_force):
29818169689Skan	Likewise.
29819169689Skan	* expr.c (convert_move, convert_modes,
29820169689Skan	block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
29821169689Skan	use_group_regs, emit_move_insn, emit_move_insn_1,
29822169689Skan	compress_float_constant, push_block, emit_single_push_insn,
29823169689Skan	emit_push_insn, get_subtarget, expand_assignment, store_expr,
29824169689Skan	store_constructor, store_field, force_operand, safe_from_p,
29825169689Skan	expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
29826169689Skan	Likewise.
29827169689Skan	* final.c (profile_function, final_scan_insn, alter_subreg,
29828169689Skan	get_mem_expr_from_op, output_asm_operand_names, output_operand,
29829169689Skan	only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
29830169689Skan	* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
29831169689Skan	find_regno_partial, propagate_one_insn, init_propagate_block_info,
29832169689Skan	insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
29833169689Skan	attempt_auto_inc, find_auto_inc, mark_used_regs,
29834169689Skan	count_or_remove_death_notes_bb): Likewise.
29835169689Skan	* function.c (find_temp_slot_from_address, update_temp_slot_address,
29836169689Skan	preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
29837169689Skan	fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
29838169689Skan	put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
29839169689Skan	purge_single_hard_subreg_set, instantiate_decl,
29840169689Skan	instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
29841169689Skan	promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
29842169689Skan	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
29843169689Skan	expand_function_start, diddle_return_value, clobber_return_register,
29844169689Skan	expand_function_end, keep_stack_depressed, handle_epilogue_set,
29845169689Skan	update_epilogue_consts): Likewise.
29846169689Skan	* genemit.c (gen_exp, gen_insn): Likewise.
29847169689Skan	* genrecog.c (make_insn_sequence): Likewise.
29848169689Skan	* global.c (global_conflicts, expand_preferences, mark_reg_store,
29849169689Skan	mark_reg_conflicts, set_preference, reg_becomes_live,
29850169689Skan	build_insn_chain, mark_reg_change): Likewise.
29851169689Skan	* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
29852169689Skan	Likewise.
29853169689Skan	* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
29854169689Skan	Likewise.
29855169689Skan	* integrate.c (copy_rtx_and_substitute, try_constants,
29856169689Skan	subst_constants, mark_stores, allocate_initial_values): Likewise.
29857169689Skan	* jump.c (reversed_comparison_code_parts, delete_prior_computation,
29858169689Skan	delete_computation, rtx_renumbered_equal_p, true_regnum,
29859169689Skan	reg_or_subregno): Likewise.
29860169689Skan	* lcm.c (reg_dies, reg_becomes_live): Likewise.
29861169689Skan	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
29862169689Skan	update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
29863169689Skan	wipe_dead_reg, no_conflict_p): Likewise.
29864169689Skan	* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
29865169689Skan	iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
29866169689Skan	simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
29867169689Skan	* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
29868169689Skan	move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
29869169689Skan	find_single_use_in_loop, count_one_set, loop_bivs_init_find,
29870169689Skan	loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
29871169689Skan	valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
29872169689Skan	loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
29873169689Skan	maybe_eliminate_biv_1, record_initial, update_reg_last_use,
29874169689Skan	canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
29875169689Skan	try_swap_copy_prop): Likewise.
29876169689Skan	* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
29877169689Skan	expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
29878169689Skan	Likewise.
29879169689Skan	* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
29880169689Skan	reload_cse_simplify_operands, reload_combine,
29881169689Skan	reload_combine_note_store, reload_combine_note_use,
29882169689Skan	reload_cse_move2add, move2add_note_store): Likewise.
29883169689Skan	* print-rtl.c (print_rtx): Likewise.
29884169689Skan	* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
29885169689Skan	contains_pseudo, handle_asm_insn): Likewise.
29886169689Skan	* ra-debug.c (ra_print_rtx_object, dump_constraints,
29887169689Skan	dump_static_insn_cost): Likewise.
29888169689Skan	* ra-rewrite.c (slots_overlap_p, emit_colors,
29889169689Skan	remove_suspicious_death_notes): Likewise.
29890169689Skan	* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
29891169689Skan	register_operand, scratch_operand, nonmemory_operand,
29892169689Skan	constrain_operands): Likewise.
29893169689Skan	* reg-stack (check_asm_stack_operands, remove_regno_note,
29894169689Skan	emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
29895169689Skan	subst_asm_stack_regs): Likewise.
29896169689Skan	* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
29897169689Skan	record_address_regs, reg_scan_mark_refs): Likewise.
29898169689Skan	* regmove.c (discover_flags_reg, replacement_quality,
29899169689Skan	copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
29900169689Skan	fixup_match_1): Likewise.
29901169689Skan	* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
29902169689Skan	kill_set_value, copyprop_hardreg_forward_1): Likewise.
29903169689Skan	* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
29904169689Skan	reload_inner_reg_of_subreg, can_reload_into, push_reload,
29905169689Skan	combine_reloads, find_dummy_reload, hard_reg_set_here_p,
29906169689Skan	operands_match_p, decompose, find_reloads, find_reloads_toplev,
29907169689Skan	find_reloads_address, subst_indexed_address, find_reloads_address_1,
29908169689Skan	find_reloads_subreg_address, find_replacement,
29909169689Skan	refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
29910169689Skan	refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
29911169689Skan	* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
29912169689Skan	find_reg, delete_dead_insn, alter_reg, eliminate_regs,
29913169689Skan	elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
29914169689Skan	forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
29915169689Skan	emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
29916169689Skan	do_output_reload, emit_reload_insns, gen_reload,
29917169689Skan	delete_address_reloads_1, inc_for_reload): Likewise.
29918169689Skan	* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
29919169689Skan	update_reg_unused_notes, fill_slots_from_thread): Likewise.
29920169689Skan	* resource.c (update_live_status, mark_referenced_resources,
29921169689Skan	mark_set_resources, mark_target_live_regs): Likewise.
29922169689Skan	* rtlanal.c (nonzero_address_p, get_jump_table_offset,
29923169689Skan	global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
29924169689Skan	reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
29925169689Skan	note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
29926169689Skan	find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
29927169689Skan	parms_set, find_first_parameter_load, keep_with_call_p,
29928169689Skan	hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
29929169689Skan	num_sign_bit_copies1): Likewise.
29930169689Skan	* rtlhooks.c (gen_lowpart_general): Likewise.
29931169689Skan	* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
29932169689Skan	sched_analyze): Likewise.
29933169689Skan	* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
29934169689Skan	Likewise.
29935169689Skan	* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
29936169689Skan	* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
29937169689Skan	simplify_binary_operation, simplify_const_relational_operation,
29938169689Skan	simplify_subreg): Likewise.
29939169689Skan	* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
29940169689Skan	expand_end_stmt_expr, expand_return, expand_decl,
29941169689Skan	expand_anon_union_decl): Likewise.
29942169689Skan	* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
29943169689Skan	find_splittable_regs, find_splittable_givs, find_common_reg_term,
29944169689Skan	loop_iterations): Likewise.
29945169689Skan	* var-tracking.c (variable_union, variable_part_different_p,
29946169689Skan	variable_different_p, count_uses, add_uses, add_stores,
29947169689Skan	compute_bb_dataflow, set_variable_part, delete_variable_part,
29948169689Skan	emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
29949169689Skan	Likewise.
29950169689Skan	* varasm.c (assemble_variable): Likewise.
29951169689Skan
29952169689Skan2004-06-15  Chris Demetriou  <cgd@broadcom.com>
29953169689Skan
29954169689Skan	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
29955169689Skan	definition.
29956169689Skan	* config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
29957169689Skan	#undef and #if 0'd definition.
29958169689Skan
29959169689Skan2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
29960169689Skan
29961169689Skan	* combine.c (distribute_notes): Comment typo fix.
29962169689Skan
29963169689Skan2004-06-15  Roger Sayle  <roger@eyesopen.com>
29964169689Skan
29965169689Skan	* expmed.c (synth_mult): Mask bits of the multiplier to the
29966169689Skan	machine mode of the multiplication.  Don't consider shifts
29967169689Skan	by more than (or equal to) the width of the operation's mode.
29968169689Skan
29969169689Skan2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
29970169689Skan
29971169689Skan	* doc/install.texi: Yet another update for autoconf
29972169689Skan	and automake versions.
29973169689Skan
29974169689Skan2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
29975169689Skan
29976169689Skan	* function.h (struct function): Remove cannot_inline field.
29977169689Skan	(current_function_cannot_inline): Remove.
29978169689Skan	* passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT.
29979169689Skan	Simplify conditionals to ignore warn_return_type.
29980169689Skan	* tree-optimize.c (tree_rest_of_compilation): Do not reset
29981169689Skan	DECL_DEFER_OUTPUT.
29982169689Skan	* objc/objc-act.c (build_module_descriptor, finish_method_def):
29983169689Skan	Do not set current_function_cannot_inline.
29984169689Skan
29985169689Skan2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
29986169689Skan
29987169689Skan	* cfglayout.c (fixup_reorder_chain): Handle case where the
29988169689Skan	destination of E_TAKEN is EXIT_BLOCK_PTR.
29989169689Skan
29990169689Skan2004-06-15  Diego Novillo  <dnovillo@redhat.com>
29991169689Skan
29992169689Skan	* tree-ssa-copy.c (cprop_into_successor_phis): Fix typo.
29993169689Skan
29994169689Skan2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
29995169689Skan
29996169689Skan	* fold-const.c (operand_equal_p): Update comment.
29997169689Skan
29998169689Skan2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
29999169689Skan
30000169689Skan	* config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
30001169689Skan	(INCOMING_RETURN_ADDR_RTX): Define.
30002169689Skan	* config/m32r/m32r-protos.h (m32r_return_addr): Added.
30003169689Skan	* config/m32r/m32r.c (m32r_exppand_prologue): Changed for
30004169689Skan	__builtin_return_address(0).
30005169689Skan	(m32r_return_addr): Added for __builtin_return_address(0).
30006169689Skan	(m32r_reload_lr): Ditto.
30007169689Skan
30008169689Skan	* longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
30009169689Skan
30010169689Skan2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
30011169689Skan
30012169689Skan	* doc/install.texi (Prerequisites): Update libbanshee,
30013169689Skan	fastjar, libcpp, libjava/libltdl entries to
30014169689Skan	automake 1.8.5.
30015169689Skan
30016169689Skan2004-06-15  Eric Botcazou  <ebotcazou@act-europe.fr>
30017169689Skan	    Olivier Hainque  <hainque@act-europe.fr>
30018169689Skan
30019169689Skan	* function.c (fixup_var_refs): Also adjust the start of sequence
30020169689Skan	after fixing up the insns.
30021169689Skan
30022169689Skan2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
30023169689Skan
30024169689Skan	* gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
30025169689Skan
30026169689Skan2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
30027169689Skan
30028169689Skan	* doc/install.texi (Prerequisites): Update libstdc++ entry to
30029169689Skan	automake 1.8.5.
30030169689Skan
30031169689Skan2004-06-14  Eric Christopher  <echristo@redhat.com>
30032169689Skan
30033169689Skan	* config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf)
30034169689Skan	to -mtpf-trace (-mno-tpf-trace).
30035169689Skan	* doc/invoke.texi (S/390 and zSeries Options): Add tpf option
30036169689Skan	documentation.
30037169689Skan
30038169689Skan2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
30039169689Skan
30040169689Skan	* real.c: Fix bit count in head comment.
30041169689Skan
30042169689Skan2004-06-14  Jeff Law  <law@redhat.com>
30043169689Skan
30044169689Skan	* tree-ssa.c (kill_redundant_phi_nodes): More correctly handle
30045169689Skan	PHIs where the destination or an argument is marked with
30046169689Skan	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
30047169689Skan
30048169689Skan2004-06-14  Jakub Jelinek  <jakub@redhat.com>
30049169689Skan
30050169689Skan	PR middle-end/15945
30051169689Skan	* simplify-rtx.c (simplify_binary_operation): Don't optimize out
30052169689Skan	Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
30053169689Skan
30054169689Skan2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
30055169689Skan
30056169689Skan	* opts.sh (var_args): Fix regexp.
30057169689Skan
30058169689Skan2004-06-14  Jakub Jelinek  <jakub@redhat.com>
30059169689Skan
30060169689Skan	PR target/15178
30061169689Skan	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
30062169689Skan
30063169689Skan2004-06-14  Paul Brook  <paul@codesourcery.com>
30064169689Skan
30065169689Skan	* dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
30066169689Skan
30067169689Skan2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
30068169689Skan
30069169689Skan	* Makefile.in (FLAGS_H): New.
30070169689Skan	(flags.h): Replace by FLAGS_H.
30071169689Skan	* c.opt: Document Var, VarExists, Init and Report attributes.
30072169689Skan	* common.opt: Fill the values of the attributes.
30073169689Skan	* diagnostic.c (flag_fatal_errors): Do not define.
30074169689Skan	* except.c (flag_non_call_exceptions): Do not define.
30075169689Skan	* flags.h: Include options.h.  Remove declarations conflicting with
30076169689Skan	the automatically defined ones.
30077169689Skan	* opts.c: Remove automatically defined variables.
30078169689Skan	(handle_option): Perform default initialization.
30079169689Skan	(common_handle_option): Do not handle options covered by the
30080169689Skan	default initialization.
30081169689Skan	* opts.h (struct cl_option): Add flag_var, has_set_value and set_value
30082169689Skan	fields.
30083169689Skan	(CL_REPORT): New.
30084169689Skan	* opts.sh: Generate variable declarations, handle CL_REPORT.
30085169689Skan	* toplev.c: Remove automatically defined variables.
30086169689Skan	(f_options): Removed.
30087169689Skan	(print_switch_values): Use cl_options instead of f_options.
30088169689Skan	* toplev.h (version_flag): Declaration removed.
30089169689Skan
30090169689Skan2004-06-14  Ian Lance Taylor  <ian@wasabisystems.com>
30091169689Skan
30092169689Skan	* config/sparc/sparc.h: Correct comment about availability of
30093169689Skan	little endian option.
30094169689Skan
30095169689Skan	* config.gcc: Remove sparc64-*-aout*.
30096169689Skan	* config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
30097169689Skan	* config/sparc/sp64-aout.h: Remove.
30098169689Skan	* config/sparc/aout.h: Remove.
30099169689Skan
30100169689Skan2004-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
30101169689Skan
30102169689Skan	* config/s390/s390.c: Include "tree-gimple.h".
30103169689Skan	(s390_gimplify_va_arg): New function.
30104169689Skan	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
30105169689Skan	(s390_va_arg): Remove.
30106169689Skan	* config/s390/s390-protos.h (s390_va_arg): Remove.
30107169689Skan	* config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
30108169689Skan
30109169689Skan2004-06-14  J"orn Rennecke <joern.rennecke@superh.com>
30110169689Skan
30111169689Skan	* basic-block.h (could_fall_through): Declare.
30112169689Skan	* cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
30113169689Skan	Fail if the source already has a fallthrough edge to the exit
30114169689Skan	block pointer.
30115169689Skan	(could_fall_through): New function.
30116169689Skan	* cfgbuild.c (make_edges): Check if we already have a fallthrough
30117169689Skan	edge to the exit block pointer.
30118169689Skan	* cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
30119169689Skan	not called before reload has completed.
30120169689Skan	Handle special case of first block having a fall-through exit edge.
30121169689Skan	(cfg_layout_finalize): Don't call it before reload or if we have
30122169689Skan	rtl epilogues.
30123169689Skan	(fixup_reorder_chain): A fall through to the exit block does not
30124169689Skan	require the block to come last.  Add sanity checks.
30125169689Skan	* cfgrtl.c (rtl_split_edge): Add special handling of fall through
30126169689Skan	edges to the exit block.
30127169689Skan	* function.c (cfglayout.h): #include.
30128169689Skan	(thread_prologue_and_epilogue_insns): If we have neither return nor
30129169689Skan	epilogue, but a fall through to the exit block from mid-function,
30130169689Skan	force a non-fall-through exit.
30131169689Skan	* Makefile.in (function.o): Depend on CFGLAYOUT_H.
30132169689Skan
30133169689Skan2004-06-14  Alan Modra  <amodra@bigpond.net.au>
30134169689Skan
30135169689Skan	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
30136169689Skan	for power5 and rs64a.  Correct condition for default.  Correct power3,
30137169689Skan	620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
30138169689Skan
30139169689Skan2004-06-13  Steven Bosscher <stevenb@suse.de>
30140169689Skan
30141169689Skan	* gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
30142169689Skan	Revert previous change, don't use CALL_P.
30143169689Skan
30144169689Skan2004-06-13  Jason Merrill  <jason@redhat.com>
30145169689Skan
30146169689Skan	* tree.h: Move std_gimplify_va_arg_expr protoype here.
30147169689Skan	* tree-gimple.h: From here.
30148169689Skan
30149169689Skan2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
30150169689Skan
30151169689Skan	Fix PR tree-optimization/15979
30152169689Skan	Fix PR tree-optimization/15981
30153169689Skan	* tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
30154169689Skan	try to insert values undefined along some path.
30155169689Skan
30156169689Skan2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
30157169689Skan
30158169689Skan	* tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
30159169689Skan	are available everywhere too.
30160169689Skan
30161169689Skan2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>
30162169689Skan
30163169689Skan	* fold-const.c (fold_checksum_tree <case 't'>): Only
30164169689Skan	look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
30165169689Skan	Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
30166169689Skan	EXPR is an INTEGERAL_TYPE or a scalar float type.
30167169689Skan
30168169689Skan2004-06-13  Diego Novillo  <dnovillo@redhat.com>
30169169689Skan
30170169689Skan	* tree-sra.c (tree_sra): Update documentation.
30171169689Skan
30172169689Skan2004-06-13  Joseph S. Myers  <jsm@polyomino.org.uk>
30173169689Skan
30174169689Skan	* c-typeck.c (comptypes, tagged_types_tu_compatible_p,
30175169689Skan	function_types_compatible_p, type_lists_compatible_p): Remove
30176169689Skan	flags parameter.
30177169689Skan	* c-tree.h (comptypes): Likewise.
30178169689Skan	(COMPARE_STRICT): Remove.
30179169689Skan	* c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
30180169689Skan	callers changed.
30181169689Skan
30182169689Skan2004-06-13  Eric Christopher  <echristo@redhat.com>
30183169689Skan
30184169689Skan	* c-decl.c (diagnose_mismatched_decls): Improve error message.
30185169689Skan	Remove unused code.
30186169689Skan	* c-typeck.c (comptypes): Add location in standard we're checking.
30187169689Skan
30188169689Skan2004-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
30189169689Skan
30190169689Skan	* config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
30191169689Skan	version 3.3.4.
30192169689Skan
30193169689Skan2004-06-12  Roger Sayle  <roger@eyesopen.com>
30194169689Skan
30195169689Skan	* expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
30196169689Skan	index by machine mode.
30197169689Skan	(init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
30198169689Skan	tables inside the loop over machine modes.
30199169689Skan	(synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
30200169689Skan	expand_divmod): Index shift*_cost by the appropriate machine mode.
30201169689Skan
30202169689Skan2004-06-12  Eric Christopher  <echristo@redhat.com>
30203169689Skan
30204169689Skan	* config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
30205169689Skan	* config/s390/s390.md: Ditto.
30206169689Skan	* config/s390/s390.c: Ditto.
30207169689Skan	(s390_frame_info): Conditionalize frame and setup info on
30208169689Skan	TARGET_TPF_PROFILING.
30209169689Skan	(s390_arg_frame_offset): Ditto.
30210169689Skan
30211169689Skan2004-06-12  Roger Sayle  <roger@eyesopen.com>
30212169689Skan
30213169689Skan	* fold-const.c (omit_two_operands): New function.
30214169689Skan	* tree.h (omit_two_operands): Prototype here.
30215169689Skan	* builtins.c (fold_builtin_unordered_cmp): New function to lower
30216169689Skan	C99 unordered comparison builtins to the appropriate tree nodes.
30217169689Skan	(fold_builtin_1): Use fold_builtin_unordered_cmp to lower
30218169689Skan	BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
30219169689Skan	BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER.  Manually lower
30220169689Skan	BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
30221169689Skan	(simplify_builtin_memcmp, simplify_builtin_strncmp,
30222169689Skan	simplify_builtin_strncat, simplify_builtin_strspn): Use the new
30223169689Skan	omit_two_operands function to build the required COMPOUND_EXPRs.
30224169689Skan
30225169689Skan2004-06-12  Steven Bosscher <stevenb@suse.de>,
30226169689Skan	    Andreas Jaeger  <aj@suse.de>
30227169689Skan
30228169689Skan	* gcse.c (record_set_info): Use predicates like REG_P.
30229169689Skan	(mems_conflict_for_gcse_p): Likewise.
30230169689Skan	(load_killed_in_block_p): Likewise.
30231169689Skan	(hash_expr_1): Likewise.
30232169689Skan	(insert_set_in_table): Likewise.
30233169689Skan	(gcse_constant_p): Likewise.
30234169689Skan	(hash_scan_set): Likewise.
30235169689Skan	(hash_scan_insn): Likewise.
30236169689Skan	(canon_list_insert): Likewise.
30237169689Skan	(record_last_mem_set_info): Likewise.
30238169689Skan	(record_last_set_info): Likewise.
30239169689Skan	(compute_hash_table_work): Likewise.
30240169689Skan	(mark_set): Likewise.
30241169689Skan	(mark_clobber): Likewise.
30242169689Skan	(mark_oprs_set): Likewise.
30243169689Skan	(compute_transp): Likewise.
30244169689Skan	(find_avail_set): Likewise.
30245169689Skan	(cprop_insn): Likewise.
30246169689Skan	(do_local_cprop): Likewise.
30247169689Skan	(cprop): Likewise.
30248169689Skan	(find_implicit_sets): Likewise.
30249169689Skan	(find_bypass_set): Likewise.
30250169689Skan	(bypass_conditional_jumps): Likewise.
30251169689Skan	(insert_insn_end_bb): Likewise.
30252169689Skan	(pre_insert_copy_insn): Likewise.
30253169689Skan	(compute_transpout): Likewise.
30254169689Skan	(next_ls_expr): Likewise.
30255169689Skan	(invalidate_any_buried_refs): Likewise.
30256169689Skan	(compute_ld_motion_mems): Likewise.
30257169689Skan	(reg_set_info): Likewise.
30258169689Skan	(reg_clear_last_set): Likewise.
30259169689Skan	(find_moveable_store): Likewise.
30260169689Skan	(compute_store_table): Likewise.
30261169689Skan	(find_loads): Likewise.
30262169689Skan	(store_killed_in_insn): Likewise.
30263169689Skan	(insert_insn_start_bb): Likewise.
30264169689Skan	(reg_set_between_after_reload_p): Likewise.
30265169689Skan	(reg_used_between_after_reload_p): Likewise.
30266169689Skan	(is_jump_table_basic_block): Likewise.
30267169689Skan	(gcse_after_reload): Likewise.
30268169689Skan	(hash_scan_set_after_reload): Likewise.
30269169689Skan	(compute_hash_table_after_reload): Likewise.
30270169689Skan
30271169689Skan2004-06-12  Steven Bosscher  <stevenb@suse.de>
30272169689Skan
30273169689Skan	* rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
30274169689Skan	(INSN_P): Don't look at the rtx code class, just explicitly
30275169689Skan	check for one of the tree RTX_INSN codes.
30276169689Skan
30277169689Skan2004-06-11  Zack Weinberg  <zack@codesourcery.com>
30278169689Skan
30279169689Skan	* c-typeck.c (default_function_array_conversion): Use
30280169689Skan	build_pointer_type not TYPE_POINTER_TO.
30281169689Skan
30282169689Skan2004-06-11  Zack Weinberg  <zack@codesourcery.com>
30283169689Skan
30284169689Skan	* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
30285169689Skan	* configure, config.in: Regenerate.
30286169689Skan	* system.h: Unconditionally define bool as unsigned char,
30287169689Skan	BOOL_BITFIELD as unsigned int.
30288169689Skan	* domwalk.h: Use BOOL_BITFIELD.
30289169689Skan
30290169689Skan2004-06-12  Andreas Jaeger  <aj@suse.de>
30291169689Skan
30292169689Skan	* libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
30293169689Skan	* libgcc-darwin.ver: Likewise.
30294169689Skan
30295169689Skan2004-06-12  Peter Jakubek  <peter@laseranimation.com>
30296169689Skan
30297169689Skan	* reload.c (find_reloads): Force reload for pseudo registers on big
30298169689Skan	endian machines.
30299169689Skan
30300169689Skan2004-06-11  Steven Bosscher <stevenb@suse.de>
30301169689Skan
30302169689Skan	* tree-ssa-dce.c (mark_control_dependent_edges_necessary):
30303169689Skan	Don't try to mark anything control dependent on the entry or
30304169689Skan	exit blocks.
30305169689Skan
30306169689Skan2004-06-11  Daniel Berlin  <dberlin@dberlin.org>
30307169689Skan
30308169689Skan	Fix Bug 15899
30309169689Skan	Fix Bug 15460
30310169689Skan	* tree.h (SSA_NAME_VALUE): New macro.
30311169689Skan	(struct tree_ssa_name): Add value_handle member.
30312169689Skan	* tree-ssa-pre.c: Replaced.
30313169689Skan	* tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
30314169689Skan	(struct cst_ann_d): New.
30315169689Skan	(struct expr_ann_d): New.
30316169689Skan	(union tree_ann_d): Add cst_ann, expr_ann.
30317169689Skan	* tree-dfa.c (create_cst_ann): New function.
30318169689Skan	(create_expr_ann): Ditto.
30319169689Skan	* tree-flow-inline.h (cst_ann): New function.
30320169689Skan	(expr_ann): Ditto.
30321169689Skan	(get_cst_ann): Ditto.
30322169689Skan	(get_expr_ann): Ditto..
30323169689Skan
30324169689Skan2004-06-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
30325169689Skan
30326169689Skan	* pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
30327169689Skan	* pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
30328169689Skan	_U_Qfcmp library function.
30329169689Skan	(_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
30330169689Skan	_U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
30331169689Skan
30332169689Skan	* pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
30333169689Skan	unspec used for loading address from DLT.
30334169689Skan	* pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
30335169689Skan	Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
30336169689Skan	Don't use short code sequence when loading the address of a nonlocal
30337169689Skan	label.
30338169689Skan	(nonlocal_goto): New expander.
30339169689Skan	(indirect_goto): New jump pattern for nonlocal gotos.
30340169689Skan	(short_jump): Remove extra whitespace.
30341169689Skan	(builtin_longjmp): Clobber memory and hard frame pointer.  Restore
30342169689Skan	frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
30343169689Skan	pattern.
30344169689Skan
30345169689Skan2004-06-11  Roger Sayle  <roger@eyesopen.com>
30346169689Skan
30347169689Skan	* expmed.c (synth_mult): Add an additional MODE argument for the
30348169689Skan	machine mode of the multiplication.  Update recursive calls.  Use
30349169689Skan	mode instead of word_mode for determining operation costs.
30350169689Skan	(choose_mult_variant): Update calls to synth_mult with "mode".
30351169689Skan
30352169689Skan2004-06-11  Richard Henderson  <rth@redhat.com>
30353169689Skan
30354169689Skan	* tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
30355169689Skan	and makes_aliased_stores.
30356169689Skan
30357169689Skan2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
30358169689Skan
30359169689Skan	* doc/install.text (--enable-shared): Fix typo.
30360169689Skan
30361169689Skan2004-06-11  Richard Henderson  <rth@redhat.com>
30362169689Skan
30363169689Skan	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
30364169689Skan	argument.  Use internal post for call to gimplify_expr.  Tidy
30365169689Skan	rounded type size computation.
30366169689Skan	(alpha_gimplify_va_arg): Use get_formal_tmp_var and
30367169689Skan	get_initialized_tmp_var.
30368169689Skan
30369169689Skan2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
30370169689Skan
30371169689Skan	* doc/install.texi (--enable-shared): Update libobjc's shared library
30372169689Skan	status.  Remove reference to libf2c.
30373169689Skan
30374169689Skan2004-06-11  Jason Merrill  <jason@redhat.com>
30375169689Skan
30376169689Skan	* config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
30377169689Skan	* config/i386/i386.c (ix86_va_arg): Remove.
30378169689Skan	* config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
30379169689Skan	* config/rs6000/rs6000.c (rs6000_va_arg): Remove.
30380169689Skan	* config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
30381169689Skan	* config/alpha/alpha.c (alpha_va_arg): Remove.
30382169689Skan	* config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
30383169689Skan	* config/sparc/sparc.c (sparc_va_arg): Remove.
30384169689Skan
30385169689Skan	* tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
30386169689Skan	assignment might throw.
30387169689Skan	* tree-eh.c (tree_could_throw_p): Support non-call exceptions in
30388169689Skan	expressions.
30389169689Skan
30390169689Skan2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
30391169689Skan
30392169689Skan	PR 15886:
30393169689Skan	* sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
30394169689Skan
30395169689Skan2004-06-11  Joseph S. Myers  <jsm@polyomino.org.uk>
30396169689Skan
30397169689Skan	* doc/install.texi (Prerequisites): Update documentation of
30398169689Skan	required versions of autoconf and automake.  Remove mention of
30399169689Skan	libf2c.
30400169689Skan
30401169689Skan2004-06-11  Jason Merrill  <jason@redhat.com>
30402169689Skan
30403169689Skan	* config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
30404169689Skan	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
30405169689Skan
30406169689Skan2004-06-11  Jerry Quinn  <jlquinn@optonline.net>
30407169689Skan
30408169689Skan	* typeclass.h: Add GPL plus exception license.  Add include
30409169689Skan	guard.
30410169689Skan
30411169689Skan2004-06-10  Jason Merrill  <jason@redhat.com>
30412169689Skan
30413169689Skan	* gimplify.c (gimplify_modify_expr): Don't force a temporary
30414169689Skan	of an aggregate_value_p type.
30415169689Skan
30416169689Skan2004-06-10  Jeff Law  <law@redhat.com>
30417169689Skan
30418169689Skan	* fold-const.c (fold_inf_compare): Avoid creating non-gimple
30419169689Skan	code when we are in gimple form.
30420169689Skan
30421169689Skan2004-06-10  Diego Novillo  <dnovillo@redhat.com>
30422169689Skan
30423169689Skan	* Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
30424169689Skan	* tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
30425169689Skan	(highest_ssa_version): Remove.
30426169689Skan	* tree-outof-ssa.c (new_temp_expr_table): Replace
30427169689Skan	highest_ssa_version with num_ssa_names.
30428169689Skan	(dump_replaceable_exprs): Likewise.
30429169689Skan	(rewrite_vars_out_of_ssa): Likewise.
30430169689Skan	* tree-ssa-ccp.c (initialize): Likewise
30431169689Skan	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
30432169689Skan	* tree-ssa-dce.c (tree_dce_init): Likewise.
30433169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
30434169689Skan	* tree-ssa-live.c (create_ssa_var_map): Likewise.
30435169689Skan	(dump_var_map): Likewise.
30436169689Skan	* tree-ssa.c (verify_ssa): Likewise.
30437169689Skan	(kill_redundant_phi_nodes): Likewise.
30438169689Skan	Do not build a local array of SSA_NAMEs.  Use the ssa_names table.
30439169689Skan	* tree-ssanames.c: Include tree-flow.h
30440169689Skan	(ssa_names): New varray.
30441169689Skan	(init_ssa_names): Initialize ssa_names.
30442169689Skan	Reserve the first slot of the ssa_names table.
30443169689Skan	(make_ssa_name): Push the newly created SSA_NAME into ssa_names.
30444169689Skan	Assign version numbers using num_ssa_names.
30445169689Skan
30446169689Skan2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
30447169689Skan
30448169689Skan	* doc/sourcebuild.texi (Front End): Add details of more
30449169689Skan	installation documentation required.
30450169689Skan
30451169689Skan2004-06-10  Brian Booth  <bbooth@redhat.com>
30452169689Skan
30453169689Skan	* doc/tree-ssa.texi: Remove references to VDEF and add descriptions
30454169689Skan	of V_MAY_DEF and V_MUST_DEF.
30455169689Skan	* tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
30456169689Skan	num_vdefs to num_v_may_defs.
30457169689Skan	(compute_immediate_uses_for_stmt): Rename occurences of vdef
30458169689Skan	to v_may_def.
30459169689Skan	(redirect_immediate_uses): Ditto.
30460169689Skan	(dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
30461169689Skan	(collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
30462169689Skan	Also add code to sum up the number of v_must_defs.
30463169689Skan	(vdefs_disappeared_p): Replace with...
30464169689Skan	(v_may_defs_disappeared_p): This.
30465169689Skan	(v_must_defs_disappeared_p): New function.
30466169689Skan	(mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
30467169689Skan	Also add code to mark new variables found in V_MUST_DEFs for
30468169689Skan	renameing.
30469169689Skan	* tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
30470169689Skan	vdef_ops to v_may_def_ops.
30471169689Skan	(get_vdef_ops): Replace with...
30472169689Skan	(get_v_may_def_ops): This.
30473169689Skan	* tree-flow-inline.h (get_vdef_ops): Replace with...
30474169689Skan	(get_v_may_def_ops): This.
30475169689Skan	(get_v_must_def_ops): New function.
30476169689Skan	(get_vdef_result_ptr): Replace with...
30477169689Skan	(get_v_may_def_result_ptr): This.
30478169689Skan	(get_vdef_op_ptr): Ditto with...
30479169689Skan	(get_v_may_def_op_ptr); This.
30480169689Skan	(get_v_must_def_op_ptr): New function.
30481169689Skan	* tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
30482169689Skan	to v_may_def. Also add code to mark statements with
30483169689Skan	V_MUST_DEFs as definition sites.
30484169689Skan	(rewrite_stmt): Rename occurences of vdef to v_may_def. Also
30485169689Skan	add code to register new V_MUST_DEFs made by the statement.
30486169689Skan	* tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
30487169689Skan	(check_replaceable): Rename occurences of vdef to v_may_def. Also
30488169689Skan	add check for V_MUST_DEFs.
30489169689Skan	(find_replaceable_in_bb): Ditto.
30490169689Skan	* tree-pretty-print.c (dump_vops): Rename occurences of vdef
30491169689Skan	to v_may_def. Also add code to dump V_MUST_DEFs.
30492169689Skan	* tree-sra.c (mark_all_vdefs): Replace with...
30493169689Skan	(mark_all_v_may_defs): This.
30494169689Skan	(mark_all_v_must_defs): New function.
30495169689Skan	(create_scalar_copies): Replace call to mark_all_vdefs with
30496169689Skan	calls to mark_all_v_may_defs and mark_all_v_must_defs.
30497169689Skan	(scalarize_structures): Rename occurences of vdef to v_may_def.
30498169689Skan	Also add a check for V_MUST_DEFs.
30499169689Skan	(scalarize_modify_expr): Rename occurences of vdef to v_may_def.
30500169689Skan	* tree-ssa-alias.c (global_var): Update comment.
30501169689Skan	(compute_may_aliases): Ditto.
30502169689Skan	(compute_points_to_and_addr_escape): Rename occurences of vdef
30503169689Skan	to v_may_def. Also add code to mark variables in V_MUST_DEF
30504169689Skan	operands as being written to.
30505169689Skan	(group_aliases): Update comment.
30506169689Skan	(maybe_create_global_var): Ditto.
30507169689Skan	* tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
30508169689Skan	Also add a check for V_MUST_DEFs on GIMPLE registers.
30509169689Skan	(replace_immediate_uses): Rename occurences of vdef to v_may_def.
30510169689Skan	* tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
30511169689Skan	to v_may_def. Also add code to mark all V_MUST_DEF operands
30512169689Skan	VARYING.
30513169689Skan	(initialize): Ditto.
30514169689Skan	(set_rhs): Rename occurences of vdef to v_may_def. Also add
30515169689Skan	code to update SSA_NAMEs in V_MUST_DEFs.
30516169689Skan	* tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
30517169689Skan	to v_may_def.
30518169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
30519169689Skan	occurences of vdef to v_may_def. Also add code to mark statements
30520169689Skan	with V_MUST_DEFs as necessary.
30521169689Skan	(propagate_necessity): Rename occurences of vdef to v_may_def.
30522169689Skan	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
30523169689Skan	occurences of vdef to v_may_def. Also add code to mark operands
30524169689Skan	in V_MUST_DEFs for renaming.
30525169689Skan	(eliminate_redundant_computations): Rename occurences of vdef
30526169689Skan	to v_may_def.
30527169689Skan	(record_equivalences_from_stmt): Rename occurences of vdef
30528169689Skan	to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
30529169689Skan	(optimize_stmt): Remove unnesessary variable vdefs. Update
30530169689Skan	comment.
30531169689Skan	(register_definitions_for_stmt): Rename occurences of vdef
30532169689Skan	to v_may_def. Also add code to register definitions made with
30533169689Skan	V_MUST_DEFs.
30534169689Skan	* tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
30535169689Skan	(fix_stmt_v_may_defs): This.
30536169689Skan	(fix_phi_uses): Rename occurences of vdef to v_may_def.
30537169689Skan	(dse_optimize_stmt): Ditto.
30538169689Skan	* tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
30539169689Skan	to v_may_def. Also add code to mark V_MUST_DEF operands as being
30540169689Skan	used in virtual operators.
30541169689Skan	* tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
30542169689Skan	vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
30543169689Skan	renaming.
30544169689Skan	* tree-ssa-operands.c (opf_kill_def): New flag for killing
30545169689Skan	definitions.
30546169689Skan	(build_vdefs): Renamed to...
30547169689Skan	(build_v_may_defs): This.
30548169689Skan	(build_v_must_defs): New variable.
30549169689Skan	(voperands_d): Add v_must_def_ops and replace vdef_ops with
30550169689Skan	v_may_def_ops.
30551169689Skan	(append_vdef): Replace with...
30552169689Skan	(append_v_may_def): This.
30553169689Skan	(append_v_must_def): New function.
30554169689Skan	(NUM_FREE): Increment for V_MUST_DEF
30555169689Skan	(optype_freelist): Increment its size for V_MUST_DEF
30556169689Skan	(allocate_vdef_optype): Replace with...
30557169689Skan	(allocate_v_may_def_optype): This.
30558169689Skan	(allocate_v_must_def_optype): New function.
30559169689Skan	(free_vdefs): Replace with...
30560169689Skan	(free_v_may_defs): This.
30561169689Skan	(free_v_must_defs): New function.
30562169689Skan	(remove_vdefs): Replace with...
30563169689Skan	(remove_v_may_defs): This.
30564169689Skan	(remove_v_must_defs): New function.
30565169689Skan	(init_ssa_operands): Rename occurences of vdef to v_may_def. Also
30566169689Skan	add code to initialize build_v_must_defs.
30567169689Skan	(finalize_ssa_vdefs): Replace with...
30568169689Skan	(finalize_ssa_v_may_defs): This.
30569169689Skan	(finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
30570169689Skan	(finalize_ssa_v_must_defs): New function.
30571169689Skan	(finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
30572169689Skan	with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
30573169689Skan	(verify_start_operands): Rename occurences of vdef to v_may_def.
30574169689Skan	Also add check for build_v_must_defs.
30575169689Skan	(get_stmt_operands): Rename occurences of vdef to v_may_def.
30576169689Skan	Also add code to handle V_MUST_DEFs and to use opf_kill_def for
30577169689Skan	killing definitions.
30578169689Skan	(get_expr_operands): Update comment and use opf_kill_def for
30579169689Skan	killing definitions.
30580169689Skan	(add_stmt_operand): Replace code that appends VDEFs with code
30581169689Skan	that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
30582169689Skan	otherwise.
30583169689Skan	(add_call_clobber_ops): Update comments.
30584169689Skan	* tree-ssa-operands.h (vdef_optype_d): Replace with...
30585169689Skan	(v_may_def_optype_d): This.
30586169689Skan	(v_must_def_optype_d): New structure.
30587169689Skan	(VDEF_OPS): Replace with...
30588169689Skan	(V_MAY_DEF_OPS): This.
30589169689Skan	(STMT_VDEF_OPS): Same with...
30590169689Skan	(STMT_V_MAY_DEF_OPS): This.
30591169689Skan	(NUM_VDEFS): And...
30592169689Skan	(NUM_V_MAY_DEFS): This.
30593169689Skan	(VDEF_RESULT_PTR): As well as...
30594169689Skan	(V_MAY_DEF_RESULT_PTR): This.
30595169689Skan	(VDEF_RESULT): Same goes for...
30596169689Skan	(V_MAY_DEF_RESULT): This.
30597169689Skan	(VDEF_OP_PTR): And...
30598169689Skan	(V_MAY_DEF_OP_PTR): This.
30599169689Skan	(VDEF_OP): And...
30600169689Skan	(V_MAY_DEF_OP): This.
30601169689Skan	(V_MUST_DEF_OPS): New macro.
30602169689Skan	(STMT_V_MUST_DEF_OPS): Ditto.
30603169689Skan	(NUM_V_MUST_DEFS): Ditto.
30604169689Skan	(V_MUST_DEF_OP_PTR): Ditto.
30605169689Skan	(V_MUST_DEF_OP): Ditto.
30606169689Skan	(remove_vdefs): Replace signature with...
30607169689Skan	(remove_v_may_defs): This.
30608169689Skan	(remove_v_must_defs): New function signature.
30609169689Skan	* tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
30610169689Skan	with calls to remove_v_may_defs and remove_v_must_defs.
30611169689Skan	(process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
30612169689Skan	Also add code that marks left occurences of operands in V_MUST_DEFs.
30613169689Skan	* tree-tailcall.c (find_tail_calls): Rename occurences of vdef
30614169689Skan	to v_may_def. Also add check for V_MUST_DEFs.
30615169689Skan	(eliminate_tail_call):Rename occurences of vdef to v_may_def.
30616169689Skan
30617169689Skan2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
30618169689Skan
30619169689Skan	PR target/15653
30620169689Skan	* haifa-sched.c (schedule_block): Finish cycle after issuing asm
30621169689Skan	insn.
30622169689Skan
30623169689Skan2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
30624169689Skan
30625169689Skan	PR web/15263
30626169689Skan	* doc/install.texi: Remove superfluous linebreak.
30627169689Skan
30628169689Skan2004-06-10  Roger Sayle  <roger@eyesopen.com>
30629169689Skan
30630169689Skan	* builtins.c (expand_builtin): Fall back to library function call for
30631169689Skan	conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
30632169689Skan	(fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
30633169689Skan	BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
30634169689Skan	IMAGPART_EXPR respectively.
30635169689Skan
30636169689Skan2004-06-10  J"orn Rennecke <joern.rennecke@superh.com>
30637169689Skan
30638169689Skan	* sh.c (dump_table): New argument start.  Changed caller.
30639169689Skan	(fixup_mova): New function.
30640169689Skan	(find_barrier): Use it.
30641169689Skan	(sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
30642169689Skan	If the label a mova refers to is above the mova itself, change
30643169689Skan	the mova into a load.
30644169689Skan	* sh.md (*casesi_worker): Rename to:
30645169689Skan	(casesi_worker_1).
30646169689Skan	(casesi_worker_2): New insn.
30647169689Skan
30648169689Skan2004-06-10  Jason Merrill  <jason@redhat.com>
30649169689Skan
30650169689Skan	* target.h (struct gcc_target): Change gimplify_va_arg_expr
30651169689Skan	hook signature.
30652169689Skan	* tree-gimple.h: Adjust.
30653169689Skan	* config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
30654169689Skan	* config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
30655169689Skan	Use fold_convert.
30656169689Skan	* config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
30657169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
30658169689Skan	Use COMPLEX_EXPR for complex numbers.  Use fold_convert.
30659169689Skan	* builtins.c (std_gimplify_va_arg_expr): Adjust.  Use fold_convert.
30660169689Skan	(gimplify_va_arg_expr): Return GS_ERROR in error case.
30661169689Skan	Gimplify valist rather than calling stabilize_va_list.
30662169689Skan
30663169689Skan2004-06-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
30664169689Skan
30665169689Skan	* Makefile.in (df.o): Remove fibheap dependency.
30666169689Skan	* df.h: Do not include sbitmap.h.
30667169689Skan	(struct ref): New field "data".
30668169689Skan	(DF_REF_DATA): New accessor macro.
30669169689Skan	(struct df): Field "dom" removed.
30670169689Skan	(df_analyze_subcfg): New function.
30671169689Skan	(transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
30672169689Skan	(transfer_function): ... new type.
30673169689Skan	(iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
30674169689Skan	(iterative_dataflow): ... new function.
30675169689Skan	(enum set_representation, struct dataflow): New.
30676169689Skan	* df.c: Do not include fibheap.h.
30677169689Skan
30678169689Skan	(df_reg_def_chain_clean, df_reg_use_chain_clean,
30679169689Skan	(df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
30680169689Skan	prune_to_subcfg, df_bb_modify): New functions.
30681169689Skan	(df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
30682169689Skan	df_refs_update, df_reg_table_realloc, df_ref_create,
30683169689Skan	df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
30684169689Skan	df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
30685169689Skan	df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
30686169689Skan
30687169689Skan	(dataflow_set_a_op_b, dataflow_set_copy): New functions.
30688169689Skan	(df_rd_transfer_function, df_ru_transfer_function,
30689169689Skan	df_lr_transfer_function): Type of bitmaps changed to void *.
30690169689Skan	(hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
30691169689Skan	(hybrid_search): ... new function.
30692169689Skan	(iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
30693169689Skan	(iterative_dataflow): ... new function. Avoid use of fibheaps for
30694169689Skan	a worklist.  Do not process basic blocks unnecessarily.
30695169689Skan
30696169689Skan2004-06-10  Roger Sayle  <roger@eyesopen.com>
30697169689Skan
30698169689Skan	* fold-const.c (fold_abs_const): Make extern.
30699169689Skan	* tree.h (fold_abs_const): Prototype here.
30700169689Skan	* builtins.c (fold_builtin_fabs): New function to transform
30701169689Skan	fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
30702169689Skan	(fold_builtin_abs): New function to transform abs, labs, llabs
30703169689Skan	and imaxabs builtins into ABS_EXPR tree nodes.
30704169689Skan	(expand_builtin): Fall back to a function call for abs, labs,
30705169689Skan	llabs and imaxabs builtins that survive constant folding.
30706169689Skan	(fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
30707169689Skan	FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
30708169689Skan
30709169689Skan2004-06-10  Jakub Jelinek  <jakub@redhat.com>
30710169689Skan
30711169689Skan	* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
30712169689Skan	leaf function without unwind info at RP 0.
30713169689Skan
30714169689Skan2004-06-10  Jakub Jelinek  <jakub@redhat.com>
30715169689Skan
30716169689Skan	PR c++/14791
30717169689Skan	* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
30718169689Skan	(fileptr_type_node): Define.
30719169689Skan	* tree.c (build_common_tree_nodes_2): Initialize
30720169689Skan	fileptr_type_node to ptr_type_node.
30721169689Skan	* c-common.c (c_common_nodes_and_builtins): For C++, make
30722169689Skan	fileptr_type_node a distinct type copy.
30723169689Skan	* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
30724169689Skan	BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
30725169689Skan	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
30726169689Skan	BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
30727169689Skan	(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
30728169689Skan	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
30729169689Skan	BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
30730169689Skan	* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
30731169689Skan	BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
30732169689Skan	BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
30733169689Skan	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
30734169689Skan	the above *FILEPTR* types instead of *PTR*.
30735169689Skan
30736169689Skan2004-06-09  Daniel Berlin <dberlin@dberlin.org>
30737169689Skan
30738169689Skan	* tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
30739169689Skan	match.
30740169689Skan
30741169689Skan2004-06-09  Roger Sayle  <roger@eyesopen.com>
30742169689Skan
30743169689Skan	* fold-const.c (fold_not_const): New function.
30744169689Skan	(fold) <ABS_EXPR>: Don't bother testing wins.
30745169689Skan	(fold) <BIT_NOT_EXPR>: Call fold_not_const.
30746169689Skan	(nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
30747169689Skan
30748169689Skan2004-06-09  Richard Henderson  <rth@redhat.com>
30749169689Skan
30750169689Skan	PR middle-end/15228
30751169689Skan	* function.c (assign_parms): Always set_mem_align with the computed
30752169689Skan	FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
30753169689Skan
30754169689Skan2004-06-09  Richard Henderson  <rth@redhat.com>
30755169689Skan
30756169689Skan	PR opt/15108
30757169689Skan	* tree-tailcall.c (find_tail_calls): Don't check early for
30758169689Skan	tail_recursion failure.
30759169689Skan
30760169689Skan2004-06-09  Diego Novillo  <dnovillo@redhat.com>
30761169689Skan
30762169689Skan	Move SSA_NAME annotations into tree_ssa_name.
30763169689Skan
30764169689Skan	* tree-dfa.c (create_ssa_name_ann): Remove.
30765169689Skan	* tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
30766169689Skan	* tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
30767169689Skan	(struct ssa_name_ann_d): Remove.
30768169689Skan	(union tree_ann_d): Update.
30769169689Skan	(ssa_name_ann_t): Remove.
30770169689Skan	* tree-ssa-alias.c: (get_ptr_info): New local function.
30771169689Skan	Replace references to ssa_name_ann_t with struct ptr_info_def.
30772169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
30773169689Skan	* tree.h (SSA_NAME_PTR_INFO): Define.
30774169689Skan	(struct ptr_info_def): Declare.
30775169689Skan	(struct tree_ssa_name): Add field 'ptr_info'.
30776169689Skan
30777169689Skan2004-06-09  Danny Smith  <dannysmith@users.sourceforge.net>
30778169689Skan
30779169689Skan	* config/i386/winnt.c (i386_pe_output_labelref): Correct
30780169689Skan	misplaced ')'.
30781169689Skan
30782169689Skan2004-06-09  Steven Bosscher  <stevenb@suse.de>
30783169689Skan
30784169689Skan	* config/i386/k6.md: Rewrite using the DFA model.
30785169689Skan	* config/i386/i386.c (ix86_adjust_cost): Don't increase the
30786169689Skan	cost of load-operation insns for the K6.
30787169689Skan	(ia32_use_dfa_pipeline_interface): Add TARGET_K6.
30788169689Skan	(ia32_multipass_dfa_lookahead): Likewise.
30789169689Skan
30790169689Skan2004-06-09  Richard Henderson  <rth@redhat.com>
30791169689Skan
30792169689Skan	* config/alpha/alpha.c (alpha_gimplify_va_arg_1,
30793169689Skan	alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.
30794169689Skan
30795169689Skan2004-06-09  Richard Henderson  <rth@redhat.com>
30796169689Skan
30797169689Skan	* expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
30798169689Skan
30799169689Skan2004-06-09  Geoffrey Keating  <geoffk@apple.com>
30800169689Skan
30801169689Skan	* Makefile.in (CPPLIB_H): Put files in order of inclusion.
30802169689Skan	(CPP_ID_DATA_H): New.
30803169689Skan	(gtype-desc.o): Update dependencies.
30804169689Skan	(GTFILES): Use CPP_ID_DATA_H.
30805169689Skan
30806169689Skan2004-06-09  Mark Mitchell  <mark@codesourcery.com>
30807169689Skan
30808169689Skan	Revert:
30809169689Skan	PR c++/15815
30810169689Skan	2004-06-07  Mark Mitchell  <mark@codesourcery.com>
30811169689Skan	* doc/extend.texi: Deprecate #pragma interface and #pragma
30812169689Skan	implementation.
30813169689Skan
30814169689Skan2004-06-09  David S. Miller  <davem@nuts.davemloft.net>
30815169689Skan
30816169689Skan	* config/sparc/sparc.h (MOVE_RATIO): New definition.
30817169689Skan
30818169689Skan2004-06-09  Richard Henderson  <rth@redhat.com>
30819169689Skan
30820169689Skan	* basic-block.h (struct edge_def): Add goto_locus.
30821169689Skan	* tree-cfg.c (make_goto_expr_edges): Set it.
30822169689Skan	(disband_implicit_edges): Use it.
30823169689Skan	* tree-pretty-print.c (dump_implicit_edges): Print it.
30824169689Skan
30825169689Skan2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
30826169689Skan
30827169689Skan	* h8300.md (ldm_h8300s_4): Fix condition for expander.
30828169689Skan
30829169689Skan2004-06-08  Jason Merrill  <jason@redhat.com>
30830169689Skan
30831169689Skan	Gimplify VA_ARG_EXPR into simpler forms.
30832169689Skan	* target.h: Add gimplify_va_arg_expr hook.
30833169689Skan	* target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
30834169689Skan	* fold-const.c (build_fold_addr_expr)
30835169689Skan	(build_fold_addr_expr_with_type): Move from gimplify.c.
30836169689Skan	* tree.h: Declare them.
30837169689Skan	* gimplify.c (gimplify_and_add): New fn.
30838169689Skan	(build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
30839169689Skan	(gimplify_array_ref_to_plus, gimplify_modify_expr)
30840169689Skan	(gimplify_expr): Use build_fold_*.
30841169689Skan	(copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
30842169689Skan	don't know how to gimplify it.
30843169689Skan	* builtins.c (std_gimplify_va_arg_expr): New fn.
30844169689Skan	(dummy_object): New static fn.
30845169689Skan	(gimplify_va_arg_expr): New fn.
30846169689Skan	(stabilize_va_list): Use build_fold_*.
30847169689Skan	* tree-gimple.h: Declare new fns.
30848169689Skan	* config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
30849169689Skan	(ix86_gimplify_va_arg): New fn.
30850169689Skan	* config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
30851169689Skan	(ia64_gimplify_va_arg): New fn.
30852169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
30853169689Skan	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
30854169689Skan	* alias.c (get_varargs_alias_set): Just return 0 for now.
30855169689Skan
30856169689Skan	* c-objc-common.c (c_tree_printer): Improve handling of %T.
30857169689Skan
30858169689Skan2004-06-09  Andrew Pinski  <pinskia@physics.uc.edu>
30859169689Skan
30860169689Skan	* tree-complex.c (expand_complex_comparison): Use fold_convert instead
30861169689Skan	of convert.
30862169689Skan	* tree-inline.c (setup_one_parameter): Likewise.
30863169689Skan	* tree-sra.c (csc_build_component_ref): Likewise.
30864169689Skan	* tree-ssa-ccp.c (ccp_fold): Likewise.
30865169689Skan	* tree-ssa-copy.c (cprop_operand): Likewise.
30866169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
30867169689Skan	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
30868169689Skan
30869169689Skan2004-06-09  J"orn Rennecke <joern.rennecke@superh.com>
30870169689Skan
30871169689Skan	PR rtl-optimization/15521:
30872169689Skan	* sched-int.h (in_post_call_group_p): Change type to enum.
30873169689Skan	* sched-deps.c (sched_analyze_insn):
30874169689Skan	(sched_analyze): When in_post_call_group_p is post_call_initial,
30875169689Skan	don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
30876169689Skan	and also reset in_post_call_group_p to post_call.
30877169689Skan	(sched_analyze): When the previous basic block ended in a CALL_INSN,
30878169689Skan	initialize in_post_call_group_p as post_call_initial.
30879169689Skan	(init_deps): initialize in_post_call_group_p to not_post_call.
30880169689Skan
30881169689Skan2004-06-09  Arnaud Charlet  <charlet@act-europe.fr>
30882169689Skan
30883169689Skan	PR ada/6637
30884169689Skan	* doc/install.texi: List ada, libada as options to --enable-shared
30885169689Skan
30886169689Skan2004-06-09  Paolo Bonzini  <bonzini@gnu.org>
30887169689Skan
30888169689Skan	* aclocal.m4 (gcc_AC_PROG_LN): Remove.
30889169689Skan	(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
30890169689Skan	config.in entries.
30891169689Skan	* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
30892169689Skan	if hard links are not available.
30893169689Skan	* configure: Regenerate.
30894169689Skan	* config.in: Regenerate.
30895169689Skan
30896169689Skan2004-06-08  Per Bothner  <per@bothner.com>
30897169689Skan
30898169689Skan	* configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.
30899169689Skan
30900169689Skan2004-06-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
30901169689Skan
30902169689Skan	* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
30903169689Skan	Correct formatting.
30904169689Skan
30905169689Skan2004-06-08  James E Wilson  <wilson@specifixinc.com>
30906169689Skan
30907169689Skan	PR target/15790
30908169689Skan	* config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
30909169689Skan
30910169689Skan2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
30911169689Skan
30912169689Skan	* fold-const.c (fold_convert): Treat OFFSET_TYPE like
30913169689Skan	POINTER_TYPE and INTEGER_TYPE.
30914169689Skan
30915169689Skan2004-06-08  Bernardo Innocenti  <bernie@develer.com>
30916169689Skan
30917169689Skan	* modulo-sched.c: Compile only when INSN_SCHEDULING is
30918169689Skan	defined.
30919169689Skan
30920169689Skan2004-06-08  Jeff Law  <law@redhat.com>
30921169689Skan
30922169689Skan	* doc/contrib.texi: Add entries for Stefan Olsson and
30923169689Skan	Ola Ronnerup.
30924169689Skan
30925169689Skan2004-06-08  DJ Delorie  <dj@redhat.com>
30926169689Skan
30927169689Skan	* toplev.c (floor_log2_wide): Replace loop with faster bit
30928169689Skan	operations.
30929169689Skan	(exact_log2_wide): Define in terms of the above.
30930169689Skan	* toplev.h (floor_log2): Use _builtin_clz family of builtins if
30931169689Skan	available.
30932169689Skan
30933169689Skan2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
30934169689Skan
30935169689Skan	* config/rs6000/rs6000.c (print_operand, <case 'z'>):
30936169689Skan	Make sure that we are in INDIRECT mode when getting the
30937169689Skan	stub name.
30938169689Skan
30939169689Skan2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
30940169689Skan
30941169689Skan	* h8300.md (extendqisi2_h8300): Add constraints.
30942169689Skan	(ldm_h8300s_4_normal): Fix typo.
30943169689Skan
30944169689Skan2004-06-08  Richard Henderson  <rth@redhat.com>
30945169689Skan
30946169689Skan	* gimple-low.c (struct lower_data): Replace the_return_label and
30947169689Skan	one_return_stmt with return_statements.
30948169689Skan	(lower_function_body): Process the entire list of return_statements.
30949169689Skan	(lower_return_expr): Check source value before unifying return_exprs.
30950169689Skan	* gimplify.c (gimplify_return_expr): Force the use of a temporary
30951169689Skan	for !aggregate_value_p.
30952169689Skan	* tree-gimple.c: Update RETURN_EXPR grammer.
30953169689Skan
30954169689Skan2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
30955169689Skan
30956169689Skan	PR target/15598
30957169689Skan	* config/ia64/ia64.c (bundling): Add missed TYPE_A.
30958169689Skan
30959169689Skan2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
30960169689Skan
30961169689Skan	PR rtl-optimization/15717
30962169689Skan	* config/i386/i386.c (legitimate_constant_p): Do not allow
30963169689Skan	x - symbol_ref.
30964169689Skan
30965169689Skan2004-06-08  Alexandre Oliva  <aoliva@redhat.com>
30966169689Skan
30967169689Skan	* gimplify.c (copy_if_shared_r): Revert:
30968169689Skan	2004-05-21  Richard Henderson  <rth@redhat.com>
30969169689Skan	* gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
30970169689Skan
30971169689Skan2004-06-07  Roger Sayle  <roger@eyesopen.com>
30972169689Skan
30973169689Skan	* expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
30974169689Skan	Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
30975169689Skan	(init_expmed): Initialize these cost arrays as appropriate.
30976169689Skan	(store_bit_field, extract_bit_field): Correct whitespace.
30977169689Skan	(synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
30978169689Skan	expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
30979169689Skan	neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
30980169689Skan	word_mode or compute_mode as appropriate.
30981169689Skan
30982169689Skan2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
30983169689Skan
30984169689Skan	PR target/15783
30985169689Skan	* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
30986169689Skan	parameter.  Enumerate the registers inside the PARALLEL.
30987169689Skan	(function_arg): Adjust call to function_arg_union_value.
30988169689Skan	(function_value): Likewise.
30989169689Skan
30990169689Skan	* config/sparc/sparc.c (sparc_function_epilogue): Properly format.
30991169689Skan
30992169689Skan2004-06-07  Roger Sayle  <roger@eyesopen.com>
30993169689Skan
30994169689Skan	* real.c (real_copysign): New function to implement libm's copysign.
30995169689Skan	* real.h (real_copysign): Prototype here.
30996169689Skan	* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
30997169689Skan	and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
30998169689Skan	* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
30999169689Skan	fold_builtin_isdigit): Add function prototypes.
31000169689Skan	(fold_builtin_copysign): New function to fold copysign, copysignf
31001169689Skan	and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
31002169689Skan	constant arguments at compile-time using real_copysign.  Fold
31003169689Skan	copysign(X,Y) as fabs(X) if Y is always non-negative.
31004169689Skan	(fold_builtin_1): Correct minor whitespace/style issues.  Call
31005169689Skan	fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
31006169689Skan
31007169689Skan2004-06-07  J"orn Rennecke <joern.rennecke@superh.com>
31008169689Skan
31009169689Skan	* tree.c (iterative_hash_expr): Use real_hash.
31010169689Skan
31011169689Skan2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
31012169689Skan
31013169689Skan	PR c/14765
31014169689Skan	* c-parse.in (compstmt_primary_start): Set last_expr_type to
31015169689Skan	NULL_TREE.
31016169689Skan
31017169689Skan2004-06-07  Mark Mitchell  <mark@codesourcery.com>
31018169689Skan
31019169689Skan	PR c++/15815
31020169689Skan	* doc/extend.texi: Deprecate #pragma interface and #pragma
31021169689Skan	implementation.
31022169689Skan
31023169689Skan2004-06-07  Alexandre Oliva  <aoliva@redhat.com>
31024169689Skan
31025169689Skan	PR middle-end/15666
31026169689Skan	* c-decl.c (finish_decl): Use change_decl_assembler_name for the
31027169689Skan	builtin decl as well.
31028169689Skan
31029169689Skan2004-06-07  Roger Sayle  <roger@eyesopen.com>
31030169689Skan
31031169689Skan	PR c/14649
31032169689Skan	* c-typeck.c (require_constant_value, require_constant_elements):
31033169689Skan	Move declarations to the top of the file.
31034169689Skan	(build_function_call): If we require a constant value, fold with
31035169689Skan	fold_initializer.  If the result is a constant, and the function
31036169689Skan	wasn't called using __builtin_foo, issue a pedantic warning.
31037169689Skan	(build_unary_op): If we require a constant value, fold tree with
31038169689Skan	fold_initializer.
31039169689Skan	(build_binary_op): Use require_constant_value to determine whether
31040169689Skan	to call fold or fold_initializer.
31041169689Skan
31042169689Skan2004-06-07  Richard Henderson  <rth@redhat.com>
31043169689Skan
31044169689Skan	* gimple-low.c (struct lower_data): Add the_return_label and
31045169689Skan	one_return_stmt.
31046169689Skan	(lower_function_body): Initialize and use them.
31047169689Skan	(lower_return_expr): New.
31048169689Skan	(lower_stmt): Call it.
31049169689Skan	* gimplify.c (gimplify_return_expr): Force the argument to be either
31050169689Skan	null or a result_decl.
31051169689Skan	* tree-gimple.c: Update gimple grammer to match.
31052169689Skan	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
31053169689Skan	coalescing of result_decls.
31054169689Skan
31055169689Skan2004-06-07  Richard Henderson  <rth@redhat.com>
31056169689Skan
31057169689Skan	PR rtl-opt/15193
31058169689Skan	* expmed.c (extract_bit_field): Fix vector_extract return.
31059169689Skan
31060169689Skan	* config/i386/i386.md (negv4sf2): New pattern.
31061169689Skan
31062169689Skan2004-06-07  Mark Mitchell  <mark@codesourcery.com>
31063169689Skan
31064169689Skan	PR c++/15337
31065169689Skan	* c-common.c (c_sizeof_or_alignof_type): Use more detailed error
31066169689Skan	message.
31067169689Skan
31068169689Skan2004-06-06  Paolo Bonzini  <bonzini@gnu.org>
31069169689Skan
31070169689Skan	* config.in: Regenerate.
31071169689Skan
31072169689Skan2004-06-06  Steven Bosscher  <stevenb@suse.de>
31073169689Skan
31074169689Skan	* tree-cfg.c (tree_verify_flow_info): Make sure that labels in
31075169689Skan	SWITCH_LABELS are always sorted.
31076169689Skan
31077169689Skan2004-06-06  Steven Bosscher  <stevenb@suse.de>
31078169689Skan
31079169689Skan	* hooks.c (hook_int_void_1): New generic hook.
31080169689Skan	* hooks.h (hook_int_void_1): Add prototype.
31081169689Skan	* config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
31082169689Skan	Define to hook_int_void_1.
31083169689Skan	* config/c4x/c4x.md: Replace dummies for the old pipeline model
31084169689Skan	with dummies for the new one.
31085169689Skan
31086169689Skan2004-06-06  Roger Sayle  <roger@eyesopen.com>
31087169689Skan
31088169689Skan	* tree.h (lvalue_or_else): Delete function prototype.
31089169689Skan	* c-typeck.c (lvalue_or_else): Make static.  Add static prototype.
31090169689Skan
31091169689Skan2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
31092169689Skan
31093169689Skan	PR target/14542
31094169689Skan	* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
31095169689Skan	a live change of a register after peephole replacement.
31096169689Skan
31097169689Skan2004-06-06  Joseph S. Myers  <jsm@polyomino.org.uk>
31098169689Skan
31099169689Skan	PR c/13519
31100169689Skan	* c-typeck.c (composite_type, common_pointer_type): New functions.
31101169689Skan	(common_type): Split parts into composite_type and
31102169689Skan	common_pointer_type.  Ensure that arithmetic operations return
31103169689Skan	unqualified types without attributes.  Don't make composite type
31104169689Skan	of signed enum and compatible integer be unsigned.
31105169689Skan	(build_conditional_expr, build_binary_op): Use
31106169689Skan	common_pointer_type.
31107169689Skan	* c-decl.c (merge_decls): Use composite_type.
31108169689Skan	* c-tree.h (composite_type): Declare.
31109169689Skan
31110169689Skan2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
31111169689Skan
31112169689Skan	PR target/14457
31113169689Skan	* config/m68hc11/m68hc11.c (splitable_operand): New predicate.
31114169689Skan	* config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
31115169689Skan	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
31116169689Skan	(inhibit_libc): Must define.
31117169689Skan	* config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
31118169689Skan	("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
31119169689Skan	("xorhi3"): Likewise.
31120169689Skan
31121169689Skan2004-06-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
31122169689Skan
31123169689Skan	* cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
31124169689Skan	always_inline pass.
31125169689Skan
31126169689Skan2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
31127169689Skan
31128169689Skan	* config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
31129169689Skan	* config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
31130169689Skan
31131169689Skan2004-06-05  Bernardo Innocenti  <bernie@develer.com>
31132169689Skan
31133169689Skan	* regclass.c (init_reg_sets): Check for missing registers in target
31134169689Skan	initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
31135169689Skan
31136169689Skan2004-06-05  Zack Weinberg  <zack@codesourcery.com>
31137169689Skan
31138169689Skan	* Makefile.in (MKDEPS_H): New shorthand.
31139169689Skan	(c-opts.o): Update dependencies.
31140169689Skan	* c-opts.c: Include mkdeps.h.
31141169689Skan	(handle_deferred_opts): Use cpp_get_deps and deps_add_target,
31142169689Skan	not cpp_add_dependency_target.
31143169689Skan
31144169689Skan2004-06-05  Steven Bosscher  <stevenb@suse.de>
31145169689Skan
31146169689Skan	* config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
31147169689Skan	* config/v850/v850.md: Convert to DFA scheduler description.
31148169689Skan
31149169689Skan2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
31150169689Skan
31151169689Skan	PR fortran/15478
31152169689Skan	* doc/install.texi: Document GMP as prerequisite. Document
31153169689Skan	--with-gmp and --with-gmp-dir configure options.
31154169689Skan	* fortran/gfortran.texi: Remove section "Compiling and testing",
31155169689Skan	remove TOC reference to it.
31156169689Skan
31157169689Skan2004-06-05  Graham Stott  <graham.stott@btinternet.com>
31158169689Skan
31159169689Skan	* combine.c(simplify_shift_const): Check shift amount is a
31160169689Skan	CONST_INT.
31161169689Skan
31162169689Skan2004-06-05  Danny Smith  <dannysmith@users.sourceforge.net>
31163169689Skan
31164169689Skan	* toplev.c (init_asm_output): Add explicit 'b' to mode when
31165169689Skan	opening asm_out_file.
31166169689Skan	* c-pch.c (c_common_write_pch): Remove unnecessary fflush before
31167169689Skan	reading asm_out_file. Replace fflush after reading asm_out_file
31168169689Skan	with fseek.
31169169689Skan	* hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
31170169689Skan	default and add to HOST_HOOKS_INITIALIZER.
31171169689Skan	* hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
31172169689Skan	* ggc-common.c (default_gt_pch_alloc_granularity): New function.
31173169689Skan	(gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
31174169689Skan	to set mmi.offset padding.
31175169689Skan	 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
31176169689Skan	$(srcdir)/config/i386/winnt.c.
31177169689Skan	(i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
31178169689Skan	(i[34567]86-*-uwin*): Likewise.
31179169689Skan	*i[34567]86-*-interix3*): Likewise.
31180169689Skan	* config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
31181169689Skan	* config/i386/host-mingw32.c: New file.
31182169689Skan	* config/i386/x-mingw32: Add rule for host-mingw32.o.
31183169689Skan	* config/i386/winnt.c: (struct extern_list) Tag as GTY.
31184169689Skan	(extern_head): Likewise.
31185169689Skan	(struct export_list) Likewise.
31186169689Skan	(export_head): Likewise.
31187169689Skan	(i386_pe_record_external_function): Use ggc_alloc.
31188169689Skan	(i386_pe_record_exported_symbol): Likewise.
31189169689Skan	Include "gt-winnt.h" at end.
31190169689Skan	* doc/hostconfig.texi: Document
31191169689Skan	HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
31192169689Skan
31193169689Skan2004-06-04  Bernardo Innocenti  <bernie@develer.com>
31194169689Skan
31195169689Skan	* config/m68k/m68k.h: Remove comments copied over from tm.texi.
31196169689Skan	Rename 68000 and 68k to m68k for consistency in comments.  Remove
31197169689Skan	trailing whitespace before EOLs and before TABs.
31198169689Skan	(MAX_CODE_ALIGN): Remove unused macro.
31199169689Skan	(CALL_USED_REGISTERS): Reformat and add comments.
31200169689Skan
31201169689Skan2004-06-04  Frank Ch. Eigler  <fche@redhat.com>
31202169689Skan
31203169689Skan	* gcc.c (MFLIB_SPEC): Remove library references, to require users
31204169689Skan	to enumerate -lmudflap* and dependencies when linking.
31205169689Skan
31206169689Skan2004-06-04  Paolo Bonzini  <bonzini@gnu.org>
31207169689Skan
31208169689Skan	PR target/15822
31209169689Skan	* dojump.c (do_jump): Fix uninitialized variable tcode1.
31210169689Skan
31211169689Skan2004-06-04  Jerry Quinn  <jlquinn@optonline.net>
31212169689Skan
31213169689Skan	* Makefile.in (insn-conditions.o): Back out removal of reload.h.
31214169689Skan	* genconditions.c (write_header): Back out removal of reload.h.
31215169689Skan
31216169689Skan2004-06-04  Jan Hubicka  <jh@suse.cz>
31217169689Skan
31218169689Skan	Re-apply hopefully fixed patch:
31219169689Skan	* i386.md (UNSPECV_EH_RETURN): Kill.
31220169689Skan	(eh_return): Use jump_insn.
31221169689Skan	(eh_return_si, eh_return_di): Change pattern to jump instruction.
31222169689Skan
31223169689Skan2004-06-04  Jeff Law  <law@redhat.com>
31224169689Skan
31225169689Skan	* cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
31226169689Skan
31227169689Skan2004-06-04  Steven Bosscher  <stevenb@suse.de>
31228169689Skan
31229169689Skan	* except.c (for_each_eh_region): New function.
31230169689Skan	* except.h (for_each_eh_region): Add a prototype for it.
31231169689Skan	* tree-cfg.c (update_eh_labels): New function, callback for
31232169689Skan	for_each_eh_region.
31233169689Skan	(label_for_bb): Make global static, unfortunately.
31234169689Skan	(cleanup_dead_labels): Also update label references for
31235169689Skan	exception regions.
31236169689Skan
31237169689Skan2004-06-03  Chris Demetriou  <cgd@broadcom.com>
31238169689Skan
31239169689Skan	* config/mips/mips.c (struct irix_section_align_entry): Fix
31240169689Skan	GTY marker.
31241169689Skan
31242169689Skan2004-06-03  Geoffrey Keating  <geoffk@apple.com>
31243169689Skan
31244169689Skan	* toplev.c (check_global_declarations): Don't ask for
31245169689Skan	DECL_ASSEMBLER_NAME unless the function really is declared
31246169689Skan	static and not defined.
31247169689Skan
31248169689Skan2004-06-03  Matt Austern  <austern@apple.com>
31249169689Skan
31250169689Skan	PR c++/15428
31251169689Skan	* default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
31252169689Skan	for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
31253169689Skan	* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
31254169689Skan	* doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
31255169689Skan	documentation to reflect the new macro name and to clarify its
31256169689Skan	meaning.
31257169689Skan
31258169689Skan2004-06-03  Steven Bosscher  <stevenb@suse.de>
31259169689Skan
31260169689Skan	* rtl.def (VAR_LOCATION): Make RTX_EXTRA.
31261169689Skan
31262169689Skan2004-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
31263169689Skan
31264169689Skan	* config/darwin.c (machopic_indirect_data_reference): Copy
31265169689Skan	the SYMBOL_REF_DECL from the original RTX for the new
31266169689Skan	non-lazy pointer RTX.
31267169689Skan
31268169689Skan2004-06-03  Mark G. Adams  <mark.g.adams@sympatico.ca>
31269169689Skan
31270169689Skan	* tree.h: Remove include of version.h
31271169689Skan	* c-cppbuiltin.c: Include version.h
31272169689Skan	* diagnostic.c: Include version.h
31273169689Skan	* dwarf2out.c: Include version.h
31274169689Skan	* toplev.c: Include version.h
31275169689Skan	* vmsdbgout.c: Include version.h
31276169689Skan	* Makefile.in: Remove dependency on version.h from TREE_H, and
31277169689Skan	add dependencies to required .o targets
31278169689Skan
31279169689Skan2004-06-03  Jerry Quinn  <jlquinn@optonline.net>
31280169689Skan
31281169689Skan	* Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
31282169689Skan	CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
31283169689Skan	(TARGET_H): Add insn-modes.h.
31284169689Skan	(tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
31285169689Skan	loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
31286169689Skan	loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
31287169689Skan	loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
31288169689Skan	cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
31289169689Skan	(toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
31290169689Skan	loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
31291169689Skan	bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
31292169689Skan	CFGLAYOUT_H.
31293169689Skan	(ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
31294169689Skan	Replace ra.h with RA_H.
31295169689Skan	(resource.o, regrename.o, insn-conditions.o, insn-emit.o,
31296169689Skan	insn-recog.o): Replace resource.h with RESOURCE_H.
31297169689Skan	(ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
31298169689Skan	sched-ebb.o, sched-vis.o, out_object_file): Replace sched-int.h
31299169689Skan	with SCHED_INT_H.
31300169689Skan	(web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
31301169689Skan	ra-rewrite.o): Replace df.h with DF_H.
31302169689Skan	(ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
31303169689Skan	(tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
31304169689Skan	Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
31305169689Skan	(insn-conditions.o): Remove unused reload.h.
31306169689Skan	* cfglayout.h: Add include guard.  Include basic-block.h.
31307169689Skan	* cfgloop.h: Add include guard.  Include basic-block.h, rtl.h.
31308169689Skan	* ddg.h: Include sbitmap.h, basic-block.h, df.h.
31309169689Skan	* df.h: Add include guard.  Include bitmap.h, sbitmap.h,
31310169689Skan	basic-block.h.
31311169689Skan	* genconditions.c: Remove reload.h.
31312169689Skan	* ra.h: Add include guard.  Include bitmap.h, sbitmap.h,
31313169689Skan	hard-reg-set.h, insn-modes.h.
31314169689Skan	* resource.h: Add include guard.  Include hard-reg-set.h.
31315169689Skan	* sched-int.h: Add include guard.  Include insn-attr.h,
31316169689Skan	basic-block.h, rtl.h.
31317169689Skan	* target.h: Add include guard.  Include insn-modes.h.
31318169689Skan	* tree-ssa-live.h: Include partition.h.
31319169689Skan
31320169689Skan2004-06-03  Daniel Berlin  <dberlin@dberlin.org>
31321169689Skan		Kenneth Zadeck <zadeck@naturalbridge.com>
31322169689Skan
31323169689Skan	* tree-ssa-ccp.c (varying_ssa_edges): New worklist.
31324169689Skan	(add_var_to_ssa_edges_worklist): Add value argument.
31325169689Skan	Update callers.
31326169689Skan	Use new worklist.
31327169689Skan	(process_ssa_edge_worklist): New function.
31328169689Skan	(tree_ssa_ccp): Move worklist processing core to
31329169689Skan	process_ssa_edge_worklist, and just call that for the two worklists.
31330169689Skan
31331169689Skan2004-06-03  Steven Bosscher  <stevenb@suse.de>
31332169689Skan
31333169689Skan	* basic-block.c (tail_recursion_label_list): Don't declare.
31334169689Skan	(CLEANUP_PRE_SIBCALL): Remove.  Renumber the other CLEANUP_*
31335169689Skan	accordingly.
31336169689Skan	* cfgbuild.c (find_label_refs): Remove.
31337169689Skan	(find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
31338169689Skan	* cfgcleanup.c (tail_recursion_label_p): Remove.
31339169689Skan	(merge_blocks_move): Do not check for tail recursion.
31340169689Skan	(try_optimize_cfg): Likewise.
31341169689Skan	(cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
31342169689Skan	* cfgrtl.c (tail_recursion_label_list): Remove.
31343169689Skan	* except.c (remove_unreachable_regions): Don't handle
31344169689Skan	CALL_PLACEHOLDER insns.
31345169689Skan	(convert_from_eh_region_ranges_1, can_throw_internal,
31346169689Skan	can_throw_external): Likewise.
31347169689Skan	* function.c (free_after_compilation): Don't clear
31348169689Skan	x_tail_recursion_label.
31349169689Skan	(fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
31350169689Skan	(identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
31351169689Skan	(reorder_blocks_1): Likewise.
31352169689Skan	* function.h (struct function): Remove x_tail_recursion_label
31353169689Skan	member.  Don't define tail_recursion_label.
31354169689Skan	* jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
31355169689Skan	* print-rtl.c (print_rtx): Likewise.
31356169689Skan	* rtl.def (CALL_PLACEHOLDER): Remove.
31357169689Skan	* rtl.h (sibcall_use_t): Remove enum.
31358169689Skan	(optimize_sibling_and_tail_recursive_calls,
31359169689Skan	replace_call_placeholder): Remove function prototypes.
31360169689Skan	* stmt.c (tail_recursion_args): Remove.
31361169689Skan	(optimize_tail_recursion): Remove.
31362169689Skan	(expand_return): Don't check for possible tail recursion.
31363169689Skan	* tree.h (optimize_tail_recursion): Remove prototype.
31364169689Skan
31365169689Skan2004-06-02  Jan Hubicka  <jh@suse.cz>
31366169689Skan
31367169689Skan	* tree-cfg.c (tree_find_edge_insert_loc): Allow inserting before
31368169689Skan	return_stmt.
31369169689Skan
31370169689Skan2004-06-02  Jason Merrill  <jason@redhat.com>
31371169689Skan
31372169689Skan	* Makefile.in (TAGS): Don't mess with c-parse.[ch].
31373169689Skan	Do include c-parse.in.
31374169689Skan
31375169689Skan2004-06-02  Eric Christopher  <echristo@redhat.com>
31376169689Skan
31377169689Skan	* c-typeck.c (common_type): Don't lose type qualifiers
31378169689Skan	when creating new variants.
31379169689Skan
31380169689Skan2004-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
31381169689Skan
31382169689Skan	PR tree-optimization/14042
31383169689Skan	PR tree-optimization/14729
31384169689Skan	PR tree-optimization/14736
31385169689Skan	* tree-ssa.c (tree_ssa_useless_type_conversion_1):
31386169689Skan	Check the type which the pointer points to
31387169689Skan	instead of the pointer types.
31388169689Skan
31389169689Skan2004-06-02  Kazu Hirata  <kazu@cs.umass.edu>
31390169689Skan
31391169689Skan	PR tree-optimization/15738.
31392169689Skan	* builtins.c (fold_builtin_strchr): Transform
31393169689Skan	strrchr (s, '\0') to strchr (s, '\0').
31394169689Skan
31395169689Skan2004-06-02  Steven Bosscher  <stevenb@suse.de>
31396169689Skan
31397169689Skan	* i386.c (ix86_adjust_cost): Don't increase the cost for
31398169689Skan	load+operation for PROCESSOR_PENTIUMPRO, it is already
31399169689Skan	modelled in the DFA description
31400169689Skan
31401169689Skan2004-06-01  Jerry Quinn  <jlquinn@optonline.net>
31402169689Skan
31403169689Skan	* Makefile.in (EXPR_H): Add insn-config.h, function.h,
31404169689Skan	$(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
31405169689Skan	(ALIAS_H, EMIT_RTL_H): New.
31406169689Skan	(cselib.o): Replace EXPR_H with EMIT_RTL_H.
31407169689Skan	(cfgcleanup.o): Add EMIT_RTL_H.
31408169689Skan	(alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
31409169689Skan	* alias.c: Replace expr.h with emit-rtl.h and alias.h.
31410169689Skan	* attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
31411169689Skan	* cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
31412169689Skan	* expr.h: Add include guard.  Include function.h, rtl.h, flags.h,
31413169689Skan	tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
31414169689Skan	(get_varargs_alias_set, get_frame_alias_set, record_base_value,
31415169689Skan	record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
31416169689Skan	(set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
31417169689Skan	set_mem_size): Move to emit-rtl.h.
31418169689Skan	* emit-rtl.h: New.
31419169689Skan	* alias.h: New.
31420169689Skan
31421169689Skan2004-06-01  Eric Botcazou  <ebotcazou@act-europe.fr>
31422169689Skan
31423169689Skan	* function.c (walk_fixup_memory_subreg): New parameter 'var'.
31424169689Skan	Call fixup_memory_subreg only if the MEM is equal to 'var'.
31425169689Skan	Adjust recursive calls to self.
31426169689Skan	(fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
31427169689Skan
31428169689Skan2004-06-01  Richard Henderson  <rth@redhat.com>
31429169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
31430169689Skan
31431169689Skan	* c-parse.in (OFFSETOF, offsetof_member_designator): New.
31432169689Skan	(primary): Handle offsetof.  Add error productions for faux functions.
31433169689Skan	Move component_ref objc checking to build_component_ref.
31434169689Skan	(reswords): Add offsetof.
31435169689Skan	(rid_to_yy): Add offsetof.
31436169689Skan	* c-tree.h (build_offsetof): Declare.
31437169689Skan	* c-common.h (objc_is_public): Declare.
31438169689Skan	* c-typeck.c (build_component_ref): Check objc_is_public.
31439169689Skan	(build_offsetof): New.
31440169689Skan	* stub-objc.c (objc_is_public): New.
31441169689Skan	* objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
31442169689Skan	from is_public.
31443169689Skan	* ginclude/stddef.h (offsetof): Use __builtin_offsetof.
31444169689Skan	* doc/extend.texi (Offsetof): Move from C++ section to C section
31445169689Skan	and rewrite for __builtin_offsetof.
31446169689Skan
31447169689Skan2004-06-01  Peter Barada  <peter@the-baradas.com>
31448169689Skan	    Peter Jakubek  <peter@laseranimation.com>
31449169689Skan
31450169689Skan	* config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
31451169689Skan	a scratch to perform an add to memory.
31452169689Skan
31453169689Skan2004-06-01  Bernardo Innocenti  <bernie@develer.com>
31454169689Skan
31455169689Skan	PR target/14018
31456169689Skan	* config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
31457169689Skan	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
31458169689Skan	m68k_align_funcs): Remove.
31459169689Skan	(override_options): Remove code to handle -malign-* options.
31460169689Skan	* config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
31461169689Skan	(FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
31462169689Skan	(m68k_align_loops_string, m68k_align_jumps_string,
31463169689Skan	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
31464169689Skan	m68k_align_funcs): Remove definitions.
31465169689Skan
31466169689Skan2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
31467169689Skan
31468169689Skan	PR target/15626
31469169689Skan	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
31470169689Skan	by the Sun linker in conjunction with the Sun assembler.
31471169689Skan	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
31472169689Skan
31473169689Skan2004-06-01  Jeff Law  <law@redhat.com>
31474169689Skan
31475169689Skan	* stmt.c (expand_decl): Be more selective about calling
31476169689Skan	mark_reg_pointer.
31477169689Skan
31478169689Skan2004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
31479169689Skan
31480169689Skan	PR objc/7993
31481169689Skan	* objc-act.c (is_private): Do not emit the 'instance variable %s
31482169689Skan	is declared private' error.
31483169689Skan	(is_public): Emit the error after calling is_private.
31484169689Skan	(lookup_objc_ivar): If the instance variable is private, return 0
31485169689Skan	- the instance variable is invisible here.
31486169689Skan
31487169689Skan2004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
31488169689Skan
31489169689Skan	* doc/invoke.texi (-static-libgcc): Explicitly mention
31490169689Skan	non-GNU linkers.
31491169689Skan
31492169689Skan2004-06-01  Bernardo Innocenti  <bernie@develer.com>
31493169689Skan
31494169689Skan	PR target/12968
31495169689Skan	* doc/invoke.texi: Document stack alignment side-effect of -mshort.
31496169689Skan
31497169689Skan2004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
31498169689Skan
31499169689Skan	PR c/15749
31500169689Skan	* c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
31501169689Skan	misuses of structures with flexible array members if
31502169689Skan	in_system_header.
31503169689Skan
31504169689Skan2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
31505169689Skan
31506169689Skan	PR target/15693
31507169689Skan	* config/sparc/sparc.c (compare_operand): New predicate.
31508169689Skan	* config/sparc/sparc.h (PREDICATE_CODES): Add it.
31509169689Skan	* config/sparc/sparc.md (cmpsi expander): Use it.  If the first
31510169689Skan	operand is a ZERO_EXTRACT and the second operand is not zero,
31511169689Skan	force the former to a register.
31512169689Skan	(cmpdi expander): Likewise.
31513169689Skan
31514169689Skan2004-05-31  Geoffrey Keating  <geoffk@apple.com>
31515169689Skan
31516169689Skan	* gengtype-lex.l: Catch stray GTY markers in the files gengtype
31517169689Skan	looks at.
31518169689Skan	* alias.c (alias_invariant_size): Make alias_invariant_size
31519169689Skan	static, fix GTY marker.
31520169689Skan
31521169689Skan2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
31522169689Skan
31523169689Skan	PR tree-optimization/15743.
31524169689Skan	* builtins.c (fold_builtin_1): Fold index() and rindex().
31525169689Skan
31526169689Skan2004-05-31  Roger Sayle  <roger@eyesopen.com>
31527169689Skan
31528169689Skan	PR middle-end/15069
31529169689Skan	* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
31530169689Skan	into "X < 0" (where C is the signbit) if X's type is a full mode.
31531169689Skan
31532169689Skan2004-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
31533169689Skan
31534169689Skan	* pa.md: Disable the peephole2 patterns that generate indexed
31535169689Skan	floating-point stores when indexing is disabled.
31536169689Skan
31537169689Skan2004-05-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
31538169689Skan
31539169689Skan	* c-pretty-print.c (pp_c_left_bracket): Make a function.
31540169689Skan	(pp_c_right_bracket): Likewise.
31541169689Skan	(pp_c_star): Likewise.
31542169689Skan	(pp_c_ampersand): Define.
31543169689Skan	* c-pretty-print.h (pp_c_left_bracket): Declare.
31544169689Skan	(pp_c_right_bracket): Likewise.
31545169689Skan	(pp_c_star): Likewise.
31546169689Skan	(pp_c_ampersand): Likewise.
31547169689Skan
31548169689Skan2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
31549169689Skan
31550169689Skan	* config/sol2.h (__enable_execute_stack): ANSIfy function
31551169689Skan	definition.
31552169689Skan
31553169689Skan2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
31554169689Skan
31555169689Skan	* c-incpath.c (add_path): Canonicalize paths to use '/' if
31556169689Skan	HAVE_DOS_BASED_FILESYSTEM.
31557169689Skan
31558169689Skan2004-05-31  Steven Bosscher  <stevenb@suse.de>
31559169689Skan
31560169689Skan	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
31561169689Skan	Only look at case labels if the immediate dominator is also
31562169689Skan	the only predecessor.  Don't look for more case labels if the
31563169689Skan	first seen is a case range.
31564169689Skan
31565169689Skan2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
31566169689Skan
31567169689Skan	* builtins.c: Add a prototype for fold_builtin_strchr().
31568169689Skan
31569169689Skan2004-05-31  Paolo Bonzini  <bonzini@gnu.org>
31570169689Skan
31571169689Skan	Revert this patch:
31572169689Skan	2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
31573169689Skan
31574169689Skan	* combine.c (gen_binary): Remove.
31575169689Skan	(known_cond, simplify_shift_const
31576169689Skan	find_split_point, combine_simplify_rtx,
31577169689Skan	simplify_if_then_else, simplify_set,
31578169689Skan	simplify_logical, expand_field_assignment,
31579169689Skan	extract_left_shift, force_to_mode,
31580169689Skan	if_then_else_cond, apply_distributive_law,
31581169689Skan	simplify_and_const_int, simplify_shift_const,
31582169689Skan	gen_lowpart_for_combine, simplify_comparison,
31583169689Skan	reversed_comparison): Replace with
31584169689Skan	simplify_gen_binary, simplify_gen_relational or
31585169689Skan	distribute_and_simplify_rtx.
31586169689Skan	(distribute_and_simplify_rtx): New function.
31587169689Skan
31588169689Skan2004-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
31589169689Skan
31590169689Skan	* pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
31591169689Skan	when generating PIC code.
31592169689Skan
31593169689Skan2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
31594169689Skan
31595169689Skan	* c-decl.c (c_expand_body_1): Remove and fold back into ...
31596169689Skan	(c_expand_body): here.
31597169689Skan	(c_expand_decl): Move to ...
31598169689Skan	* c-common.c (c_expand_decl): Here and remove check for nested
31599169689Skan	functions.
31600169689Skan	* c-common.h (c_expand_decl): Add prototype.
31601169689Skan	* c-tree.h (c_expand_decl): Remove.
31602169689Skan
31603169689Skan2004-05-30  Roger Sayle  <roger@eyesopen.com>
31604169689Skan
31605169689Skan	* fold-const.c (combine_comparisons, optimize_bit_field_compare,
31606169689Skan	range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
31607169689Skan	fold_mathfn_compare, fold_inf_compare, fold,
31608169689Skan	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
31609169689Skan	Use constant_boolean_node where appropriate.  Don't bother using
31610169689Skan	fold_convert on the second argument to omit_one_operand.
31611169689Skan
31612169689Skan2004-05-30  Roger Sayle  <roger@eyesopen.com>
31613169689Skan
31614169689Skan	* doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
31615169689Skan	CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
31616169689Skan	ROUND_MOD_EXPR, EXACT_DIV_EXPR.  Improve documentation of
31617169689Skan	TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
31618169689Skan	Add missing (but documented) tree nodes to the index.
31619169689Skan
31620169689Skan2004-05-30  Steven Bosscher  <stevenb@suse.de>
31621169689Skan
31622169689Skan	PR tree-optimization/14819
31623169689Skan	* builtins.c (fold_builtin_strchr): New.
31624169689Skan	(fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
31625169689Skan	with fold_builtin_strchr().
31626169689Skan
31627169689Skan2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
31628169689Skan
31629169689Skan	* bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
31630169689Skan	c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
31631169689Skan	expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
31632169689Skan	passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
31633169689Skan	tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
31634169689Skan	tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
31635169689Skan	tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
31636169689Skan	tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
31637169689Skan	tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
31638169689Skan	formatting.
31639169689Skan
31640169689Skan2004-05-30  Steven Bosscher  <stevenb@suse.de>
31641169689Skan
31642169689Skan	* gimplify.c (sort_case_labels): New.  Split out from...
31643169689Skan	(gimplify_switch_expr): ...here.  Use it.
31644169689Skan	* tree-eh.c (lower_try_finally_switch): Sort the labels of
31645169689Skan	the SWITCH_EXPR created here before leaving the function.
31646169689Skan	* tree.c (sort_case_labels): Add prototype.
31647169689Skan
31648169689Skan2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
31649169689Skan
31650169689Skan	* fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
31651169689Skan	of BOOLEAN_TYPE.
31652169689Skan
31653169689Skan2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
31654169689Skan
31655169689Skan	* c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
31656169689Skan	ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
31657169689Skan	fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
31658169689Skan	modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
31659169689Skan	tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
31660169689Skan	tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
31661169689Skan	comment typos.  Follow spelling conventions.
31662169689Skan
31663169689Skan2004-05-29  Geoffrey Keating  <geoffk@apple.com>
31664169689Skan
31665169689Skan	* gengtype-yacc.y: Add NESTED_PTR token.
31666169689Skan	(option): Record `nested_ptr' option.
31667169689Skan	* gengtype-lex.l: Handle `nested_ptr' keyword.
31668169689Skan	* gengtype.c (walk_type): Process `nested_ptr' option.
31669169689Skan	* gengtype.h (struct nested_ptr_data): New.
31670169689Skan	* doc/gty.texi (GTY Options): Document `nested_ptr' option.
31671169689Skan	* stringpool.c (struct string_pool_data): Make 'entries' point to
31672169689Skan	ht_identifier instead of tree.
31673169689Skan	(gt_pch_save_stringpool): Don't adjust pointers.
31674169689Skan	(gt_pch_restore_stringpool): Call ht_load.
31675169689Skan
31676169689Skan2004-05-29  Jason Merrill  <jason@redhat.com>
31677169689Skan
31678169689Skan	* gimplify.c (gimplify_expr): Don't build a statement list
31679169689Skan	if no gimplification was necessary.
31680169689Skan
31681169689Skan2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
31682169689Skan
31683169689Skan	* pretty-print.c (pp_base_format_text): Support %< instead of %`
31684169689Skan	and %> as well as %'.
31685169689Skan	* c-format.c: Use %< and %>.
31686169689Skan	(gcc_diag_char_table, gcc_cdiag_char_table,
31687169689Skan	gcc_cxxdiag_char_table): Update.
31688169689Skan
31689169689Skan2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
31690169689Skan
31691169689Skan	* c-typeck.c (common_type): Correct comment.
31692169689Skan
31693169689Skan2004-05-29  Peter Barada  <peter@the-baradas.com>
31694169689Skan
31695169689Skan	* config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
31696169689Skan	* config/m68k/m68k.c (const_method): Likewise.
31697169689Skan	* config/m68k/m68k.c (const_int_cost): Likewise.
31698169689Skan	* config/m68k/m68k.c (const_int_cost): Likewise.
31699169689Skan	* config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
31700169689Skan
31701169689Skan2004-05-29  Peter Barada  <peter@the-baradas.com>
31702169689Skan
31703169689Skan	* config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
31704169689Skan	addressing.
31705169689Skan	* config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
31706169689Skan	movsi,movhi,movqi insn patterns.
31707169689Skan
31708169689Skan2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
31709169689Skan
31710169689Skan	* c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
31711169689Skan
31712169689Skan	PR target/15720
31713169689Skan	* config/darwin.c (machopic_indirect_call_target): Copy
31714169689Skan	the SYMBOL_REF_DECL from the original RTX for the new
31715169689Skan	stub RTX.
31716169689Skan
31717169689Skan2004-05-28  DJ Delorie  <dj@redhat.com>
31718169689Skan
31719169689Skan	* stor-layout.c (place_field): Revert erroneous commit.
31720169689Skan
31721169689Skan2004-05-28  Ziemowit Laski  <zlaski@apple.com>
31722169689Skan
31723169689Skan	* config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
31724169689Skan	vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
31725169689Skan	vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
31726169689Skan	vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
31727169689Skan	vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
31728169689Skan	vec_ste): Remove type checks for integral parameters and literals
31729169689Skan	from '..._args_eq' macros.
31730169689Skan
31731169689Skan2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
31732169689Skan
31733169689Skan	* c-common.c (fname_as_string): Fix xcalloc to xmalloc.
31734169689Skan
31735169689Skan2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
31736169689Skan
31737169689Skan	* testsuite/g++.dg/charset/function.cc: New.
31738169689Skan
31739169689Skan	* testsuite/gcc.dg/charset/function.c: New.
31740169689Skan
31741169689Skan	* c-decl.c (c_make_fname_decl): Free return value from
31742169689Skan	fname_as_string.
31743169689Skan
31744169689Skan	* cp/decl.c (cp_make_fname_decl): Free return value from
31745169689Skan	fname_as_string.
31746169689Skan
31747169689Skan	* c-common.c (fname_as_string): Translate if necessary.
31748169689Skan
31749169689Skan2004-05-28  Geoffrey Keating  <geoffk@apple.com>
31750169689Skan
31751169689Skan	* stringpool.c: Add comments to PCH saving/restoring routines.
31752169689Skan
31753169689Skan2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
31754169689Skan
31755169689Skan	* c-common.c (c_estimate_num_insns_1): Kill.
31756169689Skan	(c_estimate_num_insns): Kill.
31757169689Skan	* c-common.h (c_estimate_num_insns): Kill.
31758169689Skan
31759169689Skan	* gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
31760169689Skan	when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
31761169689Skan	Remove comment about not checking for
31762169689Skan	_POSIX_PRIORITY_SCHEDULING.
31763169689Skan	* gthr-posix.c: Likewise.
31764169689Skan
31765169689Skan2004-05-28  Paolo Bonzini  <bonzini@gnu.org>
31766169689Skan	    Roger Sayle  <roger@eyesopen.com>
31767169689Skan
31768169689Skan	PR rtl-optimization/15649
31769169689Skan	Add LTGT_EXPR and improve pretty-printing of unordered
31770169689Skan	comparisons.
31771169689Skan	* c-common.c (c_common_truthvalue_conversion):
31772169689Skan	Handle LTGT_EXPR.
31773169689Skan	* c-typeck.c (build_binary_op): Likewise.
31774169689Skan	* dojump.c (do_jump): Likewise.
31775169689Skan	* expr.c (expand_expr_real_1, do_store_flag): Likewise.
31776169689Skan	* predict.c (tree_predict_by_opcode): Likewise.
31777169689Skan	* real.c (real_compare): Likewise.
31778169689Skan	* tree-cfg.c (verify_expr): Likewise.
31779169689Skan	* tree-inline.c (estimate_num_insns_1): Likewise.
31780169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
31781169689Skan	Handle ORDERED_EXPR, UNORDERED_EXPR.
31782169689Skan	(op_symbol): Print unordered comparisons differently
31783169689Skan	than ordered ones.
31784169689Skan	* tree.def (LTGT_EXPR): New '<' tree code.
31785169689Skan	* doc/c-tree.texi (Expressions): Document floating-point
31786169689Skan	comparison nodes.
31787169689Skan
31788169689Skan	Fold comparisons between floating point values.
31789169689Skan	* fold-const.c (enum comparison_code): New, from
31790169689Skan	#define'd constants.  Define compcodes for unordered
31791169689Skan	comparisons and for invalid transformations.
31792169689Skan	(invert_tree_comparison): Add "honor_nans" parameter.
31793169689Skan	(fold_truthop): Revamp to work on floating-point types too.
31794169689Skan	(comparison_to_compcode): Support unordered comparisons.
31795169689Skan	Use new enum comparison_code.
31796169689Skan	(compcode_to_comparison): Likewise.
31797169689Skan	(combine_compcodes): New function.
31798169689Skan	(invert_truthvalue): Let invert_tree_comparison decide
31799169689Skan	whether it is valid to fold the comparison.  Fold ORDERED
31800169689Skan	and UNORDERED even if flag_unsafe_math_optimizations is off,
31801169689Skan	and the remaining even if flag_unsafe_math_optimizations
31802169689Skan	is off but we are under -fno-trapping-math.
31803169689Skan	(fold_relational_const): Integer modes do not honor NaNs.
31804169689Skan
31805169689Skan2004-05-28  Paul Brook  <paul@codesourcery.com>
31806169689Skan
31807169689Skan	* config/arm/arm.c (arm_output_epilogue): Remove redundant code.
31808169689Skan
31809169689Skan2004-05-28  Paul Brook  <paul@codesourcery.com>
31810169689Skan
31811169689Skan	* config/arm/arm.c (thumb_force_lr_save): New function.
31812169689Skan	(arm_get_frame_offsets, thumb_unexpanded_epilogue,
31813169689Skan	thumb_output_function_prologue): Use it.
31814169689Skan	(thumb_expand_prologue): Set lr_save_eliminated.
31815169689Skan
31816169689Skan2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
31817169689Skan
31818169689Skan	* config/mips/mips.md (extendsidi2): Tie the source and destination
31819169689Skan	of the register alternative.  Split it into nothing.
31820169689Skan
31821169689Skan2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
31822169689Skan
31823169689Skan	* rtl.h (skip_consecutive_labels): Declare.
31824169689Skan	* emit-rtl.c (skip_consecutive_labels): New function.
31825169689Skan	* reorg.c (relax_delay_slots, dbr_schedule): Use it.
31826169689Skan	* jump.c (follow_jumps): Say what null return values mean.
31827169689Skan
31828169689Skan2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
31829169689Skan
31830169689Skan	PR target/13250
31831169689Skan	* config/sh/sh.md (rotlsi3): Use emit_move_insn.
31832169689Skan
31833169689Skan2004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
31834169689Skan
31835169689Skan	* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
31836169689Skan	libgcc-std.ver.
31837169689Skan	* config/sh/libgcc-std.ver: New file.
31838169689Skan
31839169689Skan2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
31840169689Skan
31841169689Skan	* except.c: Revert change of 2004-05-26.
31842169689Skan	* config/i386/i386.md: Revert change of 2004-05-27.
31843169689Skan
31844169689Skan2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
31845169689Skan
31846169689Skan	* configure.ac: Remove --enable-tree-browser option.
31847169689Skan	Define TREEBROWSER when ac_tree_checking is defined.
31848169689Skan	* configure: Rebuilt.
31849169689Skan
31850169689Skan2004-05-27  Olivier Hainque  <hainque@act-europe.fr>
31851169689Skan
31852169689Skan	* expr.c (store_constructor): Restore sanity check on
31853169689Skan	the size of the type before clearing.
31854169689Skan
31855169689Skan2004-05-27  Jan Hubicka  <jh@suse.cz>
31856169689Skan
31857169689Skan	* cfgbuild.c (control_flow_insn_p): Notice noreturn call
31858169689Skan
31859169689Skan2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
31860169689Skan
31861169689Skan	* combine.c (gen_binary): Remove.
31862169689Skan	(known_cond, simplify_shift_const
31863169689Skan	find_split_point, combine_simplify_rtx,
31864169689Skan	simplify_if_then_else, simplify_set,
31865169689Skan	simplify_logical, expand_field_assignment,
31866169689Skan	extract_left_shift, force_to_mode,
31867169689Skan	if_then_else_cond, apply_distributive_law,
31868169689Skan	simplify_and_const_int, simplify_shift_const,
31869169689Skan	gen_lowpart_for_combine, simplify_comparison,
31870169689Skan	reversed_comparison): Replace with
31871169689Skan	simplify_gen_binary, simplify_gen_relational or
31872169689Skan	distribute_and_simplify_rtx.
31873169689Skan	(distribute_and_simplify_rtx): New function.
31874169689Skan	* simplify-rtx.c (simplify_binary_operation):
31875169689Skan	Use nonzero_bits to simplify ANDs where we are
31876169689Skan	turning off bits already known to be off in OP0.
31877169689Skan
31878169689Skan2004-05-27  Alan Modra  <amodra@bigpond.net.au>
31879169689Skan
31880169689Skan	PR target/14478
31881169689Skan	* config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
31882169689Skan
31883169689Skan2004-05-27  Josef Zlomek  <zlomekj@suse.cz>
31884169689Skan
31885169689Skan	PR middle-end/14084
31886169689Skan	* emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
31887169689Skan	to size of decl.
31888169689Skan
31889169689Skan2004-05-26  Aldy Hernandez  <aldyh@redhat.com>
31890169689Skan
31891169689Skan	PR/14924
31892169689Skan	* config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
31893169689Skan
31894169689Skan2004-05-26  Roger Sayle  <roger@eyesopen.com>
31895169689Skan
31896169689Skan	* tree.h: Fix comment typo.
31897169689Skan
31898169689Skan2004-05-27  Steven Bosscher  <stevenb@suse.de>
31899169689Skan
31900169689Skan	* gimplify.c (compare_case_labels): New function.
31901169689Skan	(gimplify_switch_expr): Sort case labels, and make sure the
31902169689Skan	last label in the label vector is the default case.
31903169689Skan	* tree-cfg.c (group_case_labels): New function.
31904169689Skan	(build_tree_cfg): Cleanup redundant labels and group case labels
31905169689Skan	before creating edges.
31906169689Skan	(cleanup_dead_labels): Handle GOTO_EXPRs.
31907169689Skan	(find_case_label_for_value): Use a binary search to find the
31908169689Skan	case label for the given value.
31909169689Skan	* tree-gimple.c: Mention that labels are sorted, and that the
31910169689Skan	last label must be the default.
31911169689Skan
31912169689Skan2004-05-27  Jan Hubicka  <jh@suse.cz>
31913169689Skan
31914169689Skan	* cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
31915169689Skan
31916169689Skan2004-05-27  Jan Hubicka  <jh@suse.cz>
31917169689Skan
31918169689Skan	* i386.md (UNSPECV_EH_RETURN): Kill.
31919169689Skan	(eh_return): Use jump_insn.
31920169689Skan	(eh_return_si, eh_return_di): Change pattern to jump instruction.
31921169689Skan
31922169689Skan2004-05-26  Jan Hubicka  <jh@suse.cz>
31923169689Skan
31924169689Skan	* cfgcleanup.c (try_forward_edges): Do not check loop structure when
31925169689Skan	not loop optimizing.
31926169689Skan
31927169689Skan2004-05-26  Jan Hubicka  <jh@suse.cz>
31928169689Skan
31929169689Skan	* except.c (can_throw_internal): Notice RESX instructions.
31930169689Skan
31931169689Skan2004-05-26  Eric Botcazou  <ebotcazou@act-europe.fr>
31932169689Skan
31933169689Skan	* varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
31934169689Skan	of the two sizes to assemble_integer.
31935169689Skan
31936169689Skan2004-05-25  Paul Brook  <paul@codesourcery.com>
31937169689Skan
31938169689Skan	* config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
31939169689Skan	pointless #ifdef.
31940169689Skan
31941169689Skan2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
31942169689Skan
31943169689Skan	* Makefile.in (top_builddir): Define to .
31944169689Skan
31945169689Skan2004-05-25  Alexandre Oliva  <aoliva@redhat.com>
31946169689Skan
31947169689Skan	* configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
31948169689Skan	top-level detects, except when in-tree ld is being cross-built.
31949169689Skan	(gcc_cv_as): Likewise for as.  Use AS_FOR_TARGET otherwise, and
31950169689Skan	then AS only if target is host.
31951169689Skan	* configure: Rebuilt.
31952169689Skan
31953169689Skan2004-05-25  Vladimir Makarov  <vmakarov@redhat.com>
31954169689Skan
31955169689Skan	* global.c (global_alloc): Call make_accurate_live_analysis.
31956169689Skan	(record_one_conflict): Remove dead code.
31957169689Skan	(mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
31958169689Skan	(bb_info): New structure.
31959169689Skan	(BB_INFO, BB_INFO_BY_INDEX): New macros.
31960169689Skan	(allocate_bb_info, free_bb_info, mark_reg_change,
31961169689Skan	calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
31962169689Skan	modify_bb_reg_pav, calculate_reg_pav,
31963169689Skan	make_accurate_live_analysis): New functions.
31964169689Skan
31965169689Skan2004-05-25  Devang Patel  <dpatel@apple.com>
31966169689Skan
31967169689Skan	* alias.c (init_alias_analysis): Use ggc_calloc instead of
31968169689Skan	xrealloc.
31969169689Skan	(end_alias_analysis): Use ggc_free instead fo free.
31970169689Skan
31971169689Skan2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
31972169689Skan
31973169689Skan	PR target/15546
31974169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
31975169689Skan	as needed to be outputted.
31976169689Skan
31977169689Skan2004-05-25  Jan Hubicka  <jh@suse.cz>
31978169689Skan
31979169689Skan	* builtins.def (__builtin_expect): Mark the function as const&nothrow.
31980169689Skan
31981169689Skan2004-05-25  Ayal Zaks  <zaks@il.ibm.com>
31982169689Skan	Mostafa Hagog  <mustafa@il.ibm.com>
31983169689Skan
31984169689Skan	* Makefile.in (modulo-sched.o, ddg.o): New.
31985169689Skan	* ddg.h, ddg.c, modulo-sched.c: New files.
31986169689Skan	* cfglayout.c (duplicate_insn_chain): Remove "static" and push
31987169689Skan	internals to "dupicate_insn".
31988169689Skan	(duplicate_insn): New function.
31989169689Skan	* cfglayout.h (duplicate_insn_chain, duplicate_insn): New
31990169689Skan	declarations.
31991169689Skan	* common.opt (fmodulo-sched): New flag.
31992169689Skan	* df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
31993169689Skan	Remove static and forward declaration.
31994169689Skan	(df_find_def, df_reg_used, df_bb_regno_last_def_find): New
31995169689Skan	functions.
31996169689Skan	* df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
31997169689Skan	df_bb_regno_last_def_find, df_find_def, df_reg_used): New
31998169689Skan	declarations.
31999169689Skan	* flags.h (flag_modulo_sched): New flag.
32000169689Skan	* opts.c (common_handle_option): Handle modulo-sched flag.
32001169689Skan	* params.def (max-sms-loop-number, sms-max-ii-factor,
32002169689Skan	sms-dfa-history, sms-loop-average-count-threshold): New
32003169689Skan	parameters.
32004169689Skan	* params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
32005169689Skan	SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
32006169689Skan	parameters.
32007169689Skan	* passes.c ("sms", "sms-vcg"): New dumps.
32008169689Skan	(rest_of_handle_sched): Call sms_schedule.
32009169689Skan	* rtl.h (sms_schedule): New declaration.
32010169689Skan	* timevar.def (TV_SMS): New.
32011169689Skan	* toplev.c (flag_modulo_sched): Initialize.
32012169689Skan	(f_options): Handle -fmodulo-sched option.
32013169689Skan	* docs/invoke.texi: Document -fmodulo-sched & -dm options.
32014169689Skan	* docs/passes.texi: Document new SMS pass.
32015169689Skan
32016169689Skan2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
32017169689Skan
32018169689Skan	* Makefile.in (OBJS): Add rtlhooks.o.
32019169689Skan	(rtlanal.o): Depend on function.h.
32020169689Skan	(cse.o): Depend on rtlhooks-def.h.
32021169689Skan	(combine.o): Depend on rtlhooks-def.h.
32022169689Skan	(rtlhooks.o): New rule.
32023169689Skan	* combine.c: Include rtlhooks-def.h.
32024169689Skan	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
32025169689Skan	num_sign_bit_copies, cached_num_sign_bit_copies,
32026169689Skan	num_sign_bit_copies1): Move most of the code to rtlanal.c.
32027169689Skan	(reg_nonzero_bits_for_combine,
32028169689Skan	reg_num_sign_bit_copies_for_combine): New functions holding
32029169689Skan	the remnants of the above.
32030169689Skan	(combine_rtl_hooks): New.
32031169689Skan	(combine_instructions): Set rtl_hooks instead of gen_lowpart.
32032169689Skan	* cse.c: Include rtlhooks-def.h.
32033169689Skan	(cse_rtl_hooks): New.
32034169689Skan	(cse_main): Set rtl_hooks instead of gen_lowpart.
32035169689Skan	* emit-rtl.c (gen_lowpart): Remove.
32036169689Skan	(gen_lowpart_general): Move to rtlhooks.c.
32037169689Skan	* rtl.h (nonzero_bits, num_sign_bit_copies,
32038169689Skan	struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
32039169689Skan	(gen_lowpart_general): Remove.
32040169689Skan	(gen_lowpart): Temporarily redefine as a macro.
32041169689Skan	* rtlanal.c: Include function.h.
32042169689Skan	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
32043169689Skan	num_sign_bit_copies, cached_num_sign_bit_copies,
32044169689Skan	num_sign_bit_copies1): New, from combine.c.
32045169689Skan	* rtlhooks.c: New file.
32046169689Skan	* rtlhooks-def.h: New file.
32047169689Skan
32048169689Skan2004-05-25  Svein E. Seldal  <Svein.Seldal@solidas.com>
32049169689Skan
32050169689Skan	* config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
32051169689Skan	to support 32-bit -mint8 mode.
32052169689Skan
32053169689Skan	* doc/invoke.texi (-mint8): Added documentation for the -mint8
32054169689Skan	option in the AVR architecture.
32055169689Skan
32056169689Skan2004-05-24  Mike Stump  <mrs@apple.com>
32057169689Skan
32058169689Skan	* doc/install.texi: Document that dejagnu 1.4.4 is required.
32059169689Skan
32060169689Skan2004-05-24  Joseph S. Myers  <jsm@polyomino.org.uk>
32061169689Skan
32062169689Skan	* intl.h (open_quote, close_quote): New.
32063169689Skan	* intl.c (open_quote, close_quote): New.
32064169689Skan	(gcc_init_libintl): Set them.
32065169689Skan	* pretty-print.c: Include "intl.h".
32066169689Skan	(pp_base_format_text): Support 'q' format flag and %` and %'
32067169689Skan	formats.  Use ' instead of ` in comments.
32068169689Skan	* c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
32069169689Skan	gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
32070169689Skan	foramt_types_orig): Describe these new formats.
32071169689Skan	(decode_format_attr, check_function_format,
32072169689Skan	check_format_info_main): Use these new formats.
32073169689Skan	(status_warning): Use ATTRIBUTE_GCC_DIAG.
32074169689Skan	* toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
32075169689Skan	check these formats to 3.5.
32076169689Skan
32077169689Skan2004-05-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
32078169689Skan
32079169689Skan	* Makefile.in (CPPLIBS): Renamed to CPPLIB.
32080169689Skan	(BACKEND): Reflect this.
32081169689Skan	(LIBDEPS): Move CPPLIB before LIBIBERTY.
32082169689Skan	(LIBS): Likewise.
32083169689Skan
32084169689Skan2004-05-24  Ulrich Weigand  <uweigand@de.ibm.com>
32085169689Skan
32086169689Skan	PR tree-optimization/14197
32087169689Skan	* builtins.c: Include "tree-gimple.h"
32088169689Skan	(readonly_data_expr): Use get_base_address.  Make sure to call
32089169689Skan	decl_readonly_section only on trees it can handle.
32090169689Skan	* tree-gimple.c (get_base_address): Accept STRING_CST and
32091169689Skan	CONSTRUCTOR expressions.
32092169689Skan	* Makefile.in: Update dependencies.
32093169689Skan
32094169689Skan2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
32095169689Skan
32096169689Skan	Move libcpp to the toplevel.
32097169689Skan	* Makefile.in: Remove references to libcpp files,
32098169689Skan	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
32099169689Skan	and change hashtable.h to that.
32100169689Skan	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
32101169689Skan	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
32102169689Skan	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
32103169689Skan	* configure: Regenerate.
32104169689Skan	* config.in: Regenerate.
32105169689Skan	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
32106169689Skan	* cppcharset.c: Removed.
32107169689Skan	* cpperror.c: Removed.
32108169689Skan	* cppexp.c: Removed.
32109169689Skan	* cppfiles.c: Removed.
32110169689Skan	* cpphash.c: Removed.
32111169689Skan	* cpphash.h: Removed.
32112169689Skan	* cppinit.c: Removed.
32113169689Skan	* cpplex.c: Removed.
32114169689Skan	* cpplib.c: Removed.
32115169689Skan	* cpplib.h: Removed.
32116169689Skan	* cppmacro.c: Removed.
32117169689Skan	* cpppch.c: Removed.
32118169689Skan	* cpptrad.c: Removed.
32119169689Skan	* cppucnid.h: Removed.
32120169689Skan	* cppucnid.pl: Removed.
32121169689Skan	* cppucnid.tab: Removed.
32122169689Skan	* hashtable.c: Removed.
32123169689Skan	* hashtable.h: Removed.
32124169689Skan	* line-map.c: Removed.
32125169689Skan	* line-map.h: Removed.
32126169689Skan	* mkdeps.c: Removed.
32127169689Skan	* mkdeps.h: Removed.
32128169689Skan	* stringpool.h: Include symtab.h instead of hashtable.h.
32129169689Skan	* tree.h: Include symtab.h instead of hashtable.h.
32130169689Skan	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
32131169689Skan
32132169689Skan2004-05-23 Paolo Bonzini <bonzini@gnu.org>
32133169689Skan
32134169689Skan	* gcc.c (struct prefix_list): Add forward declaration.
32135169689Skan	(do_spec_path): New function, extracted from...
32136169689Skan	(do_spec_1) <'D'>: ... here.  Drop support for
32137169689Skan	SPACE_AFTER_L_OPTION.
32138169689Skan	(do_spec_1) <'I'>: Use do_spec_path.
32139169689Skan	(process_command): Do not store the 'include' suffix
32140169689Skan	in include_prefixes.
32141169689Skan	* system.h: Poison SPACE_AFTER_L_OPTION.
32142169689Skan
32143169689Skan2002-05-23  Roger Sayle  <roger@eyesopen.com>
32144169689Skan
32145169689Skan	* fold-const.c (non_lvalue): Explicitly list the tree codes that
32146169689Skan	need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
32147169689Skan
32148169689Skan2004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
32149169689Skan
32150169689Skan	* doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
32151169689Skan	Update based on printed manual.  Enable setting of offsets for
32152169689Skan	FSFPRINT and move it to gcc-common.texi.
32153169689Skan	* doc/gcc.texi: Update FSF printing details.
32154169689Skan	* doc/gccint.texi: Remove FSF printing details.
32155169689Skan
32156169689Skan2004-05-23  Andrew Pinski  <pinskia@physics.uc.edu>
32157169689Skan
32158169689Skan	* config/rs6000/t-rs6000: Remove the disabling -Werror.
32159169689Skan
32160169689Skan2004-05-22  Roger Sayle  <roger@eyesopen.com>
32161169689Skan
32162169689Skan	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
32163169689Skan	expand_builtin_strrchr, expand_builtin_strpbrk,
32164169689Skan	expand_builtin_mempcpy, expand_builtin_memcmp,
32165169689Skan	expand_builtin_strcmp, expand_builtin_strncmp,
32166169689Skan	expand_builtin_strcat, std_expand_builtin_va_start,
32167169689Skan	std_expand_builtin_va_arg, expand_builtin_va_copy,
32168169689Skan	expand_builtin_signbit, fold_builtin_cabs,
32169169689Skan	fold_builtin_logarithm, fold_builtin_mempcpy,
32170169689Skan	fold_builtin_signbit, fold_builtin_isascii,
32171169689Skan	fold_builtin_toascii, fold_builtin_isdigit,
32172169689Skan	fold_builtin_1, build_function_call_expr,
32173169689Skan	simplify_builtin_strchr, simplify_builtin_strrchr,
32174169689Skan	simplify_builtin_strpbrk, simplify_builtin_strncpy,
32175169689Skan	simplify_builtin_memcmp, simplify_builtin_strcmp,
32176169689Skan	simplify_builtin_strncmp, simplify_builtin_strncat,
32177169689Skan	simplify_builtin_strspn, simplify_builtin_strcspn,
32178169689Skan	simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
32179169689Skan	to build with calls to build2, build3 or omit_one_operand.
32180169689Skan
32181169689Skan2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
32182169689Skan
32183169689Skan	* config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
32184169689Skan	section when generating EABI code.
32185169689Skan
32186169689Skan2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
32187169689Skan
32188169689Skan	PR 15546
32189169689Skan	* config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
32190169689Skan	Call mark_decl_referenced on the SYMBOL_REF_DECL.
32191169689Skan
32192169689Skan2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
32193169689Skan
32194169689Skan	* c-common.c (c_common_truthvalue_conversion): Handle
32195169689Skan	UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
32196169689Skan	ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
32197169689Skan	i.e. set the type to truthvalue_type_node and return.
32198169689Skan
32199169689Skan2004-05-22  Zack Weinberg  <zack@codesourcery.com>
32200169689Skan
32201169689Skan	* tree.h (struct tree_decl): Add possibly_inlined bit.
32202169689Skan	(DECL_POSSIBLY_INLINED): New accessor macro.
32203169689Skan	* cgraph.h: Remove declaration of cgraph_inline_hash.
32204169689Skan	* cgraph.c: Remove definition of cgraph_inline_hash.
32205169689Skan	(hash_node): Revert to hashing DECL_UID.
32206169689Skan	(eq_node): Take two pointers to cgraph_node structures.
32207169689Skan	Compare DECL_UIDs.
32208169689Skan	(cgraph_remove_node): Pass the node directly to htab_find_slot.
32209169689Skan	(cgraph_varpool_hash_node): Rename hash_varpool_node;
32210169689Skan	hash on DECL_UID.
32211169689Skan	(eq_cgraph_varpool_node): Rename eq_varpool_node; take two
32212169689Skan	pointers to cgraph_varpool_node structures; compare DECL_UIDs.
32213169689Skan	(cgraph_node): Allocate a temporary node on the stack, fill in
32214169689Skan	its DECL field, and pass that to htab_find_slot.
32215169689Skan	(cgraph_varpool_node): Likewise.
32216169689Skan	(cgraph_function_possibly_inlined_p): If global info is ready,
32217169689Skan	return the DECL_POSSIBLY_INLINED bit.
32218169689Skan	* cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
32219169689Skan	instead of mucking with cgraph_inline_hash.
32220169689Skan
32221169689Skan2004-05-22  Joseph S. Myers  <jsm@polyomino.org.uk>
32222169689Skan
32223169689Skan	* doc/contrib.texi: Add g77 contributors.
32224169689Skan
32225169689Skan2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
32226169689Skan
32227169689Skan	* calls.c (initialize_argument_information): Forbid sibcalls if a
32228169689Skan	callee-copied argument is stored in the current function's frame.
32229169689Skan
32230169689Skan2004-05-22  Eric Christopher  <echristo@redhat.com>
32231169689Skan
32232169689Skan	* fix-header.c (read_scan_file): Update for add_path change.
32233169689Skan
32234169689Skan2004-05-22  Ben Elliston  <bje@au.ibm.com>
32235169689Skan
32236169689Skan	* c.opt (Wmissing-include-dirs): New.
32237169689Skan	* c-opts.c (c_common_handle_option): Pass true for user_supplied_p
32238169689Skan	to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
32239169689Skan	OPT_isystem. Handle case OPT_Wmissing_include_dirs.
32240169689Skan	* c-incpath.h (add_path): Add fourth (bool) argument.
32241169689Skan	* c-incpath.c (add_env_var_paths): Pass false to add_path ().
32242169689Skan	(add_standard_paths): Likewise.
32243169689Skan	(remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
32244169689Skan	is used and the directory was user-supplied via -I.
32245169689Skan	(add_path): Set p->user_supplied_p.  Remove duplicated code by
32246169689Skan	using add_cpp_dir_path ().
32247169689Skan	* cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
32248169689Skan	(struct cpp_dir): Add user_supplied_p.
32249169689Skan	* doc/invoke.texi (Warning Options): Document new option.
32250169689Skan
32251169689Skan2004-05-21  Ulrich Weigand  <uweigand@de.ibm.com>
32252169689Skan
32253169689Skan	* fold-const.c (fold_read_from_constant_string): Convert result to
32254169689Skan	requested type.
32255169689Skan
32256169689Skan2004-05-21  Richard Henderson  <rth@redhat.com>
32257169689Skan
32258169689Skan	* gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
32259169689Skan	(copy_if_shared_r): Don't copy decls, types, constants, BINDs.
32260169689Skan	Don't mark VA_ARG_EXPRs volatile here.
32261169689Skan	(gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
32262169689Skan
32263169689Skan2004-05-21  Richard Henderson  <rth@redhat.com>
32264169689Skan
32265169689Skan	* Makefile.in (tree-dump.o): Depend on tree-iterator.h.
32266169689Skan	* tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
32267169689Skan
32268169689Skan2004-05-21  Roger Sayle  <roger@eyesopen.com>
32269169689Skan
32270169689Skan	* fold-const.c (fold, fold_relational_hi_lo,
32271169689Skan	nondestructive_fold_binary_to_constant,
32272169689Skan	fold_read_from_constant_string): Use fold_convert instead of convert.
32273169689Skan	* builtins.c (simplify_builtin, simplify_builtin_strstr,
32274169689Skan	simplify_builtin_strchr, simplify_builtin_strrchr,
32275169689Skan	simplify_builtin_strpbrk): Use fold_convert instead of convert.
32276169689Skan
32277169689Skan2004-05-21  Diego Novillo  <dnovillo@redhat.com>
32278169689Skan
32279169689Skan	* tree-flow-inline.h (num_immediate_uses): Don't abort if DF
32280169689Skan	is NULL.
32281169689Skan
32282169689Skan2004-05-21  Jakub Jelinek  <jakub@redhat.com>
32283169689Skan
32284169689Skan	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
32285169689Skan	override sparc.h definition.
32286169689Skan
32287169689Skan2004-05-20  Roger Sayle  <roger@eyesopen.com>
32288169689Skan
32289169689Skan	* tree.c (array_type_nelts, save_expr, substitute_in_expr,
32290169689Skan	get_unwidened, get_narrower): Replace build with build2.
32291169689Skan	* fold-const.c (negate_expr, associate_trees, size_binop,
32292169689Skan	fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
32293169689Skan	pedantic_omit_one_operand, distribute_bit_expr,
32294169689Skan	make_bit_field_ref, optimize_bit_field_compare,
32295169689Skan	decode_field_reference, range_binop, make_range,
32296169689Skan	build_range_check, fold_range_test, fold_truthop,
32297169689Skan	optimize_minmax_comparison, extract_muldiv_1,
32298169689Skan	fold_binary_op_with_conditional_arg, fold_mathfn_compare,
32299169689Skan	fold_inf_compare, fold_single_bit_test, fold,
32300169689Skan	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
32301169689Skan	Likewise replace build with either build2 or build3.
32302169689Skan
32303169689Skan2004-05-20  Ian Lance Taylor  <ian@wasabisystems.com>
32304169689Skan
32305169689Skan	* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
32306169689Skan	* calls.c (prepare_call_address): Don't test
32307169689Skan	NO_RECURSIVE_FUNCTION_CSE.
32308169689Skan	* config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
32309169689Skan	* config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32310169689Skan	* config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32311169689Skan	* config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32312169689Skan	* config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32313169689Skan	* config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32314169689Skan	* config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32315169689Skan	* config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32316169689Skan	* config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32317169689Skan	* config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32318169689Skan	* config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32319169689Skan	* config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
32320169689Skan	Likewise.
32321169689Skan	* config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
32322169689Skan	* config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
32323169689Skan	* doc/tm.texi (Costs): Remove documentation for
32324169689Skan	NO_RECURSIVE_FUNCTION_CSE.
32325169689Skan
32326169689Skan2004-05-20  Paul Brook  <paul@codesourcery.com>
32327169689Skan
32328169689Skan	* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
32329169689Skan	* unwind-dw2.c (extract_cie_info): Ditto.
32330169689Skan	(_Unwind_FrameState): Change retaddr_column to word type.
32331169689Skan
32332169689Skan2004-05-20  Roger Sayle  <roger@eyesopen.com>
32333169689Skan
32334169689Skan	PR middle-end/3074
32335169689Skan	* fold-const.c (strip_compound_expr): Delete function.
32336169689Skan	(count_cond): Delete function.
32337169689Skan	(fold_binary_op_with_conditional_arg): Only perform transformations
32338169689Skan	"a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
32339169689Skan	when a is constant.  This greatly simplifies this routine.
32340169689Skan
32341169689Skan	* tree.c (saved_expr_p): Delete function.
32342169689Skan	* tree.h (saved_expr_p): Delete function prototype.
32343169689Skan
32344169689Skan2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
32345169689Skan
32346169689Skan	* common.opt (ftree-loop-optimize): Remove.
32347169689Skan
32348169689Skan2004-05-20  Daniel Jacobowitz  <dan@debian.org>
32349169689Skan
32350169689Skan	* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
32351169689Skan	(NM_FOR_TARGET): Use := and $(shell).
32352169689Skan	(mainversion): Remove unused variable.
32353169689Skan
32354169689Skan2004-05-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
32355169689Skan
32356169689Skan	* reorg.c (delete_from_delay_slot): If we have a barrier after the
32357169689Skan	sequence containing the insn to be deleted, always reemit it.
32358169689Skan
32359169689Skan2004-05-20  Richard Henderson  <rth@redhat.com>
32360169689Skan
32361169689Skan	PR 15454
32362169689Skan	* tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
32363169689Skan	* function.c (expand_function_start): Expand static_chain_decl by hand.
32364169689Skan	* gimplify.c (create_tmp_var_name): Export.
32365169689Skan	* tree-gimple.h (create_tmp_var_name): Declare.
32366169689Skan
32367169689Skan2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
32368169689Skan
32369169689Skan	* rs6000.c (print_operand) <case 'z'>: Call
32370169689Skan	mark_decl_referenced before assemble_name.
32371169689Skan
32372169689Skan2004-05-20  Zack Weinberg  <zack@codesourcery.com>
32373169689Skan
32374169689Skan	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
32375169689Skan	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
32376169689Skan	(cgraph_varpool_node): Hash on the pointer to the decl, not
32377169689Skan	the DECL_UID.  Fixes 64-bit bootstrap failure.
32378169689Skan
32379169689Skan2004-05-20  Richard Earnshaw <rearnsha@arm.com>
32380169689Skan
32381169689Skan	* arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
32382169689Skan	we don't earlyclobber operands used in the second insn.
32383169689Skan
32384169689Skan2004-05-20  Steven Bosscher  <stevenb@suse.de>
32385169689Skan
32386169689Skan	* tree-mudflap.c: Formatting fixes.
32387169689Skan
32388169689Skan2004-05-20  J"orn Rennecke <joern.rennecke@superh.com>
32389169689Skan
32390169689Skan	* Makefile.in (GTFILES): Add $(srcdir)/reload.h.
32391169689Skan	* gengtype.c (open_base_files): Include reload.h in ifiles.
32392169689Skan	* reload.h (reg_equiv_memory_loc_varray): Declare.
32393169689Skan	* reload1.c (reg_equiv_memory_loc_varray): New variable.
32394169689Skan	(init_reload): Initialize it.
32395169689Skan	(reload): Instead of freeing reg_equiv_memory_loc, 'grow'
32396169689Skan	reg_equiv_memory_loc_varray to size 0.
32397169689Skan	* ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
32398169689Skan	growing reg_equiv_memory_loc_varray to the desired size.
32399169689Skan	* passes.c (rest_of_handle_old_regalloc): Likewise.
32400169689Skan	* reload.c: Amend comment on calling init_reload.
32401169689Skan
32402169689Skan2004-05-20  Nick Clifton  <nickc@redhat.com>
32403169689Skan
32404169689Skan	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
32405169689Skan	with 'TRAMP' in the body of the macro definition.
32406169689Skan
32407169689Skan2004-05-19  H.J. Lu  <hongjiu.lu@intel.com>
32408169689Skan
32409169689Skan	PR target/15383
32410169689Skan	* config/ia64/ia64.c (ia64_expand_compare): Don't check
32411169689Skan	TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
32412169689Skan	cmptf_libfunc isn't set.
32413169689Skan	(ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
32414169689Skan	conventions.
32415169689Skan	(ia64_sysv4_init_libfuncs): New.
32416169689Skan
32417169689Skan	* config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
32418169689Skan	ia64_sysv4_init_libfuncs.
32419169689Skan
32420169689Skan2004-05-20  Falk Hueffner  <falk@debian.org>
32421169689Skan
32422169689Skan	PR other/15526
32423169689Skan	* libgcc2.c (__mulvsi3): Fix overflow test.
32424169689Skan
32425169689Skan2004-05-19  Andrew Pinski  <pinskia@physics.uc.edu>
32426169689Skan
32427169689Skan	PR c/14171
32428169689Skan	* reg-stack.c (nan): Rename to ...
32429169689Skan	(not_a_num): Here.
32430169689Skan	(reg_to_stack): Rename nan to not_a_num.
32431169689Skan	(subst_stack_regs_pat): Likewise.
32432169689Skan	(convert_regs_entry): Likewise.
32433169689Skan	(convert_regs_1): Likewise.
32434169689Skan
32435169689Skan	* tree-cfg.c (find_case_label_for_value): Replace call to
32436169689Skan	simple_cst_equal with tree_int_cst_equal.
32437169689Skan
32438169689Skan2004-05-19  Jeff Law <law@redhat.com>
32439169689Skan
32440169689Skan	* tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
32441169689Skan	If the operand is for a use, then strip away the SSA_NAME, do not
32442169689Skan	strip away the SSA_NAME for a set.  Never call release_ssa_name.
32443169689Skan	(mark_def_sites): Appropriately pass additional argument to
32444169689Skan	prepare_operand_for_rename.  If a VDEF_RESULT is not an SSA_NAME,
32445169689Skan	then set the VDEF_RESULT to the VDEF_OP.
32446169689Skan	(set_def_block): Strip away any SSA_NAME to get to the real
32447169689Skan	underlying variable.
32448169689Skan
32449169689Skan	* tree-ssa-phiopt.c (value_replacement): Handle the case where
32450169689Skan	the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
32451169689Skan	BB directly.
32452169689Skan
32453169689Skan2004-05-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
32454169689Skan
32455169689Skan	PR c++/15463
32456169689Skan	* loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
32457169689Skan	result of inverse.
32458169689Skan
32459169689Skan	PR rtl-optimization/15274
32460169689Skan	* loop-iv.c (determine_max_iter, shorten_into_mode,
32461169689Skan	iv_number_of_iterations): Handle constants correctly.
32462169689Skan	* rtl.h (get_mode_bounds): Declaration changed.
32463169689Skan	* stor-layout.c (get_mode_bounds): Return a constant suitable for
32464169689Skan	the target mode.
32465169689Skan
32466169689Skan	PR rtl-optimization/14692
32467169689Skan	* loop-unswitch.c (may_unswitch_on): Try folding the result.
32468169689Skan	(unswitch_single_loop): Work correctly when may_unswitch_on
32469169689Skan	returns a folded constant.
32470169689Skan
32471169689Skan	* loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
32472169689Skan	* simplify-rtx.c (simplify_const_relational_operation): Optimize
32473169689Skan	comparisons with mode bounds.
32474169689Skan
32475169689Skan	* function.c (struct temp_slot): Add new field prev.
32476169689Skan	(free_after_compilation, init_temp_slots): Free new fields.
32477169689Skan	(cut_slot_from_list, insert_slot_to_list,
32478169689Skan	temp_slots_at_level, max_slot_level, move_slot_to_level,
32479169689Skan	make_slot_available): New functions.
32480169689Skan	(assign_stack_temp_for_type, combine_temp_slots,
32481169689Skan	find_temp_slot_from_address, preserve_temp_slots,
32482169689Skan	preserve_rtl_expr_result, free_temp_slots,
32483169689Skan	free_temps_for_rtl_expr, pop_temp_slots): Work with
32484169689Skan	the new structure of lists.
32485169689Skan	(mark_all_temps_used): Removed.
32486169689Skan	* function.h (struct function): Field x_temp_slots
32487169689Skan	replaced by x_used_temp_slots and x_avail_temp_slots.
32488169689Skan	(temp_slots): Replaced by ...
32489169689Skan	(used_temp_slots, avail_temp_slots): New.
32490169689Skan	* tree.h (mark_all_temps_used): Declaration removed.
32491169689Skan
32492169689Skan	* loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
32493169689Skan	simplify_using_assignment): Take the expression out of
32494169689Skan	the expr_list wrapper.
32495169689Skan
32496169689Skan	* loop-iv.c (iv_number_of_iterations): Improve clasification of
32497169689Skan	infinite loops.
32498169689Skan
32499169689Skan2004-05-19  Roger Sayle  <roger@eyesopen.com>
32500169689Skan
32501169689Skan	* doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
32502169689Skan	costs should be based on code size when optimizing for size.
32503169689Skan
32504169689Skan2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
32505169689Skan
32506169689Skan	* fold-const.c: Remove non-printable character 160.
32507169689Skan
32508169689Skan2004-05-19  Nick Clifton  <nickc@redhat.com>
32509169689Skan
32510169689Skan	* doc/invoke.texi (ARM Options): Fix typo.
32511169689Skan	Remove descrption of -mshort-load-bytes and
32512169689Skan	-mno-short-load-bytes.
32513169689Skan
32514169689Skan	* config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
32515169689Skan	missing parenthesis.
32516169689Skan	* config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
32517169689Skan	* config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
32518169689Skan
32519169689Skan2004-05-19  Steven Bosscher  <stevenb@suse.de>
32520169689Skan
32521169689Skan	* expr.c (store_constructor): Build loop start and end by hand
32522169689Skan	instead of via loop functions from stmt.c.
32523169689Skan	(expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
32524169689Skan	Remove the code to expand them.
32525169689Skan
32526169689Skan	* stmt.c (loop_stack): Remove this and everything related.
32527169689Skan	(struct nesting, enum nesting_desc): Update.
32528169689Skan	(expand_fixup): Likewise.
32529169689Skan	(expand_loop_start, expand_start_loop_continue_elsewhere,
32530169689Skan	expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
32531169689Skan	expand_end_null_loop, expand_continue_loop, expand_exit_loop,
32532169689Skan	expand_exit_loop_if_false, expand_exit_loop_top_cond,
32533169689Skan	expand_exit_something): Remove.
32534169689Skan	* tree.h: Remove prototypes.
32535169689Skan
32536169689Skan2004-05-18  Mike Stump  <mrs@apple.com>
32537169689Skan	    Devang Patel  <dpatel@apple.com>
32538169689Skan
32539169689Skan	* doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
32540169689Skan	if this label is for eh.
32541169689Skan	* config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
32542169689Skan	* config/darwin.c (darwin_emit_unwind_label): Likewise.
32543169689Skan	* dwarf2out.c (output_call_frame_info): Likewise.
32544169689Skan	* output.h (default_emit_unwind_label): Likewise.
32545169689Skan	* target.h (unwind_label): Likewise.
32546169689Skan	* varasm.c (default_emit_unwind_label): Likewise.
32547169689Skan
32548169689Skan	* config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
32549169689Skan	DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
32550169689Skan	DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
32551169689Skan	DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
32552169689Skan	DEBUG_RANGES_SECTION): Define.
32553169689Skan
32554169689Skan2004-05-18  Zack Weinberg  <zack@codesourcery.com>
32555169689Skan
32556169689Skan	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
32557169689Skan	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
32558169689Skan	(cgraph_varpool_node):
32559169689Skan	Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
32560169689Skan	(cgraph_function_possibly_inlined_p): Use the decl itself for
32561169689Skan	the key, not DECL_ASSEMBLER_NAME.
32562169689Skan	(change_decl_assembler_name): No need to muck with the hash tables.
32563169689Skan	(cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
32564169689Skan	Delete.
32565169689Skan	* cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
32566169689Skan	for the key, not DECL_ASSEMBLER_NAME.
32567169689Skan	* cgraph.h: Remove prototypes of deleted functions.
32568169689Skan	* varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
32569169689Skan	(mark_decl_referenced): New function.
32570169689Skan	* tree.h: Prototype mark_decl_referenced.
32571169689Skan	* final.c (output_addr_const) <case SYMBOL_REF>: Call
32572169689Skan	mark_decl_referenced before assemble_name.
32573169689Skan	* c-decl.c (finish_decl): Use mark_decl_referenced.
32574169689Skan
32575169689Skan2004-05-18  Andrew Pinski  <pinskia@physics.uc.edu>
32576169689Skan	    Jeff Law <law@redhat.com>
32577169689Skan
32578169689Skan	* tree-ssa-phiopt.c (abs_replacement): New function.
32579169689Skan	(empty_block_p): New function extracted from...
32580169689Skan	(candidate_bb_for_phi_optimization): Break out empty block test.
32581169689Skan	(conditional_replacement): Use empty_block_p.
32582169689Skan	(value_replacement): Similarly.
32583169689Skan
32584169689Skan	* Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
32585169689Skan	* tree-ssa-phiopt.c: Include flags.h.
32586169689Skan	(conditional_replacement): Remove argument names from prototype.
32587169689Skan	Minor formatting and comment fixes.
32588169689Skan	(tree_ssa_phiopt): If conditional_replacement returns false, then
32589169689Skan	call value_replacement.
32590169689Skan	(value_replacement): New function.
32591169689Skan
32592169689Skan2004-05-18  Jeff Law  <law@redhat.com>
32593169689Skan
32594169689Skan	* tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
32595169689Skan	from conditional_replacement.
32596169689Skan	(candidate_bb_for_phi_optimization): Similarly.
32597169689Skan	(conditional_replacement): Use replace_phi_with_stmt and
32598169689Skan	candidate_bb_for_phi_optimization.
32599169689Skan
32600169689Skan	* tree-ssa-phiopt.c: Fix various formatting issues.
32601169689Skan
32602169689Skan2004-05-18  Steven Bosscher  <stevenb@suse.de>
32603169689Skan
32604169689Skan	* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
32605169689Skan	s390_expand_cmpmem): Do not use expand_start_loop and
32606169689Skan	expand_end_loop, instead build the loop manually.
32607169689Skan
32608169689Skan2004-05-18  Alan Modra  <amodra@bigpond.net.au>
32609169689Skan
32610169689Skan	* config/rs6000/rs6000.md (ctrsi_internal3): Delete.
32611169689Skan	(ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
32612169689Skan
32613169689Skan2004-05-17  Jeff Law  <law@redhat.com>
32614169689Skan
32615169689Skan	* toplev.h (flag_delete_null_pointer_checks): Move from here to...
32616169689Skan	* flags.h (flag_delete_null_pointer_checks): Here.
32617169689Skan	* tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
32618169689Skan	* tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
32619169689Skan	(add_phi_arg, remove_phi_arg_num): Similarly.
32620169689Skan	* tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
32621169689Skan	property into PHI nodes.
32622169689Skan	* tree-ssa-dom.c: Remove redundant inclusion of flags.h.
32623169689Skan	(record_equivalences_from_phis): If all PHI arguments are known to be
32624169689Skan	nonzero, then the result must be nonzero as well.
32625169689Skan	(cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
32626169689Skan	(record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
32627169689Skan	appropriately.  Walk the USE-DEF chains and propagate nonzero property
32628169689Skan	as appropriate.
32629169689Skan	* tree.h (PHI_ARG_NONZERO): Define.
32630169689Skan	(phi_arg_d): Add nonzero flag.
32631169689Skan
32632169689Skan2004-05-17  Zack Weinberg  <zack@codesourcery.com>
32633169689Skan
32634169689Skan	* f: Entire directory removed
32635169689Skan
32636169689Skan	* c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
32637169689Skan	(CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
32638169689Skan	(g77_integer_type_node, g77_uinteger_type_node)
32639169689Skan	(g77_longint_type_node, or g77_ulongint_type_node): Delete.
32640169689Skan	* c-common.c (c_common_nodes_and_builtins): Do not initialize
32641169689Skan	the above set of variables.
32642169689Skan
32643169689Skan	* config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
32644169689Skan	* doc/invoke.texi, doc/standards.texi: Remove cross-references
32645169689Skan	to g77 manual.
32646169689Skan
32647169689Skan2004-05-17  Steven Bosscher  <stevenb@suse.de>
32648169689Skan
32649169689Skan	PR tree-optimization/15438
32650169689Skan	* tree-ssa-operands.c (get_expr_operands): Do not treat malloc
32651169689Skan	attributed functions as pure or const.
32652169689Skan
32653169689Skan2004-05-17  Frank Ch. Eigler  <fche@redhat.com>
32654169689Skan
32655169689Skan	* tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
32656169689Skan	from source code with errors.
32657169689Skan
32658169689Skan2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
32659169689Skan
32660169689Skan	Enable tree browser for all front ends.
32661169689Skan	* Makefile.in (cc1): Moved @TREEBROWSER@ from here...
32662169689Skan	(BACKEND): ...to here.
32663169689Skan
32664169689Skan2004-05-17  Jan Hubicka  <jh@suse.cz>
32665169689Skan
32666169689Skan	* i386.c (construct_container): Do not produce BLKmode registers.
32667169689Skan	(classify_argument): Properly compute alignment of complex types.
32668169689Skan
32669169689Skan2004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
32670169689Skan
32671169689Skan	PR target/15084
32672169689Skan	* config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
32673169689Skan	and renamed to movdi_insv_1_rex64.
32674169689Skan	(insv): Support SImode for 32bit and DImode for 64bit.
32675169689Skan
32676169689Skan2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
32677169689Skan
32678169689Skan	* config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
32679169689Skan	(TARGET_SWITCHES): Remove debugg.
32680169689Skan	* config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
32681169689Skan	TARGET_64BIT.
32682169689Skan	(subdi3): Replace the define_expand with a define_insn, the latter
32683169689Skan	renamed from subdi3_internal_3.
32684169689Skan	(negdi2): Likewise negdi2_internal_2.
32685169689Skan	(adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
32686169689Skan	(ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
32687169689Skan	and associated define_splits.
32688169689Skan	(adddi3_internal): Renamed from adddi3_internal_3.
32689169689Skan	(ashldi3_internal): Likewise ashldi3_internal4.
32690169689Skan	(ashrdi3_internal): Likewise ashrdi3_internal4.
32691169689Skan	(lshrdi3_internal): Likewise lshrdi3_internal4.
32692169689Skan
32693169689Skan2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
32694169689Skan
32695169689Skan	* optabs.c (expand_unop): Try implementing negation using subtraction
32696169689Skan	from zero.
32697169689Skan
32698169689Skan2004-05-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
32699169689Skan
32700169689Skan	* pa.md: Fix typo from last change.  Remove DFmode move to and from
32701169689Skan	SAR register.
32702169689Skan
32703169689Skan2004-05-16  Richard Earnshaw  <rearnsha@arm.com>
32704169689Skan
32705169689Skan	PR target/10982
32706169689Skan	* arm.md (ne_zeroextractsi): Convert to insn-and-split.
32707169689Skan	(ne_zeroextractsi_shifted): New pattern.
32708169689Skan	(ite_ne_zeroextractsi): New pattern.
32709169689Skan	(ite_ne_zeroextractsi_shifted): New pattern.
32710169689Skan
32711169689Skan2004-05-15  Steven Bosscher  <stevenb@suse.de>
32712169689Skan
32713169689Skan	* c-gimplify.c (c_genericize):
32714169689Skan	Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
32715169689Skan	* c-parse.in <expr_no_commas>: Likewise.
32716169689Skan	<if_prefix>: Likewise.
32717169689Skan	<select_or_iter_stmt>: Likewise.
32718169689Skan	* expr.c (expand_var, expand_expr_real_1): Likewise.
32719169689Skan	* expr.h (expand_expr): Make it a static inline function.
32720169689Skan	Move prototype for expand_expr_real up before this.
32721169689Skan	* fold-const.c (fold_relational_hi_lo, fold_relational_const):
32722169689Skan	Likewise.
32723169689Skan	* gimplify.c (gimple_boolify, gimplify_addr_expr,
32724169689Skan	gimplify_asm_expr, gimplify_expr): Likewise.
32725169689Skan	* tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
32726169689Skan	dump_function_to_file): Likewise.
32727169689Skan	* tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
32728169689Skan	* tree-inline.c (remap_block, save_body, walk_tree): Likewise.
32729169689Skan	* tree-into-ssa.c (dump_tree_ssa): Likewise.
32730169689Skan	* tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
32731169689Skan	Likewise.
32732169689Skan	* tree-optimize.c (execute_one_pass): Likewise.
32733169689Skan	* tree-pretty-print.c (dump_generic_bb_buff): Likewise.
32734169689Skan	* tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
32735169689Skan
32736169689Skan	* objc/objc-act.c (objc_build_try_enter_fragment,
32737169689Skan	objc_build_try_epilogue, objc_build_catch_stmt,
32738169689Skan	objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
32739169689Skan	with lang_hooks.foo ().
32740169689Skan
32741169689Skan2004-05-15  Roger Sayle  <roger@eyesopen.com>
32742169689Skan
32743169689Skan	* builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
32744169689Skan	that simplify_builtin doesn't destructively modify its argument.
32745169689Skan
32746169689Skan2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
32747169689Skan
32748169689Skan	* arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
32749169689Skan	implementations for ARM and Thumb.
32750169689Skan	* arm/t-arm-elf (LIB1ASMFUNCS): Use them.
32751169689Skan
32752169689Skan2004-05-15  Thomas Quinot  <quinot@act-europe.fr>
32753169689Skan
32754169689Skan	* prefix.c (update_path): Replace PREFIX with KEY only
32755169689Skan	when it matches a full directory name in PATH.
32756169689Skan
32757169689Skan2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
32758169689Skan
32759169689Skan	* arm.h (TARGET_APCS_32): Delete.
32760169689Skan	(TARGET_MMU_TRAPS): Delete.
32761169689Skan	(TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__.  Never
32762169689Skan	define __APCS_26__.
32763169689Skan	(CPP_SPEC): Remove checking of -mapcs-{26,32}.
32764169689Skan	(ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
32765169689Skan	(TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
32766169689Skan	(prog_mode_type): Delete.
32767169689Skan	(PROMOTE_MODE): Always promote unsigned for HImode.
32768169689Skan	(SECONDARY_INPUT_RELOAD_CLASS): Simplify.
32769169689Skan	(MASK_RETURN_ADDR): Simplify.
32770169689Skan	* arm.c (arm_prgmode): Delete.
32771169689Skan	(arm_override_options, arm_gen_rotated_half_load): Simplify.
32772169689Skan	(print_multi_reg, output_return_instruction): Simplify.
32773169689Skan	(arm_output_epilogue, arm_final_prescan_insn): Simplify.
32774169689Skan	(arm_return_addr): Simplify.
32775169689Skan	* arm.md (prog_mode): Delete.
32776169689Skan	(conds): Simplify.
32777169689Skan	(zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
32778169689Skan	(rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
32779169689Skan	(loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
32780169689Skan	(loadhi_shiftpredec): Delete.
32781169689Skan	(peephole for post-increment on HImode load): Delete.
32782169689Skan	* arm/crtn.asm: (FUNC_END): Simplify.
32783169689Skan	* arm/lib1funcs.asm: Remove APCS-26 return macros.
32784169689Skan	* arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
32785169689Skan	* arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
32786169689Skan	* arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
32787169689Skan	MULTILIB_DEFAULTS as required.
32788169689Skan	* arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
32789169689Skan	* arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
32790169689Skan	variables as required.
32791169689Skan	* doc/invoke.texi (ARM Options): Remove obsolete flags.
32792169689Skan
32793169689Skan2004-05-15  Alan Modra  <amodra@bigpond.net.au>
32794169689Skan
32795169689Skan	* config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
32796169689Skan	UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
32797169689Skan	count to 8 to handle n_reg > 2.
32798169689Skan
32799169689Skan2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
32800169689Skan
32801169689Skan	* doc/extend.texi: Update WG14 URL.
32802169689Skan
32803169689Skan2004-05-15  Steven Bosscher  <stevenb@suse.de>
32804169689Skan
32805169689Skan	* basic-block.h (life_analysis, delete_noop_moves):
32806169689Skan	Update prototypes.
32807169689Skan	* bt-load.c (branch_target_load_optimize): Don't take the
32808169689Skan	insns stream as an argument.  Update the life_analysis calls.
32809169689Skan	* combine.c (combine_instructions): Update delete_noop_moves
32810169689Skan	calls.
32811169689Skan	* flow.c (notice_stack_pointer_modification): Don't take the
32812169689Skan	insns stream as an argument.  Work on the flow graph.
32813169689Skan	(life_analysis): Likewise.
32814169689Skan	(delete_noop_moves): Likewise.
32815169689Skan	* passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
32816169689Skan	(rest_of_handle_life): Update life_analysis call.
32817169689Skan	(rest_of_compilation): Likewise, and also update
32818169689Skan	branch_target_load_optimize call.
32819169689Skan	* ra.c (reg_alloc): Update life_analysis call.
32820169689Skan	* reg-stack.c (reg_to_stack): Likewise.  Also, don't take
32821169689Skan	the insns stream as an argument.
32822169689Skan	* regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
32823169689Skan	call.
32824169689Skan	* rtl.c (branch_target_load_optimize, reg_to_stack): Update
32825169689Skan	prototypes.
32826169689Skan	* value-profile.c (branch_prob): Update life_analysis call.
32827169689Skan	* web.c (web_main): Work on the CFG, not on the insns stream.
32828169689Skan
32829169689Skan	* config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
32830169689Skan	* config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
32831169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
32832169689Skan
32833169689Skan2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
32834169689Skan
32835169689Skan	PR c/15444
32836169689Skan	* c-format.c (avoid_dollar_number): New function.
32837169689Skan	(check_format_info_main): Call avoid_dollar_number when operand
32838169689Skan	numbers might occur but has_operand_number == 0.
32839169689Skan
32840169689Skan2004-05-14  Richard Earnshaw  <rearnsha@arm.com>
32841169689Skan
32842169689Skan	* arm.md (all peephole2 patterns): Use predicates that validate
32843169689Skan	register classes as appropriate.
32844169689Skan
32845169689Skan2004-05-14  Steven Bosscher  <stevenb@suse.de>
32846169689Skan
32847169689Skan	PR opt/14472
32848169689Skan	* tree-tailcall.c (process_assignment): Use STRIP_NOPS to
32849169689Skan	ignore type conversions that do not inhibit tail calling.
32850169689Skan	(find_tail_calls): Likewise.
32851169689Skan
32852169689Skan2004-05-14  Jeff Law  <law@redhat.com>
32853169689Skan
32854169689Skan	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
32855169689Skan	bother marking bypassed virtuals for out-of-ssa.  Instead merge
32856169689Skan	bypassed virtuals into vars_to_rename just before into-ssa pass.
32857169689Skan
32858169689Skan	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
32859169689Skan	so that it picks up more opportunities to eliminate ABS expressions
32860169689Skan	or turn them into negations.
32861169689Skan
32862169689Skan2004-05-14  Steven Bosscher  <stevenb@suse.de>
32863169689Skan
32864169689Skan	* passes.c (rest_of_handle_null_pointer): Remove.
32865169689Skan	(rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
32866169689Skan	(rest_of_compilation): Likewise.
32867169689Skan	* rtl.h (delete_null_pointer_checks): Remove prototype.
32868169689Skan	* gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
32869169689Skan	Remove declarations.
32870169689Skan	(get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
32871169689Skan	compute_kill_rd, compute_rd, alloc_avail_expr_mem,
32872169689Skan	free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
32873169689Skan	expr_reaches_here_p, computing_insn, def_reaches_here_p,
32874169689Skan	can_disregard_other_sets, handle_avail_expr, classic_gcse,
32875169689Skan	one_classic_gcse_pass, invalidate_nonnull_info,
32876169689Skan	delete_null_pointer_checks_1, delete_null_pointer_checks,
32877169689Skan	expr_reached_here_p_work): Remove.
32878169689Skan	(gcse_main): Do not perform classic GCSE when optimizing for size.
32879169689Skan	(alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
32880169689Skan	are never used.
32881169689Skan
32882169689Skan2004-05-14  Andrew Pinski  <pinskia@physics.uc.edu>
32883169689Skan
32884169689Skan	PR optimization/14466
32885169689Skan	* tree-complex.c (make_temp): Remove.
32886169689Skan	(gimplify_val): Replace make_temp with make_rename_temp
32887169689Skan	and add NULL as the second argument.
32888169689Skan	(expand_complex_div_wide): Likewise.
32889169689Skan	* tree-dfa.c (make_rename_temp): New function.
32890169689Skan	* tree-flow.h (make_rename_temp): Declare.
32891169689Skan	* tree-sra.c (make_temp): Remove.
32892169689Skan	(lookup_scalar): Replace make_temp with make_rename_temp.
32893169689Skan	(create_scalar_copies): Likewise.
32894169689Skan	* tree-ssa-phiopt.c (conditional_replacement): When we
32895169689Skan	get non gimple create a temporary variable to hold the
32896169689Skan	casted expression.
32897169689Skan
32898169689Skan2004-05-14  Paul Brook  <paul@codesourcery.com>
32899169689Skan
32900169689Skan	* stor-layout.c (update_alignment_for_field): Use
32901169689Skan	targetm.align_anon_bitfield.
32902169689Skan	* target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
32903169689Skan	(TARGET_INITIALIZER): Use it.
32904169689Skan	* target.h (struct gcc_target): Add align_anon_bitfield.
32905169689Skan	* config/arm/arm.c (arm_align_anon_bitfield): New function.
32906169689Skan	(TARGET_ALIGN_ANON_BITFIELD): Define.
32907169689Skan	* doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
32908169689Skan
32909169689Skan2004-05-13  Zack Weinberg  <zack@codesourcery.com>
32910169689Skan
32911169689Skan	* tree.def (documentation): Remove mention of class 'b'.
32912169689Skan	(BLOCK): Now in class 'x'.
32913169689Skan	* c-common.c (verify_tree): Remove case 'b'.
32914169689Skan	* c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
32915169689Skan	* calls.c (calls_function_1): Control cannot get past the switch
32916169689Skan	when exp is a BLOCK.
32917169689Skan	* print-tree.c (print_node): Move code for class 'b' to the class
32918169689Skan	'c'/'x' switch, as case BLOCK.
32919169689Skan	* tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
32920169689Skan	(unsafe_for_reeval, substitute_placeholder_in_expr)
32921169689Skan	(stabilize_reference_1): Remove case 'b'.
32922169689Skan	* tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
32923169689Skan	of something being 'b' to tests for TREE_CODE of something being
32924169689Skan	BLOCK.
32925169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
32926169689Skan
32927169689Skan2004-05-13  Diego Novillo  <dnovillo@redhat.com>
32928169689Skan
32929169689Skan	* tree-gimple.c: Rename from tree-simple.c.
32930169689Skan	* tree-gimple.h: Rename from tree-simple.h.
32931169689Skan	* c-gimplify.c: Rename from c-simplify.c
32932169689Skan	* Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
32933169689Skan	langhooks.c, tree-alias-ander.c, tree-alias-common.c,
32934169689Skan	tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
32935169689Skan	tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
32936169689Skan	tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
32937169689Skan	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
32938169689Skan	tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
32939169689Skan	Update.
32940169689Skan
32941169689Skan2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
32942169689Skan
32943169689Skan	* doc/sourcebuild.texi: Mention libbanshee and libmudflap.
32944169689Skan
32945169689Skan2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
32946169689Skan
32947169689Skan	* tree-ssa.c (delete_tree_ssa): XFREE
32948169689Skan	bitmaps allocated with BITMAP_XMALLOC.
32949169689Skan
32950169689Skan	* tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
32951169689Skan	idfs_cache at the end of the function.
32952169689Skan
32953169689Skan	* tree-ssa-live.c (calculate_live_on_entry): Free saw_def
32954169689Skan	at the end of the function.
32955169689Skan
32956169689Skan	* tree-ssa-dce.c (perform_tree_ssa_dce): Free
32957169689Skan	el at the end of the function.
32958169689Skan
32959169689Skan	* tree-into-ssa.c (insert_phi_nodes_for): XFREE
32960169689Skan	bitmaps allocated with BITMAP_XMALLOC.
32961169689Skan
32962169689Skan	* loop-unswitch.c (unswitch_single_loop): Free bbs at
32963169689Skan	the end.
32964169689Skan
32965169689Skan	* final.c (shorten_branches): Free uid_shuid before
32966169689Skan	reallocating it.
32967169689Skan
32968169689Skan	* bb-reoder.c (connect_traces): Free cold_traces at the end.
32969169689Skan
32970169689Skan2004-05-13  Jeff Law  <law@redhat.com>
32971169689Skan
32972169689Skan	* tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
32973169689Skan	variables.  Simplify slightly by using USE_OP/DEF_OP instead
32974169689Skan	of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
32975169689Skan
32976169689Skan	* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
32977169689Skan	rather than iterating through the blocks testing each bit in
32978169689Skan	livein to initialize the worklist.
32979169689Skan	(mark_def_sites): Remove useless checks of KILLS for virtual
32980169689Skan	operands.
32981169689Skan
32982169689Skan	* tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
32983169689Skan	new parameters for the statement and variable worklist as well
32984169689Skan	as a bitmap of interesting SSA_NAMEs.  Walk over the statement
32985169689Skan	worklist recording interesting variables in the variable worklist
32986169689Skan	and bitmap.  Handle casts between integral and boolean types.
32987169689Skan	(substitute_single_use_vars): Accept new parameters for the statement
32988169689Skan	and variable worklist.  When a substitution is made add a new
32989169689Skan	entry to the statement worklist.  Handle casts between integral
32990169689Skan	and boolean types.
32991169689Skan	(tree_ssa_forward_propagate_single_use_vars): Rework to pass
32992169689Skan	worklists to children.  Iterate until the statement worklist
32993169689Skan	is empty.
32994169689Skan
32995169689Skan2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
32996169689Skan
32997169689Skan	* tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
32998169689Skan	the end of the block.
32999169689Skan
33000169689Skan	* tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
33001169689Skan	with BITMAP_XMALLOC.
33002169689Skan
33003169689Skan	* tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
33004169689Skan	with BITMAP_XMALLOC.
33005169689Skan
33006169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
33007169689Skan	Free nonzero_vars at the end of the function.
33008169689Skan
33009169689Skan	* convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
33010169689Skan	need to generate code instead of a NOP_EXPR.
33011169689Skan
33012169689Skan2004-05-13  Ian Lance Taylor  <ian@wasabisystems.com>
33013169689Skan
33014169689Skan	* gcc.c (default_compilers): Fill out initializers for new Fortran
33015169689Skan	entries.
33016169689Skan
33017169689Skan2004-05-13  Paul Brook  <paul@codesourcery.com>
33018169689Skan
33019169689Skan	* config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
33020169689Skan
33021169689Skan2004-05-13  Paul Brook  <paul@codesourcery.com>
33022169689Skan
33023169689Skan	* config/arm/arm.c (arm_default_short_enums): New function.
33024169689Skan	(TARGET_DEFAULT_SHORT_ENUMS): Define.
33025169689Skan
33026169689Skan2004-05-13  Diego Novillo  <dnovillo@redhat.com>
33027169689Skan
33028169689Skan	Merge from tree-ssa-20020619-branch.
33029169689Skan
33030169689Skan	* Makefile.in (reload1.o-warn): Add.
33031169689Skan	(tree-alias-ander.o-warn): Add.
33032169689Skan	(GMPLIBS): Define.
33033169689Skan	(GMPINC): Define.
33034169689Skan	(BANSHEELIB): Define.
33035169689Skan	(BANSHEEINC): Define.
33036169689Skan	(TREE_DUMP_H): Define.
33037169689Skan	(TREE_SIMPLE_H): Define.
33038169689Skan	(TREE_FLOW_H): Define.
33039169689Skan	(LIBDEPS): Add BANSHEELIB.
33040169689Skan	(INCLUDES): Add BANSHEEINC and GMPINC.
33041169689Skan	(C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
33042169689Skan	c-mudflap.o and c-pretty-print.o.
33043169689Skan	(C_OBJS): Remove c-pretty-print.o.
33044169689Skan	(OBJS-common): Remove sibcall.o.
33045169689Skan	Add tree-cfg.o, tree-dfa.o, tree-eh.o,
33046169689Skan	tree-ssa.o, tree-optimize.o, tree-simple.o,
33047169689Skan	tree-alias-type.o, gimplify.o, tree-pretty-print.o,
33048169689Skan	tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
33049169689Skan	tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
33050169689Skan	tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
33051169689Skan	tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
33052169689Skan	tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
33053169689Skan	tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
33054169689Skan	tree-tailcall.o, gimple-low.o, tree-iterator.o,
33055169689Skan	tree-phinodes.o, tree-ssanames.o, tree-sra.o,
33056169689Skan	tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
33057169689Skan	tree-profile.o.
33058169689Skan	(OBJC-archive): Add tree-nomudflap.o.
33059169689Skan	(cc1): Add dependency on @TREEBROWSER@.
33060169689Skan	(c-decl.o): Add dependency on TREE_DUMP_H.
33061169689Skan	(c-dump.o): Likewise.
33062169689Skan	(c-common.o): Add dependency on tree-iterator.h
33063169689Skan	(c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
33064169689Skan	(gtype-desc.o): Add dependency on TREE_FLOW_H.
33065169689Skan	(tree.o): Add dependency on tree-iterator.h,
33066169689Skan	BASIC_BLOCK_H and TREE_FLOW_H.
33067169689Skan	(tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
33068169689Skan	(langhooks.o): Add dependency on TREE_SIMPLE_H.
33069169689Skan	(tree-alias-type.o, tree-alias-ander.o,
33070169689Skan	tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
33071169689Skan	tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
33072169689Skan	tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
33073169689Skan	tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
33074169689Skan	domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
33075169689Skan	tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
33076169689Skan	tree-nested.o, tree-iterator.o, tree-dfa.o,
33077169689Skan	tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
33078169689Skan	tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
33079169689Skan	gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
33080169689Skan	tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
33081169689Skan	tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
33082169689Skan	tree-sra.o, tree-complex.o, tree-profile.o,
33083169689Skan	rtl-profile.o): New rules.
33084169689Skan	(function.o): Add dependency on basic-block.h
33085169689Skan	(expr.o): Add dependency on tree-iterator.h.
33086169689Skan	(sibcall.o): Remove.
33087169689Skan	(profile.o): Depend on TREE_FLOW_H instead of TREE_H.
33088169689Skan	(cfg.o): Add dependency on TIMEVAR_H.
33089169689Skan	(cfghooks.o): Add dependency on TREE_FLOW_H.
33090169689Skan	(reg-stack.o): Add dependency on basic-block.h.
33091169689Skan	(GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
33092169689Skan	c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
33093169689Skan	tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
33094169689Skan	tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
33095169689Skan	tree-alias-type.h, tree-alias-common.h,
33096169689Skan	tree-alias-type.c, tree-alias-common.c,
33097169689Skan	tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
33098169689Skan	rtl-profile.c and tree-nested.c.
33099169689Skan	(gt-tree-alias-common.h, gt-tree-mudflap.h,
33100169689Skan	gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
33101169689Skan	gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
33102169689Skan	gt-tree-cfg.h, gt-tree-nested.h): New rules.
33103169689Skan	(TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
33104169689Skan	* basic-block.h: Include predict.h
33105169689Skan	(struct edge_def): Add GTY marker.
33106169689Skan	Change field 'insns' to be a union of tree and rtx.
33107169689Skan	(EDGE_TRUE_VALUE): Define.
33108169689Skan	(EDGE_FALSE_VALUE): Define.
33109169689Skan	(EDGE_EXECUTABLE): Define.
33110169689Skan	(struct bb_ann_d): Forward declare.
33111169689Skan	(struct basic_block_def): Add GTY marker.
33112169689Skan	Remove fields head_tree and end_tree.
33113169689Skan	Add fields stmt_list, rbi and tree_annotations.
33114169689Skan	(struct reorder_block_def): Define.
33115169689Skan	(basic_block_info): Add GTY marker.
33116169689Skan	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
33117169689Skan	variables instead of macros.
33118169689Skan	(flow_call_edges_add): Remove declaration.
33119169689Skan	(make_eh_edge): Remove declaration.
33120169689Skan	(brief_dump_cfg, find_edge, tree_predicted_by_p,
33121169689Skan	rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
33122169689Skan	predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
33123169689Skan	cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
33124169689Skan	alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
33125169689Skan	(try_redirect_by_replacing_jump): Modfiy return type to
33126169689Skan	edge instead of bool.
33127169689Skan	* bb-reorder.c (copy_bb): Call duplicate_block
33128169689Skan	instead of cfg_layout_duplicate_bb.
33129169689Skan	(copy_bb_p): Call can_duplicate_block_p instead of
33130169689Skan	cfg_layout_can_duplicate_bb_p.
33131169689Skan	* bitmap.c (bitmap_first_set_bit): Abort if word
33132169689Skan	wasn't found.
33133169689Skan	(bitmap_last_set_bit): Likewise.
33134169689Skan	* builtin-types.def (DEF_FUNCTION_TYPE_2): Add
33135169689Skan	(DEF_FUNCTION_TYPE_3): Add.
33136169689Skan	* builtins.c (c_strlen): Make extern.
33137169689Skan	(builtin_save_expr): New.
33138169689Skan	(expand_builtin_nonlocal_goto): New.
33139169689Skan	(expand_builtin_constant_p): Remove.
33140169689Skan	(expand_builtin_mathfn): Call builtin_save_expr instead
33141169689Skan	of save_expr.
33142169689Skan	(expand_builtin_mathfn_2): Likewise.
33143169689Skan	(expand_builtin_strcmp): Likewise.
33144169689Skan	(expand_builtin_strncmp): Likewise.
33145169689Skan	(expand_builtin_strcat): Likewise.
33146169689Skan	(fold_builtin_cabs): Likewise.
33147169689Skan	(expand_builtin_alloca): Don't trigger if -fmudflap is
33148169689Skan	given.
33149169689Skan	(build_string_literal): Set TREE_INVARIANT on new node.
33150169689Skan	(expand_builtin_profile_fun): New.
33151169689Skan	(round_trampoline_addr): New.
33152169689Skan	(expand_builtin_init_trampoline): New.
33153169689Skan	(expand_builtin_adjust_trampoline): New.
33154169689Skan	(expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
33155169689Skan	<BUILT_IN_CONSTANT_P>: Return const0_rtx;
33156169689Skan	<BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
33157169689Skan	BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
33158169689Skan	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
33159169689Skan	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
33160169689Skan	Handle.
33161169689Skan	(fold_builtin_expect): New.
33162169689Skan	(fold_builtin_isascii): Don't return non-constant results
33163169689Skan	in GIMPLE form.
33164169689Skan	(fold_builtin_isdigit): Likewise.
33165169689Skan	(fold_builtin_1): New.
33166169689Skan	(fold_builtin): Call it.
33167169689Skan	(build_function_call_expr): Update call to build a new
33168169689Skan	CALL_EXPR.
33169169689Skan	(purge_builtin_constant_p): Remove.
33170169689Skan	(simplify_builtin, simplify_builtin_memcmp,
33171169689Skan	simplify_builtin_strcmp, simplify_builtin_strncmp,
33172169689Skan	simplify_builtin_strpbrk, simplify_builtin_strstr,
33173169689Skan	simplify_builtin_strchr, simplify_builtin_strrchr,
33174169689Skan	simplify_builtin_strcat, simplify_builtin_strncat,
33175169689Skan	simplify_builtin_strspn, simplify_builtin_strcspn,
33176169689Skan	simplify_builtin_next_arg, simplify_builtin_va_start,
33177169689Skan	simplify_builtin_sprintf): New.
33178169689Skan	* builtins.def (BUILT_IN_STACK_ALLOC,
33179169689Skan	BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
33180169689Skan	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
33181169689Skan	BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
33182169689Skan	BUILT_IN_PROFILE_FUNC_EXIT): Define.
33183169689Skan	* c-common.c: Include tree-iterator.h and hashtab.h.
33184169689Skan	(lang_statement_code_p): Declare.
33185169689Skan	(lang_gimplify_stmt): Declare.
33186169689Skan	(fix_string_type): Set TREE_INVARIANT for value.
33187169689Skan	(pointer_int_sum): Rely on build to set TREE_CONSTANT.
33188169689Skan	(c_type_hash): New.
33189169689Skan	(c_common_get_alias_set): Handle multiple type nodes
33190169689Skan	referring to "the same" type, currently for C90 only.
33191169689Skan	(c_add_case_label): Use create_artificial_label.
33192169689Skan	(finish_label_address_expr): Don't set TREE_CONSTANT on
33193169689Skan	result.
33194169689Skan	(c_expand_expr): Don't handle STMT_EXPR.
33195169689Skan	(handle_alias_attribute): Marke aliased variables to be
33196169689Skan	TREE_STATIC.
33197169689Skan	(handle_nonnull_attribute): Initialize arg_num.
33198169689Skan	(check_function_nonnull): Likewise.
33199169689Skan	(c_walk_subtrees): New.
33200169689Skan	(c_estimate_num_insns_1): Don't handle
33201169689Skan	EXPR_WITH_FILE_LOCATION nor FILE_STMT.
33202169689Skan	(c_decl_uninit_1): Remove.
33203169689Skan	(c_decl_uninit): Remove.
33204169689Skan	(c_warn_unused_result): New.
33205169689Skan	* c-common.def (ASM_STMT): Change number of operands
33206169689Skan	to 4.
33207169689Skan	(FILE_STMT): Remove.
33208169689Skan	* c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
33209169689Skan	Remove.
33210169689Skan	(lang_gimplify_stmt): Add.
33211169689Skan	(expand_stmt): Remove.
33212169689Skan	(ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
33213169689Skan	ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
33214169689Skan	ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
33215169689Skan	FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
33216169689Skan	ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
33217169689Skan	(genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
33218169689Skan	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
33219169689Skan	genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
33220169689Skan	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
33221169689Skan	genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
33222169689Skan	genrtl_compound_stmt, genrtl_asm_stmt,
33223169689Skan	genrtl_cleanup_stmt, c_decl_uninit): Remove.
33224169689Skan	(c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
33225169689Skan	c_tree_chain_matters_p, c_warn_unused_result,
33226169689Skan	c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
33227169689Skan	Declare.
33228169689Skan	* c-convert.c (convert): Make convert work when
33229169689Skan	converting to compatible types across translation unit.
33230169689Skan	* c-decl.c: Include langhooks.h, tree-mudflap.h,
33231169689Skan	tree-simple.h, diagnostic.h and tree-dump.h
33232169689Skan	(merge_decls): Initialize oldtype to NULL.
33233169689Skan	(finish_decl): Use DECL_HARD_REGISTER instead of
33234169689Skan	DECL_C_HARD_REGISTER.
33235169689Skan	(check_bitfield_type_and_width): Check for null
33236169689Skan	lang_type_specific when check the precision of an enum.
33237169689Skan	(grokdeclarator): Immediately layout an ARRAY_TYPE used
33238169689Skan	in a pointer-to-array declarator.
33239169689Skan	(finish_struct): Clear allocated struct lang_type.
33240169689Skan	(finish_enum): Set enum_min and enum_max.  Set
33241169689Skan	TYPE_MIN/MAX_VALUE to the limits of the compatible type,
33242169689Skan	not to the enumerators.
33243169689Skan	(set_decl_nonlocal): New.
33244169689Skan	(store_parm_decls): Use it via walk_tree.
33245169689Skan	(c_finalize): New.
33246169689Skan	(finish_function): When !targetm.have_ctors_dtors,
33247169689Skan	record static constructors and destructors here...
33248169689Skan	(c_expand_body_1): ... not here.
33249169689Skan	(c_expand_decl): Rename from c_expand_decl_stmt.
33250169689Skan	Handle all C-specific expansion semantics.
33251169689Skan	* c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
33252169689Skan	STMT_LINENO.
33253169689Skan	* c-format.c (handle_format_arg_attribute): Initialize
33254169689Skan	format_num.
33255169689Skan	* c-lang.c: Include tree-inline.h
33256169689Skan	(LANG_HOOKS_EXPAND_DECL,
33257169689Skan	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
33258169689Skan	LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
33259169689Skan	LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
33260169689Skan	LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
33261169689Skan	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
33262169689Skan	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
33263169689Skan	(c_types_compatible_p): New.
33264169689Skan	* c-mudflap.c: New file.
33265169689Skan	* c-objc-common.c: Include tree-mudflap.h
33266169689Skan	(start_cdtor, finish_cdtor): Collapse
33267169689Skan	together into
33268169689Skan	(build_cdtor): ...here.  Update to construct a complete tree
33269169689Skan	for the function.  No need to call push_scope, pop_scope, or
33270169689Skan	clear_last_expr, or set current_function_cannot_inline.
33271169689Skan	(c_missing_noreturn_ok_p): Change prototype to return
33272169689Skan	bool.
33273169689Skan	(c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
33274169689Skan	* c-opts.c (c_common_handle_option): Move handling of -fdump- to
33275169689Skan	opts.c.
33276169689Skan	(c_common_post_options): Don't ever use rtl inlining.
33277169689Skan	* c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
33278169689Skan	* c-pragma.c (handle_pragma_redefine_extname): Define
33279169689Skan	always.
33280169689Skan	(init_pragma): Activate #pragma redefine_extname for mudflap.
33281169689Skan	* c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
33282169689Skan	(pp_c_initializer): Accept any type CONSTRUCTOR.
33283169689Skan	(pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
33284169689Skan	COMPLEX_TYPE.
33285169689Skan	(decl_name_str): New local function.
33286169689Skan	(pp_c_direct_declarator): Call it.
33287169689Skan	(pp_c_primary_expression): Call it.
33288169689Skan	(pp_c_id_expression): Call it.
33289169689Skan	(pp_c_statement): Call it.
33290169689Skan	(print_c_tree): Create new pp object.
33291169689Skan	* c-pretty-print.h (pp_c_tree_decl_identifier,
33292169689Skan	print_c_tree): Declare.
33293169689Skan	* c-semantics.c: Include langhooks.h
33294169689Skan	(lang_expand_stmt, lang_expand_decl_stmt,
33295169689Skan	find_reachable_label_1, find_reachable_label,
33296169689Skan	expand_unreachable_if_stmt, expand_unreachable_stmt,
33297169689Skan	genrtl_do_stmt_1): Remove.
33298169689Skan	(begin_stmt_tree): Don't check for changed filename.
33299169689Skan	Call annotate_with_locus.
33300169689Skan	(finish_stmt_tree): Don't set line for end of function.
33301169689Skan	(build_stmt): Don't check type nodes for
33302169689Skan	side effects.
33303169689Skan	(build_stmt): Set TREE_SIDE_EFFECTS.
33304169689Skan	Set EXPR_LOCUS instead of STMT_LINENO.
33305169689Skan	(lang_expand_stmt, lang_expand_decl_stmt,
33306169689Skan	expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
33307169689Skan	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
33308169689Skan	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
33309169689Skan	genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
33310169689Skan	genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
33311169689Skan	genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
33312169689Skan	genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
33313169689Skan	find_reachable_label_1, expand_unreachable_if_stmt,
33314169689Skan	expand_unreachable_stmt): Remove.
33315169689Skan	(prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
33316169689Skan	* c-simplify.c: New file.
33317169689Skan	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
33318169689Skan	(struct lang_type): Add fields enum_min and enum_max.
33319169689Skan	(c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
33320169689Skan	(c_expand_decl, c_missing_noreturn_ok_p,
33321169689Skan	c_types_compatible_p): Declare.
33322169689Skan	* c-typeck.c (tagged_types_tu_compatible_p): Allow for
33323169689Skan	compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
33324169689Skan	(default_function_array_conversion): Rely on build to
33325169689Skan	set TREE_CONSTANT.
33326169689Skan	(parser_build_binary_op, pointer_diff): Likewise.
33327169689Skan	(build_unary_op, build_binary_op): Likewise.
33328169689Skan	(build_array_ref):
33329169689Skan	(build_external_ref): Set TREE_INVARIANT.
33330169689Skan	(build_c_cast, pop_init_level): Likewise.
33331169689Skan	(process_init_element): Use ASM_VOLATILE_P.
33332169689Skan	(build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
33333169689Skan	(c_finish_case): Call c_do_switch_warnings.
33334169689Skan	* c.opt (fdump-): Remove.
33335169689Skan	* calls.c (try_to_integrate): Remove.
33336169689Skan	(prepare_call_address): Replace fndecl arg with a
33337169689Skan	precomputed static chain value.
33338169689Skan	(emit_call_1): New argument for full call expr.
33339169689Skan	(flags_from_decl_or_type): Call special_function_p.
33340169689Skan	(initialize_argument_information): Add argument
33341169689Skan	may_tailcall.
33342169689Skan	(purge_reg_equiv_notes): New.
33343169689Skan	(expand_call): Do not try to expand calls inline.
33344169689Skan	(fixup_tail_calls): New.
33345169689Skan	* cfg.c: Include timevar.h and ggc.h.
33346169689Skan	(bb_pool, edge_pool): Remove.
33347169689Skan	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
33348169689Skan	(entry_exit_blocks): Remove.
33349169689Skan	(rbi_pool): Declare.
33350169689Skan	(init_flow): Do not create pools.
33351169689Skan	Allocate entry/exit block.
33352169689Skan	(free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
33353169689Skan	(alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
33354169689Skan	(unlink_block): Clear b->prev_bb and b->next_bb.
33355169689Skan	(compact_blocks): Clear all slots of BASIC_BLOCK array.
33356169689Skan	(dump_flow_info): Work on trees too.
33357169689Skan	(dump_cfg_bb_info): New.
33358169689Skan	(brief_dump_cfg): New.
33359169689Skan	* cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
33360169689Skan	(find_edge): New.
33361169689Skan	* cfgbuild.c (rtl_make_eh_edge): Rename from
33362169689Skan	make_eh_edge.  Update all users.
33363169689Skan	(find_basic_blocks): Don't call VARRAY_FREE on
33364169689Skan	basic_block_info.
33365169689Skan	* cfgcleanup.c (outgoing_edges_match): Initialize newpos1
33366169689Skan	and newpos2.
33367169689Skan	(delete_unreachable_blocks): Return changed status.
33368169689Skan	(merge_seq_blocks): New.
33369169689Skan	* cfghooks.c: Include tree-flow.h
33370169689Skan	(tree_register_cfg_hooks, ir_type): New.
33371169689Skan	(redirect_edge_and_branch): Change return type to edge.
33372169689Skan	(predict_edge, predicted_by_p, can_duplicate_block_p,
33373169689Skan	duplicate_block, block_ends_with_call_p,
33374169689Skan	block_ends_with_condjump_p, flow_call_edges_add): New.
33375169689Skan	* cfghooks.h (redirect_edge_and_branch): Change return
33376169689Skan	type to edge.
33377169689Skan	(predict_edge, predicted_by_p, can_duplicate_block_p,
33378169689Skan	duplicate_block, block_ends_with_call_p,
33379169689Skan	block_ends_with_condjump_p, flow_call_edges_add): Declare.
33380169689Skan	(redirect_edge_and_branch): Change return type to edge.
33381169689Skan	(struct cfg_hooks): Add fields block_ends_with_call_p,
33382169689Skan	block_ends_with_condjump_p, flow_call_edges_add,
33383169689Skan	predict_edge, predicted_by_p, can_duplicate_block_p and
33384169689Skan	duplicate_block.
33385169689Skan	(tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
33386169689Skan	* cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
33387169689Skan	(fixup_reorder_chain): Use initialize_bb_rbi.
33388169689Skan	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
33389169689Skan	(cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
33390169689Skan	(can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
33391169689Skan	(insn_locators_initialize): Use new info about blocks.
33392169689Skan	* cfglayout.h (typedef struct reorder_block_def): Moved to
33393169689Skan	basic_block.h.
33394169689Skan	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
33395169689Skan	removed.
33396169689Skan	* cfgloop.c: Include tree.h and tree-flow.h.
33397169689Skan	* cfgloop.h (create_loop_notes): Declare.
33398169689Skan	* cfgloopmanip.c (create_loop_notes): New.
33399169689Skan	* cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
33400169689Skan	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
33401169689Skan	and duplicate_block fields.
33402169689Skan	(create_basic_block_structure): Don't look at
33403169689Skan	RTX_INTEGRATED_P.
33404169689Skan	(rtl_block_ends_with_call_p): New.
33405169689Skan	(rtl_block_ends_with_condjump_p): New.
33406169689Skan	(need_fake_edge_p): Moved from cfganal.c.
33407169689Skan	(rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
33408169689Skan	(rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
33409169689Skan	rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
33410169689Skan	(cfg_layout_rtl_cfg_hooks): Ditto.
33411169689Skan	* cgraph.c (cgraph_mark_reachable_node): Don't force nested
33412169689Skan	functions to be reachable.
33413169689Skan	* cgraphunit.c (decide_is_function_needed):
33414169689Skan	* cgraphunit.c (decide_is_function_needed): Nested functions of extern
33415169689Skan	inline functions don't need to be output.
33416169689Skan	(cgraph_assemble_pending_functions): Don't do anything
33417169689Skan	special for nested functions.
33418169689Skan	(cgraph_mark_functions_to_output): Likewise.
33419169689Skan	(cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
33420169689Skan	(cgraph_analyze_function): Use estimate_num_insns.
33421169689Skan	(cgraph_mark_functions_to_output): Likewise.
33422169689Skan	(cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
33423169689Skan	(cgraph_expand_function): Allow functions to not be
33424169689Skan	emitted.
33425169689Skan	(cgraph_remove_unreachable_nodes):
33426169689Skan	(cgraph_recursive_inlining_p): Simplify.
33427169689Skan	(lookup_recursive_calls,
33428169689Skan	cgraph_decide_recursive_inlining): New.
33429169689Skan	(cgraph_decide_inlining_*): Update calls of
33430169689Skan	cgraph_mark_inline.
33431169689Skan	* combine.c (get_pos_from_mask): Always set *plen.
33432169689Skan	* common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
33433169689Skan	ftree-based-profiling, ftree-ccp, ftree-ch,
33434169689Skan	ftree-combine-temps, ftree-copyrename, ftree-dce,
33435169689Skan	ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
33436169689Skan	ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
33437169689Skan	ftree-lrs): Add.
33438169689Skan	* config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
33439169689Skan	Undefine.
33440169689Skan	* configure.ac: Add --enable-tree-browser option.
33441169689Skan	Add --with-libbanshee option.
33442169689Skan	Add GMPLIBS and GMPINC.
33443169689Skan	* configure: Regenerate.
33444169689Skan	* coverage.c (tree_ctr_tables): New.
33445169689Skan	(coverage_counter_alloc): Use it.
33446169689Skan	(build_ctr_info_value): Ditto.
33447169689Skan	(coverage_counter_ref): Ditto.  Rename to rtl_coverage_counter_ref.
33448169689Skan	(tree_coverage_counter_ref): New.
33449169689Skan	* coverage.h (coverage_counter_ref): Remove declaration.
33450169689Skan	(rtl_coverage_counter_ref): Declare.
33451169689Skan	(tree_coverage_counter_ref): Declare.
33452169689Skan	* cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
33453169689Skan	(eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
33454169689Skan	* cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
33455169689Skan	(struct cse_basic_block_data): Rename enum values to not
33456169689Skan	conflict with profile.h; update all uses.
33457169689Skan	* dbxout.c (dbxout_symbol_location): Don't mention integrate.c
33458169689Skan	in comments.
33459169689Skan	* defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
33460169689Skan	* diagnostic.h (debug_output_buffer, dump_generic_node,
33461169689Skan	print_generic_stmt, print_generic_stmt_indented,
33462169689Skan	print_generic_expr, print_generic_decl,
33463169689Skan	debug_generic_expr, debug_generic_stmt, debug_c_tree):
33464169689Skan	Declare.
33465169689Skan	* dominance.c: Cache immediate dominators.
33466169689Skan	* domwalk.c: New file.
33467169689Skan	* domwalk.h: New file.
33468169689Skan	* dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
33469169689Skan	(gen_subprogram_die): Generate a DIE for a named
33470169689Skan	return value.
33471169689Skan	(loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
33472169689Skan	(add_location_or_const_value_attribute): Likewise.
33473169689Skan	(add_bound_info): Likewise.
33474169689Skan	(gen_decl_die): Likewise.
33475169689Skan	* emit-rtl.c (maybe_set_first_label_num): New.
33476169689Skan	(copy_most_rtx): Don't copy the integrated flag.
33477169689Skan	Copy the new return_val flag.
33478169689Skan	* et-forest.c (MAX_NODES): Define.
33479169689Skan	(record_path_before_1): Abort if len is greater than
33480169689Skan	MAX_NODES.
33481169689Skan	* except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
33482169689Skan	gen_eh_region_catch, gen_eh_region_allowed,
33483169689Skan	gen_eh_region_must_not_throw, get_eh_region_number,
33484169689Skan	get_eh_region_may_contain_throw, get_eh_region_tree_label,
33485169689Skan	set_eh_region_tree_label, expand_resx_expr): New.
33486169689Skan	(expand_eh_region_start, expand_start_catch): Use them.
33487169689Skan	(expand_end_catch): Tidy.
33488169689Skan	(note_eh_region_may_contain_throw): Take region argument.
33489169689Skan	(note_current_region_may_contain_throw): New.
33490169689Skan	(get_exception_filter): Export.
33491169689Skan	(collect_eh_region_array): Export.
33492169689Skan	(remove_unreachable_regions): Check ERT_TRY based on reachability
33493169689Skan	of catches, not reachability of continue_label.  Never remove
33494169689Skan	ERT_MUST_NOT_THROW regions.
33495169689Skan	(collect_rtl_labels_from_trees): New.
33496169689Skan	(convert_from_eh_region_ranges): Use it.
33497169689Skan	(connect_post_landing_pads): Handle dying cleanups.
33498169689Skan	(struct reachable_info): Add callback data.
33499169689Skan	(add_reachable_handler): Invoke the callback.
33500169689Skan	(foreach_reachable_handler): New.
33501169689Skan	(reachable_handlers): Use it.
33502169689Skan	(arh_to_landing_pad, arh_to_label): New.
33503169689Skan	(can_throw_internal_1): Split out from can_throw_internal.
33504169689Skan	(can_throw_external_1): Similarly.
33505169689Skan	* except.h: Update.
33506169689Skan	* explow.c (emit_stack_save): Remove savearea mode check.
33507169689Skan	(update_nonlocal_goto_save_area): New.
33508169689Skan	(allocate_dynamic_stack_space): Use it.
33509169689Skan	(probe_stack_range): Never emit loop notes.
33510169689Skan	* expmed.c (extract_fixed_bit_field): Always propagate the
33511169689Skan	target for the shift if it is a REG.
33512169689Skan	* expr.c: Include tree-iterator.h
33513169689Skan	(is_zeros_p): Remove.
33514169689Skan	(categorize_ctor_elements_1, categorize_ctor_elements): New.
33515169689Skan	(count_type_elements): New.
33516169689Skan	(mostly_zeros_p): Use them.
33517169689Skan	(expr_wfl_stack): Remove.
33518169689Skan	(convert_move): Do nothing if to and from are the same.
33519169689Skan	(emit_block_move_via_loop): Don't emit LOOP notes.
33520169689Skan	(emit_move_insn): Don't handle CONSTANT_P_RTX.
33521169689Skan	(emit_move_insn_1): Don't generate inline warnings.
33522169689Skan	(expand_vars, expand_var): Split from ...
33523169689Skan	(expand_expr_1): ... here.
33524169689Skan	(expand_expr_real, expand_expr_real_1): Use new macros
33525169689Skan	EXPR_LOCATION and EXPR_HAS_LOCATION.
33526169689Skan	* expr.h (simplify_builtin_fputs,
33527169689Skan	simplify_builtin_strcpy, simplify_builtin_strncpy,
33528169689Skan	expand_var, fixup_tail_calls,
33529169689Skan	update_nonlocal_goto_save_area): Declare.
33530169689Skan	(lookup_static_chain, expand_inline_function,
33531169689Skan	mark_seen_cases): Remove.
33532169689Skan	(prepare_call_address): Change type of 2nd argument to
33533169689Skan	rtx.
33534169689Skan	* final.c (profile_function): Update static chain test.
33535169689Skan	(final): Don't look at RTX_INTEGRATED_P.
33536169689Skan	* flags.h (flag_mudflap, flag_mudflap_threads,
33537169689Skan	flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
33538169689Skan	flag_tree_dce, flag_tree_combine_temps,
33539169689Skan	flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
33540169689Skan	flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
33541169689Skan	flag_tree_points_to): Declare.
33542169689Skan	(enum pta_type): Declare.
33543169689Skan	* flow.c (lang_missing_noreturn_ok_p): Remove.
33544169689Skan	(check_function_return_warnings): Remove.
33545169689Skan	(update_life_info): Update comments.
33546169689Skan	(free_basic_block_vars): Don't call VARRAY_FREE for
33547169689Skan	basic_block_info.
33548169689Skan	(regno_uninitialized): Remove.
33549169689Skan	* fold-const.c (int_const_binop): Make extern.
33550169689Skan	(non_lvalue): Rely on build to set TREE_CONSTANT.
33551169689Skan	(operand_equal_p): Replace only_const argument with
33552169689Skan	flags.  Allow pure functions if OEP_PURE_SAME.
33553169689Skan	(fold): Use OEP_ONLY_CONST.
33554169689Skan	(invert_truthvalue) <NOP_EXPR> Break if argument is of
33555169689Skan	boolean type.
33556169689Skan	(fold_relational_hi_lo,
33557169689Skan	nondestructive_fold_binary_to_constant,
33558169689Skan	nondestructive_fold_unary_to_constant,
33559169689Skan	fold_read_from_constant_string): New.
33560169689Skan	* function.c (struct function): Remove calls_constant_p.
33561169689Skan	(current_function_calls_constant_p): Remove.
33562169689Skan	(inline_function_decl): Remove.
33563169689Skan	(put_var_into_stack): Don't use it.
33564169689Skan	(fix_lexical_addr): Likewise.
33565169689Skan	(inline_function_decl): Remove extern declaration.
33566169689Skan	(TRAMPOLINE_ALIGNMENT): Move to defaults.h.
33567169689Skan	(trampolines_created): Move to varasm.c.
33568169689Skan	(free_after_compilation): Update for removed fields.
33569169689Skan	(allocate_struct_function): Likewise.
33570169689Skan	(delete_handlers, lookup_static_chain): Remove.
33571169689Skan	(fix_lexical_addr): Don't consider non-local variable refs.
33572169689Skan	(trampoline_address): Remove.
33573169689Skan	(round_trampoline_addr): Move to builtins.c.
33574169689Skan	(adjust_trampoline_addr): Remove.
33575169689Skan	(expand_function_start): Update for changes to static chain
33576169689Skan	and nonlocal goto handling.
33577169689Skan	(initial_trampoline): Move to varasm.c.
33578169689Skan	(expand_function_end): Don't build trampolines or kill
33579169689Skan	unreferenced nonlocal goto labels.
33580169689Skan	(free_after_compilation): Don't set it.
33581169689Skan	(expand_function_end): Likewise.
33582169689Skan	(setjmp_vars_warning): Rename from
33583169689Skan	uninitialized_vars_warning, remove uninitialized vars warning.
33584169689Skan	(uninitialized_vars_warning): Remove old comment
33585169689Skan	and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
33586169689Skan	and do not call the langhook.
33587169689Skan	(expand_function_start, expand_function_end): Don't do
33588169689Skan	function instrumentation here.
33589169689Skan	(clear_block_marks): Rename from reorder_blocks_0, export.
33590169689Skan	(blocks_nreverse): Export.
33591169689Skan	(uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
33592169689Skan	of rtl.
33593169689Skan	(reset_block_changes, record_block_change, finalize_block_changes,
33594169689Skan	check_block_change, free_block_changes): New functions.
33595169689Skan	(assign_parms): Setting of current_function_stdarg
33596169689Skan	moved ...
33597169689Skan	(allocate_struct_function): ... here.
33598169689Skan	* function.h (struct function): Remove x_nonlocal_labels,
33599169689Skan	x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
33600169689Skan	x_context_display, x_trampoline_list, needs_context.
33601169689Skan	Add static_chain_decl, nonlocal_goto_save_area.
33602169689Skan	(struct function): Remove x_clobber_return_insn.
33603169689Skan	Add tail_call_emit field, last_label_uid,
33604169689Skan	unexpanded_var_list, dont_emit_block_notes,
33605169689Skan	ib_boundaries_block, function_end_locus and saved_tree/saved_args.
33606169689Skan	(clear_block_marks): Declare.
33607169689Skan	* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
33608169689Skan	(mfwrap_spec, mflib_spec): Declare.
33609169689Skan	(cpp_unique_options, cc1_options): Ditto.
33610169689Skan	(default_compilers): Add .F and .f90.
33611169689Skan	(static_specs): Add mfwrap and mflib.
33612169689Skan	* gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
33613169689Skan	CONSTANT_RTX_P.
33614169689Skan	(reg_used_on_edge, reg_killed_on_edge, bypass_block):
33615169689Skan	Update to match insns field in struct edge_def.
33616169689Skan	* gdbinit.in (pgs, pge): Define.
33617169689Skan	* genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
33618169689Skan	instead of the integrated flag.
33619169689Skan	* gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
33620169689Skan	* gengtype-yacc.y (bitfieldlen): Add empty action.
33621169689Skan	(struct_fields): Accept unnamed bitfields.
33622169689Skan	(bitfieldlen): Split from ...
33623169689Skan	(bitfieldopt): ... here.
33624169689Skan	* gengtype.c (ifiles): Add tree-alias-type.h and
33625169689Skan	tree-flow.h.
33626169689Skan	* genrecog.c (validate_pattern): Do not handle
33627169689Skan	CONSTANT_P_RTX.
33628169689Skan	* gimple-low.c: New file.
33629169689Skan	* gimplify.c: New file.
33630169689Skan	* haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
33631169689Skan	(restore_line_notes): Do not set RTX_INTEGRATED_P.
33632169689Skan	* ifcvt.c (dead_or_predicable): Initialize local variable
33633169689Skan	'earliest'.
33634169689Skan	* input.h (expr_wfl_stack): Remove.
33635169689Skan	* integrate.c (INTEGRATE_THRESHOLD): Remove.
33636169689Skan	(setup_initial_hard_reg_value_integration): Likewise.
33637169689Skan	(initialize_for_inline): Likewise.
33638169689Skan	(note_modified_parmregs): Likewise.
33639169689Skan	(integrate_parm_decls): Likewise.
33640169689Skan	(process_reg_param): Likewise.
33641169689Skan	(save_parm_insns): Likewise.
33642169689Skan	(copy_insn_list): Likewise.
33643169689Skan	(copy_insn_notes): Likewise.
33644169689Skan	(compare_blocks): Likewise.
33645169689Skan	(find_block): Likewise.
33646169689Skan	(inlining): Likewise.
33647169689Skan	(function_cannot_inline_p): Likewise.
33648169689Skan	(parmdecl_map): Likewise.
33649169689Skan	(in_nonparam_insns): Likewise.
33650169689Skan	(save_for_inline): Likewise.
33651169689Skan	(FIXED_BASE_PLUS): Likewise.
33652169689Skan	(expand_inline_function): Likewise.
33653169689Skan	(copy_rtx_and_substitute): Don't look at map->integrating,
33654169689Skan	map->inline_target, and inlining, since we are never copying
33655169689Skan	for integrating.
33656169689Skan	Don't abort on RTX_INTEGRATED_P.
33657169689Skan	(old_fun): Remove.
33658169689Skan	(output_inline_function): Remove.
33659169689Skan	* integrate.h (struct inline_map): Remove fields integrating,
33660169689Skan	block_map, leaf_reg_map, inline_target, and local_return_label.
33661169689Skan	* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
33662169689Skan	copy_loop_headers, never_reached_warning): Removed.
33663169689Skan	(any_uncondjump_p): Reject nonlocal goto.
33664169689Skan	* langhooks-def.h (lhd_types_compatible_p,
33665169689Skan	lhd_expand_decl, lhd_gimplify_expr): Declare.
33666169689Skan	(LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
33667169689Skan	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
33668169689Skan	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
33669169689Skan	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
33670169689Skan	LANG_HOOKS_GIMPLIFY_EXPR,
33671169689Skan	LANG_HOOKS_GIMPLE_BEFORE_INLINING,
33672169689Skan	LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
33673169689Skan	LANG_HOOKS_GIMPLIFY_EXPR,
33674169689Skan	LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
33675169689Skan	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
33676169689Skan	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
33677169689Skan	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
33678169689Skan	LANG_HOOKS_RTL_EXPAND_INITIALIZER,
33679169689Skan	LANG_HOOKS_DECL_UNINIT,
33680169689Skan	LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
33681169689Skan	* langhooks.c: Include tree-simple.h.
33682169689Skan	(lhd_expand_decl): New.
33683169689Skan	(lhd_types_compatible_p): New.
33684169689Skan	(lhd_decl_uninit): Remove.
33685169689Skan	(lhd_gimplify_expr): New.
33686169689Skan	* langhooks.h (struct lang_hooks_for_rtl_expansion):
33687169689Skan	Remove.
33688169689Skan	(struct lang_hooks_for_functions): Add field
33689169689Skan	missing_noreturn_ok_p.
33690169689Skan	(struct lang_hooks): Add field expand_decl,
33691169689Skan	types_compatible_p, gimplify_expr and
33692169689Skan	gimple_before_inlining.
33693169689Skan	Remove fields decl_uninit and rtl_expand
33694169689Skan	* opts.c (decode_options): Set flag_tree_ccp,
33695169689Skan	flag_tree_dce, flag_tree_dom, flag_tree_dse,
33696169689Skan	flag_tree_pre, flag_tree_ter,
33697169689Skan	flag_tree_live_range_split, flag_tree_sra,
33698169689Skan	flag_tree_copyrename and flag_tree_ch at -O1 and higher.
33699169689Skan	(common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
33700169689Skan	OPT_fmudflapth, OPT_fmudflapir,
33701169689Skan	OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
33702169689Skan	OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
33703169689Skan	OPT_ftree_dominator_opts, OPT_ftree_copyrename,
33704169689Skan	OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
33705169689Skan	OPT_ftree_points_to_ and OPT_ftree_pre.
33706169689Skan	* output.h (regno_uninitialized, find_basic_blocks,
33707169689Skan	cleanup_cfg, delete_unreachable_blocks,
33708169689Skan	check_function_return_warnings): Remove.
33709169689Skan	* params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
33710169689Skan	PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
33711169689Skan	PARAM_MAX_INLINE_RECURSIVE_DEPTH,
33712169689Skan	PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
33713169689Skan	PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
33714169689Skan	* params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
33715169689Skan	Define.
33716169689Skan	* passes.c (rest_of_decl_compilation):
33717169689Skan	(rest_of_handle_sibling_calls): Remove.
33718169689Skan	(rest_of_handle_inlining): Remove.
33719169689Skan	(rest_of_handle_gcse): Do not run
33720169689Skan	purge_builtin_constant_p.
33721169689Skan	(rest_of_compilation): Update.
33722169689Skan	Do not call copy_loop_headers.
33723169689Skan	Do rtl-based profiling only when
33724169689Skan	!flag_tree_based_profiling.  Register rtl-based profiling
33725169689Skan	hooks.
33726169689Skan	* predict.c: Include tree-flow.h, ggc.h, tree-dump.h
33727169689Skan	(predicted_by_p): Rename to ...
33728169689Skan	(rtl_predicted_by_p): .. this one; make global
33729169689Skan	(tree_predicted_by_p): New.
33730169689Skan	(dump_prediction): Add FILE argument.
33731169689Skan	(predict_edge): Rename to ...
33732169689Skan	(rtl_predict_edge): .. this one.
33733169689Skan	(tree_predict_edge): New.
33734169689Skan	(combine_predictions_for_insn): Update calls of predict_edge.
33735169689Skan	(predict_loops): Break out from ...
33736169689Skan	(estimate_probability): ... here; update comments; move updating
33737169689Skan	of unknown probabilities from ...
33738169689Skan	(estimate_bb_frequencies): ... here.
33739169689Skan	(combine_predictions_for_bb): New.
33740169689Skan	(tree_predict_by_opcode): New.
33741169689Skan	(tree_estimate_probability): New.
33742169689Skan	* predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
33743169689Skan	PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
33744169689Skan	* predict.h: Add include guard.
33745169689Skan	(predict_edge, predict_edge_def): Move prototypes to basic_block.h
33746169689Skan	* pretty-print.c (pp_write_text_to_stream): Make extern.
33747169689Skan	* pretty-print.h (pp_write_text_to_stream): Declare.
33748169689Skan	* print-rtl.c (print_rtx): Don't print the integrated flag.
33749169689Skan	Print the return_val flag.
33750169689Skan	* print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
33751169689Skan	of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
33752169689Skan	Remove support for EXPR_WITH_FILE_LOCATION nodes.
33753169689Skan	(print_node): Print TREE_INVARIANT and TREE_VISITED.
33754169689Skan	* profile.c: Include cfghooks.h, tree-flow.h.
33755169689Skan	(profile_hooks): New.
33756169689Skan	(profile_dump_file): New.
33757169689Skan	(instrument_edges): Use hooks instead of RTL-specific code.
33758169689Skan	(instrument_values): Ditto.
33759169689Skan	(get_exec_counts): Ditto.
33760169689Skan	(compute_branch_probabilities): Ditto.
33761169689Skan	(compute_value_histograms): Ditto.
33762169689Skan	(branch_prob): Ditto.
33763169689Skan	(find_spanning_tree): Ditto.
33764169689Skan	(end_branch_prob): Ditto.
33765169689Skan	(gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
33766169689Skan	(gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
33767169689Skan	(gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
33768169689Skan	(gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
33769169689Skan	(tree_register_profile_hooks): New.
33770169689Skan	(rtl_register_profile_hooks): New.
33771169689Skan	* ra-rewrite.c (rewrite_program): Clear variable info.
33772169689Skan	* recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
33773169689Skan	* regs.h: Add include guards.
33774169689Skan	* reload.c (decompose): Clear val using memset.
33775169689Skan	* rtl.def (CONSTANT_P_RTX): Remove.
33776169689Skan	* rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
33777169689Skan	(copy_loop_headers): Remove.
33778169689Skan	(struct rtx_def): Replace the integrated flag with the
33779169689Skan	return_val flag.
33780169689Skan	(maybe_set_first_label_num): Declare.
33781169689Skan	(init_branch_prob): Move declaration to value-prof.h.
33782169689Skan	(end_branch_prob): Ditto.
33783169689Skan	(branch_prob): Ditto.
33784169689Skan	(never_reached_warning): Don't declare it.
33785169689Skan	* rtlanal.c (get_related_value): Initialize get_jump_table_offset
33786169689Skan	(hoist_insn_to_edge): Update to match field insns in
33787169689Skan	struct edge_def.
33788169689Skan	* sbitmap.c (sbitmap_realloc): New.
33789169689Skan	* sbitmap.h (sbitmap_realloc): Declare.
33790169689Skan	* sibcall.c: Remove file.
33791169689Skan	* simplify-rtx.c (simplify_rtx): Do not handle
33792169689Skan	CONSTANT_P_RTX.
33793169689Skan	* stmt.c (parse_output_constraint): Don't warn for read-write
33794169689Skan	memory operand.
33795169689Skan	(tail_recursion_args): Use types_compatible_p langhook.
33796169689Skan	(force_label_rtx): Don't look at inline_function_decl.
33797169689Skan	(label_rtx): Set LABEL_PRESERVE_P appropriately.
33798169689Skan	(expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
33799169689Skan	(declare_nonlocal_label): Remove.
33800169689Skan	(expand_goto): Don't handle nonlocal gotos.
33801169689Skan	(expand_nl_handler_label): Remove.
33802169689Skan	(expand_nl_goto_receivers): Remove.
33803169689Skan	(expand_end_bindings): Don't expand_nl_goto_receivers.  Use
33804169689Skan	update_nonlocal_goto_save_area.
33805169689Skan	(expand_expr_stmt_value): Check TREE_NO_WARNING.
33806169689Skan	(warn_if_unused_value): Likewise.
33807169689Skan	(expand_start_loop, expand_loop_continue_here,
33808169689Skan	expand_end_loop): Don't create loop notes.
33809169689Skan	(all_cases_count, BITARRAY_TEST, BITARRAY_SET,
33810169689Skan	mark_seen_cases, check_for_full_enumeration_handling): Remove.
33811169689Skan	(expand_end_case_type): Don't do warn_switch handling.
33812169689Skan	(pushcase, pushcase_range) Update add_case_node calls.
33813169689Skan	(add_case_node): Add dont_expand_label argument.
33814169689Skan	(same_case_target_p): Don't search rtl.
33815169689Skan	(expand_start_bindings_and_block, expand_end_bindings):
33816169689Skan	Don't emit block notes when dont_emit_block_notes.
33817169689Skan	(using_eh_for_cleanups_p): Export.
33818169689Skan	(expand_return): Allow any typed rhs.
33819169689Skan	(expand_stack_alloc): New.
33820169689Skan	(expand_stack_save, expand_stack_restore): New.
33821169689Skan	(containing_blocks_have_cleanups_or_stack_level): New
33822169689Skan	function.
33823169689Skan	(asm_op_is_mem_input): New fn.
33824169689Skan	(expand_asm_expr): New fn.
33825169689Skan	(warn_if_unused_value): Check operand 0 of SAVE_EXPR
33826169689Skan	nodes.
33827169689Skan	* stor-layout.c (layout_type): Just return if type is
33828169689Skan	error_mark_node.
33829169689Skan	(update_alignment_for_field): Export.
33830169689Skan	(variable_size): We don't care about global_bindings_p if
33831169689Skan	the frontend doesn't want a list of the expressions.
33832169689Skan	* system.h: Poison INTEGRATE_THRESHOLD.
33833169689Skan	* timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
33834169689Skan	TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
33835169689Skan	TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
33836169689Skan	TV_TREE_SSA_OTHER, TV_TREE_OPS,
33837169689Skan	TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
33838169689Skan	TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
33839169689Skan	TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
33840169689Skan	TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
33841169689Skan	TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
33842169689Skan	TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
33843169689Skan	TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
33844169689Skan	TV_CONTROL_DEPENDENCES): Define.
33845169689Skan	* toplev.c: Include tree-alias-common.h
33846169689Skan	(current_file_decl, flag_mudflap, flag_mudflap_threads,
33847169689Skan	flag_mudflap_ignore_reads, flag_tree_based_profiling,
33848169689Skan	flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
33849169689Skan	flag_tree_dce, flag_tree_ch, flag_tree_sra,
33850169689Skan	flag_tree_combine_temps, flag_tree_ter,
33851169689Skan	flag_tree_live_range_split, flag_tree_dom,
33852169689Skan	flag_tree_copyrename, flag_tree_dse): Declare.
33853169689Skan	(f_options): Add tree-based-profiling, tree-gvn,
33854169689Skan	tree-pre, tree-ccp, tree-dce,
33855169689Skan	tree-dominator-opts, tree-copyrename, tree-dse,
33856169689Skan	tree-combine-temps, tree-ter, tree-lrs and tree-ch.
33857169689Skan	(wrapup_global_declarations): Don't output nested inlined functions.
33858169689Skan	(general_init): Call init_tree_optimization_passes.
33859169689Skan	(process_options): Sorry for -ftree-based-profiling plus
33860169689Skan	-ftest-coverage or -fprofile-values.
33861169689Skan	* toplev.h (init_tree_optimization_passes,
33862169689Skan	flag_tree_based_profiling): Declare.
33863169689Skan	* tracer.c (tail_duplicate): Use cfghooks for bb duplication.
33864169689Skan	* tree-alias-ander.c: New file.
33865169689Skan	* tree-alias-ander.h: New file.
33866169689Skan	* tree-alias-common.c: New file.
33867169689Skan	* tree-alias-common.h: New file.
33868169689Skan	* tree-alias-type.c: New file.
33869169689Skan	* tree-alias-type.h: New file.
33870169689Skan	* tree-browser.c: New file.
33871169689Skan	* tree-browser.def: New file.
33872169689Skan	* tree-cfg.c: New file.
33873169689Skan	* tree-complex.c: New file.
33874169689Skan	* tree-dfa.c: New file.
33875169689Skan	* tree-dump.c (dump_enable_all): New.
33876169689Skan	(dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
33877169689Skan	(dump_node): Remove const from field suffix and swtch.
33878169689Skan	(dump_files): Add null entry, .generic, .nested, .vcg,
33879169689Skan	.xml and a match-all entry.
33880169689Skan	(extra_dump_files, extra_dump_files_in_use,
33881169689Skan	extra_dump_files_alloced): Declare
33882169689Skan	(dump_option_value_info): Add raw, details, stats,
33883169689Skan	blocks, vops, lineno, uid and all.
33884169689Skan	(dump_register): New.
33885169689Skan	(get_dump_file_info): New.
33886169689Skan	(dump_begin): Call it.
33887169689Skan	Do nothing for TDI_none.
33888169689Skan	(dump_begin): Include phase number in dump filename.
33889169689Skan	(dump_enable_all): New.
33890169689Skan	(dump_switch_p_1): Split out from dump_switch_p.
33891169689Skan	(dump_switch_p): Handle extra_dump_files.
33892169689Skan	Start our scan at TDI_none + 1.
33893169689Skan	If -fdump-tree-all was given, call dump_enable_all.
33894169689Skan	* tree-dump.h: Include splay-tree.h.
33895169689Skan	(dump_function, dump_function_to_file, dump_register):
33896169689Skan	Declare.
33897169689Skan	* tree-eh.c: New file.
33898169689Skan	* tree-flow-inline.h: New file.
33899169689Skan	* tree-flow.h: New file.
33900169689Skan	* tree-inline.c: Re-write to handle inlining on GIMPLE.
33901169689Skan	* tree-inline.h (walk_tree,
33902169689Skan	walk_tree_without_duplicates): Move to tree.h.
33903169689Skan	(estimate_num_insns): Declare.
33904169689Skan	* tree-into-ssa.c: New file.
33905169689Skan	* tree-iterator.c: New file.
33906169689Skan	* tree-iterator.h: New file.
33907169689Skan	* tree-mudflap.c: New file.
33908169689Skan	* tree-mudflap.h: New file.
33909169689Skan	* tree-nested.c: New file.
33910169689Skan	* tree-nomudflap.c: New file.
33911169689Skan	* tree-nrv.c: New file.
33912169689Skan	* tree-optimize.c (dump_flags, vars_to_rename,
33913169689Skan	in_gimple_form, all_passes, pass_gimple,
33914169689Skan	pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
33915169689Skan	(execute_gimple, execute_rebuild_bind,
33916169689Skan	gate_all_optimizations, execute_del_cfg,
33917169689Skan	register_one_dump_file, register_dump_files, dup_pass_1,
33918169689Skan	init_tree_optimization_passes, execute_todo,
33919169689Skan	execute_one_pass, execute_pass_list): New.
33920169689Skan	(clear_decl_rtl): Remove.
33921169689Skan	(tree_rest_of_compilation): Update to use tree
33922169689Skan	optimizers.
33923169689Skan	* tree-outof-ssa.c: New file.
33924169689Skan	* tree-pass.h: New file.
33925169689Skan	* tree-phinodes.c: New file.
33926169689Skan	* tree-pretty-print.c: New file.
33927169689Skan	* tree-profile.c: New file.
33928169689Skan	* tree-simple.c: New file.
33929169689Skan	* tree-simple.h: New file.
33930169689Skan	* tree-sra.c: New file.
33931169689Skan	* tree-ssa-alias.c: New file.
33932169689Skan	* tree-ssa-ccp.c: New file.
33933169689Skan	* tree-ssa-copy.c: New file.
33934169689Skan	* tree-ssa-copyrename.c: New file.
33935169689Skan	* tree-ssa-dce.c: New file.
33936169689Skan	* tree-ssa-dom.c: New file.
33937169689Skan	* tree-ssa-dse.c: New file.
33938169689Skan	* tree-ssa-forwprop.c: New file.
33939169689Skan	* tree-ssa-live.c: New file.
33940169689Skan	* tree-ssa-live.h: New file.
33941169689Skan	* tree-ssa-loop.c: New file.
33942169689Skan	* tree-ssa-operands.c: New file.
33943169689Skan	* tree-ssa-operands.h: New file.
33944169689Skan	* tree-ssa-phiopt.c: New file.
33945169689Skan	* tree-ssa-pre.c: New file.
33946169689Skan	* tree-ssa.c: New file.
33947169689Skan	* tree-ssanames.c: New file.
33948169689Skan	* tree-tailcall.c: New file.
33949169689Skan	* tree.c: Include tree-iterator.h, basic-block.h and
33950169689Skan	tree-flow.h.
33951169689Skan	(tree_node_kind): Add phi_nodes and ssa names.
33952169689Skan	(tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
33953169689Skan	EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
33954169689Skan	(make_node_stat): Handle PHI_NODE and SSA_NAME.
33955169689Skan	<'c'> Set TREE_INVARIANT.
33956169689Skan	(copy_node_stat): Abort if trying to copy a
33957169689Skan	STATEMENT_LIST.
33958169689Skan	Clear TREE_VISITED.
33959169689Skan	Clear annotation field.
33960169689Skan	(build_constructor): Copy TREE_INVARIANT from vals.
33961169689Skan	Don't clear TREE_CONSTANT.
33962169689Skan	(expr_first, expr_last, expr_length): Remove.
33963169689Skan	(staticp): Pass unknown component references to the language.
33964169689Skan	(save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
33965169689Skan	(skip_simple_arithmetic): Likewise.
33966169689Skan	(stabilize_reference_1): Likewise.
33967169689Skan	(tree_node_structure): Handle PHI_NODE, EPHI_NODE,
33968169689Skan	EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
33969169689Skan	STATEMENT_LIST.
33970169689Skan	(lhd_unsave_expr_now): Remove.
33971169689Skan	(unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
33972169689Skan	(recompute_tree_invarant_for_addr_expr): New.
33973169689Skan	(build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
33974169689Skan	Call recompute_tree_invarant_for_addr_expr.
33975169689Skan	Set TREE_INVARIANT accordingly.
33976169689Skan	(build2_stat): Don't handle CALL_EXPR.
33977169689Skan	(build3_stat): Don't call build2_stat for CALL_EXPRs.
33978169689Skan	(build_expr_wfl): Remove.
33979169689Skan	(annotate_with_file_line, annotate_with_locus): New.
33980169689Skan	(simple_cst_equal): Call simple_cst_list_equal to compare
33981169689Skan	CONSTRUCTOR_ELTS pointers.
33982169689Skan	(iterative_hash_expr): Don't hash types associated
33983169689Skan	with conversions.  Instead hash on the signedness of the
33984169689Skan	toplevel object and the operand of the conversion.
33985169689Skan	(dump_tree_statistics): Call ssanames_print_statistics
33986169689Skan	and phinodes_print_statistics.
33987169689Skan	(ephi_node_elt_check_failed, phi_node_elt_check_failed,
33988169689Skan	add_var_to_bind_expr, build_empty_stmt, is_essa_node,
33989169689Skan	needs_to_live_in_memory): New.
33990169689Skan	(initializer_zerop): Handle VECTOR_CST.  Don't check
33991169689Skan	AGGREGATE_TYPE_P for CONSTRUCTOR.
33992169689Skan	* tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
33993169689Skan	SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
33994169689Skan	PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
33995169689Skan	(GOTO_SUBROUTINE_EXPR): Change type to 's'.
33996169689Skan	(CALL_EXPR): Add another operand.
33997169689Skan	(EXPR_WITH_FILE_LOCATION): Remove.
33998169689Skan	(SWITCH_EXPR): Add another operand.
33999169689Skan	* tree.h: Update various comments.
34000169689Skan	(union tree_ann_d): Forward declare.
34001169689Skan	(struct tree_common): Add fields nowarning_flag,
34002169689Skan	invariant_flag and visited.
34003169689Skan	(EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
34004169689Skan	PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
34005169689Skan	EPHI_NODE_ELT_CHECK, TREE_BLOCK,
34006169689Skan	STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
34007169689Skan	TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
34008169689Skan	IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
34009169689Skan	EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
34010169689Skan	EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
34011169689Skan	CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
34012169689Skan	BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
34013169689Skan	ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
34014169689Skan	ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
34015169689Skan	COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
34016169689Skan	CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
34017169689Skan	EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
34018169689Skan	SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
34019169689Skan	SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
34020169689Skan	PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
34021169689Skan	PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
34022169689Skan	EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
34023169689Skan	EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
34024169689Skan	EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
34025169689Skan	EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
34026169689Skan	EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
34027169689Skan	EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
34028169689Skan	EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
34029169689Skan	EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
34030169689Skan	EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
34031169689Skan	EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
34032169689Skan	TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
34033169689Skan	DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
34034169689Skan	DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
34035169689Skan	STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
34036169689Skan	TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
34037169689Skan	TDF_UID,): Define.
34038169689Skan	(TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
34039169689Skan	EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
34040169689Skan	EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
34041169689Skan	EXPR_WFL_SET_LINECOL): Remove.
34042169689Skan	(phi_node_elt_check_failed, ephi_node_elt_check_failed,
34043169689Skan	make_phi_node, init_phinodes, fini_phinodes,
34044169689Skan	release_phi_node, phinodes_print_statistics,
34045169689Skan	init_ssanames, fini_ssanames, make_ssa_name,
34046169689Skan	release_ssa_name, ssanames_print_statistics,
34047169689Skan	annotate_with_file_line, build_empty_stmt,
34048169689Skan	annotate_with_locus, expr_only, categorize_ctor_elements,
34049169689Skan	count_type_elements, add_var_to_bind_expr, is_essa_node,
34050169689Skan	expand_stack_alloc, expand_stack_save,
34051169689Skan	expand_stack_restore, add_case_node, operand_equal_p,
34052169689Skan	nondestructive_fold_unary_to_constant,
34053169689Skan	nondestructive_fold_binary_to_constant,
34054169689Skan	fold_read_from_constant_string, int_const_binop,
34055169689Skan	strip_float_extensions, simplify_builtin, c_strlen,
34056169689Skan	recompute_tree_invarant_for_addr_expr,
34057169689Skan	needs_to_live_in_memory, make_vector,
34058169689Skan	setjmp_vars_warning, update_alignment_for_field,
34059169689Skan	expand_asm_expr, asm_op_is_mem_input,
34060169689Skan	containing_blocks_have_cleanups_or_stack_level,
34061169689Skan	create_artificial_label, gimplify_function_tree,
34062169689Skan	get_name, unshare_expr, walk_tree,
34063169689Skan	walk_tree_without_duplicates, in_gimple_form): Declare.
34064169689Skan	(struct tree_exp): Add fields locus and block.
34065169689Skan	(struct tree_ssa_name, struct edge_def, struct
34066169689Skan	tree_phi_node, struct tree_eref_common, struct
34067169689Skan	tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
34068169689Skan	union alias_var_def, struct tree_statement_list_node,
34069169689Skan	struct tree_statement_list, enum operand_equal_flag): Declare.
34070169689Skan	(enum tree_node_structure_enum): Add TS_SSA_NAME,
34071169689Skan	TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
34072169689Skan	TS_STATEMENT_LIST.
34073169689Skan	(union tree_node): Add fields ssa_name, phi, eref, ephi,
34074169689Skan	euse and stmt_list.
34075169689Skan	(function_cannot_inline_p, uninitialized_vars_warning,
34076169689Skan	save_for_inline, output_inline_function, all_cases_count,
34077169689Skan	check_for_full_enumeration_handling,
34078169689Skan	declare_nonlocal_label): Remove.
34079169689Skan	(enum tree_dump_index): Add TDI_none, TDI_tu,
34080169689Skan	TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
34081169689Skan	* unroll.c (unroll_loop): Don't clear map->inline_target.
34082169689Skan	* unwind-sjlj.c (uw_install_context): Make a proper static inline
34083169689Skan	function.
34084169689Skan	* value-prof.c (value_prof_hooks): New.
34085169689Skan	(find_values_to_profile): Rename to rtl_find_values_to_profile.
34086169689Skan	Move rtl-specific bits in from branch_prob.
34087169689Skan	(value_profile_transformations): Rename to
34088169689Skan	rtl_value_profile_transformations.
34089169689Skan	(struct value_prof_hooks): New.
34090169689Skan	(rtl_value_prof_hooks): New.
34091169689Skan	(rtl_register_value_prof_hooks): New.
34092169689Skan	(tree_find_values_to_profile): New stub.
34093169689Skan	(tree_value_profile_transformations): New stub.
34094169689Skan	(tree_value_prof_hooks): New stub.
34095169689Skan	(tree_register_value_prof_hooks): New stub.
34096169689Skan	(find_values_to_profile): New.
34097169689Skan	(value_profile_transformations): New.
34098169689Skan	* value-prof.h: Add multiple inclusion guard.
34099169689Skan	(struct histogram_value): Change rtx fields to void *.
34100169689Skan	(rtl_register_value_prof_hooks): New declaration.
34101169689Skan	(tree_register_value_prof_hooks): New declaration.
34102169689Skan	(find_values_to_profile): New declaration.
34103169689Skan	(free_profiled_values): New declaration.
34104169689Skan	(value_profile_transformations): New declaration.
34105169689Skan	(struct profile_hooks): New declaration.
34106169689Skan	(init_branch_prob): Declaration moved from rtl.h.
34107169689Skan	(branch_prob): Declaration moved from rtl.h.
34108169689Skan	(end_branch_prob): Declaration mooved from rtl.h.
34109169689Skan	(tree_register_profile_hooks): New declaration.
34110169689Skan	(rtl_register_profile_hooks): New declaration.
34111169689Skan	(tree_profile_hooks): New declaration.
34112169689Skan	(rtl_profile_hooks): New declaration.
34113169689Skan	* varasm.c: Include tree-mudflap.h.
34114169689Skan	(TRAMPOLINE_ALIGNMENT): Remove.
34115169689Skan	(make_decl_rtl): Call mudflap_enqueue_decl.
34116169689Skan	(assemble_static_space):
34117169689Skan	(assemble_trampoline_template): Set and return
34118169689Skan	TRAMPOLINE_ALIGNMENT.
34119169689Skan	* varray.c (element): Add GENERIC_PTR_NOGC entry.
34120169689Skan	Add entry for 'tree *'.
34121169689Skan	Add entry for struct edge_def *.
34122169689Skan	(varray_copy): New.
34123169689Skan	* varray.h (enum varray_data_enum): Add
34124169689Skan	VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
34125169689Skan	VARRAY_DATA_TREE_PTR.
34126169689Skan	(union varray_data_tag): Corresponding changes.
34127169689Skan	(VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
34128169689Skan	VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
34129169689Skan	VARRAY_EDGE, VARRAY_TREE_PTR,
34130169689Skan	VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
34131169689Skan	VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
34132169689Skan	VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
34133169689Skan
34134169689Skan	* config/*/*: Various updates for changed macros, tree
34135169689Skan	codes, etc.  Check ChangeLog.tree-ssa.
34136169689Skan
34137169689Skan	* doc/cfg.texi: New file.
34138169689Skan	* doc/tree-ssa.texi: New file.
34139169689Skan	* doc/c-tree.texi: Document new codes.
34140169689Skan	* doc/gccint.texi: Include new files.
34141169689Skan	* doc/install.texi: Document new features.
34142169689Skan	* doc/invoke.texi: Document new switches.
34143169689Skan	* doc/passes.texi: Document new passes.
34144169689Skan	* doc/rtl.texi: Update changed RTL codes.
34145169689Skan	* doc/sourcebuild.texi: Update build instructions.
34146169689Skan	* doc/standards.texi: Document Fortran changes.
34147169689Skan	* doc/tm.texi: Update.
34148169689Skan
34149169689Skan2004-05-12  Paolo Bonzini  <bonzini@gnu.org>
34150169689Skan
34151169689Skan	Replace several arrays with a struct of arrays.
34152169689Skan	* combine.c (struct reg_stat): New.
34153169689Skan	(init_reg_last_arrays): Renamed to...
34154169689Skan	(init_reg_last): ...this.  Callers adjusted.
34155169689Skan	(reg_stat): New.
34156169689Skan	(combine_instructions): Allocate it and use it.
34157169689Skan	(reg_last_death, reg_last_set, reg_last_set_value,
34158169689Skan	reg_last_set_label, reg_last_set_table_tick,
34159169689Skan	reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
34160169689Skan	reg_last_set_mode, reg_last_set_nonzero_bits,
34161169689Skan	reg_last_set_sign_bit_copies): Replace throughout
34162169689Skan	with items of reg_stat.
34163169689Skan
34164169689Skan2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
34165169689Skan
34166169689Skan	PR optimization/15100
34167169689Skan	* combine.c (distribute_notes): Don't create a dangling
34168169689Skan	REG_LIBCALL/REG_RETVAL note.
34169169689Skan
34170169689Skan2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
34171169689Skan
34172169689Skan	* config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
34173169689Skan
34174169689Skan	* config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
34175169689Skan	negv2si2.
34176169689Skan
34177169689Skan2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
34178169689Skan
34179169689Skan	* doc/md.texi (Standard Names): Fix typo in vec_init description.
34180169689Skan
34181169689Skan2004-05-11  Geoffrey Keating  <geoffk@apple.com>
34182169689Skan
34183169689Skan	* doc/gty.texi (GTY Options): Clarify example.
34184169689Skan
34185169689Skan2004-05-11  Fariborz Jahanian  <fjahanian@apple.com>
34186169689Skan
34187169689Skan	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
34188169689Skan	Add const qualifier to altivec vector type if one is needed.
34189169689Skan
34190169689Skan2004-05-11  Paul Brook  <paul@codesourcery.com>
34191169689Skan
34192169689Skan	* flags.h (flag_short_enums): Update comment.
34193169689Skan	* opts.c (decode_options): Set flag_short_enums to 2.
34194169689Skan	* toplev.c (flag_short_enums): Update comment.
34195169689Skan	(process_options): Call default_short_enums target hook.
34196169689Skan
34197169689Skan2004-05-11  Andrew Pinski  <pinskia@gcc.gnu.org>
34198169689Skan
34199169689Skan	PR target/14063
34200169689Skan	* config/rs6000/altivec.md (altivec_dssall):
34201169689Skan	Change to unspec_volatile.
34202169689Skan	(altivec_dss): Likewise.
34203169689Skan
34204169689Skan2004-05-10  Aldy Hernandez  <aldyh@redhat.com>
34205169689Skan
34206169689Skan	* config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
34207169689Skan	vnor.
34208169689Skan	("one_cmplv8hi2"): Same.
34209169689Skan	("one_cmplv4si2"): Same.
34210169689Skan
34211169689Skan2004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
34212169689Skan
34213169689Skan	PR target/15130
34214169689Skan	* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
34215169689Skan	* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
34216169689Skan	into account.  Compute the correct number of general registers
34217169689Skan	for the return value.  Generate a special push/pop sequence when
34218169689Skan	failing to get a temporary register for non SHmedia epilogue.
34219169689Skan	(sh_expand_epilogue): Add an argument to show whether it's for
34220169689Skan	sibcall or not.  Set the 3rd argument of output_stack_adjust to
34221169689Skan	-1 if needed.
34222169689Skan	(sh_need_epilogue): Call sh_expand_epilogue with 0.
34223169689Skan	* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
34224169689Skan	with 1.
34225169689Skan	(epilogue): Call sh_expand_epilogue with 0.
34226169689Skan
34227169689Skan2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
34228169689Skan
34229169689Skan	* gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
34230169689Skan	goto a cleanup label.  After the cleanup, free the allocated memory.
34231169689Skan
34232169689Skan2004-05-10  Ziemowit Laski  <zlaski@apple.com>
34233169689Skan
34234169689Skan	* config/rs6000/altivec.h (vec_sld): Add overloads for
34235169689Skan	argument/return types of 'vector bool int', 'vector bool short'
34236169689Skan	and 'vector bool char'.
34237169689Skan
34238169689Skan2004-05-10  Zack Weinberg  <zack@codesourcery.com>
34239169689Skan
34240169689Skan	* c-decl.c (store_parm_decls_newstyle): Correct test for a
34241169689Skan	nested function.
34242169689Skan
34243169689Skan2004-05-10  Richard Sandiford  <rsandifo@redhat.com>
34244169689Skan
34245169689Skan	* read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
34246169689Skan	treating missing ones as "".
34247169689Skan	* config/mips/mips.md: Remove constraints from match_operands and
34248169689Skan	match_scratches if they appear in define_expands (except reload*),
34249169689Skan	define_peephole2s, define_splits or attribute specifications.
34250169689Skan	* config/mips/7000.md, config/mips/sb1.md: Remove match_operand
34251169689Skan	constraint strings.
34252169689Skan
34253169689Skan2004-05-10  Alan Modra  <amodra@bigpond.net.au>
34254169689Skan
34255169689Skan	* config/rs6000/rs6000.c (function_arg_boundary): Always align
34256169689Skan	AltiVec vectors.
34257169689Skan	(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
34258169689Skan	vectors by refererence.  Align the same for TARGET_64BIT to a 16
34259169689Skan	byte boundary.  Remove useless code.  Add function comment.
34260169689Skan	(function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
34261169689Skan	call to where it belongs.
34262169689Skan	(function_arg_partial_nregs): Return true for all TARGET_32BIT
34263169689Skan	-mabi=no-altivec AltiVec vectors.  Fix debug output.
34264169689Skan	(rs6000_va_arg): Adjust for AltiVec change.
34265169689Skan
34266169689Skan2004-05-10  Paul Brook  <paul@codesourcery.com>
34267169689Skan
34268169689Skan	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
34269169689Skan	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
34270169689Skan	(TARGET_DOUBLEWORD_ALIGN): Use it.
34271169689Skan	(WCHAR_TYPE): Define.
34272169689Skan	(WCHAR_SIZE_TYPE): Define.
34273169689Skan	(SIZE_TYPE): Define.
34274169689Skan
34275169689Skan2004-05-10  Alan Modra  <amodra@bigpond.net.au>
34276169689Skan
34277169689Skan	* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
34278169689Skan	when size is 8 bytes.
34279169689Skan	(function_arg_advance): Account for stack space used by AltiVec
34280169689Skan	args when -mabi=altivec.  Simplify alignment calculations.  For
34281169689Skan	ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
34282169689Skan	(function_arg): Similarly.
34283169689Skan	(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
34284169689Skan	not AltiVec ABI.
34285169689Skan	(rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
34286169689Skan	Correct alignment, and align before testing reg count.  Remove
34287169689Skan	TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
34288169689Skan	(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
34289169689Skan	TARGET_FPRS here..
34290169689Skan	(rs6000_function_value): .. not here before call.
34291169689Skan
34292169689Skan2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
34293169689Skan
34294169689Skan	* config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
34295169689Skan
34296169689Skan2004-05-09  Zack Weinberg  <zack@codesourcery.com>
34297169689Skan
34298169689Skan	PR 15007
34299169689Skan	* c-decl.c (current_file_decl): Rename to all_translation_units,
34300169689Skan	adjust comment.
34301169689Skan	(pop_scope): If popping file_scope, construct a
34302169689Skan	TRANSLATION_UNIT_DECL and make it the context of all the
34303169689Skan	symbols in the scope.
34304169689Skan	(push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
34305169689Skan	(pushdecl): Clarify comment.  Do not set DECL_CONTEXT of
34306169689Skan	anything to current_file_decl.
34307169689Skan	(pushdecl_top_level): Likewise.
34308169689Skan	(store_parm_decls_newstyle): Adjust check for nested function.
34309169689Skan	(c_write_global_declarations): Update for renamed variable.
34310169689Skan
34311169689Skan2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
34312169689Skan
34313169689Skan	* config/rs6000/rs6000-protos.h
34314169689Skan	(rs6000_conditional_register_usage): Protoize.
34315169689Skan
34316169689Skan	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
34317169689Skan
34318169689Skan	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
34319169689Skan	function.
34320169689Skan
34321169689Skan2004-05-08  Roger Sayle  <roger@eyesopen.com>
34322169689Skan
34323169689Skan	* fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
34324169689Skan	where op is a comparison operator and C1 and C2 are integer constants
34325169689Skan	into a range check.
34326169689Skan	(fold): Call fold_div_compare.
34327169689Skan
34328169689Skan2004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
34329169689Skan
34330169689Skan	* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
34331169689Skan	problems with earlier versions of the GNU compiler.
34332169689Skan
34333169689Skan2004-05-07  Aldy Hernandez  <aldyh@redhat.com>
34334169689Skan
34335169689Skan	* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
34336169689Skan	Declare.
34337169689Skan
34338169689Skan	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
34339169689Skan	(rs6000_hard_regno_mode_ok): New.
34340169689Skan	(rs6000_init_hard_regno_mode_ok): New.
34341169689Skan	(rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
34342169689Skan
34343169689Skan	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
34344169689Skan	result.
34345169689Skan
34346169689Skan2004-05-07  Ziemowit Laski  <zlaski@apple.com>
34347169689Skan
34348169689Skan	* config/rs6000/altivec.h (vector, pixel, bool): Do not
34349169689Skan	define as macros #ifdef __APPLE_ALTIVEC__.
34350169689Skan
34351169689Skan2004-05-07  Fariborz Jahanian  <fjahanian@apple.com>
34352169689Skan
34353169689Skan	* config/rs6000/rs6000.c (rs6000_mixed_function_arg):
34354169689Skan	Generate appropriate parallels for vector arguments
34355169689Skan	passed to vararg functions. (function_arg): make the call
34356169689Skan	to rs6000_mixed_function_arg for vector args as needed.
34357169689Skan
34358169689Skan2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
34359169689Skan
34360169689Skan	* config/mips/mips.c (mips_va_arg): Fix calculation of osize for
34361169689Skan	EABI_FLOAT_VARARGS_P.
34362169689Skan
34363169689Skan2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
34364169689Skan
34365169689Skan	* config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
34366169689Skan	* config/mips/mips.c (override_options): Disable branch likely
34367169689Skan	instructions if TUNE_MIPS5500.
34368169689Skan
34369169689Skan2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
34370169689Skan
34371169689Skan	* config/mips/mips.c (override_options): Allow the hi and lo registers
34372169689Skan	to store any integral mode, not just MODE_INTs.
34373169689Skan
34374169689Skan2004-05-07  Paul Brook  <paul@codesourcery.com>
34375169689Skan
34376169689Skan	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
34377169689Skan	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
34378169689Skan	(TARGET_DOUBLEWORD_ALIGN): Use it.
34379169689Skan	(WCHAR_TYPE): Define.
34380169689Skan	(WCHAR_SIZE_TYPE): Define.
34381169689Skan	(SIZE_TYPE): Define.
34382169689Skan
34383169689Skan2004-05-07  Uros Bizjak  <uros@kss-loka.si>
34384169689Skan
34385169689Skan	* config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
34386169689Skan	testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
34387169689Skan
34388169689Skan2004-05-07  Andrew Pinski  <pinskia@physics.uc.edu>
34389169689Skan
34390169689Skan	* loop-doloop.c (doloop_valid_p): Make sure that body
34391169689Skan	gets freed.
34392169689Skan
34393169689Skan2004-05-07  Eric Botcazou  <ebotcazou@act-europe.fr>
34394169689Skan
34395169689Skan	* config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
34396169689Skan	declaration.
34397169689Skan	* config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
34398169689Skan	(sparc_skip_caller_unimp): New global variable.
34399169689Skan	(sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
34400169689Skan	Use it instead of SKIP_CALLERS_UNIMP_P.
34401169689Skan	* config/sparc/sparc.md (call expander): Add sanity check.
34402169689Skan	(call_address_struct_value_sp32): Re-sync with expander.
34403169689Skan	(call_symbolic_struct_value_sp32): Likewise.
34404169689Skan	(return peepholes): Use 'sparc_skip_caller_unimp' instead
34405169689Skan	of custom predicate.
34406169689Skan
34407169689Skan2004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
34408169689Skan
34409169689Skan	PR c++/14962
34410169689Skan	* c-pragma.c (handle_pragma_redefine_extname): Only change
34411169689Skan	the assembler name of FUNCTION_DECLs and VAR_DECLs.
34412169689Skan
34413169689Skan2004-05-07  Uros Bizjak  <uros@kss-loka.si>
34414169689Skan
34415169689Skan	* optabs.h (enum optab_index): Add new OTI_log1p.
34416169689Skan	(log1p_optab): Define corresponding macro.
34417169689Skan	* optabs.c (init_optabs): Initialize log1p_optab.
34418169689Skan	* genopinit.c (optabs): Implement log1p_optab using log1p?f2
34419169689Skan	patterns.
34420169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
34421169689Skan	using log1p_optab.
34422169689Skan	(expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
34423169689Skan	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
34424169689Skan
34425169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
34426169689Skan
34427169689Skan	* config/i386/i386.c (ix86_emit_i387_log1p): New function.
34428169689Skan	* config/i386/i386-protos.h (ix86_emit_i387_log1p):
34429169689Skan	Prototype here.
34430169689Skan	* config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
34431169689Skan	x87's fyl2xp1 instruction.
34432169689Skan	(*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
34433169689Skan	(fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
34434169689Skan	(log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
34435169689Skan	log1p  and log1pl built-ins as inline x87 intrinsics.
34436169689Skan
34437169689Skan2004-05-07  Loren James Rittle  <ljrittle@acm.org>
34438169689Skan
34439169689Skan	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
34440169689Skan	* config/arm/freebsd.h: Likewise.
34441169689Skan	* config/ia64/freebsd.h: Likewise.
34442169689Skan	* config/sparc/freebsd.h: Likewise.
34443169689Skan
34444169689Skan2004-05-07  Hans-Peter Nilsson  <hp@axis.com>
34445169689Skan
34446169689Skan	PR optimization/15296
34447169689Skan	* reorg.c (fill_simple_delay_slots): Use next_real_insn when
34448169689Skan	getting last consecutive label at a branch.
34449169689Skan	(relax_delay_slots): Similar, near top of loop.
34450169689Skan
34451169689Skan2004-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
34452169689Skan
34453169689Skan	PR target/15202
34454169689Skan	* pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
34455169689Skan	register to general register.
34456169689Skan
34457169689Skan2004-05-07  Alan Modra  <amodra@bigpond.net.au>
34458169689Skan
34459169689Skan	* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
34460169689Skan	TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
34461169689Skan	* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
34462169689Skan	(STACK_BOUNDARY): Delete.
34463169689Skan
34464169689Skan2004-05-06  Stuart Hastings  <stuart@apple.com>
34465169689Skan
34466169689Skan	* doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
34467169689Skan	mistakenly clobbered by 1.423.
34468169689Skan
34469169689Skan2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
34470169689Skan
34471169689Skan	* doc/invoke.texi: Document -mvr4130-align.
34472169689Skan	* config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
34473169689Skan	(TUNE_MIPS4120, TUNE_MIPS4130): New macros.
34474169689Skan	(TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
34475169689Skan	(TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
34476169689Skan	* config/mips/mips.md: Include sched-int.h.
34477169689Skan	(USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
34478169689Skan	(mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
34479169689Skan	(override_options): Enable -mvr4130-align at -O3 and above.
34480169689Skan	(mips_sim_insn): New variable.
34481169689Skan	(mips_sim): New structure.
34482169689Skan	(mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
34483169689Skan	(mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
34484169689Skan	(mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
34485169689Skan	(mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
34486169689Skan	(vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
34487169689Skan	(mips_reorg): Call vr4130_align_insns.
34488169689Skan	(vr4130_last_insn): New variable.
34489169689Skan	(vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
34490169689Skan	(vr4130_swap_insns_p, vr4130_reorder): New functions.
34491169689Skan	(mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
34492169689Skan	(mips_issue_rate): Return 2 for PROCESSOR_R4130.
34493169689Skan	(mips_use_dfa_pipeline_interface): Return true for the same.
34494169689Skan	* config/mips/4130.md: New file.
34495169689Skan	* config/mips/mips.md: Include it.  Add a peephole2 to convert
34496169689Skan	"mult;mflo" into "mtlo;macc".
34497169689Skan	(*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
34498169689Skan	target of maccs.
34499169689Skan	(*msac_using_macc): New pattern.
34500169689Skan
34501169689Skan2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
34502169689Skan
34503169689Skan	* config/mips/5500.md (ir_vr55_store): Set latency to 0.
34504169689Skan	(ir_vr55_hilo): Split into...
34505169689Skan	(ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
34506169689Skan	(ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
34507169689Skan	(ir_vr55_imul_di): Change latency to 9.  Reserve vr55_mac for 4 cycles.
34508169689Skan	Add various multiplication bypasses.
34509169689Skan	* config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
34510169689Skan	multiplication.
34511169689Skan
34512169689Skan2004-05-06  Uros Bizjak  <uros@kss-loka.si>
34513169689Skan
34514169689Skan	* config/i386/i386.md (*fscalexf4): Correct insn "mode"
34515169689Skan	attribute to "XF".
34516169689Skan
34517169689Skan2004-05-05  Uros Bizjak  <uros@kss-loka.si>
34518169689Skan
34519169689Skan	* optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
34520169689Skan	(fmod_optab, drem_optab): Define corresponding macros.
34521169689Skan	* optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
34522169689Skan	* genopinit.c (optabs): Implement fmod_optab and drem_optab
34523169689Skan	using fmod?f3 and drem?f3 patterns.
34524169689Skan	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
34525169689Skan	using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
34526169689Skan	(expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
34527169689Skan	BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
34528169689Skan	flag_unsafe_math_optimizations is set.
34529169689Skan
34530169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
34531169689Skan	UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
34532169689Skan
34533169689Skan	* config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
34534169689Skan	* config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
34535169689Skan	Prototype here.
34536169689Skan	* config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
34537169689Skan	UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
34538169689Skan	fprem and fprem1 instructions.
34539169689Skan	(*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
34540169689Skan	Rename insn definition to x86_fnstsw_1.
34541169689Skan	(fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
34542169689Skan	x87 instructions.
34543169689Skan	(fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
34544169689Skan	and fmodl built-ins as inline x87 intrinsics.
34545169689Skan	(dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
34546169689Skan	and dreml built-ins as inline x87 intrinsics.
34547169689Skan
34548169689Skan2004-05-05  Roger Sayle  <roger@eyesopen.com>
34549169689Skan
34550169689Skan	* reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
34551169689Skan
34552169689Skan2004-05-05  Ian Lance Taylor  <ian@wasabisystems.com>
34553169689Skan
34554169689Skan	PR driver/9822
34555169689Skan	* doc/invoke.texi (Spec Files): Remove documentation of %c.
34556169689Skan
34557169689Skan2004-05-05  Chris Demetriou  <cgd@broadcom.com>
34558169689Skan
34559169689Skan	* config/mips/mips.md: Update the msub define_split for new mflo/mfhi
34560169689Skan	representation.
34561169689Skan
34562169689Skan2004-05-06  Paul Brook  <paul@codesourcery.com>
34563169689Skan
34564169689Skan	* config/arm/arm-protots.h (vfp_mem_operand): Rename ...
34565169689Skan	(arm_coproc_mem_operand): ... To this.
34566169689Skan	* config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
34567169689Skan	(arm_legitimate_index_p): Ditto.
34568169689Skan	(vfp_mem_operand): Rename ...
34569169689Skan	(arm_coproc_mem_operand): ... To this.  Handle writeback modes.
34570169689Skan	(vfp_secondary_reload_class): Use it.
34571169689Skan	(output_move_double): Use doubleword load/store instructions.
34572169689Skan	(arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
34573169689Skan	* config/arm/arm.h (TARGET_LDRD): Define.
34574169689Skan	(EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
34575169689Skan	* config/arm/arm.md (arm_movdi): Allow all valid memory operands.
34576169689Skan	New splitter for invalid doubleword loads.
34577169689Skan	* config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
34578169689Skan	* config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
34579169689Skan	* doc/md.texi: Document Uy constraint.
34580169689Skan
34581169689Skan2004-05-05  Jan Hubicka  <jh@suse.cz>
34582169689Skan
34583169689Skan	PR opt/14980
34584169689Skan	* cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
34585169689Skan	inline clones.
34586169689Skan
34587169689Skan2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
34588169689Skan
34589169689Skan	PR target/15290
34590169689Skan	* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
34591169689Skan	instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
34592169689Skan
34593169689Skan2004-05-05  Mike Stump  <mrs@apple.com>
34594169689Skan
34595169689Skan	* config/darwin-c.c (add_framework): Copy the directory name as it
34596169689Skan	can be freed later.  Also, ensure we always allocate enough room
34597169689Skan	for the cached framework information.
34598169689Skan	(find_subframework_header): Keep track of the directory where the
34599169689Skan	subframework header was found.
34600169689Skan	(framework_construct_pathname): Speed up by not trying to re-add a
34601169689Skan	framework.
34602169689Skan	* cppfiles.c (search_path_exhausted): Arrange for the missing
34603169689Skan	header callback to be able to set the directory where the header
34604169689Skan	was found.
34605169689Skan	(cpp_get_dir): Add.
34606169689Skan	* cpplib.h (missing_header_cb): Add a parameter.
34607169689Skan	(cpp_get_dir): Add.
34608169689Skan
34609169689Skan2004-05-03  Mike Stump  <mrs@apple.com>
34610169689Skan
34611169689Skan	* doc/invoke.texi (Directory Options): Document -iquote.
34612169689Skan	* doc/cpp.texi: Likewise.
34613169689Skan	* doc/cppopts.texi: Likewise.
34614169689Skan	* c-opts.c (c_common_missing_argument): Add -iquote processing.
34615169689Skan	(c_common_handle_option): Likewise.
34616169689Skan	* c.opt (iquote): Add.
34617169689Skan	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
34618169689Skan	* c-incpath.c (merge_include_chains): Update comment to use -iquote.
34619169689Skan
34620169689Skan	* c-opts.c (case OPT_I): Deprecate -I- support.
34621169689Skan	* doc/invoke.texi: Likewise.
34622169689Skan	* doc/cpp.texi: Likewise.
34623169689Skan	* doc/cppopts.texi: Likewise.
34624169689Skan
34625169689Skan2004-05-05  Steven Bosscher  <stevenb@suse.de>
34626169689Skan
34627169689Skan	* basic-block.h (free_basic_block_vars): Update prototype.
34628169689Skan	* flow.c (free_basic_block_vars): Remove the keep_head_end_p
34629169689Skan	argument.
34630169689Skan	(life_analysis): Update call.
34631169689Skan	* ifcvt.c (if_convert): Likewise.
34632169689Skan	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
34633169689Skan	* passes.c (rest_of_handle_final): Likewise.
34634169689Skan	(rest_of_compilation): Likewise.
34635169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
34636169689Skan
34637169689Skan	* emit-rtl.c (next_real_insn): Use INSN_P.
34638169689Skan	(prev_real_insn): Likewise.
34639169689Skan
34640169689Skan2004-05-05  Eric Christopher  <echristo@redhat.com>
34641169689Skan
34642169689Skan	* config/mips/mips.md: Update the madd define_split for new mflo/mfhi
34643169689Skan	representation.
34644169689Skan
34645169689Skan2004-05-05  Paolo Bonzini  <bonzini@gnu.org>
34646169689Skan
34647169689Skan	* config/rs6000/rs6000.c (build_opaque_vector_type):
34648169689Skan	New function.
34649169689Skan	(rs6000_init_builtins): Use it.
34650169689Skan
34651169689Skan2004-05-04  Bernard Giroud  <bgiroud2@free.fr>
34652169689Skan
34653169689Skan	* vmsdbgout.c (vms_func_node, vms_func_ref): New.
34654169689Skan	(func_table): Change type from char ** to vms_func_ref.
34655169689Skan	(write_rtnbeg): Update to reflect func_table change.  Use
34656169689Skan	fde->funcdef_number instead of rtnnum in output.
34657169689Skan	(write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
34658169689Skan
34659169689Skan2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
34660169689Skan	    Richard Henderson  <rth@redhat.com>
34661169689Skan
34662169689Skan	PR target/14899
34663169689Skan
34664169689Skan	* c-common.c (vector_types_convertible_p): New function.
34665169689Skan	* c-typeck.c (comptypes): Recurse on vector types.
34666169689Skan	(convert_for_assignment): Use vector_types_convertible_p.
34667169689Skan	(digest_init): Use vector_types_convertible_p to check
34668169689Skan	validness of constant vector initializers; otherwise treat
34669169689Skan	them as scalars.
34670169689Skan	* tree.c (make_or_reuse_type): New.
34671169689Skan	(build_common_tree_nodes): Use it.
34672169689Skan	* cp/call.c (standard_conversion): Likewise.
34673169689Skan	* cp/typeck.c (comptypes): Recurse on vector types.
34674169689Skan	(convert_for_assignment): Use vector_types_convertible_p.
34675169689Skan
34676169689Skan2004-05-04  Chris Demetriou  <cgd@broadcom.com>
34677169689Skan
34678169689Skan	* config/mips/mips.c (override_options): Default to no
34679169689Skan	generation of branch-likely operations when tuning for
34680169689Skan	CPUs where they tend to have a negative performance impact
34681169689Skan	(e.g., SB-1).
34682169689Skan
34683169689Skan2004-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
34684169689Skan
34685169689Skan	* expr.c (store_constructor_field): Don't call store_constructor
34686169689Skan	if bitsize is not a multiple of a byte.
34687169689Skan
34688169689Skan2004-05-04  Richard Sandiford  <rsandifo@redhat.com>
34689169689Skan
34690169689Skan	* reload1.c (inherit_piecemeal_p): New function.
34691169689Skan	(emit_reload_insns): When reloading a group of hard registers, use
34692169689Skan	inherit_piecemeal_p to decide whether the values of individual hard
34693169689Skan	registers can be inherited.
34694169689Skan
34695169689Skan2004-05-04  H.J. Lu  <hongjiu.lu@intel.com>
34696169689Skan
34697169689Skan	* config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
34698169689Skan	* config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
34699169689Skan	* config/t-linux (LIB2ADDEHDEP): Likewise.
34700169689Skan
34701169689Skan2004-05-04  Paul Brook  <paul@codesourcery.com>
34702169689Skan
34703169689Skan	* config/arm/crti.asm: Push an even number of registers.
34704169689Skan	* config/arm/crtn.asm: And restore them.  Load via sp.
34705169689Skan
34706169689Skan2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
34707169689Skan
34708169689Skan	* ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
34709169689Skan	Collect overhead information.
34710169689Skan	(ggc_alloc_stat): New name of ggc_alloc.  Add MEM_STAT_DECL
34711169689Skan	parameter and pass it through.
34712169689Skan	(ggc_alloc_typed_stat): New name of ggc_alloc_typed.  Add
34713169689Skan	MEM_STAT_DECL parameter and pass it through.
34714169689Skan	(ggc_alloc_zone_stat): New name of ggc_alloc_zone.  Add
34715169689Skan	MEM_STAT_DECL parameter and pass it through.
34716169689Skan
34717169689Skan2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
34718169689Skan
34719169689Skan	* config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
34720169689Skan
34721169689Skan	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
34722169689Skan
34723169689Skan	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
34724169689Skan	rs6000_hard_regno_nregs.
34725169689Skan
34726169689Skan2004-05-03  Eric Christopher  <echristo@redhat.com>
34727169689Skan
34728169689Skan	* config/s390/s390.c (s390_emit_prologue): Call unspec tpf
34729169689Skan	prologue insn instead of setting up call.
34730169689Skan	(s390_emit_epilogue): Ditto.
34731169689Skan	* config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
34732169689Skan	(define_constants): Add numbers for above patterns.
34733169689Skan
34734169689Skan2004-05-03  Eric Christopher  <echristo@redhat.com>
34735169689Skan
34736169689Skan	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
34737169689Skan	* config/s390/s390.c (s390_conditional_register_usage): ...here.
34738169689Skan	* config/s390/s390-protos.h: Prototype.
34739169689Skan
34740169689Skan2004-05-03  Joe Buck <jbuck@welsh-buck.org>
34741169689Skan
34742169689Skan	* cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
34743169689Skan	assignment.
34744169689Skan
34745169689Skan2004-05-03  Eric Christopher  <echristo@redhat.com>
34746169689Skan
34747169689Skan	* config/mips/mips.md: Fix branch length attribute definition.
34748169689Skan
34749169689Skan2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
34750169689Skan
34751169689Skan	* config.gcc: Remove --enable-altivec support.
34752169689Skan
34753169689Skan	* config/rs6000/altivec-defs.h: Remove.
34754169689Skan
34755169689Skan2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
34756169689Skan
34757169689Skan	* fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
34758169689Skan	* fixinc/fixincl.x: Regenerate.
34759169689Skan
34760169689Skan2004-05-03  Uros Bizjak  <uros@kss-loka.si>
34761169689Skan
34762169689Skan	* config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
34763169689Skan	definition.
34764169689Skan	(log?f2, log10?f2, log2?f2): Reimplement expanders with
34765169689Skan	float_truncate insn.
34766169689Skan	(*fxtractsf3, *fxtractdf3): Remove insn definition.
34767169689Skan	(logb?f2): Reimplement expanders with float_truncate insn.
34768169689Skan
34769169689Skan2004-05-03  Graham Stott  <graham.stott@btinternet.com>
34770169689Skan
34771169689Skan	PR 14718
34772169689Skan	* dwarf2out.c (dwarf2out_imported_module_or_decl): Use
34773169689Skan	force_type_die for CONST_DECL.
34774169689Skan
34775169689Skan2004-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
34776169689Skan	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
34777169689Skan
34778169689Skan	* config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
34779169689Skan	tm-dwarf2.h to tm_file.
34780169689Skan	(sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
34781169689Skan	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
34782169689Skan	(ASM_DEBUG_SPEC): Delete.
34783169689Skan
34784169689Skan2004-05-03  Uros Bizjak  <uros@kss-loka.si>
34785169689Skan
34786169689Skan	* optabs.h (enum optab_index): Add new OTI_expm1.
34787169689Skan	(expm1_optab): Define corresponding macro.
34788169689Skan	* optabs.c (init_optabs): Initialize expm1_optab.
34789169689Skan	* genopinit.c (optabs): Implement expm1_optab using expm1?f2
34790169689Skan	patterns.
34791169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
34792169689Skan	using expm1_optab.
34793169689Skan	(expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
34794169689Skan	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
34795169689Skan
34796169689Skan	* config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
34797169689Skan	to implement expm1, expm1f and expm1l built-ins as inline x87
34798169689Skan	intrinsics.
34799169689Skan
34800169689Skan2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
34801169689Skan
34802169689Skan	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
34803169689Skan	* config/frv/frv.md (*return_true, *return_false): New patterns.
34804169689Skan
34805169689Skan2004-05-02  Kazu Hirata  <kazu@cs.umass.edu>
34806169689Skan
34807169689Skan	* rtl.h (PHI_NODE_P): Remove.
34808169689Skan
34809169689Skan2004-05-02  Eric Botcazou  <ebotcazou@act-europe.fr>
34810169689Skan
34811169689Skan	PR middle-end/14988
34812169689Skan	* function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
34813169689Skan	when passed -2 as 'align'.
34814169689Skan	(put_var_into_stack): Use 'bool' as the type for the three local
34815169689Skan	predicates.  Adjust calls to put_reg_into_stack.
34816169689Skan	When passed a CONCAT, instruct put_reg_into_stack to use
34817169689Skan	a consecutive stack slot for the second part.
34818169689Skan	(put_reg_into_stack): Remove 'promoted_mode' parameter, add
34819169689Skan	'consecutive_p' parameter.  Turn the three predicates into 'bool'
34820169689Skan	parameters.  Retrieve the register mode from 'reg'.
34821169689Skan	When consecutive_p is true, instruct assign_stack_local_1 to use
34822169689Skan	BITS_PER_UNIT alignment.
34823169689Skan	(put_addressof_into_stack): Use 'bool' as the type for the two
34824169689Skan	local predicates. Adjust call to put_reg_into_stack.
34825169689Skan
34826169689Skan2004-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
34827169689Skan
34828169689Skan	* fold-const.c (fold_convert_const, fold): Add missing
34829169689Skan	FIX_ROUND_EXPR case.
34830169689Skan
34831169689Skan2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
34832169689Skan
34833169689Skan	* configure.ac (FLEX, BISON): Only use tools from the build tree
34834169689Skan	if build equals host.
34835169689Skan	* configure: Rebuilt.
34836169689Skan
34837169689Skan	* config/frv/frv-protos.h (frv_expand_epilogue,
34838169689Skan	frv_expand_fdpic_call): Add bool argument.
34839169689Skan	* config/frv/frv.c (frv_function_ok_for_sibcall): New.
34840169689Skan	(TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
34841169689Skan	(frv_expand_epilogue): Use new argument to decide whether to emit
34842169689Skan	return instruction or copy the return address to LR.
34843169689Skan	(frv_expand_fdpic_call): Inline PLT entry when emitting direct
34844169689Skan	sibcalls.
34845169689Skan	(sibcall_operand): New.
34846169689Skan	* config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
34847169689Skan	PLUS nor LABEL_REF.  Add sibcall_operand.
34848169689Skan	* config/frv/frv.md (call, call_value): Pass false to
34849169689Skan	frv_expand_fdpic_call.
34850169689Skan	(call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
34851169689Skan	(sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
34852169689Skan	sibcall_value_internal, sibcall_value_fdpicdi): New.
34853169689Skan	(return_unsigned_true, return_unsigned_false): New.
34854169689Skan	(epilogue): Adjust call to frv_expand_epilogue.
34855169689Skan	(sibcall_epilogue): New.
34856169689Skan
34857169689Skan	* config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
34858169689Skan	(CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
34859169689Skan	before redefining them.
34860169689Skan
34861169689Skan2004-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
34862169689Skan
34863169689Skan	* builtins.c (fold_fixed_mathfn): New function.
34864169689Skan	(fold_builtin_lround, fold_builtin): Use it.
34865169689Skan
34866169689Skan2004-05-01  Jakub Jelinek  <jakub@redhat.com>
34867169689Skan
34868169689Skan	* config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
34869169689Skan	also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
34870169689Skan
34871169689Skan2004-05-01  Kazu Hirata  <kazu@cs.umass.edu>
34872169689Skan
34873169689Skan	* config/cris/cris.h: Revert my "fix comment typos" patch.
34874169689Skan
34875169689Skan2004-05-01  Richard Sandiford  <rsandifo@redhat.com>
34876169689Skan
34877169689Skan	* config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
34878169689Skan
34879169689Skan2004-05-01  Falk Hueffner  <falk@debian.org>
34880169689Skan
34881169689Skan	* config/alpha/alpha.md (builtin_insbl, builtin_inswl,
34882169689Skan	builtin_insll): Disallow 0 as first input operand.
34883169689Skan
34884169689Skan2004-05-01  Falk Hueffner  <falk@debian.org>
34885169689Skan
34886169689Skan	* config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
34887169689Skan
34888169689Skan2004-05-01  Ulrich Weigand  <uweigand@de.ibm.com>
34889169689Skan
34890169689Skan	PR middle-end/15054
34891169689Skan	* expr.c (expand_expr_real): Do not call preserve_temp_slots
34892169689Skan	on a TARGET_EXPR temp.
34893169689Skan	* function.c (assign_stack_temp_for_type): Set 'keep' flag for
34894169689Skan	TARGET_EXPR temp slots.
34895169689Skan
34896169689Skan2004-05-01  Paolo Bonzini  <bonzini@gnu.org>
34897169689Skan
34898169689Skan	* simplify-rtx.c (simplify_ternary_operation): When
34899169689Skan	converting an IF_THEN_ELSE to a relational op, return
34900169689Skan	correct mode.
34901169689Skan
34902169689Skan2004-04-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
34903169689Skan
34904169689Skan	* builtins.c (fold_builtin_round): Fix comment typo.
34905169689Skan	(fold_builtin_lround): New function.
34906169689Skan	(fold_builtin): Use it.
34907169689Skan
34908169689Skan2004-04-20  Andrew Pinski  <pinskia@physics.uc.edu>
34909169689Skan
34910169689Skan	PR target/11608
34911169689Skan	* config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
34912169689Skan	more like the one in config/dbxelf.h.
34913169689Skan
34914169689Skan2004-04-30  Zack Weinberg  <zack@codesourcery.com>
34915169689Skan
34916169689Skan	* tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
34917169689Skan	and adjust definition accordingly.
34918169689Skan	(TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
34919169689Skan	(TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
34920169689Skan	* expr.c (store_constructor): Do not access TYPE_DOMAIN of a
34921169689Skan	VECTOR_TYPE.
34922169689Skan
34923169689Skan2004-04-30  Jason Merrill  <jason@redhat.com>
34924169689Skan
34925169689Skan	PR c++/14587
34926169689Skan	* config/i386/winnt.c (associated_type): Look for attributes on
34927169689Skan	the TYPE_MAIN_VARIANT of *this.
34928169689Skan	* attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
34929169689Skan	apply the attributes to the variants.
34930169689Skan
34931169689Skan2004-04-30  Paul Brook  <paul@codesourcery.com>
34932169689Skan
34933169689Skan	* config.gcc: Simplify arm --with-{cpu,tune} test.
34934169689Skan	* config/arm/arm-cores.def: Document whitespace restrictions.
34935169689Skan
34936169689Skan2004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
34937169689Skan
34938169689Skan	PR other/1963
34939169689Skan	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
34940169689Skan
34941169689Skan2004-04-30  Brian Ford  <ford@vss.fsi.com>
34942169689Skan	    DJ Delorie  <dj@redhat.com>
34943169689Skan
34944169689Skan	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
34945169689Skan	(DWARF2_DEBUGGING_INFO): Define to enable.
34946169689Skan	(DBX_REGISTER_NUMBER): Define to use the svr4 register map for
34947169689Skan	DWARF2.
34948169689Skan	* configure.ac (Target-specific assembler checks)
34949169689Skan	<i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
34950169689Skan	relocs.
34951169689Skan	* configure: Regenerate.
34952169689Skan	* config.in: Likewise.
34953169689Skan
34954169689Skan	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
34955169689Skan	(ASM_OUPUT_DWARF_OFFSET): Define.
34956169689Skan
34957169689Skan2004-04-29  Andreas Krebbel  <krebbel1@de.ibm.com>
34958169689Skan
34959169689Skan	* config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
34960169689Skan	(s390_emit_call): New function prototype added.
34961169689Skan	(s390_tls_get_offset): Function removed.
34962169689Skan	* config/s390/s390.c (s390_function_ok_for_sibcall,
34963169689Skan	s390_call_saved_register_used_p): New functions.
34964169689Skan	(TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
34965169689Skan	(s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
34966169689Skan	(s390_emit_tls_call_insn): New function.
34967169689Skan	(legitimize_tls_address): Call s390_emit_tls_call_insn instead of
34968169689Skan	emit_call_insn.
34969169689Skan	(s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
34970169689Skan	(s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
34971169689Skan	added.
34972169689Skan	* config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
34973169689Skan	register number used to hold the target address for sibcalls.
34974169689Skan	* config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
34975169689Skan	New expanders.
34976169689Skan	("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
34977169689Skan	"*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
34978169689Skan	("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
34979169689Skan	Expanders removed.
34980169689Skan	("call", "call_value"): Call s390_emit_call to emit the call patterns.
34981169689Skan	("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
34982169689Skan	"*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
34983169689Skan	("epilogue"): Changed the call to s390_emit_epilogue to use the
34984169689Skan	new parameter.
34985169689Skan
34986169689Skan2004-04-30  Kazu Hirata  <kazu@cs.umass.edu>
34987169689Skan
34988169689Skan	* bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
34989169689Skan	cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
34990169689Skan	reg-stack.c, varasm.c, config/alpha/ev4.md,
34991169689Skan	config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
34992169689Skan	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
34993169689Skan	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
34994169689Skan	config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
34995169689Skan	config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
34996169689Skan	config/ia64/itanium2.md, config/ip2k/ip2k.c,
34997169689Skan	config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
34998169689Skan	config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
34999169689Skan	comment typos.
35000169689Skan
35001169689Skan2004-04-30  Paul Brook  <paul@codesourcery.com>
35002169689Skan
35003169689Skan	* config.gcc: Default ep9312 to hard-float.
35004169689Skan	* config/arm/arm-cores.def: Add ARCH field.
35005169689Skan	* config/arm/arm.c (FL_FOR_ARCH*): Define.
35006169689Skan	(arm_arch_cirrus): New variable.
35007169689Skan	(all_cores): Set and use arch.
35008169689Skan	(all_architectures): Ditto.
35009169689Skan	(arm_arch_name): New variable.
35010169689Skan	(arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
35011169689Skan	Set and use arm_arch_cirrus.
35012169689Skan	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
35013169689Skan	(enum processor_type): Update ARM_CORE define.
35014169689Skan	(enum target_cpus): Add.  Replaces TARGET_CPU_* defines.
35015169689Skan	(CPP_SPEC): Remove %(cpp_cpu_arch).
35016169689Skan	(CPP_ARCH_DEFAULT_SPEC): Remove.
35017169689Skan	(CPP_CPU_ARCH_SPEC): Remove.
35018169689Skan	(EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
35019169689Skan	(FPUTYPE_DEFAULT): Don't define here.
35020169689Skan
35021169689Skan2004-04-30  J"orn Rennecke <joern.rennecke@superh.com>
35022169689Skan
35023169689Skan	* flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
35024169689Skan	updates too.
35025169689Skan
35026169689Skan2004-04-30  Paul Brook  <paul@codesourcery.com>
35027169689Skan
35028169689Skan	* arm.c (arm_needs_doubleword_align): Use mode alignment.
35029169689Skan
35030169689Skan2004-04-30  Paolo Bonzini  <bonzini@gnu.org>
35031169689Skan
35032169689Skan	* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
35033169689Skan	vec_sububs.
35034169689Skan	[__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
35035169689Skan	duplicates.
35036169689Skan
35037169689Skan2004-04-30  Uros Bizjak  <uros@kss-loka.si>
35038169689Skan
35039169689Skan	* config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
35040169689Skan	atan2?f3 expanders.
35041169689Skan
35042169689Skan2004-04-29  Nick Clifton  <nickc@redhat.com>
35043169689Skan
35044169689Skan	Bug 14093
35045169689Skan	* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
35046169689Skan	* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
35047169689Skan	Delete static from definition.
35048169689Skan	* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
35049169689Skan
35050169689Skan2004-04-30  Uros Bizjak  <uros@kss-loka.si>
35051169689Skan
35052169689Skan	* reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
35053169689Skan	UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
35054169689Skan	<UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
35055169689Skan	<UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
35056169689Skan
35057169689Skan2004-04-29  Richard Guenther  <richard.guenther@uni-tuebingen.de>
35058169689Skan
35059169689Skan	* commom.opt (Wfatal-errors): Add it.
35060169689Skan	* diagnostic.c (flag_fatal_errors): Define it.
35061169689Skan	(diagnostic_action_after_output): Check for flag_fatal_errors.
35062169689Skan	* flags.h (flag_fatal_errors): Declare it.
35063169689Skan	* opts.c (common_handle_option): Add OPT_Wfatal_errors.
35064169689Skan	* doc/invoke.texi (Warning Options): Document -Wfatal-errors.
35065169689Skan
35066169689Skan2004-04-30  Josef Zlomek  <zlomekj@suse.cz>
35067169689Skan
35068169689Skan	* gcse.c (remove_reachable_equiv_notes): Delete notes also in
35069169689Skan	blocks which have kill flag set.
35070169689Skan
35071169689Skan2004-04-29  Ben Elliston  <bje@au.ibm.com>
35072169689Skan
35073169689Skan	* configure.ac (--with-as): Abort if user-supplied assembler
35074169689Skan	cannot be executed.
35075169689Skan	(--with-ld): Likewise for the linker.
35076169689Skan	* configure: Regenerate.
35077169689Skan
35078169689Skan2004-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
35079169689Skan
35080169689Skan	* convert.c (convert_to_integer): Ensure `long_integer_type_node'
35081169689Skan	isn't NULL before using it.
35082169689Skan
35083169689Skan2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
35084169689Skan
35085169689Skan	PR target/15189
35086169689Skan	* config/mips/mips.md (load_df_low): Use default length.
35087169689Skan	(load_df_high, store_df_high): Likewise.
35088169689Skan
35089169689Skan2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
35090169689Skan
35091169689Skan	* config/mips/mips.md, config/mips/sb1.md,
35092169689Skan	config/rs6000/rs6000.c: Fix comment typos.
35093169689Skan
35094169689Skan2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
35095169689Skan
35096169689Skan	* builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
35097169689Skan	Fix comment typos.
35098169689Skan
35099169689Skan2004-04-29  Douglas B Rupp  <rupp@gnat.com>
35100169689Skan
35101169689Skan	* gcc.c (DELETE_IF_ORDINARY): New macro default definition.
35102169689Skan	(delete_if_ordinary): Use above macro.
35103169689Skan	* config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
35104169689Skan	Update copyright.
35105169689Skan	* doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
35106169689Skan
35107169689Skan2004-04-29  Richard Earnshaw  <rearnsha@arm.com>
35108169689Skan
35109169689Skan	* c-decl.c (get_parm_info): Use the correct tag keywords when
35110169689Skan	warning about type declarations in prototypes.
35111169689Skan
35112169689Skan2004-04-29  Paul Brook  <paul@codesourcery.com>
35113169689Skan
35114169689Skan	* config.gcc: Pull list of cores from arm-cores.def.
35115169689Skan
35116169689Skan2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
35117169689Skan
35118169689Skan	* combine.c (combine_simplify_rtx): Adjust call to use
35119169689Skan	simplify_relational_operation.  Do not use SELECT_CC_MODE
35120169689Skan	when a comparison already has a MODE_CC mode.
35121169689Skan
35122169689Skan2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
35123169689Skan
35124169689Skan	(simplify_set): simplify_relational_operation may now
35125169689Skan	return another relational expression.
35126169689Skan	* cse.c (fold_rtx): simplify_relational_operation now
35127169689Skan	takes of computing the comparison mode.
35128169689Skan	* dojump.c (compare_from_rtx): Use simplify_relational_operation,
35129169689Skan	remove dead code.
35130169689Skan	(do_compare_rtx_and_jump): Likewise.
35131169689Skan	* integrate.c (subst_constants): simplify_relational_operation
35132169689Skan	may now return another relational expression.
35133169689Skan	* simplify-rtx.c (simplify_gen_relational): Move most code to
35134169689Skan	the new simplify_relational_operation and
35135169689Skan	simplify_relational_operation_1 functions.
35136169689Skan	(simplify_relational_operation): Rewritten.
35137169689Skan	(simplify_relational_operation_1): New function.
35138169689Skan	(simplify_ternary_operation): simplify_relational_operation
35139169689Skan	may now return another relational expression.
35140169689Skan	(simplify_rtx): Remove unnecessary temp variable.
35141169689Skan
35142169689Skan2004-04-29  Uros Bizjak  <uros@kss-loka.si>
35143169689Skan
35144169689Skan	* reg-stack.c (swap_to_top): New function.
35145169689Skan	(subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
35146169689Skan	swap_to_top().
35147169689Skan	(subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
35148169689Skan	(subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
35149169689Skan	UNSPEC_FSCALE_EXP.
35150169689Skan
35151169689Skan	* config/i386/i386.md (UNSPEC_FSCALE): Remove.
35152169689Skan	(*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
35153169689Skan	(UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
35154169689Skan	x87's fscale insn.
35155169689Skan	(*fscalexf4: Define new insn pattern to implement x87 fscale insn.
35156169689Skan	(exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
35157169689Skan	patterns.
35158169689Skan
35159169689Skan2004-04-28  Serge Belyshev  <1319@bot.ru>
35160169689Skan
35161169689Skan	PR 14944
35162169689Skan	* coverage.c (read_counts_file): Fix usage of warning () call.
35163169689Skan	* pretty-print.c (pp_base_format_text): Fix typo in the comment.
35164169689Skan
35165169689Skan2004-04-28  Ben Elliston  <bje@au.ibm.com>
35166169689Skan
35167169689Skan	* doc/invoke.texi (Objective-C Dialect Options): Don't prefix
35168169689Skan	options with "-" in the option index.
35169169689Skan	(SPARC Options): Likewise.
35170169689Skan	(M32R/D Options): Likewise.
35171169689Skan
35172169689Skan2004-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
35173169689Skan
35174169689Skan	* convert.c (convert_to_integer): Convert (long)round -> lround,
35175169689Skan	etc.
35176169689Skan
35177169689Skan2004-04-28  Andrew Pinski  <pinskia@physics.uc.edu>
35178169689Skan
35179169689Skan	* config/rs6000/rs6000.c (registers_ok_for_quad_peep):
35180169689Skan	Return false if we do not have fp register.
35181169689Skan	(addrs_ok_for_quad_peep): Rename to ...
35182169689Skan	(mems_ok_for_quad_peep): this.
35183169689Skan	Add check for volatile memory.
35184169689Skan	* config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
35185169689Skan	Rename to ...
35186169689Skan	(mems_ok_for_quad_peep): this.
35187169689Skan	* config/rs6000/rs6000.md: Change peephole's for lfq/stq
35188169689Skan	to peephole2's.
35189169689Skan	(lfq_power2): New instruction.
35190169689Skan	(stfq_power2): Likewise.
35191169689Skan
35192169689Skan2004-04-28  Jan Hubicka  <jh@suse.cz>
35193169689Skan
35194169689Skan	PR c/15004
35195169689Skan	* function.c (do_warn_unused_parameter): Break out form ...
35196169689Skan	(expand_function_end): ... here; warn only when not using cgraphunit.
35197169689Skan	* function.h (do_warn_unused_parameter): Declare.
35198169689Skan	* cgraphunit.c: Include function.h.
35199169689Skan	(cgraph_finalize_function): Do unused parameter warning.
35200169689Skan	* Makefile.in (cgraphunit.o): Depend on function.h
35201169689Skan
35202169689Skan2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
35203169689Skan
35204169689Skan	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
35205169689Skan	calling install-info on $(DESTDIR)$(infodir)/dir already being
35206169689Skan	present.
35207169689Skan
35208169689Skan2004-04-28  Paul Brook  <paul@codesourcery.com>
35209169689Skan
35210169689Skan	* dwarf2out.c (mem_loc_descriptor): Handle shifts.
35211169689Skan
35212169689Skan2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
35213169689Skan
35214169689Skan	* gcse.c (find_moveable_store): Do not accept store insns with
35215169689Skan	REG_EH_REGION note.
35216169689Skan
35217169689Skan2004-04-28  Paul Brook  <paul@codesourcery.com>
35218169689Skan
35219169689Skan	* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
35220169689Skan	* function.c (assign_temp): Ditto.
35221169689Skan	* system.h (PROMOTE_FOR_CALL_ONLY): Poison.
35222169689Skan
35223169689Skan2004-04-28  Paul Brook  <paul@codesourcery.com>
35224169689Skan
35225169689Skan	* config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
35226169689Skan
35227169689Skan2004-04-28  Josef Zlomek  <zlomekj@suse.cz>
35228169689Skan
35229169689Skan	* var-tracking.c (variable_different_p): Add a parameter
35230169689Skan	compare_current_location, compare current location of variable parts
35231169689Skan	if it is true.
35232169689Skan	(dataflow_set_different_1): Pass compare_current_location == false.
35233169689Skan	(dataflow_set_different_2): Pass compare_current_location == false.
35234169689Skan	(emit_notes_for_differences_1): Pass compare_current_location == true.
35235169689Skan
35236169689Skan2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
35237169689Skan
35238169689Skan	* config/s390/s390.md ("casesi"): Mark jump table access as
35239169689Skan	non-trapping and unchanging.
35240169689Skan
35241169689Skan2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
35242169689Skan
35243169689Skan	PR debug/14829
35244169689Skan	* dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
35245169689Skan	callers.
35246169689Skan	(multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
35247169689Skan	number for indexing hard_regno_nregs array.
35248169689Skan
35249169689Skan2004-04-27  Geoffrey Keating  <geoffk@apple.com>
35250169689Skan
35251169689Skan	* config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
35252169689Skan	* config/darwin-crt2.c: Only have contents on __ppc__.
35253169689Skan
35254169689Skan2004-04-27  Bob Wilson  <bob.wilson@acm.org>
35255169689Skan
35256169689Skan	* config/xtensa/xtensa.c (call_insn_operand): Check
35257169689Skan	SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
35258169689Skan	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
35259169689Skan	* config/xtensa/xtensa.md (call, call_value): Likewise.
35260169689Skan
35261169689Skan2004-04-27  Wu Yongwei  <adah@sh163.net>
35262169689Skan
35263169689Skan	* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
35264169689Skan	(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
35265169689Skan	(__gthread_mutex_init_function): Replace CreateMutex with
35266169689Skan	initialization of custom mutex using CreateSemaphore.
35267169689Skan	(__gthread_mutex_lock): Use InterlockedIncrement.
35268169689Skan	(__gthread_mutex_trylock): Use InterlockedCompareExchange.
35269169689Skan	(__gthread_mutex_unlock): Use InterlockedDecrement and
35270169689Skan	ReleaseSemaphore to unlock
35271169689Skan	* config/i386/gthr-win32.c (__gthread_mutex_init_function,
35272169689Skan	__gthread_mutex_lock, __gthread_mutex_trylock,
35273169689Skan	__gthread_mutex_unlock): Adjust to match inline versions in
35274169689Skan	gthr-win32.h.
35275169689Skan
35276169689Skan2004-04-27  Paul Brook  <paul@codesourcery.com>
35277169689Skan
35278169689Skan	* config/arm/arm.c (arm_promote_prototypes): New function.
35279169689Skan	(TARGET_PROMOTE_PROTOTYPES): Use it.
35280169689Skan
35281169689Skan2004-04-27  Paul Brook  <paul@codesourcery.com>
35282169689Skan
35283169689Skan	* config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
35284169689Skan
35285169689Skan2004-04-26  Bernard Giroud  <bgiroud@free.fr>
35286169689Skan
35287169689Skan	* config/alpha.c (alpha_end_function): For OpenVMS gas,
35288169689Skan	correctly output .pdesc directive before .end.
35289169689Skan
35290169689Skan2004-04-26  James E Wilson  <wilson@specifixinc.com>
35291169689Skan
35292169689Skan	Bug 14927
35293169689Skan	* config/ia64/ia64.md (movxf): New local op0.  Handle case where
35294169689Skan	operands[0] is a SUBREG.  Handle case where operands[1] is a GR reg.
35295169689Skan
35296169689Skan2004-04-26  Zack Weinberg  <zack@codesourcery.com>
35297169689Skan
35298169689Skan	* config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
35299169689Skan	* config/pa/pa-hpux10.h: Likewise.
35300169689Skan	* config/pa/pa-hpux11.h: Likewise.
35301169689Skan
35302169689Skan2004-04-26  Geoffrey Keating  <geoffk@apple.com>
35303169689Skan
35304169689Skan	* doc/invoke.texi (Overall Options): Document default for -o
35305169689Skan	for PCH files.
35306169689Skan
35307169689Skan2004-04-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
35308169689Skan
35309169689Skan	* builtins.c (expand_builtin_update_setjmp_buf): New function.
35310169689Skan	(expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
35311169689Skan	* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
35312169689Skan
35313169689Skan2004-04-26  Paul Brook  <paul@codesourcery.com>
35314169689Skan
35315169689Skan	* config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
35316169689Skan
35317169689Skan2004-04-26  Paul Brook  <paul@codesourcery.com>
35318169689Skan
35319169689Skan	* config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
35320169689Skan
35321169689Skan2004-04-25  Roger Sayle  <roger@eyesopen.com>
35322169689Skan
35323169689Skan	* fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
35324169689Skan	fold (build1 (NEGATE_EXPR, ...)).  Optimize X / -1 as -X and
35325169689Skan	X % -1 as 0.
35326169689Skan
35327169689Skan2004-04-26  Hans-Peter Nilsson  <hp@bitrange.com>
35328169689Skan
35329169689Skan	PR bootstrap/15141
35330169689Skan	* except.c (connect_post_landing_pads): Delete insns after the
35331169689Skan	barrier when generating a unwind_resume_libfunc call.
35332169689Skan
35333169689Skan2004-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
35334169689Skan
35335169689Skan	PR/c++ 15119
35336169689Skan	* tree.c (substitute_placeholder_in_expr, case 4): New case,
35337169689Skan	for TARGET_EXPR.
35338169689Skan
35339169689Skan2004-04-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
35340169689Skan
35341169689Skan	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
35342169689Skan	__gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
35343169689Skan	inhibit_libc is defined.
35344169689Skan
35345169689Skan2004-04-25  Richard Sandiford  <rsandifo@redhat.com>
35346169689Skan
35347169689Skan	* config/mips/mips-protos.h (mips_linked_macc_p): Declare.
35348169689Skan	* config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
35349169689Skan	* config/mips/mips.c (TARGET_SCHED_REORDER): Define.
35350169689Skan	(TARGET_SCHED_VARIABLE_ISSUE): Define.
35351169689Skan	(mips_adjust_cost): Move later in file, next to other sched hooks.
35352169689Skan	(mips_macc_chains_last_hilo): New variable.
35353169689Skan	(mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
35354169689Skan	(mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
35355169689Skan	* config/mips/mips.md (may_clobber_hilo): New attribute.
35356169689Skan
35357169689Skan2004-04-24  Roger Sayle  <roger@eyesopen.com>
35358169689Skan	    Bruce Korb  <bkorb@gnu.org>
35359169689Skan
35360169689Skan	* fixinc/inclhack.def (aix_syswait_2): New fix.
35361169689Skan	* fixinc/fixincl.x: Regenerate.
35362169689Skan	* fixinc/tests/base/sys/wait.h: Update for new test.
35363169689Skan
35364169689Skan2004-04-24  Alan Modra  <amodra@bigpond.net.au>
35365169689Skan
35366169689Skan	PR target/14960
35367169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
35368169689Skan	to non_fixed_size, and leave out fixed_size from the sum.
35369169689Skan	(generate_set_vrsave): Correct clobbers.
35370169689Skan	(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
35371169689Skan	(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
35372169689Skan	(rs6000_libcall_value): Likewise.
35373169689Skan	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
35374169689Skan	(FUNCTION_ARG_REGNO_P): Likewise.
35375169689Skan
35376169689Skan2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
35377169689Skan
35378169689Skan	* expmed.c (expand_mult_highpart_adjust): Do not assume OP1
35379169689Skan	is a CONST_INT.
35380169689Skan	(expand_mult_highpart_optab): Call expand_mult_highpart_adjust
35381169689Skan	with NARROW_OP1 instead of OP1.
35382169689Skan
35383169689Skan2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
35384169689Skan
35385169689Skan	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
35386169689Skan	and __s390x__ hosts.
35387169689Skan
35388169689Skan2004-03-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
35389169689Skan
35390169689Skan	* Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
35391169689Skan	_gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
35392169689Skan	* builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
35393169689Skan	BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
35394169689Skan	BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
35395169689Skan	* builtins.c (expand_builtin_fork_or_exec): New.
35396169689Skan	(expand_builtin): Call it.
35397169689Skan	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
35398169689Skan	BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
35399169689Skan	* c-common.c (PID_TYPE): New macro.
35400169689Skan	(c_common_nodes_and_builtins): Initialize pid_type_node.
35401169689Skan	* calls.c (special_function_p): Do not handle fork and exec.
35402169689Skan	(expand_call): Do not handle ECF_FORK_OR_EXEC.
35403169689Skan	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
35404169689Skan	__gcov_execv, __gcov_execvp, __gcov_execve): Declare.
35405169689Skan	* libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
35406169689Skan	__gcov_execv, __gcov_execvp, __gcov_execve): New.
35407169689Skan	* tree.h (enum tree_index): Add TI_PID_TYPE.
35408169689Skan	(pid_type_node): New macro.
35409169689Skan	(ECF_FORK_OR_EXEC): Removed.
35410169689Skan
35411169689Skan2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
35412169689Skan
35413169689Skan	PR optimization/13985
35414169689Skan	* cfgloopmanip.c (fix_loop_placements): New prototype.
35415169689Skan	Call fix_bb_placements on the preheader of loops that have
35416169689Skan	been reparented.
35417169689Skan	(remove_path): Adjust call to fix_loop_placements.
35418169689Skan
35419169689Skan2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
35420169689Skan
35421169689Skan	* config/darwin7.h: New file.
35422169689Skan	* config.gcc (*-*-darwin*): Add darwin7.h if the
35423169689Skan	version is greater than 6.
35424169689Skan	* config/darwin.h (TARGET_C99_FUNCTIONS): Define.
35425169689Skan	(MATH_LIBRARY): Wrap in ifdefs.
35426169689Skan
35427169689Skan2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
35428169689Skan
35429169689Skan	* config/arm/arm.c (arm_output_epilogue): Reverse the order of
35430169689Skan	loading iWMMXt registers with a frame pointer.  Use post-increment
35431169689Skan	without a frame pointer.
35432169689Skan	(arm_expand_prologue): Reverse the order of saving iWMMXt registers.
35433169689Skan
35434169689Skan2004-04-23  Paolo Bonzini  <bonzini@gnu.org>
35435169689Skan
35436169689Skan	* doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
35437169689Skan	mode" rather than "-funit-at-a-time" since -O2 enables it
35438169689Skan	without requiring -f* options.	Refer to -fprofile-generate and
35439169689Skan	-fprofile-use correctly.  Move -funit-at-a-time among options
35440169689Skan	enabled by -O.	Add information about unit-at-a-time caveats.
35441169689Skan
35442169689Skan2004-04-22  Per Bothner  <per@bothner.com>
35443169689Skan
35444169689Skan	* line-map.h (struct line_maps): New field highest_line.
35445169689Skan	(linemap_position_for_column): Make non-inline function.
35446169689Skan	(LINEMAP_POSITION_FOR_COLUMN): New macro.
35447169689Skan	* line-map.c (linemap_init): Clear highest_line field.
35448169689Skan	(linemap_add): Set highest_line field.
35449169689Skan	(linemap_line_start): Minor optimization - use highest_line field.
35450169689Skan	Reduce maximum column hint to 10000.  Update highest_line field.
35451169689Skan	(linemap_position_for_column): Moved from line-map.h.  Optimize a bit.
35452169689Skan	* cpphash.h (struct cpp_reader): Remove line field - instead use
35453169689Skan	line_table->highest_line.
35454169689Skan	(saved_line): Remove unused field.
35455169689Skan	(CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
35456169689Skan	Use  line_table's highest_line field instead of cpp_reader's line.
35457169689Skan	* cpplib.c (start_directive): Likewise use highest_line field.
35458169689Skan	(do_line, do_linemarker): Likewise just use newest map.
35459169689Skan	(_cpp_do_file_change): Don't need to set cpp_reader's line field.
35460169689Skan	* cpperror.c (cpp_error): Likewise use highest_line field.
35461169689Skan	* cppfiles.c (open_file_failed: Likewise.
35462169689Skan	(cpp_make_system_header): Likewise use newest map and highest_line.
35463169689Skan	* cppinit.c (cpp_create_reader): Don't initialize removed field.
35464169689Skan	* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
35465169689Skan	skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
35466169689Skan	_cpp_lex_direct): Likewise use highest_line.
35467169689Skan	(_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
35468169689Skan	* cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
35469169689Skan	and use newest map.
35470169689Skan	* cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
35471169689Skan	* cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
35472169689Skan	(copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
35473169689Skan
35474169689Skan2004-04-23  Alan Modra  <amodra@bigpond.net.au>
35475169689Skan
35476169689Skan	PR bootstrap/14992
35477169689Skan	* gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
35478169689Skan	* config/linux.h (USE_LD_AS_NEEDED): Define.
35479169689Skan	* config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
35480169689Skan	* config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
35481169689Skan	* config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
35482169689Skan	* config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
35483169689Skan	* config/sh/linux.h (USE_LD_AS_NEEDED): Define.
35484169689Skan	* config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
35485169689Skan	* config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
35486169689Skan
35487169689Skan2004-04-22  Per Bothner  <per@bothner.com>
35488169689Skan
35489169689Skan	* cppinit.c (cpp_read_main_file): Return NULL rather than false.
35490169689Skan	Fixes PR preprocessor/15067.
35491169689Skan
35492169689Skan2004-04-23  Andreas Schwab  <schwab@suse.de>
35493169689Skan
35494169689Skan	* config/ia64/ia64intrin.h: Add intermediate cast to void * to
35495169689Skan	avoid aliasing warning.
35496169689Skan
35497169689Skan2004-04-22  Jan Hubicka  <jh@suse.cz>
35498169689Skan	    Mostafa Hagog <mustafa@il.ibm.com>
35499169689Skan
35500169689Skan	* cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
35501169689Skan	* cfgloopanal.c (expected_loop_iterations): Change the return value
35502169689Skan
35503169689Skan2004-04-22  Jakub Jelinek  <jakub@redhat.com>
35504169689Skan
35505169689Skan	* cselib.h (struct elt_loc_list): Remove canon_loc field.
35506169689Skan	* cselib.c (new_elt_loc_list): Remove canon_loc initialization.
35507169689Skan	(cselib_invalidate_mem): Remove all canon_loc and canon_x
35508169689Skan	traces.
35509169689Skan
35510169689Skan2004-04-22  Josef Zlomek  <zlomekj@suse.cz>
35511169689Skan
35512169689Skan	Revert
35513169689Skan	2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
35514169689Skan
35515169689Skan		* var-tracking.c (variable_part_different_p): Variable parts
35516169689Skan		differ when the most recent locations differ.
35517169689Skan
35518169689Skan2004-04-22  Richard Sandiford  <rsandifo@redhat.com>
35519169689Skan
35520169689Skan	* doc/invoke.texi: Remove the MIPS -membedded-pic option.
35521169689Skan	* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
35522169689Skan	(embedded_pic_offset): Delete.
35523169689Skan	* config/mips/mips.h (MASK_EMBEDDED_PIC): Delete.  Shuffle other
35524169689Skan	MASK_* constants.
35525169689Skan	(TARGET_EMBEDDED_PIC): Delete.
35526169689Skan	(TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
35527169689Skan	(ASM_SPEC): Remove -membedded-pic.
35528169689Skan	(ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
35529169689Skan	(ASM_OUTPUT_CASE_LABEL): Likewise.
35530169689Skan	* config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
35531169689Skan	* config/mips/windiss.h (ASM_SPEC): Likewise.
35532169689Skan	* config/mips/mips.c (struct machine_function): Remove
35533169689Skan	embedded_pic_fnaddr_rtx.
35534169689Skan	(TARGET_ENCODE_SECTION_INFO): Remove override.
35535169689Skan	(embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
35536169689Skan	(override_options): Remove -membedded-pic handling.
35537169689Skan	(print_operand): Remove handling of '%S'.
35538169689Skan	(mips_select_section: Remove -membedded-pic handling.
35539169689Skan	(mips_encode_section_info): Delete.
35540169689Skan	(mips_output_conditional_branch): Remove mention of -membedded-pic.
35541169689Skan	* config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
35542169689Skan	-membedded-pic handling.
35543169689Skan	(casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
35544169689Skan
35545169689Skan2004-04-22  Alan Modra  <amodra@bigpond.net.au>
35546169689Skan
35547169689Skan	* var-tracking.c (frame_base_decl): Remove useless GTY.
35548169689Skan
35549169689Skan2004-04-21  Aldy Hernandez  <aldyh@redhat.com>
35550169689Skan
35551169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Error when
35552169689Skan	user wants altivec and e500 instructions.
35553169689Skan
35554169689Skan2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
35555169689Skan
35556169689Skan	PR target/14813
35557169689Skan	* config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
35558169689Skan	in .init_array section to ...
35559169689Skan	* config/ia64/crtbegin.asm: Here.
35560169689Skan
35561169689Skan	* config/ia64/crtend.asm: Mark __do_global_ctors_aux global
35562169689Skan	and hidden if HAVE_INITFINI_ARRAY is defined.
35563169689Skan
35564169689Skan2004-04-21  James E Wilson  <wilson@specifixinc.com>
35565169689Skan
35566169689Skan	* config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
35567169689Skan	* config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
35568169689Skan	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
35569169689Skan	(fp_register_operand, lo_operand): New.
35570169689Skan	(mips_rtx_costs): Add TUNE_SB1 support.
35571169689Skan	(mips_issue_rate): Add comment.  Add PROCESSOR_SB1 support.
35572169689Skan	(mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
35573169689Skan	(mips_multipass_dfa_lookahead): New.
35574169689Skan	* config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
35575169689Skan	TUNE_SB1): New.
35576169689Skan	(TARGET_SWITCHES): Add -mfp-exceptions support.
35577169689Skan	(TARGET_FP_EXCEPTIONS_DEFAULT): New.
35578169689Skan	(BRANCH_COST): Fix whitespace.
35579169689Skan	* config/mips/mips.md: Include sb1.md.
35580169689Skan	* config/mips/sb1.md: New file.
35581169689Skan	* doc/invoke.texi: Document -mfp-exceptions.
35582169689Skan
35583169689Skan	* Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS.  Fix
35584169689Skan	comment.
35585169689Skan	* fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
35586169689Skan	(fixincl.o-warn): Delete.
35587169689Skan
35588169689Skan2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
35589169689Skan
35590169689Skan	* config/rs6000/rs6000 (print_operand) ['z']:
35591169689Skan	Change ifdef of TARGET_MACHO to if TARGET_MACHO.
35592169689Skan
35593169689Skan2004-04-21 Daniel Jacobowitz  <drow@mvista.com>
35594169689Skan
35595169689Skan	* config.gcc: Support --with-arch=iwmmxt for ARM.
35596169689Skan
35597169689Skan2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
35598169689Skan
35599169689Skan	* expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
35600169689Skan	in two more places; remove unneeded force_reg
35601169689Skan
35602169689Skan2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
35603169689Skan
35604169689Skan	* config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
35605169689Skan	for TARGET_MACHO.
35606169689Skan	(print_operand): For TARGET_MACHO check to see if we need a stub
35607169689Skan	and output one if we need it.
35608169689Skan
35609169689Skan	PR debug/15033
35610169689Skan	* dwarf2out.c (rtl_for_decl_location): Check for NULL
35611169689Skan	rtl.
35612169689Skan
35613169689Skan2004-04-20  James E Wilson  <wilson@specifixinc.com>
35614169689Skan
35615169689Skan	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
35616169689Skan	(vall_value_gp): Likewise.
35617169689Skan
35618169689Skan2004-04-20  DJ Delorie  <dj@redhat.com>
35619169689Skan
35620169689Skan	* dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
35621169689Skan	variables stored in word registers, then in memory.
35622169689Skan
35623169689Skan2004-04-20  Eric Christopher  <echristo@redhat.com>
35624169689Skan
35625169689Skan	* cp/parser.c (cp_parser_declaration): Move translate
35626169689Skan	up before tokens are lexed.
35627169689Skan
35628169689Skan2004-04-20  Uros Bizjak  <uros@kss-loka.si>
35629169689Skan
35630169689Skan	* optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
35631169689Skan	(asin_optab, acos_optab): Define corresponding macros.
35632169689Skan	* optabs.c (init_optabs): Initialize asin_optab and acos_optab.
35633169689Skan	* genopinit.c (optabs): Implement asin_optab and acos_optab
35634169689Skan	using asin?f2 and acos?f2 patterns.
35635169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
35636169689Skan	using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
35637169689Skan	(expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
35638169689Skan	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
35639169689Skan
35640169689Skan	* config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
35641169689Skan	acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
35642169689Skan	acos, acosf and acosl built-ins as inline x87 intrinsics.
35643169689Skan
35644169689Skan2004-04-20  Paul Brook  <paul@codesourcery.com>
35645169689Skan
35646169689Skan	* config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
35647169689Skan
35648169689Skan2004-04-20  Paul Brook  <paul@codesourcery.com>
35649169689Skan
35650169689Skan	* config/arm/arm.c (arm_expand_prologue): Fix size calculation.
35651169689Skan
35652169689Skan2004-04-20  Paolo Bonzini  <bonzini@gnu.org>
35653169689Skan
35654169689Skan	Revert part of 2004-04-17 change that moved -frename-registers
35655169689Skan	to -O1.  -frename-registers is buggy.
35656169689Skan
35657169689Skan	* toplev.c (flag_rename_registers): Initialize to 0.
35658169689Skan	* doc/invoke.texi (Optimize options): Move -frename-registers
35659169689Skan	to "Not triggered by any -O level" section.  Adjust commentary
35660169689Skan	accordingly.
35661169689Skan
35662169689Skan2004-04-20  Anil Paranjpe <anilp1@kpitcummins.com>
35663169689Skan
35664169689Skan	* toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
35665169689Skan
35666169689Skan2004-04-20  Richard Sandiford  <rsandifo@redhat.com>
35667169689Skan
35668169689Skan	* config/mips/mips.c (mips_legitimize_move): Generate special patterns
35669169689Skan	for mflo and mfhi instructions.
35670169689Skan	(mips_output_move): Remove mflo and mfhi handling.
35671169689Skan	* config/mips/mips.md (UNSPEC_MFHILO): New unspec.
35672169689Skan	(*mulsidi3_64bit): Update for new mfhi/mflo representation.
35673169689Skan	Likewise various define_peephole2s.
35674169689Skan	(*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
35675169689Skan	alternatives.
35676169689Skan	(*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
35677169689Skan	(*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
35678169689Skan	(mfhilo_di, mfhilo_si): New patterns.
35679169689Skan
35680169689Skan2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
35681169689Skan
35682169689Skan	* function.c (assign_parms): Force
35683169689Skan	MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
35684169689Skan
35685169689Skan2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
35686169689Skan
35687169689Skan	* var-tracking.c (variable_part_different_p): Variable parts differ
35688169689Skan	when the most recent locations differ.
35689169689Skan
35690169689Skan2004-04-19  James E Wilson  <wilson@specifixinc.com>
35691169689Skan
35692169689Skan	* rtl.h (reg_set_last): Delete declaration.
35693169689Skan	* rtlanal.c (reg_set_last): Delete.
35694169689Skan
35695169689Skan2004-04-19  Roger Sayle  <roger@eyesopen.com>
35696169689Skan
35697169689Skan	* fold-const.c (fold_convert): Make function extern/public.
35698169689Skan	* tree.h (fold_convert): Prototype here.
35699169689Skan	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
35700169689Skan	expand_builtin_strrchr, expand_builtin_strpbrk,
35701169689Skan	expand_builtin_mempcpy, expand_builtin_bcopy,
35702169689Skan	expand_builtin_bzero, expand_builtin_memcmp,
35703169689Skan	expand_builtin_strcmp, expand_builtin_strncmp,
35704169689Skan	stabilize_va_list, expand_builtin_sprintf,
35705169689Skan	fold_trunc_transparent_mathfn, fold_builtin_logarithm,
35706169689Skan	fold_builtin_exponent, fold_builtin_mempcpy,
35707169689Skan	fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
35708169689Skan	fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
35709169689Skan	fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
35710169689Skan
35711169689Skan2004-04-19  Aldy Hernandez  <aldyh@redhat.com>
35712169689Skan
35713169689Skan	* config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
35714169689Skan	(move_from_CR_gt_bit): New.
35715169689Skan	(cceq_ior_compare): Name previously unnamed pattern.  Disable for
35716169689Skan	E500.
35717169689Skan	(cceq_rev_compare): Name previously unnamed pattern.  Allow for
35718169689Skan	E500.
35719169689Skan
35720169689Skan	* config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
35721169689Skan	(tstsfeq_gpr): Same.
35722169689Skan	(cmpsfgt_gpr): Same.
35723169689Skan	(tstsfgt_gpr): Same.
35724169689Skan	(cmpsflt_gpr): Same.
35725169689Skan	(tstsflt_gpr): Same.
35726169689Skan	(e500_cceq_ior_compare): New.
35727169689Skan	(e500_flip_gt_bit): New.
35728169689Skan
35729169689Skan	* config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
35730169689Skan	(print_operand): Add 'c' and 'D'.
35731169689Skan	(rs6000_generate_compare): Rewrite to generate correct rtl.
35732169689Skan	(rs6000_emit_sCOND): Handle E500.
35733169689Skan	(output_cbranch): Adjust for changes in rs6000_generate_compare.
35734169689Skan	(output_e500_flip_gt_bit): New.
35735169689Skan
35736169689Skan	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
35737169689Skan	Protoize.
35738169689Skan
35739169689Skan2004-04-19  Eric Christopher  <echristo@redhat.com>
35740169689Skan
35741169689Skan	* config/mips/mips.h (DWARF2_ADDR_SIZE): New.
35742169689Skan
35743169689Skan2004-04-19  David Edelsohn  <edelsohn@gnu.org>
35744169689Skan
35745169689Skan	* doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
35746169689Skan	fix information.
35747169689Skan
35748169689Skan2004-04-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
35749169689Skan
35750169689Skan	* doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
35751169689Skan	download URL.
35752169689Skan
35753169689Skan2004-04-19  Daniel Jacobowitz  <drow@mvista.com>
35754169689Skan
35755169689Skan	* stor-layout.c (layout_decl): Check DECL_PACKED before calling
35756169689Skan	ADJUST_FIELD_ALIGN.  Check maximum_field_alignment after.
35757169689Skan
35758169689Skan2004-04-19  Andrew PInski  <pinskia@physics.uc.edu>
35759169689Skan
35760169689Skan	* builtins.c (fold_builtin_cabs): Remove fndecl parameter.
35761169689Skan	(fold_builtin): Update caller to match.
35762169689Skan
35763169689Skan	PR bootstrap/15009
35764169689Skan	* bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
35765169689Skan
35766169689Skan	PR bootstrap/14999
35767169689Skan	* builtins.c (fold_builtin_cabs): Mark fndecl as unused.
35768169689Skan
35769169689Skan2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
35770169689Skan
35771169689Skan	* varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
35772169689Skan
35773169689Skan	* expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
35774169689Skan	(expand_mult_highpart_optab): Likewise.
35775169689Skan	(expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
35776169689Skan
35777169689Skan2004-04-19  Paul Brook  <paul@codesourcery.com>
35778169689Skan
35779169689Skan	* config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
35780169689Skan	floatunssisf2, floatunssidf2): New patterns.
35781169689Skan
35782169689Skan2004-04-18  Mark Mitchell  <mark@codesourcery.com>
35783169689Skan
35784169689Skan	PR other/14918
35785169689Skan	* doc/invoke.texi (-fprofile-generate): Document requirement to
35786169689Skan	use -fprofile-generate when linking.
35787169689Skan
35788169689Skan	* doc/extend.texi (Strong Using): Warn users against using this
35789169689Skan	feature.
35790169689Skan
35791169689Skan2004-04-18  Richard Sandiford  <rsandifo@redhat.com>
35792169689Skan
35793169689Skan	* config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
35794169689Skan	* config/mips/mips.h (mips_entry, mips_string_length): Delete.
35795169689Skan	(CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
35796169689Skan	* config/mips/mips.c (struct mips16_constant): Renamed from struct
35797169689Skan	constant.  Propogate change throughout file.
35798169689Skan	(struct machine_function): Remove insns_len.
35799169689Skan	(mips_string_length, mips16_strings, string_constants): Delete.
35800169689Skan	(mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
35801169689Skan	when generating mips16 code.  Remove special mips16 treatment of
35802169689Skan	string constants.
35803169689Skan	(mips_symbolic_constant_p): Allow mips16 constant pool accesses
35804169689Skan	to have the form LABEL+CONSTANT.
35805169689Skan	(mips_symbolic_address_p): Fix comment.
35806169689Skan	(m16_usym8_4, m16_usym5_4): Delete.
35807169689Skan	(mips_output_function_epilogue): Remove mips16 string handling.
35808169689Skan	(mips_output_mi_thunk): Call mips16_lay_out_constants.
35809169689Skan	(mips_select_section, mips_encode_section_info): Remove mips16
35810169689Skan	string handling.
35811169689Skan	(struct mips16_constant_pool): New.
35812169689Skan	(add_constant): Take a mips16_constant_pool structure.  Keep pool
35813169689Skan	sorted into order of ascending mode size.  Keep track of the highest
35814169689Skan	possible start address, taking padding and the masking of the base PC
35815169689Skan	value into account.
35816169689Skan	(dump_constants_1): New function, split out from dump_constants.
35817169689Skan	Handle vector constants.  Use gen_consttable_{int,float} rather than
35818169689Skan	separate functions for each mode.
35819169689Skan	(dump_constants): Simplify.  Use GET_MODE_ALIGNMENT.  Use gen_align
35820169689Skan	rather than separate functions for each alignment.
35821169689Skan	(mips_find_symbol): Delete.
35822169689Skan	(mips16_insn_length): New function, split out from
35823169689Skan	mips16_lay_out_constants.
35824169689Skan	(mips16_rewrite_pool_refs): New function.
35825169689Skan	(mips16_lay_out_constants): Rework. Remove string handling.
35826169689Skan	Always create an inline constant pool.
35827169689Skan	* config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
35828169689Skan	(UNSPEC_ALIGN): New constants.
35829169689Skan	(UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
35830169689Skan	(UNSPEC_ALIGN_[248]): Delete.
35831169689Skan	(consttable_int, consttable_float, align): New patterns.
35832169689Skan	(consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
35833169689Skan
35834169689Skan2004-04-17  Aldy Hernandez  <aldyh@redhat.com>
35835169689Skan
35836169689Skan	* config/rs6000/altivec.h (vec_any_numeric): Correct typo in
35837169689Skan	__unn_args_eq.
35838169689Skan
35839169689Skan2004-04-17  Alan Modra  <amodra@bigpond.net.au>
35840169689Skan
35841169689Skan	PR target/14715
35842169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
35843169689Skan	with STARTING_FRAME_OFFSET.
35844169689Skan
35845169689Skan2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
35846169689Skan
35847169689Skan	* config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
35848169689Skan	* config/mips/mips.c (macc_msac_operand): New function.
35849169689Skan	* config/mips/mips.md (*msac): Move after *macc.
35850169689Skan	(*msac2): New.  Generalize macc-related peepholes so that they apply
35851169689Skan	to msac too.
35852169689Skan
35853169689Skan2004-04-17  Paolo Bonzini  <bonzini@gnu.org>
35854169689Skan
35855169689Skan	* opts.c (decode_options): Do not enable flag_rename_registers
35856169689Skan	and flag_web at -O3.
35857169689Skan	* toplev.c (flag_rename_registers): Initialize
35858169689Skan	flag_rename_registers and flag_web to
35859169689Skan	AUTODETECT_FLAG_VAR_TRACKING.
35860169689Skan	(default_debug_hooks): New global.
35861169689Skan	(process_options): Initialize default_debug_hooks.  Warn if
35862169689Skan	-fvar-tracking specified but not supported by the current
35863169689Skan	debug format.  Do not run var tracking at -O0 or if not
35864169689Skan	supported by the current debug format, even if
35865169689Skan	-fvar-tracking was given.  If -fno-rename-registers
35866169689Skan	is not specified, always run register renaming if var
35867169689Skan	tracking is supported by the default debugging information
35868169689Skan	format for the target, and we are at -O1 or higher; similarly
35869169689Skan	for -fweb, but only at -O2 or higher.
35870169689Skan	* doc/invoke.texi (Optimize Options): Document this.
35871169689Skan
35872169689Skan2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
35873169689Skan
35874169689Skan	* configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
35875169689Skan	* configure: Regenerate.
35876169689Skan
35877169689Skan2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
35878169689Skan
35879169689Skan	* gcc.c (used_arg): Check whether an option has been removed.
35880169689Skan
35881169689Skan2004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
35882169689Skan
35883169689Skan	* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
35884169689Skan	debugging on Solaris 7 and up.
35885169689Skan
35886169689Skan2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
35887169689Skan
35888169689Skan	* doc/install.texi (Specific, mips-sgi-irix5): Reflect working
35889169689Skan	IRIX 5 port.
35890169689Skan	Remove -save-temps workaround, handled automatically.
35891169689Skan	Require GNU binutils 2.15 for debugging.
35892169689Skan	Remove SGI make warnings since GNU make is now required.
35893169689Skan	(Specific, mips-sgi-irix6): Some markup fixes.
35894169689Skan	Describe MIPSpro C problems and workarounds.
35895169689Skan	Mention working O32 ABI support.
35896169689Skan	Recommend GNU as 2.15 for O32 with debugging.
35897169689Skan	Remove description of fixed structure pass/return bug.
35898169689Skan
35899169689Skan2004-04-16  DJ Delorie  <dj@redhat.com>
35900169689Skan
35901169689Skan	* sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
35902169689Skan	TYPE_FIELDS.
35903169689Skan	(sdbout_finish): Don't free deferred_global_decls; it's GC'd.
35904169689Skan
35905169689Skan2004-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
35906169689Skan
35907169689Skan	* pa.md: Remove unnecessary declarations for asm_out_file.
35908169689Skan
35909169689Skan	* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
35910169689Skan	SAR register.  Fix comment.
35911169689Skan	(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
35912169689Skan	(%cr11).
35913169689Skan
35914169689Skan	* pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
35915169689Skan
35916169689Skan2004-04-16  Nick Clifton  <nickc@redhat.com>
35917169689Skan
35918169689Skan	* config/arm/arm.c (arm_override_options): Revert previous patch.
35919169689Skan	* config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
35920169689Skan	be safely built.
35921169689Skan
35922169689Skan2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
35923169689Skan
35924169689Skan	* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
35925169689Skan	bug.
35926169689Skan	(TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
35927169689Skan	TARGET_DEFAULT): Changed. Ditto.
35928169689Skan	(LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
35929169689Skan	TARGET_ENDIAN_DEFAULT): Added. Ditto.
35930169689Skan	* config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
35931169689Skan	(TARGET_ENDIAN_DEFAULT): Added.
35932169689Skan
35933169689Skan2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
35934169689Skan
35935169689Skan	* builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
35936169689Skan	ATTR_CONST_NOTHROW_LIST.
35937169689Skan
35938169689Skan2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
35939169689Skan
35940169689Skan	PR/middle-end 14915
35941169689Skan	* builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
35942169689Skan	BITS_BIG_ENDIAN.
35943169689Skan
35944169689Skan2004-04-15  Pat Haugen  <pthaugen@us.ibm.com>
35945169689Skan
35946169689Skan	* ra-debug.c (ra_print_rtx): Add break's to case legs.
35947169689Skan
35948169689Skan2004-04-14  James E Wilson  <wilson@specifixinc.com>
35949169689Skan
35950169689Skan	* Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
35951169689Skan
35952169689Skan2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
35953169689Skan
35954169689Skan	* libada-mk.in: New file.
35955169689Skan	* configure.ac: Create libada-mk from libada-mk.in.
35956169689Skan	* configure: Regenerate.
35957169689Skan
35958169689Skan2004-04-14  Uros Bizjak  <uros@kss-loka.si>
35959169689Skan
35960169689Skan	* optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
35961169689Skan	(logb_optab, ilogb_optab): Define corresponding macros.
35962169689Skan	* optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
35963169689Skan	* genopinit.c (optabs): Implement logb_optab and ilogb_optab
35964169689Skan	using logb?f2 and ilogb?i2 patterns.
35965169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
35966169689Skan	using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
35967169689Skan	(expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
35968169689Skan	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
35969169689Skan
35970169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
35971169689Skan	and UNSPEC_XTRACT_EXP.
35972169689Skan
35973169689Skan	* config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
35974169689Skan	patterns to implement fxtract x87 instruction.
35975169689Skan	(logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
35976169689Skan	logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
35977169689Skan	intrinsics.
35978169689Skan	(UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
35979169689Skan	x87's fxtract insn.
35980169689Skan
35981169689Skan2004-04-14  Eric Christopher  <echristo@redhat.com>
35982169689Skan
35983169689Skan	* config/mips/t-elf: Enable multilibs by default.
35984169689Skan
35985169689Skan2004-04-14  Andreas Tobler  <a.tobler@schweiz.ch>
35986169689Skan
35987169689Skan	* bb-reorder.c (fix_crossing_conditional_branches): Adjust the
35988169689Skan	previous fix to check HAVE_return at runtime too.
35989169689Skan
35990169689Skan2004-04-14  Nick Clifton  <nickc@redhat.com>
35991169689Skan
35992169689Skan	* config/arm/arm.c (arm_override_options): If the user has not
35993169689Skan	specified an ABI, then default to AAPCS for the iWMMXt processor.
35994169689Skan	* config/arm/t-xscale-elf: Remove redundant multilib specifications.
35995169689Skan	* config/arm/t-xscale-coff: Likewise.
35996169689Skan
35997169689Skan2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
35998169689Skan
35999169689Skan	* builtins.c (fold_builtin_isdigit): New.
36000169689Skan	(fold_builtin): Handle BUILT_IN_ISDIGIT.
36001169689Skan	* defaults.h: Add TARGET_DIGIT0 and sort.
36002169689Skan	* doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
36003169689Skan
36004169689Skan2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
36005169689Skan
36006169689Skan	* builtins.c (fold_builtin_cabs, fold_builtin): Use
36007169689Skan	`mathfn_built_in' to determine the new builtin.
36008169689Skan	* fold-const.c (fold): Likewise.
36009169689Skan
36010169689Skan2004-04-14  Richard Sandiford  <rsandifo@redhat.com>
36011169689Skan
36012169689Skan	* doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
36013169689Skan	* config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
36014169689Skan	(TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
36015169689Skan	(TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
36016169689Skan	(ASM_SPEC): Update accordingly.
36017169689Skan	* config/mips/mips.c: Update after above renaming.
36018169689Skan	* config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
36019169689Skan	* config/mips/vr4120-div.S: Renamed from vr4122-div.S.
36020169689Skan
36021169689Skan2004-04-13  James E Wilson  <wilson@specifixinc.com>
36022169689Skan
36023169689Skan	* c-opt.c (c_common_post_options): If this_input_filename is NULL,
36024169689Skan	increment errorcount and return false instead of true.
36025169689Skan
36026169689Skan2004-04-13  Uros Bizjak  <uros@kss-loka.si>:
36027169689Skan
36028169689Skan	* optabs.c (expand_twoval_unop): Reorder function arguments.
36029169689Skan	* builtins.c (expand_builtin_mathfn_3): Update calls to
36030169689Skan	expand_twoval_unop.
36031169689Skan
36032169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
36033169689Skan	and UNSPEC_TAN_TAN. Add missing comment.
36034169689Skan
36035169689Skan	* config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
36036169689Skan	patterns to implement fptan x87 instruction.
36037169689Skan	(tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
36038169689Skan	and tanl built-ins as inline x87 intrinsics. Define corresponding
36039169689Skan	peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
36040169689Skan	(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
36041169689Skan	x87's fptan insn.
36042169689Skan
36043169689Skan2004-03-13  Richard Henderson  <rth@redhat.com>
36044169689Skan
36045169689Skan	* bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
36046169689Skan	for LABEL_REFs.
36047169689Skan
36048169689Skan	* defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
36049169689Skan	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
36050169689Skan	* doc/invoke.texi: Update to match.
36051169689Skan
36052169689Skan	* varasm.c (unlikely_text_section): Use assemble_align instead of
36053169689Skan	ASM_OUTPUT_ALIGN.  Use it in the correct place with an approximately
36054169689Skan	correct alignment argument.
36055169689Skan
36056169689Skan2004-04-13  Ulrich Weigand  <uweigand@de.ibm.com>
36057169689Skan
36058169689Skan	* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
36059169689Skan	after setting reg_last_reload_reg for optional output reloads.
36060169689Skan
36061169689Skan2004-04-12  Fariborz Jahanian <fjahanian@apple.com>
36062169689Skan
36063169689Skan	* config/rs6000/altivec.h (vec_mergeh, vec_mergel):
36064169689Skan	Definition of these two macros are corrected by adding
36065169689Skan	matchine right paren.
36066169689Skan
36067169689Skan2004-04-12  Jonathan Larmour  <jifl@eCosCentric.com>
36068169689Skan
36069169689Skan	* fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
36070169689Skan
36071169689Skan2004-04-12  Roger Sayle  <roger@eyesopen.com>
36072169689Skan
36073169689Skan	* config/i386/i386.c (output_387_reg_move): New function.
36074169689Skan	* config/i386/i386-protos.h (output_387_reg_move): Prototype here.
36075169689Skan	* config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
36076169689Skan	*movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
36077169689Skan	*extendsfdf2_1,  *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
36078169689Skan	truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
36079169689Skan
36080169689Skan2004-04-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36081169689Skan
36082169689Skan	* c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
36083169689Skan	TYPE_DECL.
36084169689Skan	* c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
36085169689Skan	* stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
36086169689Skan	* stor-layout.c (variable_size): Don't check for MINUS_EXPR.
36087169689Skan	Use skip_simple_arithmetic to find SAVE_EXPR.
36088169689Skan	(force_type_save_exprs, force_type_save_exprs_1): New functions.
36089169689Skan	* tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
36090169689Skan	Properly chain multiple pointers.
36091169689Skan	(copy_tree_r): Copy a TYPE_DECL.
36092169689Skan	* tree.c (variably_modified_type_p): Add some missing tests and
36093169689Skan	make some other minor changes.
36094169689Skan	* tree.h (force_type_save_exprs): New declaration.
36095169689Skan
36096169689Skan2004-04-12  Roger Sayle  <roger@eyesopen.com>
36097169689Skan
36098169689Skan	* simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
36099169689Skan	Remove fall throughs.  Convert 0/x and 0%x into x&0 when x has
36100169689Skan	side-effects.  Don't convert x/1.0 into x if we honor signaling NaNs.
36101169689Skan	Convert x/-1.0 into -x if we don't honor signaling NaNs.  Convert
36102169689Skan	x/-1 into -x.  Optimize x%1 into x&0 if x has side-effects.  Optimize
36103169689Skan	x%-1 into 0 (or x&0 if x has side-effects).
36104169689Skan
36105169689Skan2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
36106169689Skan
36107169689Skan	* config/rs6000/rs6000.md: Document why a pattern is not
36108169689Skan	available.
36109169689Skan
36110169689Skan	* config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
36111169689Skan	of floats on the E500.
36112169689Skan	(branch_positive_comparison_operator): Do not allow NE even on the
36113169689Skan	E500.
36114169689Skan
36115169689Skan2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
36116169689Skan
36117169689Skan	* config/rs6000/rs6000.c (rs6000_assemble_integer): Change
36118169689Skan	in_text_unlikely_section to in_unlikely_text_section.
36119169689Skan
36120169689Skan2004-04-11  Roger Sayle  <roger@eyesopen.com>
36121169689Skan
36122169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg): Tweak
36123169689Skan	calling convention to allow a NULL_TREE to be returned.  Factor
36124169689Skan	sanity checks from callers, return NULL_TREE when appropriate.
36125169689Skan	(fold): Handle COMPOUND_EXPR operands of binary expressions
36126169689Skan	before COND_EXPR operands.  Use reorder_operands_p(a,b) to check
36127169689Skan	whether a op (b,c) can be rewritten as (b, a op c).  Simplify
36128169689Skan	calls to fold_binary_op_with_conditional_arg.
36129169689Skan
36130169689Skan2004-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
36131169689Skan
36132169689Skan	* config/mips/iris5.h (current_section_flags): Add
36133169689Skan	in_unlikely_executed_text and default case.
36134169689Skan
36135169689Skan2004-04-11  Andreas Tobler  <a.tobler@schweiz.ch>
36136169689Skan
36137169689Skan	* bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
36138169689Skan	failure on solaris. Place ifdef HAVE_return around gen_ret call.
36139169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
36140169689Skan	HAVE_return and place it around the place where it is needed.
36141169689Skan
36142169689Skan2004-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
36143169689Skan
36144169689Skan	* varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
36145169689Skan	ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
36146169689Skan	and NORMAL_TEXT_SECTION_NAME.
36147169689Skan	(unlikely_text_section): Check targetm.have_named_sections
36148169689Skan	instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
36149169689Skan	instead of SECTION_FORMAT_STRING.
36150169689Skan	* config/mips/iris5.h (current_section_name): Add
36151169689Skan	in_unlikely_executed_text case and move the abort into the switch.
36152169689Skan	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
36153169689Skan	(NORMAL_TEXT_SECTION_NAME): Remove.
36154169689Skan	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
36155169689Skan	(SECTION_FORMAT_STRING): Remove.
36156169689Skan	* defaults.h (SECTION_FORMAT_STRING): Remove.
36157169689Skan	* tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
36158169689Skan	(SECTION_FORMAT_STRING): Remove.
36159169689Skan
36160169689Skan2004-04-10  Joseph S. Myers  <jsm@polyomino.org.uk>
36161169689Skan
36162169689Skan	* c-typeck.c (common_type): Prefer long long to long when same
36163169689Skan	precision.
36164169689Skan
36165169689Skan2004-04-09  Zack Weinberg  <zack@codesourcery.com>
36166169689Skan
36167169689Skan	PR 14887
36168169689Skan	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
36169169689Skan	mode argument.
36170169689Skan	* config/ia64/ia64.c (ia64_hpux_file_end): Check
36171169689Skan	TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
36172169689Skan
36173169689Skan2004-04-09  Roger Sayle  <roger@eyesopen.com>
36174169689Skan
36175169689Skan	* simplify-rtx.c (mode_signbit_p): New function to check whether
36176169689Skan	an RTX is an immediate constant that represents the most significant
36177169689Skan	bit of a given machine mode.
36178169689Skan	(simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
36179169689Skan	C is the sign bit.
36180169689Skan	(simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
36181169689Skan	when C2 is the sign bit.
36182169689Skan	(simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
36183169689Skan	is the sign bit.  Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
36184169689Skan	sign bit.
36185169689Skan
36186169689Skan2004-04-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
36187169689Skan
36188169689Skan	* builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
36189169689Skan	TYPE_MODE.
36190169689Skan
36191169689Skan2004-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
36192169689Skan
36193169689Skan	* c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
36194169689Skan	of TREE_READONLY for types.
36195169689Skan
36196169689Skan2004-04-09  Caroline Tice  <ctice@apple.com>
36197169689Skan
36198169689Skan	* basic-block.h (struct edge_def): Add new field, crossing_edge.
36199169689Skan	(struct basic_block_def): Add new field, partition.
36200169689Skan	(UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
36201169689Skan	definitions.
36202169689Skan	(partition_hot_cold_basic_blocks): Add extern function
36203169689Skan	declaration.
36204169689Skan	* bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
36205169689Skan	include	statements.
36206169689Skan	(N_ROUNDS): Increase the maximum number of rounds by 1.
36207169689Skan	(branch_threshold): Add array value for new round.
36208169689Skan	(exec_threshold): Add array value for new round.
36209169689Skan	(push_to_next_round_p): New function.
36210169689Skan	(add_unlikely_executed_notes): New function.
36211169689Skan	(find_rarely_executed_basic_blocks_and_crossing_edges): New function.
36212169689Skan	(mark_bb_for_unlikely_executed_section): New function.
36213169689Skan	(add_labels_and_missing_jumps): New function.
36214169689Skan	(add_reg_crossing_jump_notes): New function.
36215169689Skan	(fix_up_fall_thru_edges): New function.
36216169689Skan	(find_jump_block): New function.
36217169689Skan	(fix_crossing_conditional_branches): New function.
36218169689Skan	(fix_crossing_unconditional_branches): New function.
36219169689Skan	(fix_edges_for_rarely_executed_code): New function.
36220169689Skan	(partition_hot_cold_basic_blocks): New function.
36221169689Skan	(find_traces): Add an extra round for partitioning hot/cold
36222169689Skan	basic blocks.
36223169689Skan	(find_traces_1_round): Add a parameter.  Modify to push all cold blocks,
36224169689Skan	and only cold blocks, into the last (extra) round of collecting traces.
36225169689Skan	(better_edge_p): Add a parameter.  Modify to favor non-crossing edges
36226169689Skan	over crossing edges.
36227169689Skan	(bb_to_key): Add code to correctly identify cold blocks when
36228169689Skan	doing partitioning.
36229169689Skan	(connect_traces): Modify to connect all the non-cold traces first, then
36230169689Skan	go back and connect up all the cold traces.
36231169689Skan	(reorder_basic_blocks): Add call to add_unlikely_executed_notes.
36232169689Skan	* cfg.c (entry_exit_blocks): Add initialization for partition field in
36233169689Skan	entry and exit blocks.
36234169689Skan	* cfgbuild.c (make_edges): Update current_function_has_computed_jump
36235169689Skan	if we are doing hot/cold partitioning.
36236169689Skan	* cfgcleanup.c (cfglayout.h): Add new include statement.
36237169689Skan	(try_simplify_condjump): Modify to not attempt on blocks with jumps
36238169689Skan	that cross section boundaries.
36239169689Skan	(try_forward_edges): Likewise.
36240169689Skan	(merge_blocks_move_predecessor_nojumps): Likewise.
36241169689Skan	(merge_blocks_move_successor_nojumps): Likewise.
36242169689Skan	(merge_blocks_move): Likewise.
36243169689Skan	(try_crossjump_to_edge): Modify to not attempt after we have done
36244169689Skan	the block partitioning.
36245169689Skan	(try_crossjump_bb): Modify to not attempt on blocks with jumps that
36246169689Skan	cross section boundaries.
36247169689Skan	(try_optimize_cfg): Likewise.
36248169689Skan	* cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
36249169689Skan	jumps that cross section boundaries.
36250169689Skan	* cfglayout.c (flags.h): Add new include statement.
36251169689Skan	(update_unlikely_executed_notes): New function.
36252169689Skan	(fixup_reorder_chain): Add code so when a new jumping basic block is
36253169689Skan	added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
36254169689Skan	updated appropriately.
36255169689Skan	(duplicate_insn_chain): Add code to duplicate the new NOTE insn
36256169689Skan	introduced by this optimization.
36257169689Skan	* cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
36258169689Skan	extern function declaration.
36259169689Skan	* cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
36260169689Skan	list of notes that can be deleted.
36261169689Skan	(create_basic_block_structure): Add initialization for partition field.
36262169689Skan	(rtl_can_merge_blocks): Modify to test blocks for jumps that cross
36263169689Skan	section boundaries.
36264169689Skan	(try_redirect_by_replacing_jump): Modify to not attempt on jumps that
36265169689Skan	cross section boundaries.
36266169689Skan	(commit_one_edge_insertion): Add code so newly created basic block
36267169689Skan	ends up in correct (hot or cold) section.  Modify to disallow
36268169689Skan	insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
36269169689Skan	(rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
36270169689Skan	crosses section boundaries.
36271169689Skan	(cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
36272169689Skan	cross section boundaries.
36273169689Skan	(force_nonfallthru_and_redirect): Modify to make sure new basic block
36274169689Skan	ends up in correct section, with correct notes attached.
36275169689Skan	* common.opt (freorder-blocks-and-partition): Add new flag for this
36276169689Skan	optimization.
36277169689Skan	* dbxout.c (dbx_function_end): Add code to make sure scope labels at
36278169689Skan	the end of functions are written into the correct (hot or cold)
36279169689Skan	section.
36280169689Skan	(dbx_source_file): Add code so writing debug file information
36281169689Skan	doesn't incorrectly change sections.
36282169689Skan	* defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
36283169689Skan	in partitioning hot/cold basic blocks into separate sections.
36284169689Skan	(SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
36285169689Skan	section partitioning.
36286169689Skan	(HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
36287169689Skan	conditional branches can span all of memory.
36288169689Skan	(HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
36289169689Skan	unconditional branches can span all of memory.
36290169689Skan	* final.c (scan_ahead_for_unlikely_executed_note): New function.
36291169689Skan	(final_scan_insn): Add code to check for NOTE instruction indicating
36292169689Skan	whether basic block belongs in hot or cold section, and to make sure
36293169689Skan	the current basic block is being written to the appropriate section.
36294169689Skan	Also added code to ensure that jump table basic blocks end up in the
36295169689Skan	correct section.
36296169689Skan	* flags.h (flag_reorder_blocks_and_partition): New flag.
36297169689Skan	* ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
36298169689Skan	one of the branches has a jump that crosses between sections.
36299169689Skan	(find_if_case_2): Likewise.
36300169689Skan	(ifcvt): Modify to not attempt to mark loop exit edges after
36301169689Skan	hot/cold partitioning has occurred.
36302169689Skan	* opts.c (decode_options): Code to handle new flag,
36303169689Skan	flag_reorder_blocks_and_partition; also to turn it off if
36304169689Skan	flag_exceptions is on.
36305169689Skan	(common_handle_option): Code to handle new flag,
36306169689Skan	flag_reorder_blocks_and_partition.
36307169689Skan	* output.h (unlikely_text_section): New extern function declaration.
36308169689Skan	(in_unlikely_text_section): New extern function declaration.
36309169689Skan	* passes.c (rest_of_handle_stack_regs): Add
36310169689Skan	flag_reorder_blocks_and_partition as an 'or' condition for calling
36311169689Skan	reorder_basic_blocks.
36312169689Skan	(rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
36313169689Skan	as an 'or' condition for calling reorder_basic_blocks.
36314169689Skan	(rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
36315169689Skan	* print-rtl.c (print_rtx): Add code for handling new note,
36316169689Skan	NOTE_INSN_UNLIKELY_EXECUTED_CODE
36317169689Skan	* rtl.c  (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
36318169689Skan	(REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
36319169689Skan	cross between section boundaries.
36320169689Skan	* rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
36321169689Skan	indicating the basic block containing it belongs in the cold section.
36322169689Skan	(REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
36323169689Skan	between hot and cold sections.
36324169689Skan	* toplev.c (flag_reorder_blocks_and_partition): Add code to
36325169689Skan	initialize this flag, and to tie it to the command-line option
36326169689Skan	freorder-blocks-and-partition.
36327169689Skan	* varasm.c (cfglayout.h): Add new include statement.
36328169689Skan	(unlikely_section_label_printed): New global variable, used for
36329169689Skan	determining when to output section name labels for cold sections.
36330169689Skan	(in_section): Add in_unlikely_executed_text to enum data structure.
36331169689Skan	(text_section): Modify code to use SECTION_FORMAT_STRING and
36332169689Skan	NORMAL_TEXT_SECTION_NAME macros.
36333169689Skan	(unlikely_text_section): New function.
36334169689Skan	(in_unlikely_text_section): New function.
36335169689Skan	(function_section): Add code to make sure beginning of function is
36336169689Skan	written into correct section (hot or cold).
36337169689Skan	(assemble_start_function): Add code to make sure stuff is written to
36338169689Skan	the correct section.
36339169689Skan	(assemble_zeros): Add in_unlikely_text_section as an 'or' condition
36340169689Skan	to an if statement that was checking 'in_text_section'.
36341169689Skan	(assemble_variable): Add 'in_unlikely_text_section' as an 'or'
36342169689Skan	condition to an if statement that was checking 'in_text_section'.
36343169689Skan	(default_section_type_flags_1): Add check: if in cold section
36344169689Skan	flags = SECTION_CODE.
36345169689Skan	* config/darwin.c (darwin_asm_named_section): Modify to use
36346169689Skan	SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
36347169689Skan	* config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
36348169689Skan	specifically for the i386.
36349169689Skan	(HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
36350169689Skan	* config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
36351169689Skan	text string to something more informative.
36352169689Skan	(NORMAL_TEXT_SECTION_NAME): Add new definition.
36353169689Skan	(SECTION_FORMAT_STRING): Add new definition.
36354169689Skan	* config/rs6000/rs6000.c (rs6000_assemble_integer): Add
36355169689Skan	'!in_unlikely_text_section' as an 'and' condition to an if statement
36356169689Skan	that was already checking '!in_text_section'.
36357169689Skan	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
36358169689Skan	UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
36359169689Skan	sure these are properly defined for linux on ppc.
36360169689Skan	* doc/invoke.texi  (freorder-blocks-and-partition): Add documentation
36361169689Skan	for this new flag.
36362169689Skan	* doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
36363169689Skan	reg_note.
36364169689Skan	* doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
36365169689Skan	HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
36366169689Skan	these new macros.
36367169689Skan
36368169689Skan2004-04-08  Roger Sayle  <roger@eyesopen.com>
36369169689Skan
36370169689Skan	* function.c (gen_mem_addressof): When changing the RTX from a REG
36371169689Skan	to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
36372169689Skan
36373169689Skan2004-04-08  Roger Sayle  <roger@eyesopen.com>
36374169689Skan
36375169689Skan	PR target/14888
36376169689Skan	* config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
36377169689Skan	truncxfdf2_noop): Provide dummy "fmov" implementations.
36378169689Skan
36379169689Skan2004-04-08  Ian Lance Taylor  <ian@wasabisystems.com>
36380169689Skan
36381169689Skan	* gcc.c (default_compilers): Add missing initializers.
36382169689Skan
36383169689Skan	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
36384169689Skan	Return 1 if file was successfully mapped.
36385169689Skan
36386169689Skan2004-04-08  Geoffrey Keating  <geoffk@apple.com>
36387169689Skan
36388169689Skan	PR pch/13419
36389169689Skan	PR pch/14137
36390169689Skan	Radar #: 3315288
36391169689Skan	* doc/invoke.texi (Precompiled Headers): Suggest -o
36392169689Skan	to put an output file in a particular place.  Be more detailed
36393169689Skan	about which options affect PCH validity and which options
36394169689Skan	might not work.
36395169689Skan	* c-pch.c (pch_matching): New.
36396169689Skan	(MATCH_SIZE): New.
36397169689Skan	(struct c_pch_validity): New field 'match'.
36398169689Skan	(pch_init): Handle pch_matching.
36399169689Skan	(c_common_valid_pch): Check pch_matching.
36400169689Skan
36401169689Skan	* explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
36402169689Skan
36403169689Skan2004-04-08  Mark Mitchell  <mark@codesourcery.com>
36404169689Skan
36405169689Skan	* doc/invoke.texi (Precompiled Headers): Warn about known
36406169689Skan	problems.
36407169689Skan
36408169689Skan2004-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
36409169689Skan
36410169689Skan	PR c++/14808
36411169689Skan	* defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
36412169689Skan	to 1 if ASM_OUTPUT_DEF is defined.
36413169689Skan	* doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
36414169689Skan	* config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
36415169689Skan	Set to non-zero iff not a one_only decl.
36416169689Skan
36417169689Skan2004-04-08  Paul Brook  <paul@codesourcery.com>
36418169689Skan
36419169689Skan	* arm.h (CLASS_LIKELY_SPILLED_P): Define.
36420169689Skan
36421169689Skan2004-04-08  Paul Brook  <paul@codesourcery.com>
36422169689Skan
36423169689Skan	* explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
36424169689Skan	PROMOTE_FOR_CALL_ONLY.
36425169689Skan	* config/arm/arm-protos.h (arm_function_value): Declare.
36426169689Skan	* config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
36427169689Skan	(TARGET_PROMOTE_PROTOTYPES): Return false.
36428169689Skan	(arm_function_value): New function.
36429169689Skan	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
36430169689Skan	(FUNCTION_VALUE): Call arm_function_value.
36431169689Skan	* config/cris/cris.h (PROMOTE_MODE): Rename ...
36432169689Skan	(PROMOTE_FUNCTION_MODE): ... to this.
36433169689Skan	(PROMOTE_FOR_CALL_ONLY): Remove.
36434169689Skan	* config/mmix/mmix.h: Likewise.
36435169689Skan	* config/s390/s390.h: Likewise.
36436169689Skan	* config/sparc/sparc.h: Likewise.
36437169689Skan	* config/sparc/sparc.c: Update comments about PROMOTE_MODE.
36438169689Skan	* doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
36439169689Skan	(TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
36440169689Skan	(PROMOTE_FOR_CALL_ONLY): Remove.
36441169689Skan
36442169689Skan2004-04-08  Joel Sherrill <joel@oarcorp.com>
36443169689Skan
36444169689Skan	PR ada/14538
36445169689Skan	* ada/5rosinte.adb: Remove fake mprotect() body.
36446169689Skan	* ada/5rosinte.ads: Add SA_SIGINFO.
36447169689Skan	* ada/5rtpopsp.adb: Rewrite to use new interface.
36448169689Skan	* ada/init.c: Reorder so the simple single OS conditional __rtems__
36449169689Skan	is tested before more complex ones which mix UNIX and embedded
36450169689Skan	systems in the conditional.
36451169689Skan
36452169689Skan2004-04-08  Joel Sherrill  <joel@oarcorp.com>
36453169689Skan
36454169689Skan	PR ada/14665
36455169689Skan	* ada/osint.adb (Find_Program_Name): Rework to properly handle
36456169689Skan	filenames which end in .exe or have versioning suffixes like VMS.
36457169689Skan
36458169689Skan2004-04-08  Andrew Pinski  <pinskia@physics.uc.edu>
36459169689Skan
36460169689Skan	PR target/10129
36461169689Skan	* config/darwin.c (darwin_encode_section_info): When the decl has
36462169689Skan	a DECL_INITIAL, it is only defined also when it is not a common.
36463169689Skan
36464169689Skan2004-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
36465169689Skan
36466169689Skan	* builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
36467169689Skan	(fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
36468169689Skan
36469169689Skan2004-04-07  H.J. Lu  <hongjiu.lu@intel.com>
36470169689Skan
36471169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Don't prod
36472169689Skan	global register variables.
36473169689Skan
36474169689Skan2004-04-07  Joseph S. Myers  <jsm@polyomino.org.uk>
36475169689Skan
36476169689Skan	* fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
36477169689Skan	rpc_xdr_lvalue_cast_b): New fixes.
36478169689Skan	* fixinc/fixincl.x: Regenerate.
36479169689Skan	* fixinc/tests/base/rpc/xdr.h: Add new tests.
36480169689Skan
36481169689Skan2004-04-07  David Edelsohn  <edelsohn@gnu.org>
36482169689Skan
36483169689Skan	* config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
36484169689Skan	to power4 and power5 entries.
36485169689Skan
36486169689Skan2004-04-06  Geoffrey Keating  <geoffk@apple.com>
36487169689Skan
36488169689Skan	* c-common.h (pending_lang_change): Mark for PCH.
36489169689Skan
36490169689Skan2004-04-07  Caroline Tice  <ctice@apple.com>
36491169689Skan
36492169689Skan	* gcc.c (main): Move 'break' in main loops (on an error)
36493169689Skan	to wait until error processing has occurred.
36494169689Skan
36495169689Skan2004-04-06  Nathanael Nerode  <neroden@gcc.gnu.org>
36496169689Skan
36497169689Skan	* config.gcc: Stop changing enable_threads midstream.
36498169689Skan	Replace uses of enable_threads_flag with enable_threads.
36499169689Skan	* configure.ac: Replace uses of enable_threads_flag with
36500169689Skan	enable_threads.  Improve autoconf quotation in one place.
36501169689Skan	* configure: Regenerate.
36502169689Skan
36503169689Skan2004-04-06  Uros Bizjak  <uros@kss-loka.si>
36504169689Skan
36505169689Skan	* builtins.c: Implement support for sincos function.
36506169689Skan	(expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
36507169689Skan	BUILT_IN_COS{,F,L}.
36508169689Skan	(expand_builtin_mathfn_3): New function.
36509169689Skan	(expand_builtin): Expand BUILT_IN_SIN{,F,L} and
36510169689Skan	BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
36511169689Skan	flag_unsafe_math_optimization is set.
36512169689Skan
36513169689Skan	* optabs.h (enum optab_index): Add new OTI_sincos.
36514169689Skan	(sincos_optab): Define corresponding macro.
36515169689Skan
36516169689Skan	* optabs.c (init_optabs): Initialize sincos_optab.
36517169689Skan	(expand_twoval_unop): New function.
36518169689Skan
36519169689Skan	* genopinit.c (optabs): Implement sincos_optab using sincos?f3
36520169689Skan	patterns.
36521169689Skan
36522169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
36523169689Skan	and UNSPEC_SINCOS_SIN.
36524169689Skan
36525169689Skan	* config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
36526169689Skan	sincosxf3): New patterns to implement sincos, sincosf and sincosl
36527169689Skan	built-ins as inline x87 intrinsics. Define splits for
36528169689Skan	sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
36529169689Skan	cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
36530169689Skan	sincos patterns.
36531169689Skan	(sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
36532169689Skan	(cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
36533169689Skan
36534169689Skan	(UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
36535169689Skan	x87's fsincos insn.
36536169689Skan
36537169689Skan2004-04-06  Devang Patel  <dpatel@apple.com>
36538169689Skan
36539169689Skan	PR 14467
36540169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
36541169689Skan
36542169689Skan2004-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
36543169689Skan
36544169689Skan	* doc/install.texi: Update HP-UX 11 installation procedure.
36545169689Skan
36546169689Skan2004-04-06  Paul Brook  <paul@codesourcery.com>
36547169689Skan
36548169689Skan	* doc/sourcebuild.texi: Remove obsolete contraint on testcases.
36549169689Skan
36550169689Skan2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
36551169689Skan
36552169689Skan	* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
36553169689Skan	when the TLS address is generated by a function call.
36554169689Skan	* config/sh/sh.md (tls_global_dynamic): Use a call expression.
36555169689Skan	(tls_local_dynamic): Likewise.
36556169689Skan
36557169689Skan2004-04-05  Andrew Pinski  <pinskia@physics.uc.edu>
36558169689Skan
36559169689Skan	* tree.c (reconstruct_complex_type): Use TYPE_READONLY
36560169689Skan	and TYPE_VOLATILE.
36561169689Skan
36562169689Skan2004-04-05  Caroline Tice  <ctice@apple.com>
36563169689Skan
36564169689Skan	* gcc.c (combine_flag): New global variable, for new driver option.
36565169689Skan	(struct compiler): Add two new fields, to be used when
36566169689Skan	combining multiple input files in a single pass (IMA).
36567169689Skan	(default_compilers): Add values for the new fields to all
36568169689Skan	compiler entries. Modify the "@c" compiler entry for doing IMA
36569169689Skan	properly with "-save-temps" and the "combine" flag.
36570169689Skan	(option_map): Add new driver option, "--combine", to tell driver
36571169689Skan	to pass multiple input files to compiler at one time.
36572169689Skan	(have_o_argbuf_index): New global variable.
36573169689Skan	(store_arg): Modify to assign value to have_o_argbuf_index.
36574169689Skan	(struct infile): Add three new fields, to help with IMA.
36575169689Skan	(display_help): Add help for new "combine" option.
36576169689Skan	(process_command): Remove local variable have_o; add code to check
36577169689Skan	for new "combine" option; remove assignment to combine_inputs.
36578169689Skan	(do_spec_1): Modify to deal with IMA better.
36579169689Skan	(main): Make variable 'lang_n_infiles' local to entire function
36580169689Skan	rather than to a single block.  Use flag combine_flag to
36581169689Skan	determine whether to do IMA or not; Modify loop initializing
36582169689Skan	infiles to deal properly with linker files.
36583169689Skan	Add code for doing preprocessing in presence of
36584169689Skan	IMA with "-save-temps" flag.  Modify "main" loop to handle
36585169689Skan	multiple input files, in multiple languages, with or without
36586169689Skan	preprocessing,  gracefully.
36587169689Skan	* toplev.c (set_src_pwd): Modify to not complain if attempting to
36588169689Skan	re-set it to same directory it's previously been set to (avoid
36589169689Skan	irritating, meaningless warning messages when doing IMA with
36590169689Skan	save-temps).
36591169689Skan	* doc/invoke.texi: Add "-combine" to list of Overall Options;
36592169689Skan	remove documentation about IMA that is no longer accurate; Add
36593169689Skan	documentation explaining what "-combine" does.
36594169689Skan	* ada/lang-specs.h: Add initialization values for new fields in
36595169689Skan	"struct compiler".
36596169689Skan	* cp/lang-specs.h: Likewise.
36597169689Skan	* f/lang-specs.h: Likewise.
36598169689Skan	* java/lang-specs.h: Likewise.
36599169689Skan	* objc/lang-specs.h: Likewise.
36600169689Skan	* treelang/lang-specs.h: Likewise.
36601169689Skan
36602169689Skan2004-04-05  David Edelsohn
36603169689Skan
36604169689Skan	* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
36605169689Skan	symbol handling.
36606169689Skan
36607169689Skan2004-04-05  Jakub Jelinek  <jakub@redhat.com>
36608169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
36609169689Skan
36610169689Skan	PR optimization/13424 (hppa), bootstrap/14462, c/14828
36611169689Skan	* pa.md: Use replace_equiv_address to retain the attributes of the
36612169689Skan	memory operands used in the split and peephole2 patterns for optimizing
36613169689Skan	the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
36614169689Skan
36615169689Skan2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36616169689Skan
36617169689Skan	* c-decl.c (build_compound_literal): Use TYPE_READONLY.
36618169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
36619169689Skan	* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
36620169689Skan	* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
36621169689Skan	PARM_DECL.
36622169689Skan	* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
36623169689Skan	for a type.
36624169689Skan	* print-tree.c (print_node): Properly handle side-effects, readonly,
36625169689Skan	and constant flags.
36626169689Skan	* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
36627169689Skan	and TREE_CONSTANT if not a type.
36628169689Skan	* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
36629169689Skan	(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
36630169689Skan	(NON_TYPE_CHECK): New macro.
36631169689Skan	(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
36632169689Skan
36633169689Skan2004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
36634169689Skan
36635169689Skan	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
36636169689Skan	to DWARF2_DEBUG unconditionally.
36637169689Skan	(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
36638169689Skan
36639169689Skan2004-04-04  Ian Lance Taylor  <ian@wasabisystems.com>
36640169689Skan	    Nathanael Nerode  <neroden@gcc.gnu.org>
36641169689Skan
36642169689Skan	PR target/14548
36643169689Skan	* config.host: Set the shell variable host_can_use_collect2.
36644169689Skan	Set it to yes by default, and to no for alpha*-dec-*vms*,
36645169689Skan	i[34567]86-*-mingw32*, and powerpc-*-beos*.
36646169689Skan	* configure.ac: Set and substitute the shell variable collect2.
36647169689Skan	Give an error if use_collect2 is yes and host_can_use_collect2 is
36648169689Skan	no.
36649169689Skan	* Makefile.in (COLLECT2): Rename from USE_COLLECT2.  Change all
36650169689Skan	uses.  Initialize to @collect2@.
36651169689Skan	(STAGESTUFF): Remove $(USE_COLLECT2).
36652169689Skan	* config/alpha/x-vms (USE_COLLECT2): Don't set.
36653169689Skan	* config/i386/t-mingw32 (USE_COLLECT2): Likewise.
36654169689Skan	* config/rs6000/t-beos (USE_COLLECT2): Likewise.
36655169689Skan	* config/pa/t-pa64: Remove commented out USE_COLLECT2.
36656169689Skan	* configure: Regenerate.
36657169689Skan
36658169689Skan2004-04-04  Roger Sayle  <roger@eyesopen.com>
36659169689Skan
36660169689Skan	* simplify-rtx.c (simplify_binary_operation): Constant fold
36661169689Skan	DIV, MOD, UDIV and UMOD using div_and_round_double.
36662169689Skan
36663169689Skan2004-04-04  Mark Mitchell  <mark@codesourcery.com>
36664169689Skan
36665169689Skan	PR c++/14804
36666169689Skan	* varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
36667169689Skan	RECORD_TYPEs.
36668169689Skan
36669169689Skan2004-04-04  Mark Mitchell  <mark@codesourcery.com>
36670169689Skan
36671169689Skan	* doc/invoke.texi (-mabi=o64): Create link to O64 ABI
36672169689Skan	documentation.
36673169689Skan
36674169689Skan2004-04-04  Roger Sayle  <roger@eyesopen.com>
36675169689Skan
36676169689Skan	* cse.c (cse_insn): Correct usage of simplify_replace_rtx when
36677169689Skan	updating the REG_EQUAL note on an insn's libcall_insn.
36678169689Skan
36679169689Skan2004-04-04  Roger Sayle  <roger@eyesopen.com>
36680169689Skan
36681169689Skan	* df.h: Tidy up whitespace in the definitions of the DF_ flags.
36682169689Skan
36683169689Skan2004-04-03  Roger Sayle  <roger@eyesopen.com>
36684169689Skan
36685169689Skan	* fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
36686169689Skan	with reorder_operands_p.
36687169689Skan
36688169689Skan2004-04-03  Jan Hubicka  <jh@suse.cz>
36689169689Skan
36690169689Skan	* md.texi (vec_set, vec_extract, vec_init): Document.
36691169689Skan
36692169689Skan2004-04-02  Gabor Loki <loki@inf.u-szeged.hu>
36693169689Skan
36694169689Skan	* opts.c (decode_options): Do function inlining with very small
36695169689Skan	max-inline-insns-* parameters when optimizing for size.
36696169689Skan
36697169689Skan2004-04-02  Vladimir Makarov  <vmakarov@redhat.com>
36698169689Skan
36699169689Skan	* config/i386/i386.h (TARGET_NOCONA): New macro.
36700169689Skan	(TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
36701169689Skan	(processor_type): Add PROCESSOR_NOCONA.
36702169689Skan
36703169689Skan	* config/i386/i386.md (cpu): Add nocona to the attribute values.
36704169689Skan
36705169689Skan	* config/i386/i386.c (nocona_cost): New variable.
36706169689Skan	(m_NOCONA): New macro.
36707169689Skan	(x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
36708169689Skan	x86_branch_hints, x86_use_sahf, x86_single_stringop,
36709169689Skan	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
36710169689Skan	x86_integer_DFmode_moves, x86_partial_reg_dependency,
36711169689Skan	x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
36712169689Skan	x86_decompose_lea, x86_arch_always_fancy_math_387,
36713169689Skan	x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
36714169689Skan	x86_ext_80387_constants, x86_four_jump_limit):
36715169689Skan	(override_options): Add nocona_cost to processor_target_table.
36716169689Skan	Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
36717169689Skan	(incdec_operand): Prevent inc/dec generation for Nocona too.
36718169689Skan	(ix86_issue_rate): Add PROCESSOR_NOCONA.
36719169689Skan
36720169689Skan2004-04-01  Andrew Pinski  <pinskia@physics.uc.edu>
36721169689Skan
36722169689Skan	* rtlanal.c (find_reg_note): Manually
36723169689Skan	unswitch the loop.
36724169689Skan
36725169689Skan2004-04-01  Mark Mitchell  <mark@codesourcery.com>
36726169689Skan
36727169689Skan	* genemit.c (gen_split): Change prototype of generated code.
36728169689Skan	* genrecog.c (write_action): Adjust prototype for and calls to
36729169689Skan	gen_split_*.
36730169689Skan	* gensupport.c (struct queue_elem): Add split field.
36731169689Skan	(queue_pattern): Return a value.  Clear the split field.
36732169689Skan	(process_rtx): Maintain an association between an insn and the
36733169689Skan	split generated from it for a define_insn_and_split.
36734169689Skan	(process_one_cond_exec): Generate a new split for a
36735169689Skan	define_insn_and_split.
36736169689Skan	* config/arm/arm-protos.h (arm_split_constant): Add insn
36737169689Skan	parameter.
36738169689Skan	(emit_constant_insn): New function.
36739169689Skan	(arm_gen_constant): Use it.
36740169689Skan	* config/arm/arm.md: Adjust calls to arm_split_constant.
36741169689Skan
36742169689Skan2004-04-02  Jan Hubicka  <jh@suse.cz>
36743169689Skan
36744169689Skan	* cgraph.c: Add overall comment.
36745169689Skan	(cgraph_inline_hash): New global variable.
36746169689Skan	(cgraph_create_node): Break out from ...
36747169689Skan	(cgraph_node): ... here.
36748169689Skan	(cgraph_edge): New function.
36749169689Skan	(cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
36750169689Skan	(cgraph_remove_edge): Accept edge, intead of source and destination.
36751169689Skan	(cgraph_redirect_edge_callee): New.
36752169689Skan	(cgraph_remove_node): Update all new datastructures.
36753169689Skan	(cgraph_record_call, cgraph_remove_call): Kill.
36754169689Skan	(dump_cgraph_node): Break out from ... ; dump new datastructures.
36755169689Skan	(dump_cgraph): ... here.
36756169689Skan	(cgraph_function_possibly_inlined_p): Use new hashtable.
36757169689Skan	(cgraph_clone_edge, cgraph_clone_node): New.
36758169689Skan	* cgraph.h: Include hashtab.h
36759169689Skan	(struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
36760169689Skan	fields, add inlined_to pointer.
36761169689Skan	(cgraph_node): Add pointer to next_clone.
36762169689Skan	(cgraph_remove_edge, cgraph_create_edge): Update prototype.
36763169689Skan	(cgraph_remove_call, cgraph_record_call): Kill.
36764169689Skan	(cgraph_inline_hash): Declare.
36765169689Skan	(dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
36766169689Skan	cgraph_redirect_edge_callee): Declare.
36767169689Skan	(cgraph_create_edges, cgraph_inline_p): Update prorotype.
36768169689Skan	(cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
36769169689Skan	cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
36770169689Skan	* cgraphunit.c: Add overall comment.
36771169689Skan	(cgraph_optimize_function): Kill.
36772169689Skan	(cgraph_assemble_pending_functions): Do not assemble inline clones.
36773169689Skan	(cgraph_finalize_function): Update call of cgraph_remove_node
36774169689Skan	(record_call_1): Record call sites.
36775169689Skan	(cgraph_create_edges): Accept node instead of decl argument.
36776169689Skan	(error_found): New static variable.
36777169689Skan	(verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
36778169689Skan	(cgraph_analyze_function): Update for new datastructures.
36779169689Skan	(cgraph_finalize_compilation_unit): Plug memory leak.
36780169689Skan	(cgraph_optimize_function): Kill.
36781169689Skan	(cgraph_expand_function): Do not use cgraph_optimize_function.
36782169689Skan	(INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
36783169689Skan	cgraph_inlined_callees): Kill.
36784169689Skan	(cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
36785169689Skan	clones.
36786169689Skan	(estimate_growth): Simplify.
36787169689Skan	(cgraph_clone_inlined_nodes): New function.
36788169689Skan	(cgraph_mark_inline_edge): Re-implement.
36789169689Skan	(cgraph_mark_inline): Likewise.
36790169689Skan	(cgraph_check_inline_limits): Simplify.
36791169689Skan	(cgraph_recursive_inlining_p): New.
36792169689Skan	(update_callee_keys): Break out from ...
36793169689Skan	(cgraph_decide_inlining_of_small_functions): ... here; simplify.
36794169689Skan	(cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
36795169689Skan	Likewise.
36796169689Skan	(cgraph_expand_all_functions): Remove inline clones from the ordered
36797169689Skan	list.
36798169689Skan	(cgraph_preserve_function_body_p): New predicate.
36799169689Skan	(cgraph_optimize): Verify cgraph.
36800169689Skan	* function.h (struct function): Add fields saved_tree/saved_args.
36801169689Skan	* timevar.def (TV_CGRAPH_VERIFY): Use verifier.
36802169689Skan	* toplev.c (rest_of_compilation): Do not free cfun.
36803169689Skan	* tree-inline.c: Include function.h
36804169689Skan	(struct inline_data): Add saving_p field; replace decl/current_decl by
36805169689Skan	node/current_node.
36806169689Skan	(insert_decl_map): New function.
36807169689Skan	(copy_body_r): Handle saving; update cgraph datastructure.
36808169689Skan	(copy_body): Handle recursive inlining.
36809169689Skan	(initialize_inlined_parameters): Likewise.
36810169689Skan	(expand_call_inline): Propagate node attributes; update cgraph.
36811169689Skan	(optimize_inline_calls): Verify that datastructure still match.
36812169689Skan	(save_body): New function.
36813169689Skan	* tree-inline.h (save_body): New.
36814169689Skan	* tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
36815169689Skan	* langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
36816169689Skan	* langhooks.c (lang_hooks): Add update_decl_after_saving.
36817169689Skan
36818169689Skan2004-04-01  Serge Belyshev  <1319@bot.ru>
36819169689Skan
36820169689Skan	PR target/14702
36821169689Skan	* config/i386/i386.md: fix source operand constraints in
36822169689Skan	mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
36823169689Skan
36824169689Skan2004-04-01  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
36825169689Skan
36826169689Skan	* fold-const.c (folda): Preserve types of comparisons.
36827169689Skan
36828169689Skan2004-04-01  Richard Henderson  <rth@redhat.com>
36829169689Skan
36830169689Skan	* toplev.c (backend_init): Move init_optimization_passes call ...
36831169689Skan	(lang_dependent_init): ... here.
36832169689Skan
36833169689Skan2004-04-01  Alan Modra  <amodra@bigpond.net.au>
36834169689Skan	    Jakub Jelinek  <jakub@redhat.com>
36835169689Skan
36836169689Skan	* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
36837169689Skan	-lgcc --as-needed -lgcc_s --no-as-needed by default.
36838169689Skan	* configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
36839169689Skan	* configure: Rebuilt.
36840169689Skan	* config.in: Rebuilt.
36841169689Skan	* Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
36842169689Skan	(stage2-start, stage3-start, stage4-start): Likewise.
36843169689Skan	(stageprofile-start, stagefeedback-start): Likewise.
36844169689Skan
36845169689Skan2004-04-01  Jakub Jelinek  <jakub@redhat.com>
36846169689Skan
36847169689Skan	* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
36848169689Skan	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
36849169689Skan	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
36850169689Skan	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
36851169689Skan	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
36852169689Skan	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
36853169689Skan	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
36854169689Skan	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
36855169689Skan	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
36856169689Skan	* config/sparc/t-linux: Removed.
36857169689Skan
36858169689Skan2004-04-01  Jakub Jelinek  <jakub@redhat.com>
36859169689Skan
36860169689Skan	PR c++/14755
36861169689Skan	* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
36862169689Skan	"bitfld++ == const" to "++bitfld == const + incr" transformations.
36863169689Skan
36864169689Skan2004-04-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36865169689Skan
36866169689Skan	* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
36867169689Skan	* stor-layout.c (layout_decl): Likewise.
36868169689Skan	* tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
36869169689Skan	* fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
36870169689Skan	* print-tree.c (print_node): Handle various used of unsigned_flag.
36871169689Skan	* tree.def (BIT_FIELD_REF): Update comment.
36872169689Skan	* tree.h (TREE_UNSIGNED): Deleted.
36873169689Skan	(DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
36874169689Skan
36875169689Skan2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36876169689Skan
36877169689Skan	* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
36878169689Skan	Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
36879169689Skan	* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
36880169689Skan	* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
36881169689Skan	* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
36882169689Skan	* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
36883169689Skan	* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
36884169689Skan	* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
36885169689Skan	* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
36886169689Skan	* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
36887169689Skan	REAL_TYPE, not INTEGER_TYPE.
36888169689Skan	(layout_type, case VECTOR_TYPE): Simplify code.
36889169689Skan	* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
36890169689Skan	* tree.h: Update comments.
36891169689Skan	(STRIP_NOPS): Use TYPE_UNSIGNED.
36892169689Skan	(TYPE_UNSIGNED): New macro.
36893169689Skan	(TYPE_TRAP_SIGNED): Remove now redundant check.
36894169689Skan	(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
36895169689Skan
36896169689Skan2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36897169689Skan
36898169689Skan	* function.c (put_var_into_stack): Properly set orig_reg for indirect.
36899169689Skan
36900169689Skan2004-03-31  Andrew Pinski  <pinskia@physics.uc.edu>
36901169689Skan
36902169689Skan	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
36903169689Skan	Add darwin-fpsave.asm, darwin-vecsave.asm,
36904169689Skan	and darwin-world.asm.
36905169689Skan	(TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
36906169689Skan	as the asm files contain altivec instructions.
36907169689Skan	* config/rs6000/darwin-fpsave.asm: New file.
36908169689Skan	* config/rs6000/darwin-vecsave.asm: New file.
36909169689Skan	* config/rs6000/darwin-world.asm: New file.
36910169689Skan
36911169689Skan2004-03-31  Zack Weinberg  <zack@codesourcery.com>
36912169689Skan
36913169689Skan	* gengtype-yacc.y (option, stringseq): Add missing
36914169689Skan	terminating semicolon.
36915169689Skan
36916169689Skan2004-03-30  David Edelsohn  <edelsohn@gnu.org>
36917169689Skan
36918169689Skan	* config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
36919169689Skan	tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
36920169689Skan	tls_dtprel_ha_32, tls_dtprel_ha_64,
36921169689Skan	tls_dtprel_lo_32, tls_dtprel_lo_64,
36922169689Skan	tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
36923169689Skan	tls_tprel_ha_32, tls_tprel_ha_64,
36924169689Skan	tls_tprel_lo_32, tls_tprel_lo_64,
36925169689Skan	tls_got_tprel_32, tls_got_tprel_64,
36926169689Skan	tls_tls_32, tls_tls_64): Replace register_operand with
36927169689Skan	gpc_reg_operand.
36928169689Skan
36929169689Skan2004-03-30  Mostafa Hagog  <mustafa@il.ibm.com>
36930169689Skan
36931169689Skan	* config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
36932169689Skan	*ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
36933169689Skan	*ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
36934169689Skan	*ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
36935169689Skan	*ctrdi_internal6): Replace register_operand with
36936169689Skan	nonimmediate_operand.
36937169689Skan
36938169689Skan2004-03-29  Fariborz Jahanian <fjahanian@apple.com>
36939169689Skan
36940169689Skan	* fold-const.c (fold): Reassociate multiply expression
36941169689Skan	with an adjacent non-multiply expression to use
36942169689Skan	architecture's multiply-add instruction.
36943169689Skan
36944169689Skan2004-03-30  Zack Weinberg  <zack@codesourcery.com>
36945169689Skan
36946169689Skan	* gengtype.c (create_option): New function.
36947169689Skan	* gengtype.h: Prototype it.
36948169689Skan	* gengtype-yacc.y (stringseq): New rule.
36949169689Skan	(option): Use create_option.  Add new bare ID production.  Use
36950169689Skan	stringseq, not STRING directly.
36951169689Skan
36952169689Skan	* alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
36953169689Skan	* dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
36954169689Skan	* varray.h, config/alpha/alpha.c:
36955169689Skan	Use new shorter form of GTY markers.
36956169689Skan
36957169689Skan	* doc/gty.texi: Rewrite.
36958169689Skan
36959169689Skan2004-03-30  Andrew Pinski  <pinskia@physics.uc.edu>
36960169689Skan
36961169689Skan	* config/darwin.c (machopic_function_base_name):
36962169689Skan	Remove current_name and getting the name of the
36963169689Skan	current function.
36964169689Skan
36965169689Skan2004-03-30  Nick Clifton  <nickc@redhat.com>
36966169689Skan
36967169689Skan	* config/arm/arm.md (thumb_jump): Reduce the backward branch
36968169689Skan	range, and increase the forward branch range, to allow for
36969169689Skan	the fact that the PC will be off by 4.
36970169689Skan
36971169689Skan2004-03-30  Alan Modra  <amodra@bigpond.net.au>
36972169689Skan
36973169689Skan	* .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
36974169689Skan
36975169689Skan2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
36976169689Skan
36977169689Skan	* config/rs6000/rs6000.c (output_vec_const_move):
36978169689Skan	Find all cases of EASY_VECTOR_15_ADD_SELF.
36979169689Skan	(easy_vector_constant_add_self): Accept
36980169689Skan	all vector constant loadable by vsplt* and vadd*.
36981169689Skan	(easy_vector_same): Use easy_vector_splat_const.
36982169689Skan	(easy_vector_const): Use easy_vector_splat_const.
36983169689Skan	(easy_vector_splat_const): New function.
36984169689Skan	(gen_easy_vector_constant_add_self): New function.
36985169689Skan
36986169689Skan	* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
36987169689Skan	New prototype.
36988169689Skan
36989169689Skan	* config/rs6000/altivec.md (movv4si splitter): Change to
36990169689Skan	emit move insn with halfed vector constant.
36991169689Skan	(*movv8hi splitter): Likewise.
36992169689Skan	(*movv16qi splitter): Likewise.
36993169689Skan
36994169689Skan2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
36995169689Skan
36996169689Skan	PR 11591
36997169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_address):
36998169689Skan	Allow any offset to argument pointer in no-strict case.
36999169689Skan
37000169689Skan2004-03-30  Jan Hubicka  <jh@suse.cz>
37001169689Skan
37002169689Skan	* toplev.c (backend_init): Add missing call to inint_optimization_passes.
37003169689Skan	* passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
37004169689Skan	dump file in non-unit-at-a-time mode.
37005169689Skan
37006169689Skan2004-03-29  Hans-Peter Nilsson  <hp@axis.com>
37007169689Skan
37008169689Skan	* config/cris/cris.h: Correct #ifdef to test for
37009169689Skan	HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
37010169689Skan	HAVE_AS_MUL_BUG_ABORT_OPTION.
37011169689Skan
37012169689Skan2004-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37013169689Skan
37014169689Skan	* function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
37015169689Skan	the address inside the old RTL.
37016169689Skan
37017169689Skan2004-03-28  Zack Weinberg  <zack@codesourcery.com>
37018169689Skan
37019169689Skan	* c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
37020169689Skan	(struct c_binding, struct c_scope): Add chain_next
37021169689Skan	attributes to GTY markers.
37022169689Skan	(struct lang_identifier, struct lang_tree_node): Define
37023169689Skan	here...
37024169689Skan	* c-tree.h: ... not here.  No longer need to declare struct
37025169689Skan	c_binding either.  Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
37026169689Skan	* c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
37027169689Skan	to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
37028169689Skan
37029169689Skan	PR 14734, 11944
37030169689Skan	* c-decl.c (get_parm_info): If error_mark_node is encountered
37031169689Skan	in the bindings chain, unbind and discard it; don't abort.
37032169689Skan
37033169689Skan2004-03-28  Olga Golovonevsky <olga@il.ibm.com>
37034169689Skan	    Dorit Naishlos <dorit@il.ibm.com>
37035169689Skan
37036169689Skan	* config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
37037169689Skan	one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
37038169689Skan
37039169689Skan2004-03-28  Stephane Carrez  <stcarrez@nerim.fr>
37040169689Skan
37041169689Skan	* config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
37042169689Skan
37043169689Skan	* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
37044169689Skan	(m68hc11_attribute_table): New attribute "page0" to mark a global
37045169689Skan	variable as being allocated from within page0 section.
37046169689Skan	(m68hc11_encode_label): New function.
37047169689Skan	(m68hc11_strip_name_encoding): New function.
37048169689Skan	(m68hc11_page0_symbol_p): New function.
37049169689Skan	(m68hc11_indirect_p): Accept global variables marked in page0.
37050169689Skan	(m68hc11_encode_section_info): Lookup "page0" attribute.
37051169689Skan
37052169689Skan	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
37053169689Skan	represents access to page0 variables.
37054169689Skan
37055169689Skan	* config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
37056169689Skan	("*logicalsi3_silshl16_zext"): Likewise.
37057169689Skan	("*ashldi3_const32"): Likewise.
37058169689Skan	(peephole2 ashift): Likewise.
37059169689Skan
37060169689Skan2004-03-28  Joseph S. Myers  <jsm@polyomino.org.uk>
37061169689Skan
37062169689Skan	* c-tree.h (C_DECL_REGISTER): New.
37063169689Skan	* c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
37064169689Skan	finish_decl, grokdeclarator, get_parm_info), c-typeck.c
37065169689Skan	(build_array_ref, c_mark_addressable): Set and use it.
37066169689Skan	* c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
37067169689Skan	Allow structures with volatile fields to be declared register.
37068169689Skan	Don't check TREE_ADDRESSABLE before warning about taking address
37069169689Skan	of register.
37070169689Skan	* c-decl.c (finish_decl): Don't allow structures with volatile
37071169689Skan	fields to be placed in named register.
37072169689Skan	* doc/trouble.texi: Remove reference to structures with volatile
37073169689Skan	fields in registers.
37074169689Skan
37075169689Skan2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
37076169689Skan
37077169689Skan	* function.c (thread_prologue_and_epilogue): Move
37078169689Skan	NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
37079169689Skan	before the epilogue.
37080169689Skan
37081169689Skan2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
37082169689Skan
37083169689Skan	* expr.c (store_constructor): Use gen_int_mode to correctly
37084169689Skan	sign-extend CONST_INT value.
37085169689Skan
37086169689Skan2004-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37087169689Skan
37088169689Skan	* builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
37089169689Skan	* builtins.def (DEF_C94_BUILTIN): New.  Add wctype builtins.
37090169689Skan	* doc/extend.texi: Likewise.
37091169689Skan
37092169689Skan2004-03-26  Diego Novillo  <dnovillo@redhat.com>
37093169689Skan
37094169689Skan	* c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
37095169689Skan	  with TYPE_ORIG_SIZE_TYPE.
37096169689Skan
37097169689Skan2004-03-25  Aldy Hernandez  <aldyh@redhat.com>
37098169689Skan
37099169689Skan	PR 14219
37100169689Skan	* c-typeck.c (build_binary_op): Do not allow comparisons of
37101169689Skan	vectors.
37102169689Skan
37103169689Skan2004-03-26  James A. Morrison  <ja2morri@uwaterloo.ca>
37104169689Skan
37105169689Skan	* config.gcc: Remove sparc-tti-*.
37106169689Skan	* config/sparc/pbd.h: Delete.
37107169689Skan
37108169689Skan	* config/sparc/sol2.h: Remove note about Sun OS 4.x.
37109169689Skan	* config/sparc/aout.h: Likewise.
37110169689Skan
37111169689Skan	* config/sparc/sparc.h: Remove if 0'd code.
37112169689Skan	* config/sparc/sparc.md (call): Remove if 0'd code.
37113169689Skan	(call_value): Likewise.
37114169689Skan	(nonlocal_goto): Likewise.
37115169689Skan	(unimp_insn): Delete.
37116169689Skan
37117169689Skan2004-03-25  Roger Sayle  <roger@eyesopen.com>
37118169689Skan
37119169689Skan	* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
37120169689Skan	BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
37121169689Skan
37122169689Skan2004-03-25  Richard Henderson  <rth@redhat.com>
37123169689Skan
37124169689Skan	PR 11527
37125169689Skan	* c-typeck.c (pop_init_level): Emit pending init elements earlier
37126169689Skan	rather than later.
37127169689Skan
37128169689Skan2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37129169689Skan
37130169689Skan	* builtins.c (fold_builtin): Fix error in last change.
37131169689Skan
37132169689Skan2004-03-25  Richard Sandiford  <rsandifo@redhat.com>
37133169689Skan
37134169689Skan	* config/mips/mips.h: Formatting fix.
37135169689Skan
37136169689Skan2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37137169689Skan
37138169689Skan	* builtins.def: Add ctype builtins.
37139169689Skan	* doc/extend.texi: Likewise.
37140169689Skan
37141169689Skan2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37142169689Skan
37143169689Skan	* builtins.c (fold_builtin): Add new builtin optimizations for
37144169689Skan	sqrt and/or cbrt.
37145169689Skan	* fold-const.c (fold): Likewise.
37146169689Skan
37147169689Skan2004-03-25  David Edelsohn  <edelsohn@gnu.org>
37148169689Skan
37149169689Skan	* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
37150169689Skan	(rs6000_sched_groups): New variable.
37151169689Skan	(processor_target_table): Add power5.
37152169689Skan	(rs6000_override_options): Set rs6000_sched_insert_nops,
37153169689Skan	rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
37154169689Skan	from rs6000_sched_groups.
37155169689Skan	(output_cbranch): Use rs6000_always_hint.
37156169689Skan	(rs6000_variable_issue): Use rs6000_sched_groups.
37157169689Skan	(rs6000_adjust_cost): Add CPU_POWER5.
37158169689Skan	(is_microcoded_insn): Use rs6000_sched_groups.
37159169689Skan	(is_dispatch_slot_restricted): Use rs6000_sched_groups.
37160169689Skan	Return 2 for POWER5 cracked instructions.
37161169689Skan	(is_cracked_insn): Use rs6000_sched_groups.
37162169689Skan	(is_branch_slot_insn): Use rs6000_sched_groups.
37163169689Skan	(rs6000_issue_rate): Add CPU_POWER5.
37164169689Skan	(rs6000_sched_finish): Use rs6000_sched_groups.
37165169689Skan	(rs6000_rtx_costs): Add PROCESSOR_POWER5.
37166169689Skan	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
37167169689Skan	(DEFAULT_SCHED_COSTLY_DEP): Delete.
37168169689Skan	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
37169169689Skan	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
37170169689Skan	* config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
37171169689Skan	* config/rs6000/power5.md: New file.
37172169689Skan	* doc/invoke.texi: Add power5 option.
37173169689Skan
37174169689Skan2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
37175169689Skan
37176169689Skan	* cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
37177169689Skan	config/arm/arm.c, objc/objc-act.c: Fix comment typos.
37178169689Skan	* doc/invoke.texi: Fix a typo.
37179169689Skan
37180169689Skan2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
37181169689Skan
37182169689Skan	PR optimization/9707.
37183169689Skan	* stmt.c (emit_case_nodes): Emit equality comparisons instead
37184169689Skan	of recursing if both children are single-valued cases with no
37185169689Skan	children.
37186169689Skan
37187169689Skan2004-03-25  Paul Brook  <paul@codesourcery.com>
37188169689Skan
37189169689Skan	* config/arm/arm.c (vfp_print_multi): Remove.
37190169689Skan	(arm_output_fldmx): New function.
37191169689Skan	(vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
37192169689Skan	(arm_expand_prologue): Update to match.
37193169689Skan	(arm_get_vfp_saved_size): New Function.
37194169689Skan	(arm_get_frame_offsets): Use it.
37195169689Skan	(arm_output_epilogue): Use new functions.
37196169689Skan
37197169689Skan2004-03-24  Richard Henderson  <rth@redhat.com>
37198169689Skan
37199169689Skan	* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
37200169689Skan	(reg_known_value, reg_known_value_size): Likewise; make static.
37201169689Skan	(reg_known_equiv_p): Make static.
37202169689Skan	(clear_reg_alias_info): Update for new indexing.
37203169689Skan	(get_reg_known_value, set_reg_known_value): New.
37204169689Skan	(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
37205169689Skan	(canon_rtx): Use them.
37206169689Skan	(init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
37207169689Skan	Don't play queer offsetting games with reg_known_value and
37208169689Skan	reg_known_equiv_p.
37209169689Skan	(end_alias_analysis): Free reg_known_value with gc.
37210169689Skan	* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
37211169689Skan	* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
37212169689Skan	(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
37213169689Skan	functions instead.
37214169689Skan
37215169689Skan2004-03-24  Kazu Hirata  <kazu@cs.umass.edu>
37216169689Skan
37217169689Skan	* dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
37218169689Skan	config/i386/mmintrin.h: Update copyright.
37219169689Skan
37220169689Skan2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
37221169689Skan
37222169689Skan	* configure.ac: Add --enable-werror-always (for top level bootstrap
37223169689Skan	support).
37224169689Skan	* configure: Regenerate.
37225169689Skan
37226169689Skan2004-03-24  Ziemowit Laski  <zlaski@apple.com>
37227169689Skan
37228169689Skan	* objc/objc-act.c (objc_comptypes): Treat comparisons
37229169689Skan	between 'Class' and '<class> *' as explicitly invalid.
37230169689Skan
37231169689Skan2004-03-24  David Edelsohn  <edelsohn@gnu.org>
37232169689Skan
37233169689Skan	* doc/invoke.texi (-frename-registers): Add enabled at -O3.
37234169689Skan	(-fprofile-values): Add enabled with profile-{generate,use}.
37235169689Skan	(-fvpt): Same.
37236169689Skan	(-ftracer): Add enabled with profile-use.
37237169689Skan	(-funit-at-a-time): Add enabled at -O2,-O3.
37238169689Skan	(-funroll-loops): Add enabled with profile-use.
37239169689Skan	(-funswitch-loops): Add enabled with profile-use.  Remove duplicates.
37240169689Skan	(max-gcse-passes): Mention default.
37241169689Skan	(max-cse-path-length): Mention default.
37242169689Skan
37243169689Skan2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
37244169689Skan
37245169689Skan	* Makefile.in (STRICT2_WARN): Reorder.
37246169689Skan	* configure.ac: Check for -Wold-style-definition, and use it
37247169689Skan	in strict1_warn if it's available.
37248169689Skan	* configure: Regnerate.
37249169689Skan
37250169689Skan2004-03-24  Paul Brook  <paul@nowt.org>
37251169689Skan
37252169689Skan	* config.gcc <arm>: Add --with-abi=
37253169689Skan	* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
37254169689Skan	thumb_far_jump_used): Remove prototypes.
37255169689Skan	(arm_needs_doubleword_align): Add prototype.
37256169689Skan	(thumb_compute_initial_elimination_offset): Ditto.
37257169689Skan	* config/arm/arm.c (arm_get_frame_offsets): New function.
37258169689Skan	(use_return_insn, output_return_instruction, arm_output_epilogue,
37259169689Skan	arm_output_function_epilogue, arm_compute_initial_elimination_offset,
37260169689Skan	arm_expand_prologue, thumb_expand_epilogue): Use it.
37261169689Skan	(arm_abi, target_abi_name, all_arm_abis): New variables.
37262169689Skan	(arm_override_options): Set them.  Set structure padding for AAPCS.
37263169689Skan	(arm_return_in_memory): Update ABI check.
37264169689Skan	(arm_init_cumulative_args): Initialize can_split.
37265169689Skan	(arm_needs_doubleword_align): New function.
37266169689Skan	(arm_function_arg): Don't split args after pushing to stack. Handle
37267169689Skan	doubleword/even reg alignment.
37268169689Skan	(arm_va_arg): Handle all doubleword aligned args.
37269169689Skan	(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
37270169689Skan	on ABI, not CPU.
37271169689Skan	(arm_compute_save_reg0_reg12_mask): Fix comment.
37272169689Skan	(thumb_get_frame_size, thumb_get_frame_size): Remove.
37273169689Skan	(thumb_jump_far_used_p): Remove superfluous argument.  Return save
37274169689Skan	value for alignment.
37275169689Skan	(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
37276169689Skan	to match.
37277169689Skan	(thumb_compute_initial_elimination_offset): New function.
37278169689Skan	(thumb_expand_prologue): Use arm_get_frame_offsets.  Remove
37279169689Skan	unneccessary rounding.
37280169689Skan	* config/arm/arm.h (target_abi_name): Declare.
37281169689Skan	(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
37282169689Skan	arm_abi_type, ARM_DEFAULT_ABI): Define.
37283169689Skan	(ARM_FLAG_ATPCS): Remove.
37284169689Skan	(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
37285169689Skan	(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
37286169689Skan	(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
37287169689Skan	TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
37288169689Skan	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
37289169689Skan	Contitionalize on ABI, not CPU.
37290169689Skan	(struct arm_stack_offsets): Define.
37291169689Skan	(struct machine_function): Add stack_offsets.  Remove frame_size.
37292169689Skan	(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
37293169689Skan	pushed.
37294169689Skan	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
37295169689Skan	doubleword alignment.
37296169689Skan	(THUMB_INITIAL_ELIMINATION_OFFSET,
37297169689Skan	ARM_INITIAL_ELIMINATION_OFFSET): Remove.
37298169689Skan	(INITIAL_ELIMINATION_OFFSET): Call functions directly.
37299169689Skan	* config/arm/arm.md (align_8): Enable for all targets.
37300169689Skan	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
37301169689Skan	(ARM_DEFAULT_ABI): Define.
37302169689Skan	* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
37303169689Skan	-mstructure-size-boundary.
37304169689Skan
37305169689Skan2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
37306169689Skan
37307169689Skan	* configure.ac: Check for -Wno-variadic-macros; don't use
37308169689Skan	-pedantic (in stage 1 or a simple 'make all') unless it's available,
37309169689Skan	and if it's available, use it.  Also, clean up check for
37310169689Skan	-Wno-long-long.
37311169689Skan	* configure: Regenerate.
37312169689Skan
37313169689Skan2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
37314169689Skan
37315169689Skan	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
37316169689Skan	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
37317169689Skan	(MULTILIB_DEFAULTS): Use it.
37318169689Skan	(MIPS_CPU_STRING_DEFAULT): Remove.
37319169689Skan	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
37320169689Skan	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
37321169689Skan	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
37322169689Skan	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
37323169689Skan	march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
37324169689Skan	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
37325169689Skan	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
37326169689Skan	accordingly.
37327169689Skan
37328169689Skan2004-03-24  DJ Delorie  <dj@redhat.com>
37329169689Skan	    Richard Sandiford  <rsandifo@redhat.com>
37330169689Skan
37331169689Skan	* config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
37332169689Skan	(TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
37333169689Skan	(ASM_SPEC): Pass down -mfix-vr4122-bugs.
37334169689Skan	* config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
37335169689Skan	in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
37336169689Skan	(mips_init_libfuncs): Use special functions for divsi3 and modsi3
37337169689Skan	if TARGET_FIX_VR4122.
37338169689Skan	* config/mips/mips.md (define_attr length): Account for nops inserted
37339169689Skan	after macc and dmult when using -mfix-vr4122-bugs.
37340169689Skan	(umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
37341169689Skan	* config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
37342169689Skan	LIB2FUNCS_EXTRA.  Add config/mips/vr4122-div.S.
37343169689Skan	* config/mips/vr4122-div.S: New file.
37344169689Skan	* doc/invoke.texi: Document -mfix-vr4122-bugs.
37345169689Skan
37346169689Skan2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
37347169689Skan
37348169689Skan	* config/mips/mips.h (PROCESSOR_R4130): New processor_type.
37349169689Skan	(TARGET_MIPS4130): New macro.
37350169689Skan	(ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
37351169689Skan	* config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
37352169689Skan	(override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
37353169689Skan	with PROCESSOR_R4130.
37354169689Skan	* config/mips/mips.md (define_attr cpu): Add r4130.
37355169689Skan	* doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
37356169689Skan
37357169689Skan2004-03-24  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
37358169689Skan	    Richard Sandiford  <rsandifo@redhat.com>
37359169689Skan
37360169689Skan	* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
37361169689Skan
37362169689Skan2004-03-24  Alexandre Oliva  <aoliva@redhat.com>
37363169689Skan
37364169689Skan	PR preprocessor/14438
37365169689Skan	* cpplib.c (do_pragma): Remove line_change call after pragma
37366169689Skan	handler.
37367169689Skan
37368169689Skan2004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
37369169689Skan
37370169689Skan	* doc/extend.texi (ARM Built-in Functions): Replace with correct
37371169689Skan	declarations.
37372169689Skan
37373169689Skan2004-03-23  Roger Sayle  <roger@eyesopen.com>
37374169689Skan
37375169689Skan	* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
37376169689Skan	if flag_unsafe_math_optimizations.
37377169689Skan	* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
37378169689Skan	and TARGET_80387 expand using truncdfsf2_noop pattern.
37379169689Skan	(truncxfsf2): Likewise using truncxfsf2_noop.
37380169689Skan	(truncxfdf2): Likewise using truncxfdf2_noop.
37381169689Skan	(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
37382169689Skan
37383169689Skan2004-03-23  Ziemowit Laski  <zlaski@apple.com>
37384169689Skan
37385169689Skan	* hooks.c (hook_constcharptr_tree_null): New hook.
37386169689Skan	* hooks.h (hook_constcharptr_tree_null): New prototype.
37387169689Skan	* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
37388169689Skan	* target.h (mangle_fundamental_type): New target hook.
37389169689Skan	* config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
37390169689Skan	target hook at rs6000_mangle_fundamental_type.
37391169689Skan	(rs6000_mangle_fundamental_type): New function.
37392169689Skan	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
37393169689Skan
37394169689Skan2004-03-23  Zack Weinberg  <zack@codesourcery.com>
37395169689Skan
37396169689Skan	PR 12267, 12391, 12560, 13129, 14114, 14133
37397169689Skan	* c-tree.h: Forward declare struct c_binding.  Declare
37398169689Skan	c_override_bindings_to_false.  Update prototypes.
37399169689Skan	(struct lang_identifier): Update comments.  Change fields to be
37400169689Skan	struct c_binding *.
37401169689Skan	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
37402169689Skan	(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
37403169689Skan	(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
37404169689Skan	(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
37405169689Skan	* c-common.h: Update prototypes.
37406169689Skan	* c-decl.c (struct c_scope): Update commentary.  Remove names,
37407169689Skan	names_last, parms, parms_last, tags, and shadowed fields.  Add
37408169689Skan	bindings and depth fields.
37409169689Skan	(scope_freelist): Move to more appropriate location.
37410169689Skan	(c_print_identifier): Update for changes to struct lang_identifier.
37411169689Skan	(objc_mark_locals_volatile): Update for new bindings structures.
37412169689Skan	(global_bindings_p): Honor c_override_global_bindings_to_false.
37413169689Skan	(pushlevel): Rename to push_scope; take no arguments; use the
37414169689Skan	scope_freelist; initialize scope->depth and check for overflow.
37415169689Skan	(poplevel): Rename to pop_scope; totally rewritten for new bindings
37416169689Skan	structures.
37417169689Skan	(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
37418169689Skan	C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
37419169689Skan	Improve some commentary.  Adjust handling of forward parm decls.
37420169689Skan	(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
37421169689Skan	Preserve C_DECL_IN_EXTERNAL_SCOPE.
37422169689Skan	(warn_if_shadowing): Correct indentation.  Improve diagnostics.
37423169689Skan	(pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
37424169689Skan	decls.  Rewrite for new bindings structures.  Improve commentary.
37425169689Skan	Eliminate the copy_node call.
37426169689Skan	(implicit_decl_warning): Use the "diag" idiom (as seen in
37427169689Skan	locate_old_decl) to reduce code duplication; call locate_old_decl
37428169689Skan	if appropriate.  Relocate to remove need for forward declaration.
37429169689Skan	(implicitly_declare): Adjust for new bindings structures.  Kludge
37430169689Skan	around Objective-C not-really-builtin functions.
37431169689Skan	(undeclared_variable): Improve diagnostics.  If current_function_decl
37432169689Skan	is nonnull but current_function_scope is null, use current_scope.
37433169689Skan	Use bind.
37434169689Skan	(lookup_tag): Adjust for new bindings structures.  Kludge around
37435169689Skan	Objective-C's tag declarations that wind up in the external scope.
37436169689Skan	(lookup_name): Adjust for new bindings structures.  Kludge around
37437169689Skan	c-common.c's pseudo-typedefs that wind up in the external scope.
37438169689Skan	(lookup_name_current_level): Rename lookup_name_in_scope; take a
37439169689Skan	second argument indicating the scope to examine; rewrite for
37440169689Skan	new bindings structures.
37441169689Skan	(c_init_decl_processing): Adjust for renamed functions.  Do not
37442169689Skan	initialize current_file_decl, first_builtin_decl, last_builtin_decl.
37443169689Skan	First scope pushed is the external scope, not the global scope.
37444169689Skan	(builtin_function): Use bind, not pushdecl.  Adjust other bits
37445169689Skan	for new data structures.  Keep track of builtins that should be
37446169689Skan	made visible automatically.
37447169689Skan	(start_decl): Adjust diagnostics.  Remove unnecessary call to
37448169689Skan	expand_decl.
37449169689Skan	(grokparms): Return 0 if arg_types is error_mark_node.
37450169689Skan	(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
37451169689Skan	reversed sense.  Rewrite for new bindings structures.  Do not
37452169689Skan	leave any decls in the scope, to prevent pop_scope from doing
37453169689Skan	contradictory things with them.
37454169689Skan	(finish_struct, finish_enum): Remove redundant diagnostics.
37455169689Skan	(build_enumerator): Don't cascade diagnostics for error_mark_node.
37456169689Skan	Mark location where -pedantic changes the meaning of the program.
37457169689Skan	(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
37458169689Skan	parameter decls into the function's scope structure using bind.
37459169689Skan	Warn here about function definitions in the wrong style.
37460169689Skan	Adjust diagnostics.
37461169689Skan	(store_parm_decls): Correct the determination of whether a
37462169689Skan	function was defined with a prototype.
37463169689Skan	(c_write_global_declarations): Operate on all file decls and on
37464169689Skan	the external scope.  Split body of the loop to...
37465169689Skan	(c_write_global_declarations_1): ... this new function, to avoid
37466169689Skan	code duplication.
37467169689Skan	(truly_local_externals, first_builtin_decl, last_builtin_decl)
37468169689Skan	(make_scope, pop_scope, in_parm_level_p, set_block)
37469169689Skan	(any_external_decl, record_external_decl, bind_label, getdecls)
37470169689Skan	(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
37471169689Skan	(c_reset_state): Delete.
37472169689Skan	(visible_builtins, c_override_global_bindings_to_false)
37473169689Skan	(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
37474169689Skan	(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
37475169689Skan	(external_scope, binding_freelist, bind, free_binding_and_advance)
37476169689Skan	(push_file_scope, pop_file_scope): New.
37477169689Skan	(pushtag, pushdecl_top_level, lookup_label, declare_label)
37478169689Skan	(define_label, c_make_fname_decl, finish_decl)
37479169689Skan	(mark_forward_parm_decls, build_compound_literal)
37480169689Skan	(grokdeclarator, start_function, check_for_loop_decls)
37481169689Skan	(identifier_global_value, record_builtin_type): Minor adjustments
37482169689Skan	for new bindings structures.  Improve diagnostics and commentary.
37483169689Skan	* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
37484169689Skan	pushlevel/poplevel respectively.
37485169689Skan	(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
37486169689Skan	* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
37487169689Skan	Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
37488169689Skan	correct loop over multiple translation units; call fatal_error if
37489169689Skan	requested to compile more than one file at once.  (This disables
37490169689Skan	IMA temporarily - an up-front error being preferable to a crash.)
37491169689Skan	* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
37492169689Skan	(all actions): Adjust calls to pushlevel/poplevel.
37493169689Skan	(parsing_iso_function_signature): Delete.
37494169689Skan	(extdef_1): Fold into extdef.
37495169689Skan	(old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
37496169689Skan	warn here about function definitions in the wrong style.
37497169689Skan	(after_tyle_declarator, parm_declarator_starttypename)
37498169689Skan	(parm_declarator_nostarttypename, notype_declarator): Remove
37499169689Skan	commented-out productions.
37500169689Skan	(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
37501169689Skan	an empty TREE_LIST node.  Adjust calls to get_parm_info.
37502169689Skan	(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
37503169689Skan	to suppress -Wold-style-definition after this error.
37504169689Skan	(c_parse_file): Don't clear the binding stack or call
37505169689Skan	finish_fname_decls here.  Correct comment.
37506169689Skan	* c-typeck.c (same_translation_unit_p): Export.
37507169689Skan	(common_type): Use c_override_global_bindings_to_false, not
37508169689Skan	pushlevel/poplevel/declare_parm_level.
37509169689Skan	* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
37510169689Skan	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
37511169689Skan	and LANG_HOOKS_GETDECLS with do-nothing stubs.
37512169689Skan	* objc/objc-lang.c: Likewise.
37513169689Skan	* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
37514169689Skan	get_parm_info.
37515169689Skan	(OBJC_VOID_AT_END): Delete; replace all uses
37516169689Skan	with void_list_node.
37517169689Skan	(generate_forward_declaration_to_string_table): Delete.
37518169689Skan	* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
37519169689Skan
37520169689Skan	* coverage.c (create_coverage): Don't pushdecl anything.
37521169689Skan	* langhooks.c (lhd_clear_binding_stack): Call
37522169689Skan	lang_hooks.decls.poplevel, not poplevel.
37523169689Skan	* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
37524169689Skan	circular list rather than going into an infinite loop.
37525169689Skan
37526169689Skan2004-03-23  Olivier Hainque  <hainque@act-europe.fr>
37527169689Skan
37528169689Skan	* optabs.c (expand_binop): When synthesizing double word rotates
37529169689Skan	from single word shifts, use a new register target if the provided
37530169689Skan	target is not a REG already.
37531169689Skan
37532169689Skan2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37533169689Skan
37534169689Skan	* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
37535169689Skan	* c-common.c (handle_mode_attribute): Add extra arg to
37536169689Skan	build_pointer_type_for_mode and build_reference_type_for_mode.
37537169689Skan	* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
37538169689Skan	for INTEGER_CST.
37539169689Skan	* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
37540169689Skan	Chain pointers via TYPE_NEXT_PTR_TO.
37541169689Skan	(build_reference_type_for_mode): Similarly.
37542169689Skan	(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
37543169689Skan	and build_reference_type_for_mode.
37544169689Skan	(tree_check4_failed): New function.
37545169689Skan	* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
37546169689Skan	(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
37547169689Skan	(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
37548169689Skan	Add check.
37549169689Skan
37550169689Skan2004-03-23  Roger Sayle  <roger@eyesopen.com>
37551169689Skan
37552169689Skan	* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
37553169689Skan	A is nonnegative or B is nonnegative.  Similarly A|B is nonnegative
37554169689Skan	when both A and B are nonnegative.
37555169689Skan	(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
37556169689Skan	nonzero.
37557169689Skan
37558169689Skan2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
37559169689Skan
37560169689Skan	* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
37561169689Skan	VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
37562169689Skan
37563169689Skan2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
37564169689Skan
37565169689Skan	PR optimization/14669
37566169689Skan	* fold-const.c (fold): Only unwiden integer comparisons for equality
37567169689Skan	and inequality operators, or when the signedness doesn't change.
37568169689Skan
37569169689Skan2004-03-23  Jakub Jelinek  <jakub@redhat.com>
37570169689Skan
37571169689Skan	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
37572169689Skan	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
37573169689Skan	* config/sparc/t-linux: New file.
37574169689Skan
37575169689Skan2004-03-23  Richard Sandiford  <rsandifo@redhat.com>
37576169689Skan
37577169689Skan	* gcse.c (can_assign_to_reg_p): New function, split out from...
37578169689Skan	(want_to_gcse_p): ...here.
37579169689Skan	(compute_ld_motion_mems): Use can_assign_to_reg_p to validate
37580169689Skan	the rhs of a store.
37581169689Skan
37582169689Skan2004-03-22  Diego Novillo  <dnovillo@redhat.com>
37583169689Skan
37584169689Skan	* c-typeck.c (same_translation_unit_p): Fix pasto.
37585169689Skan
37586169689Skan2004-03-22  David Edelsohn  <edelsohn@gnu.org>
37587169689Skan
37588169689Skan	* params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
37589169689Skan	(PARAM_MAX_SCHED_REGION_INSNS): New.
37590169689Skan	* sched-rgn.c: Include params.h
37591169689Skan	(MAX_RGN_BLOCKS): Delete.
37592169689Skan	(MAX_RGN_INSNS): Delete.
37593169689Skan	(too_large): Return bool.  Convert to PARAM_VALUE.
37594169689Skan	* Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
37595169689Skan	* doc/invoke.texi (param): Document max-sched-region-blocks and
37596169689Skan	max-sched-region-insns.
37597169689Skan
37598169689Skan2004-03-22  Joel Brobecker  <brobecker@gnat.com>
37599169689Skan
37600169689Skan	* dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
37601169689Skan	for base types.
37602169689Skan
37603169689Skan2004-03-22  Joel Brobecker  <brobecker@gnat.com>
37604169689Skan
37605169689Skan	* dwarf2out.c (is_subrange_type): Minor code rework. No behavior
37606169689Skan	change.
37607169689Skan
37608169689Skan2004-03-22  Jakub Jelinek  <jakub@redhat.com>
37609169689Skan
37610169689Skan	PR c/14069
37611169689Skan	* c-decl.c (finish_struct): Change type of incorrect flexible array
37612169689Skan	field into error_mark_node.
37613169689Skan
37614169689Skan2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>
37615169689Skan
37616169689Skan	PR target/14580
37617169689Skan	* config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
37618169689Skan	who are not local for Darwin PIC.
37619169689Skan
37620169689Skan2004-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
37621169689Skan
37622169689Skan	* regrename.c (regrename_optimize): Set regs_ever_live for all
37623169689Skan	registers introduced as replacement.
37624169689Skan
37625169689Skan2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
37626169689Skan
37627169689Skan	PR middle-end/14470
37628169689Skan	* expr.c (mark_queue): New function.
37629169689Skan	(emit_insns_enqueued_after_mark): New function replacing
37630169689Skan	emit_queue.  Clear the body of emitted queued insns.
37631169689Skan	(emit_queue): Call emit_insns_enqueued_after_mark.
37632169689Skan	(store_expr): Mark the increment queue on entry.  Emit
37633169689Skan	only the incrementations queued when expanding the source.
37634169689Skan
37635169689Skan2004-03-22  Nathanael Nerode  <neroden@gcc.gnu.org>
37636169689Skan
37637169689Skan	* configure.ac: Allow --disable-coverage-flags (for the future benefit
37638169689Skan	of top level bootstrap, and consistency).  Reindent.
37639169689Skan	* configure: Regenerate.
37640169689Skan
37641169689Skan2004-03-21  Kazu Hirata  <kazu@cs.umass.edu>
37642169689Skan
37643169689Skan	* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
37644169689Skan	ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
37645169689Skan	unnecessary casts.
37646169689Skan
37647169689Skan2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
37648169689Skan
37649169689Skan	PR target/14291
37650169689Skan	* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
37651169689Skan	__MINGW32__.
37652169689Skan
37653169689Skan2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
37654169689Skan
37655169689Skan	* config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
37656169689Skan	to nonimmediate_operand.
37657169689Skan	("*doloop_di"): Likewise.
37658169689Skan
37659169689Skan2004-03-21  Alexandre Oliva  <aoliva@redhat.com>
37660169689Skan
37661169689Skan	* real.h (struct real_value): Use the same type for all
37662169689Skan	bitfields.  Rename exp to uexp.
37663169689Skan	(REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
37664169689Skan	Adjust all uses of exp...
37665169689Skan	* builtins.c: ... here, ...
37666169689Skan	* emit-rtl.c: ... here, and ...
37667169689Skan	* real.c: ... and here.
37668169689Skan
37669169689Skan2004-03-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
37670169689Skan
37671169689Skan	* pretty-print.c (pp_base_maybe_space): New function.
37672169689Skan	* pretty-print.h (pp_base_maybe_space): Declare.
37673169689Skan	(pp_maybe_space): New macro.
37674169689Skan
37675169689Skan2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
37676169689Skan
37677169689Skan	* config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
37678169689Skan
37679169689Skan2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
37680169689Skan
37681169689Skan	* expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
37682169689Skan	of using register multiplication cost.
37683169689Skan	(expand_mult): Adapt choose_mult_variant call.
37684169689Skan	(expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
37685169689Skan	of MODE; pass appropriate cost bound.  Adjust result when
37686169689Skan	performing signed multiplication by a negative constant.
37687169689Skan	Don't use intermediate modes larger than word_mode.
37688169689Skan
37689169689Skan2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37690169689Skan
37691169689Skan	* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
37692169689Skan	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
37693169689Skan	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
37694169689Skan	* explow.c (expr_size): Likewise.
37695169689Skan	* expr.h (placeholder_list, find_placeholder): Deleted.
37696169689Skan	* expr.c (store_constructor): Likewise.
37697169689Skan	(get_inner_reference): Likewise.  Also don't call find_placeholder.
37698169689Skan	(placeholder_list, find_placeholder): Deleted.
37699169689Skan	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
37700169689Skan	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
37701169689Skan	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
37702169689Skan	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
37703169689Skan	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
37704169689Skan	Likewise.
37705169689Skan	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
37706169689Skan	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
37707169689Skan	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
37708169689Skan	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
37709169689Skan	Clean up by using first_rtl_op.
37710169689Skan	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
37711169689Skan	(substitute_placeholder_in_expr): New function.
37712169689Skan	* tree.def (WITH_RECORD_EXPR): Deleted.
37713169689Skan	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
37714169689Skan	(substitute_placeholder_in_expr): New.
37715169689Skan
37716169689Skan2004-03-21  Andrew Pinski  <pinskia@gcc.gnu.org>
37717169689Skan
37718169689Skan	* dojump.c (prefer_and_bit_test): Fix which part of
37719169689Skan	the and_test is replaced.
37720169689Skan
37721169689Skan2004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
37722169689Skan
37723169689Skan	* frontends.texi: Add missing line.
37724169689Skan
37725169689Skan2004-03-21  Zack Weinberg  <zack@codesourcery.com>
37726169689Skan	    Chris Devers  <cdevers@pobox.com>
37727169689Skan	    Joseph S. Myers  <jsm@polyomino.org.uk>
37728169689Skan
37729169689Skan	* doc/frontends.texi: Rewrite.
37730169689Skan	* doc/gcc.texi: Update last modification date.
37731169689Skan
37732169689Skan2004-03-21  Josef Zlomek  <zlomekj@suse.cz>
37733169689Skan
37734169689Skan	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
37735169689Skan	message before redirecting the edge.
37736169689Skan
37737169689Skan2004-03-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
37738169689Skan
37739169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
37740169689Skan	flag.
37741169689Skan	* explow.c (force_not_mem): Set REG_POINTER flag according to
37742169689Skan	MEM_POINTER one.
37743169689Skan	* rtl.h (MEM_POINTER): New macro.
37744169689Skan	(struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
37745169689Skan	for MEM_POINTER.
37746169689Skan
37747169689Skan2004-03-20  Roger Sayle  <roger@eyesopen.com>
37748169689Skan
37749169689Skan	PR target/13889
37750169689Skan	* cse.c (fold_rtx): Avoid substituting constants into unary
37751169689Skan	conversion operations.
37752169689Skan
37753169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37754169689Skan
37755169689Skan	* fold-const.c (fold): Replace "expr" with "t".
37756169689Skan
37757169689Skan2004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
37758169689Skan
37759169689Skan	PR c/12373
37760169689Skan	* c-typeck.c (tagged_types_tu_compatible_p): Don't use
37761169689Skan	DECL_ORIGINAL_TYPE if there isn't one.
37762169689Skan
37763169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37764169689Skan
37765169689Skan	* fold-const.c (fold): Replace "final_type" with "type".
37766169689Skan	Remove variable "final_type".
37767169689Skan
37768169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37769169689Skan
37770169689Skan	* fold-const.c (fold): Constify "type".
37771169689Skan	Replace "TREE_TYPE (t)" with "type".
37772169689Skan
37773169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37774169689Skan
37775169689Skan	* bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
37776169689Skan	dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
37777169689Skan	via (*targetm.foo) () with targetm.foo ().
37778169689Skan
37779169689Skan2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
37780169689Skan
37781169689Skan	PR other/14630
37782169689Skan	* doc/install.texi: Add info directory category and entry.
37783169689Skan
37784169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37785169689Skan
37786169689Skan	* fold-const.c (fold): Replace "t" with "tem" where it is used
37787169689Skan	as a temporary variable.  Remove "orig_t" and all of its uses.
37788169689Skan
37789169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37790169689Skan
37791169689Skan	* fold-const.c (fold): Remove variable "invert".
37792169689Skan	Move the handling of relational expressions that can be folded
37793169689Skan	to a constant ...
37794169689Skan	(fold_relational_const): ... here.
37795169689Skan	(tree_expr_nonzero_p): New.
37796169689Skan
37797169689Skan2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
37798169689Skan
37799169689Skan	PR c/14635
37800169689Skan	* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
37801169689Skan	DEF_GCC_BUILTIN.
37802169689Skan
37803169689Skan2004-03-20  Richard Sandiford  <rsandifo@redhat.com>
37804169689Skan
37805169689Skan	* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
37806169689Skan	(GTFILES): Add $(srcdir)/dojump.h.
37807169689Skan	(gt-dojump.h): New dependency.
37808169689Skan	* dojump.c (and_reg, and_test, shift_test): New static variables.
37809169689Skan	(prefer_and_bit_test): New function.
37810169689Skan	(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
37811169689Skan
37812169689Skan2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
37813169689Skan
37814169689Skan	* c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
37815169689Skan	expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
37816169689Skan	reorg.c, tree.h: Fix comment typos.
37817169689Skan
37818169689Skan2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
37819169689Skan
37820169689Skan	* alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
37821169689Skan	c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
37822169689Skan	cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
37823169689Skan	haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
37824169689Skan	sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
37825169689Skan	vmsdbgout.c: Replace calls via (*targetm.foo) () with
37826169689Skan	targetm.foo ().
37827169689Skan
37828169689Skan2004-03-19  Ziemowit Laski  <zlaski@apple.com>
37829169689Skan
37830169689Skan	* config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
37831169689Skan	vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
37832169689Skan	always_inline attribute.
37833169689Skan	* config/rs6000/rs6000.c (altivec_expand_dst_builtin):
37834169689Skan	Treat expansion as completed even if literal argument is
37835169689Skan	invalid (so that other expansions are not tried in vain).
37836169689Skan
37837169689Skan2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
37838169689Skan
37839169689Skan	* loop-doloop.c (add_test): Replace GEN_INT (0) with
37840169689Skan	const0_rtx.
37841169689Skan
37842169689Skan2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
37843169689Skan
37844169689Skan	* fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
37845169689Skan	...
37846169689Skan	(fold_abs_const): ... here.
37847169689Skan
37848169689Skan2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37849169689Skan
37850169689Skan	* tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
37851169689Skan
37852169689Skan2004-03-19  Denis Chertykov  <denisc@overta.ru>
37853169689Skan
37854169689Skan	PR target/11520
37855169689Skan	* config/avr/avr.md ("call_insn"): Handle explicit integer
37856169689Skan	specially.
37857169689Skan	(call_value_insn): Likewise.
37858169689Skan
37859169689Skan2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37860169689Skan
37861169689Skan	* tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
37862169689Skan
37863169689Skan2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
37864169689Skan
37865169689Skan	* fold-const.c (negate_expr): Move the handling of constants
37866169689Skan	...
37867169689Skan	(fold_negate_const): ... here.
37868169689Skan
37869169689Skan2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37870169689Skan
37871169689Skan	* langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
37872169689Skan	* langhooks.h (struct lang_hooks_for_types): New field hash_types.
37873169689Skan	* tree.c (debug_no_type_hash): Deleted.
37874169689Skan	(type_hash_canon): Abort if passed a variant.
37875169689Skan	Check lang_hooks.types.hash_types.
37876169689Skan	(build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
37877169689Skan	(build_array_type): Remove unnecessary allocation of pointer type.
37878169689Skan	(build_complex_type): Properly qualify resulting type.
37879169689Skan
37880169689Skan2004-03-19  Paolo Bonzini  <bonzini@gnu.org>
37881169689Skan
37882169689Skan	* config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
37883169689Skan
37884169689Skan2004-03-19  Richard Sandiford  <rsandifo@redhat.com>
37885169689Skan
37886169689Skan	* expmed.c (choose_mult_variant, expand_mult_const): New, split from...
37887169689Skan	(expand_mult): ...here.
37888169689Skan	(extract_high_half): New, split out from expand_mult_highpart.
37889169689Skan	(expand_highpart_optab): Likewise.  Don't clobber target prematurely.
37890169689Skan	(expand_highpart): Evaluate the cost of a shift/add sequence,
37891169689Skan	then see if any of the specialized optabs are cheaper.
37892169689Skan
37893169689Skan2004-03-18  Ian Lance Taylor  <ian@wasabisystems.com>
37894169689Skan
37895169689Skan	* mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
37896169689Skan
37897169689Skan2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37898169689Skan
37899169689Skan	* convert.c (convert_to_real): Add more math builtins.
37900169689Skan
37901169689Skan2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
37902169689Skan
37903169689Skan	* convert.c (convert_to_real): Reformat using switch stmt.
37904169689Skan
37905169689Skan2004-03-18  Mark Mitchell  <mark@codesourcery.com>
37906169689Skan
37907169689Skan	* c-common.c (pointer_int_sum): Do not complain about using
37908169689Skan	pointers to pointers-to-members.
37909169689Skan
37910169689Skan2004-03-18  Kazu Hirata  <kazu@cs.umass.edu>
37911169689Skan
37912169689Skan	* system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
37913169689Skan	have moved to the target hooks structure".
37914169689Skan
37915169689Skan2004-03-18  James E Wilson  <wilson@specifixinc.com>
37916169689Skan
37917169689Skan	* config/mips/mips.md (type): Split move into arith and fmove.  Split
37918169689Skan	hilo into mthilo and mfhilo.  Add trap.  Delete icmp.  Fix all uses.
37919169689Skan	* config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
37920169689Skan	Likewise.
37921169689Skan	* config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
37922169689Skan	Likewise.
37923169689Skan	* config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
37924169689Skan	rm7_fp_quick): Likewise.
37925169689Skan	* config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
37926169689Skan	rm9k_fquick): Likewise.
37927169689Skan	* config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
37928169689Skan	Likewise.
37929169689Skan	(ir_sr70_icmp): Delete.
37930169689Skan
37931169689Skan2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37932169689Skan
37933169689Skan	* tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
37934169689Skan	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
37935169689Skan	(FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
37936169689Skan	(REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
37937169689Skan	(TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
37938169689Skan	Protect with proper check.
37939169689Skan	(TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
37940169689Skan	(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
37941169689Skan	* tree.c (type_hash_eq): Rewrite to access proper fields for each type.
37942169689Skan	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
37943169689Skan	* c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
37944169689Skan	* dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
37945169689Skan	not TYPE_FIELDS.
37946169689Skan	* stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
37947169689Skan
37948169689Skan2004-03-18  Mostafa Hagog  <mustafa@il.ibm.com>
37949169689Skan
37950169689Skan	* gcse.c (eliminate_partially_redundant_loads): Reject change if
37951169689Skan	dest is set between beginning and current insn.
37952169689Skan
37953169689Skan2004-03-18  Mark Mitchell  <mark@codesourcery.com>
37954169689Skan
37955169689Skan	* c-decl.c (grokdeclarator): Do not complain about redeclaring
37956169689Skan	visible "static" identifiers "extern" in a local scope.
37957169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
37958169689Skan	post-increments/decrements.
37959169689Skan
37960169689Skan2004-03-18  Bob Wilson  <bob.wilson@acm.org>
37961169689Skan
37962169689Skan	* config/xtensa/xtensa.c (current_function_arg_words): Delete.
37963169689Skan	(xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
37964169689Skan	(xtensa_va_start): Remove assignment to current_function_arg_words.
37965169689Skan
37966169689Skan2004-03-18  Richard Sandiford  <rsandifo@redhat.com>
37967169689Skan
37968169689Skan	* alias.c (record_set): Detect the case where a register is assigned
37969169689Skan	a new value that has the same base term as the old one.
37970169689Skan
37971169689Skan2004-03-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
37972169689Skan
37973169689Skan	* doloop.c: Removed.
37974169689Skan	* loop-doloop.c: New file.
37975169689Skan	* Makefile.in (doloop.o): Remove.
37976169689Skan	(loop-doloop.o): New.
37977169689Skan	* cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
37978169689Skan	* cfgloopanal.c (get_loop_level): New function.
37979169689Skan	* loop-iv.c (iv_number_of_iterations): Handle case when loop
37980169689Skan	is leaved immediatelly.
37981169689Skan	* loop.c (strength_reduce): Do not call doloop optimization.
37982169689Skan	* loop.h (LOOP_BCT): Removed.
37983169689Skan	* passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
37984169689Skan	(rest_of_handle_loop2): Call doloop_optimize_loops.
37985169689Skan	(rest_of_compilation): Test for optimizations moved to
37986169689Skan	rest_of_handle_loop2.
37987169689Skan
37988169689Skan2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
37989169689Skan
37990169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
37991169689Skan	for mixed mode.
37992169689Skan	(rs6000_emit_prologue): Ditto.
37993169689Skan	(rs6000_emit_epilogue): Ditto.
37994169689Skan	* config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
37995169689Skan	macro for mixed mode.
37996169689Skan
37997169689Skan2004-03-18  Jan Hubicka  <jh@suse.cz>
37998169689Skan
37999169689Skan	* predict.c (propagate_freq): Compute correctly frequency of
38000169689Skan	EXIT_BLOCK.
38001169689Skan
38002169689Skan2004-03-17  Eric Christopher  <echristo@redhat.com>
38003169689Skan
38004169689Skan	* builtins.c (apply_args_size): Use reg_raw_mode.
38005169689Skan	(apply_result_size): Ditto.
38006169689Skan
38007169689Skan2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
38008169689Skan
38009169689Skan	PR target/14620
38010169689Skan	* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
38011169689Skan
38012169689Skan2004-03-17  Jakub Jelinek  <jakub@redhat.com>
38013169689Skan
38014169689Skan	* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
38015169689Skan	32-bit builds when defaulting to 32-bit.
38016169689Skan
38017169689Skan2004-03-17  Jan Hubicka  <jh@suse.cz>
38018169689Skan
38019169689Skan	* cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
38020169689Skan	array.
38021169689Skan
38022169689Skan2004-03-17  James E Wilson  <wilson@specifixinc.com>
38023169689Skan
38024169689Skan	* config/mips/mips.md (zero_extendsidi2): Add length attribute.
38025169689Skan	(hazard_nop): Change type to nop.
38026169689Skan	(type): Split arith into arith, shift, slt, clz.  Delete darith.
38027169689Skan	Fix all uses.  Change arith to multi if more than one insn emitted.
38028169689Skan	* config/mips/5400.md (ir_vr54_arith): Likewise.
38029169689Skan	* config/mips/5500.md (ir_vr55_arith): Likewise.
38030169689Skan	* config/mips/7000.md (rm7_int_other): Likewise.
38031169689Skan	* config/mips/9000.md (rm9k_int): Likewise.
38032169689Skan	* config/mips/sr71k.md (ir_sr70_arith): Likewise.
38033169689Skan
38034169689Skan2004-03-17  Joel Brobecker  <brobecker@gnat.com>
38035169689Skan
38036169689Skan	* dwarf2out.c (subrange_type_die): Define new variable "subtype"
38037169689Skan	to hold the subtype tree instead of recomputing it several times.
38038169689Skan
38039169689Skan2004-03-17  Kazu Hirata  <kazu@cs.umass.edu>
38040169689Skan
38041169689Skan	* config/mn10300/mn10300.c (notice_update_cc): Don't handle
38042169689Skan	CC_INVERT.
38043169689Skan	* config/mn10300/mn10300.md (cc): Remove "invert".
38044169689Skan
38045169689Skan2004-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
38046169689Skan
38047169689Skan	* builtins.c (integer_valued_real_p): Add builtin rint.
38048169689Skan	(fold_builtin): Likewise.
38049169689Skan	* convert.c (convert_to_real): Likewise.
38050169689Skan
38051169689Skan	* convert.c (convert_to_real): Fix typos in `long double'
38052169689Skan	builtins.
38053169689Skan
38054169689Skan2004-03-16  Mark Mitchell  <mark@codesourcery.com>
38055169689Skan
38056169689Skan	PR c++/14481
38057169689Skan	* fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
38058169689Skan	generated COMPOUND_EXPRs.
38059169689Skan
38060169689Skan2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
38061169689Skan
38062169689Skan	* config/h8300/t-rtems (h8300-*-rtems*): New.
38063169689Skan
38064169689Skan2004-03-16  Eric Christopher  <echristo@redhat.com>
38065169689Skan
38066169689Skan	* doc/cppopts.texi(fwide-exec-charset): Fix typo.
38067169689Skan
38068169689Skan2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
38069169689Skan
38070169689Skan	* config/i386/i386-protos.h: Add a prototype for
38071169689Skan	ix86_reverse_condition.
38072169689Skan	* config/i386/i386.c (ix86_reverse_condition): New.
38073169689Skan	* config/i386/i386.h (REVERSE_CONDITION): Use
38074169689Skan	ix86_reverse_condition.
38075169689Skan	* config/i386/i386.md: Use ix86_reverse_condition instead of
38076169689Skan	REVERSE_CONDITION.
38077169689Skan
38078169689Skan2004-03-16  J. Brobecker  <brobecker@gnat.com>
38079169689Skan
38080169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
38081169689Skan
38082169689Skan2004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
38083169689Skan
38084169689Skan	PR bootstrap/12974
38085169689Skan	* Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
38086169689Skan
38087169689Skan2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
38088169689Skan
38089169689Skan	* c-common.c (c_common_type_for_mode): Build vector types on
38090169689Skan	demand.
38091169689Skan	(handle_mode_attribute): Deprecate using the mode attribute
38092169689Skan	to create vector types.  Fix indentation.
38093169689Skan	(vector_type_node_list): Remove.
38094169689Skan	(handle_vector_size_attribute): Create vector types on demand.
38095169689Skan	Strip a NON_LVALUE_EXPR from the attribute if there is one.
38096169689Skan	* c-typeck.c (comptypes): Make vector types compatible if they
38097169689Skan	have the same underlying mode.
38098169689Skan	(convert_for_assignment): Use comptypes to convert between
38099169689Skan	vector types.
38100169689Skan	* tree.c (build_common_tree_nodes_2): Do not create vector types.
38101169689Skan	* config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
38102169689Skan	vector types.
38103169689Skan	* tree.h: Remove vector types.
38104169689Skan	* config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
38105169689Skan	* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
38106169689Skan	(V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
38107169689Skan	V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
38108169689Skan	* doc/extend.texi (Vector Types): Document how to use the
38109169689Skan	vector_size attribute to create vectors, rather than mode.
38110169689Skan
38111169689Skan	* config/arm/mmintrin.h: Use vector_size attribute, not mode.
38112169689Skan	* config/i386/emmintrin.h: Likewise.
38113169689Skan	* config/i386/mmintrin.h: Likewise.
38114169689Skan	* config/i386/xmmintrin.h: Likewise.
38115169689Skan	* config/sh/ushmedia.h: Likewise.
38116169689Skan
38117169689Skan2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
38118169689Skan
38119169689Skan	* config/freebsd-spec.h, config/arc/arc-protos.h,
38120169689Skan	config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
38121169689Skan	config/arm/linux-gas.h, config/arm/semi.h,
38122169689Skan	config/cris/cris-protos.h, config/i386/xm-djgpp.h,
38123169689Skan	config/ia64/freebsd.h, config/mips/7000.md,
38124169689Skan	config/mips/9000.md, config/ns32k/ns32k-protos.h,
38125169689Skan	config/sparc/pbd.h: Update copyright.
38126169689Skan
38127169689Skan2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
38128169689Skan
38129169689Skan	PR target/14577
38130169689Skan	* config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
38131169689Skan
38132169689Skan2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
38133169689Skan
38134169689Skan	* combine.c (combine_simplify_rtx): Remove the "last"
38135169689Skan	parameter and its documentation.  Adjust recursive calls.
38136169689Skan	(simplify_logical): Always perform the only simplification
38137169689Skan	controlled by "last", if the simplified expression is
38138169689Skan	actually different.
38139169689Skan	(try_combine): Do not pass the "last" parameter to
38140169689Skan	combine_simplify_rtx.
38141169689Skan
38142169689Skan2004-03-16  Richard Sandiford  <rsandifo@redhat.com>
38143169689Skan
38144169689Skan	PR target/14599
38145169689Skan	* config/mips/mips.md (UNSPEC_GP): New constant.
38146169689Skan	* config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
38147169689Skan	an UNSPEC instead of (reg $gp).
38148169689Skan	(mips16_gp_pseudo_reg): Change accordingly.
38149169689Skan	(print_operand): Print $gp directly when handling CONST_GP_P.
38150169689Skan
38151169689Skan2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
38152169689Skan
38153169689Skan	* config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
38154169689Skan	* longlong.h: Make code 68060 clean when compiling for m68060.
38155169689Skan
38156169689Skan2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
38157169689Skan
38158169689Skan	* config/m68k/m68k.md: Fix constraints for bitfield instructions.
38159169689Skan	* doc/md.texi: Clarify description of "i" constraint.
38160169689Skan
38161169689Skan2004-03-15  James E Wilson  <wilson@specifixinc.com>
38162169689Skan
38163169689Skan	* config/mips/mips.md (type): Split load into load, fpload, fpidxload.
38164169689Skan	Split store into store, fpstore, fpidxstore.  Fix all uses.
38165169689Skan	* config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
38166169689Skan	Likewise.
38167169689Skan	* config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
38168169689Skan	* config/mips/7000.md (rm7_ld, rm7_st): Likewise.
38169169689Skan	* config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
38170169689Skan	* config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
38171169689Skan	ir_sr70_fstore): Likewise.
38172169689Skan
38173169689Skan2004-03-15  Richard Henderson  <rth@redhat.com>
38174169689Skan
38175169689Skan	PR middle-end/14535
38176169689Skan	* except.c (collect_one_action_chain): Record action for cleanup
38177169689Skan	outer of exception spec.
38178169689Skan
38179169689Skan2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>
38180169689Skan
38181169689Skan	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
38182169689Skan	Fix the check for abort and only do the mmap if we can.
38183169689Skan
38184169689Skan2004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
38185169689Skan
38186169689Skan	* config/sparc/sparc.h: Rework comments about the code model
38187169689Skan	in 64-bit environment and the mode 'Pmode'.
38188169689Skan	* doc/invoke.texi (SPARC options): Rework description of the
38189169689Skan	different code models supported in 64-bit environment.
38190169689Skan
38191169689Skan2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
38192169689Skan
38193169689Skan	* defaults.h (REVERSIBLE_CC_MODE): Define.
38194169689Skan	* jump.c (reversed_comparison_code_parts): Don't check if
38195169689Skan	REVERSIBLE_CC_MODE is defined.
38196169689Skan
38197169689Skan2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
38198169689Skan
38199169689Skan	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
38200169689Skan	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
38201169689Skan	hosthooks.h, params.h, ra-colorize.c, web.c,
38202169689Skan	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
38203169689Skan	config/avr/avr-protos.h, config/avr/avr.md,
38204169689Skan	config/fr30/fr30-protos.h, config/fr30/fr30.md,
38205169689Skan	config/h8300/fixunssfsi.c, config/i386/darwin.h,
38206169689Skan	config/i386/freebsd.h, config/i386/freebsd64.h,
38207169689Skan	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
38208169689Skan	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
38209169689Skan	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
38210169689Skan	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
38211169689Skan	config/pa/pa64-regs.h, config/rs6000/aix41.h,
38212169689Skan	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
38213169689Skan	config/sparc/aout.h, config/sparc/freebsd.h,
38214169689Skan	config/sparc/litecoff.h, config/vax/vax-protos.h,
38215169689Skan	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
38216169689Skan	copyright.
38217169689Skan
38218169689Skan2004-03-15  Paul Brook  <paul@codesourcery.com>
38219169689Skan
38220169689Skan	* config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
38221169689Skan
38222169689Skan2004-03-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>
38223169689Skan
38224169689Skan	* c-pretty-print.c (pp_c_semicolon): Fix formatting.
38225169689Skan	(pp_c_cv_qualifier): Document.
38226169689Skan	(pp_c_space_for_pointer_operator): Likewise.
38227169689Skan	(pp_c_integer_constant): Likewise.
38228169689Skan	(pp_c_identifier): Likewise.
38229169689Skan	(pp_c_init_declarator): Don't print function body.
38230169689Skan
38231169689Skan2004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
38232169689Skan
38233169689Skan	* doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
38234169689Skan	doc/install.texi, doc/invoke.texi, doc/makefile.texi,
38235169689Skan	doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
38236169689Skan	"gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
38237169689Skan	wording and grammar.
38238169689Skan
38239169689Skan2004-03-14  Roger Sayle  <roger@eyesopen.com>
38240169689Skan
38241169689Skan	* alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
38242169689Skan	with lang_hooks.foo ().
38243169689Skan	* builtins.c (expand_builtin_va_arg): Likewise.
38244169689Skan	* c-common.c (fname_as_string, c_common_truthvalue_conversion,
38245169689Skan	c_common_type_for_mode, c_common_nodes_and_builtins,
38246169689Skan	handle_mode_attribute, handle_vector_size_attribute): Likewise.
38247169689Skan	* c-convert.c (convert): Likewise.
38248169689Skan	* c-format.c (check_format_types): Likewise.
38249169689Skan	* c-objc-common.c (c_tree_printer): Likewise.
38250169689Skan	* c-typeck.c (build_unary_op, build_conditional_expr,
38251169689Skan	build_binary_op): Likewise.
38252169689Skan	* calls.c (try_to_integrate, expand_call,
38253169689Skan	emit_library_call_value_1): Likewise.
38254169689Skan	* cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
38255169689Skan	Likewise.
38256169689Skan	* cgraphunit.c (record_call_1, cgraph_analyze_function,
38257169689Skan	cgraph_expand_function): Likewise.
38258169689Skan	* convert.c (convert_to_pointer, convert_to_integer): Likewise.
38259169689Skan	* coverage.c (build_fn_info_type, build_ctr_info_type,
38260169689Skan	build_gcov_info, create_coverage): Likewise.
38261169689Skan	* dbxout.c (dbxout_init): Likewise.
38262169689Skan	* diagnostic.c (diagnostic_report_current_function): Likewise.
38263169689Skan	* dojump.c (do_jump): Likewise.
38264169689Skan	* dwarf2out.c (dwarf2_name): Likewise.
38265169689Skan	* except.c (init_eh): Likewise.
38266169689Skan	* explow.c (expr_size, int_expr_size): Likewise.
38267169689Skan	* expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
38268169689Skan	Likewise.
38269169689Skan	* expr.c (store_expr, store_constructor, safe_from_p,
38270169689Skan	expand_expr_real, do_store_flag, try_casesi): Likewise.
38271169689Skan	* function.c (push_function_context_to, pop_function_context_from,
38272169689Skan	free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
38273169689Skan	put_var_into_stack, allocate_struct_function, current_function_name):
38274169689Skan	Likewise.
38275169689Skan	* integrate.c (copy_decl_for_inlining, expand_inline_function):
38276169689Skan	Likewise.
38277169689Skan	* langhooks.c (lhd_clear_binding_stack, write_global_declarations,
38278169689Skan	lhd_print_error_function): Likewise.
38279169689Skan	* opts.c (handle_option, decode_options): Likewise.
38280169689Skan	* passes.c (open_dump_file): Likewise.
38281169689Skan	* print-tree.c (print_node): Likewise.
38282169689Skan	* stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
38283169689Skan	expand_decl_cleanup, emit_case_nodes): Likewise.
38284169689Skan	* stor-layout.c (variable_size): Likewise.
38285169689Skan	* toplev.c (announce_function, wrapup_global_declarations,
38286169689Skan	check_global_declarations, compile_file, default_tree_printer,
38287169689Skan	process_options, lang_dependent_init, finalize): Likewise.
38288169689Skan	* tree-dump.c (dequeue_and_dump): Likewise.
38289169689Skan	* tree-inline.c (remap_decl, remap_block, copy_body_r,
38290169689Skan	initialize_inlined_parameters, declare_return_variable,
38291169689Skan	inlinable_function_p, expand_call_inline, optimize_inline_calls,
38292169689Skan	walk_tree, copy_tree_r): Likewise.
38293169689Skan	* tree-optimize.c (tree_rest_of_compilation): Likewise.
38294169689Skan	* tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
38295169689Skan	unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
38296169689Skan	variably_modified_type_p, dump_tree_statistics): Likewise.
38297169689Skan	* varasm.c (assemble_variable, compare_constant, copy_constant,
38298169689Skan	force_const_mem, compute_reloc_for_constant, output_constant,
38299169689Skan	output_addressed_constants, initializer_constant_valid_p): Likewise.
38300169689Skan
38301169689Skan2004-03-14  Kelley Cook  <kcook@gcc.gnu.org>
38302169689Skan
38303169689Skan	* doc/install.texi: Make autoconf 2.13 the exception, not the rule.
38304169689Skan
38305169689Skan2004-03-14  Andreas Tobler  <a.tobler@schweiz.ch>
38306169689Skan
38307169689Skan	* doc/install.texi: Reflect autoconf and automake version for
38308169689Skan	libffi. Update autoconf version to 2.59.
38309169689Skan
38310169689Skan2004-03-13  Roger Sayle  <roger@eyesopen.com>
38311169689Skan
38312169689Skan	* fold-const.c (negate_expr, operand_equal_for_comparison_p,
38313169689Skan	optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
38314169689Skan	make_range, build_range_check, fold_range_test, unextend,
38315169689Skan	constant_boolean_node, fold_binary_op_with_conditional_arg,
38316169689Skan	fold_truthop, fold_mathfn_compare, fold_inf_compare,
38317169689Skan	fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
38318169689Skan	with lang_hooks.foo ().
38319169689Skan
38320169689Skan2004-03-14  Richard Earnshaw  <rearnsha@arm.com>
38321169689Skan
38322169689Skan	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
38323169689Skan
38324169689Skan2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
38325169689Skan
38326169689Skan	* doc/install.texi: Note status of -fnew-ra.
38327169689Skan
38328169689Skan2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
38329169689Skan
38330169689Skan	PR middle-end/14470
38331169689Skan	* expr.c (store_expr): Call emit_queue before generating the move
38332169689Skan	from the temporary to the original target.  Protect the temporary
38333169689Skan	from emit_queue.
38334169689Skan
38335169689Skan2004-03-13  Jakub Jelinek  <jakub@redhat.com>
38336169689Skan
38337169689Skan	PR target/14533
38338169689Skan	* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
38339169689Skan	other than UNSPEC_GOTOFF.
38340169689Skan
38341169689Skan2004-03-13  Richard Earnshaw  <rearnsha@arm.com>
38342169689Skan
38343169689Skan	* arm.c (arm_legitimate_address_p): New argument, OUTER.  Pass through
38344169689Skan	to arm_legitimate_index_p.  Update all callers with SET as default
38345169689Skan	value.
38346169689Skan	(arm_legitimate_index_p): New argument, OUTER.  Restrict the index
38347169689Skan	range if OUTER is a sign-extend operation on QImode.  Correctly
38348169689Skan	reject shift operations on sign-extended QImode addresses.
38349169689Skan	(bad_signed_byte_operand): Delete.
38350169689Skan	(arm_extendqisi_mem_op): New function.
38351169689Skan	* arm.h (EXTRA_CONSTRAINT_ARM): Delete.  Replace with...
38352169689Skan	(EXTRA_CONSTRAINT_STR_ARM): ... this.  Handle extended address
38353169689Skan	constraints.
38354169689Skan	(CONSTRAINT_LEN): New.
38355169689Skan	(EXTRA_CONSTRAINT): Delete.  Replace with...
38356169689Skan	(EXTRA_CONSTRAINT_STR): ... this.
38357169689Skan	(PREDICATE_CODES): Remove bad_signed_byte_operand.
38358169689Skan	* arm.md (extendqihi_insn): Use new constraint Uq.  Rework.  Length
38359169689Skan	is now always default.
38360169689Skan	(define_splits for bad sign-extend loads): Delete.
38361169689Skan	(arm_extendqisi, arm_extendqisi_v5): Likewise.
38362169689Skan	* arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
38363169689Skan	Rework 'U' constraint to 'Uv'.
38364169689Skan	* arm-protos.h: Remove bad_signed_byte_operand.  Add
38365169689Skan	arm_extendqisi_mem_op.
38366169689Skan	* doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
38367169689Skan	Add Uq constraint.
38368169689Skan
38369169689Skan2004-03-13  Alan Modra  <amodra@bigpond.net.au>
38370169689Skan
38371169689Skan	* config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
38372169689Skan	with targetm version.
38373169689Skan
38374169689Skan	PR target/14567
38375169689Skan	* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
38376169689Skan	(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
38377169689Skan	* config/rs6000/rs6000.c (rs6000_arg_size): New function.
38378169689Skan	Update all users of RS6000_ARG_SIZE.
38379169689Skan	(function_arg_advance): Count fregno using mode size.
38380169689Skan	(function_arg): Handle long double split over regs and memory.
38381169689Skan	(function_arg_partial_nregs): Likewise.
38382169689Skan	(rs6000_va_arg): Repackage complex args.
38383169689Skan
38384169689Skan2004-03-13  Dean Ferreyra <dferreyra@igc.org>
38385169689Skan
38386169689Skan	PR target/14047
38387169689Skan	* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
38388169689Skan	(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
38389169689Skan	* config/avr/avr-protos.h (avr_progmem_p): Change prototype.
38390169689Skan
38391169689Skan2004-03-12  Jakub Jelinek  <jakub@redhat.com>
38392169689Skan
38393169689Skan	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
38394169689Skan	prototype.
38395169689Skan	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
38396169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
38397169689Skan
38398169689Skan2004-03-12  Andrew Pinski  <apinski@apple.com>
38399169689Skan
38400169689Skan	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
38401169689Skan	Use ret instead of result. Use addr instead of base.
38402169689Skan
38403169689Skan2004-03-12  David Edelsohn  <edelsohn@gnu.org>
38404169689Skan
38405169689Skan	* doc/install.texi (*-ibm-aix*): Document assembler and achiver
38406169689Skan	fixes required by libstdc++ and update installation instructions
38407169689Skan	for libstdc++.a.
38408169689Skan
38409169689Skan2004-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
38410169689Skan
38411169689Skan	* config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
38412169689Skan	leading '@' on fastcall symbols before stripping suffix.
38413169689Skan
38414169689Skan2004-03-12  Roger Sayle  <roger@eyesopen.com>
38415169689Skan
38416169689Skan	* combine.c (unmentioned_reg_p): New function to check whether an
38417169689Skan	expression is a "specialization" of another, i.e. that there are
38418169689Skan	no registers or memory references mentioned in the first that don't
38419169689Skan	appear in the second.
38420169689Skan	(unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
38421169689Skan	(combine_instructions): Also try combining instructions using the
38422169689Skan	REG_EQUAL note from a preceding log-linked instruction.
38423169689Skan
38424169689Skan2004-03-12  Roger Sayle  <roger@eyesopen.com>
38425169689Skan
38426169689Skan	* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
38427169689Skan
38428169689Skan2004-03-12  Matt Austern  <austern@apple.com>
38429169689Skan
38430169689Skan	* target.h (struct gcc_target): New target hook, unwind_label.
38431169689Skan	* target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
38432169689Skan	* output.h (default_emit_unwind_label): New function.
38433169689Skan	* default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
38434169689Skan	(TARGET_USES_WEAK_UNWIND_INFO): New target macro.
38435169689Skan	(TARGET_SUPPORTS_HIDDEN): New target macro.
38436169689Skan	* dwarf2out.c (struct dw_fde_struct): Add field for function decl
38437169689Skan	that corresponds to this FDE.
38438169689Skan	(FRAME_BEGIN_LABEL): Allow target to override default label.
38439169689Skan	(output_call_frame_info): If FDEs are linknonce, then use extra
38440169689Skan	indirection for FDE encoding, output a label for each FDE, and
38441169689Skan	output an empty label for each function without an FDE.
38442169689Skan	(dwarf2out_begin_prologue): Set up decl field when creating an FDE.
38443169689Skan	* varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
38444169689Skan	decls with DECL_ONE_ONLY set, if that macro is defined.
38445169689Skan	(make_decl_one_only): Don't use DECL_COMMON if we're compiling
38446169689Skan	for a SUPPORTS_ONE_ONLY target.
38447169689Skan	* config/darwin-protos.h (darwin_unique_section): Declare.
38448169689Skan	(darwin_asm_named_section): Likewise.
38449169689Skan	(darwin_section_type_flags): Likewise.
38450169689Skan	(darwin_non_lazy_pcrel): Likewise.
38451169689Skan	(darwin_emit_unwind_label): Likewise.
38452169689Skan	(darwin_make_decl_one_only): Likewise.
38453169689Skan	* config/darwin.c (machopic_finish): Get rid of tweak that
38454169689Skan	eliminate stubs for symbols that are defined.
38455169689Skan	(darwin_encode_section_info): Don't treat weak functions as defined.
38456169689Skan	(darwin_make_decl_one_only): Define.
38457169689Skan	(darwin_asm_named_section): Likewise.
38458169689Skan	(darwin_section_type_flags): Likewise.
38459169689Skan	(darwin_unique_section): Likewise.
38460169689Skan	(darwin_emit_unwind_label): Likewise.
38461169689Skan	(darwin_non_lazy_pcrel): Likewise.
38462169689Skan	(darwin_asm_output_dwarf_delta): Difference between two labels is
38463169689Skan	local only if both labels are local.
38464169689Skan	* config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
38465169689Skan	(ASM_MAKE_LABEL_LINKONCE): Likewise.
38466169689Skan	(TARGET_SUPPORTS_HIDDEN): Likewise.
38467169689Skan	(TARGET_USES_WEAK_UNWIND_INFO): Likewise.
38468169689Skan	(TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
38469169689Skan	(FRAME_BEGIN_LABEL): Likewise.
38470169689Skan	(ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
38471169689Skan	(ASM_DECLARE_FUNCTION_NAME): Likewise.
38472169689Skan	(darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
38473169689Skan	(TARGET_ASM_UNIQUE_SECTION): Define.
38474169689Skan	(EH_FRAME_SECTION_NAME): Define.
38475169689Skan	(EH_FRAME_SECTION_ATTR): Likewise.
38476169689Skan	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
38477169689Skan	(TARGET_ASM_NAMED_SECTION): Likewise.
38478169689Skan	(TARGET_SECTION_TYPE_FLAGS): Likewise.
38479169689Skan	* doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
38480169689Skan	TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
38481169689Skan	TARGET_ASM_EMIT_UNWIND_LABEL.
38482169689Skan
38483169689Skan2004-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
38484169689Skan
38485169689Skan	* builtins.c (expand_builtin_mathfn): Add pow10* to the
38486169689Skan	existing exp10* case.
38487169689Skan	(expand_builtin): Likewise.
38488169689Skan
38489169689Skan2004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
38490169689Skan
38491169689Skan	* doc/tm.texi (registers) <Values in Registers>: Add
38492169689Skan	entry for REGMODE_NATURAL_SIZE.
38493169689Skan
38494169689Skan2004-03-12  Richard Henderson  <rth@redhat.com>
38495169689Skan
38496169689Skan	PR target/14547
38497169689Skan	* target.h (struct gcc_target): Move calls substructure before
38498169689Skan	booleans.  Add split_complex_arg.
38499169689Skan	* function.c (assign_parms, split_complex_args): Use it.
38500169689Skan	* calls.c (expand_call): Likewise.
38501169689Skan	(split_complex_values): Likewise.  Check for splittable types
38502169689Skan	before allocating memory.
38503169689Skan	(split_complex_types): Likewise.
38504169689Skan	* system.h (SPLIT_COMPLEX_ARGS): Poison.
38505169689Skan	* expr.h (SPLIT_COMPLEX_ARGS): Remove.
38506169689Skan	* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
38507169689Skan	* config/alpha/alpha.c (alpha_split_complex_arg): New.
38508169689Skan	(TARGET_SPLIT_COMPLEX_ARG): New.
38509169689Skan	* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
38510169689Skan	* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
38511169689Skan	(rs6000_override_options): Zap it for non-AIX.
38512169689Skan	(rs6000_function_value): Use targetm.calls.split_complex_arg.
38513169689Skan	* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
38514169689Skan	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
38515169689Skan	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
38516169689Skan	* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
38517169689Skan	SPLIT_COMPLEX_ARGS entry.
38518169689Skan
38519169689Skan2004-03-11  Richard Henderson  <rth@redhat.com>
38520169689Skan
38521169689Skan	* config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
38522169689Skan	(alpha_lookup_xfloating_lib_func): Use them, return rtx.
38523169689Skan	(alpha_emit_xfloating_arith): Update to match.
38524169689Skan	(alpha_emit_xfloating_compare): Likewise.
38525169689Skan	(alpha_emit_xfloating_cvt): Likewise.
38526169689Skan	(alpha_emit_xfloating_libcall): Take already built symbol,
38527169689Skan	mark call const.
38528169689Skan	* config/alpha/alpha.md (extendsftf2, extenddftf2): Take
38529169689Skan	op1 in a register.
38530169689Skan
38531169689Skan2004-03-11  Richard Henderson  <rth@redhat.com>
38532169689Skan
38533169689Skan	PR target/14539
38534169689Skan	* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
38535169689Skan
38536169689Skan	* simplify-rtx.c (simplify_relational_operation): Fix typo.
38537169689Skan
38538169689Skan2004-03-11  Richard Henderson  <rth@redhat.com>
38539169689Skan
38540169689Skan	PR middle-end/14477
38541169689Skan	* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
38542169689Skan
38543169689Skan2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
38544169689Skan
38545169689Skan	PR target/14262
38546169689Skan	* calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
38547169689Skan	defined, pass small BLKmode values in registers in the low-order part.
38548169689Skan
38549169689Skan2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
38550169689Skan
38551169689Skan	* combine.c (if_then_else_cond): Check for NULL return value of
38552169689Skan	simplify_gen_subreg.
38553169689Skan
38554169689Skan2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
38555169689Skan
38556169689Skan	PR target/14496
38557169689Skan	* config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
38558169689Skan	TARGET_SINGLE_FLOAT.
38559169689Skan
38560169689Skan2004-03-11  Steve Ellcey  <sje@cup.hp.com>
38561169689Skan
38562169689Skan	* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
38563169689Skan	* config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
38564169689Skan	* config/ia64/ia64.c (ia64_init_libfuncs): New.
38565169689Skan	(ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
38566169689Skan
38567169689Skan2004-03-11  Roger Sayle  <roger@eyesopen.com>
38568169689Skan
38569169689Skan	* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
38570169689Skan	-((int)X>>C) where C is an integer constant one bit less than the
38571169689Skan	size of X into (unsigned)X>>C.  Similarly for unsigned->signed.
38572169689Skan	(negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
38573169689Skan
38574169689Skan	* simplify-rtx.c (simplify_unary_operation): Also implement the
38575169689Skan	above transformations at the RTL level.
38576169689Skan
38577169689Skan2004-03-11  Alan Modra  <amodra@bigpond.net.au>
38578169689Skan
38579169689Skan	* real.c (encode_ibm_extended): Do round low word.
38580169689Skan
38581169689Skan2004-03-11  Ben Elliston  <bje@wasabisystems.com>
38582169689Skan
38583169689Skan	* config/arm/arm.md (is_xscale): Comment this attribute and move
38584169689Skan	it a bit further up in the file, closer to related attributes.
38585169689Skan
38586169689Skan2004-03-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
38587169689Skan
38588169689Skan	* config/host-solaris.c (sol_gt_pch_use_address): Add
38589169689Skan	missing terminating marker to comment.
38590169689Skan
38591169689Skan2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
38592169689Skan
38593169689Skan	* config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
38594169689Skan	(movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
38595169689Skan	(*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
38596169689Skan	(*movsf_mips16, *movdf_mips16): Name unnamed patterns.  Use
38597169689Skan	move_operand as source predicate in all cases.
38598169689Skan	(*movdi_32bit): Renamed from movdi_internal.  Remove 'F' constraint.
38599169689Skan	Test reg_or_0_operand.  Use move_operand as source predicate.
38600169689Skan	(*movdi_64bit): Renamed from movdi_internal2.  Test reg_or_0_operand.
38601169689Skan	(*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
38602169689Skan	(*movsi_internal): Renamed from movsi_internal.  Test reg_or_0_operand.
38603169689Skan	(movhi, movqi, movsf, movdf): Use mips_legitimize_move.
38604169689Skan	(*movhi_internal): Renamed from movhi_internal.  Test reg_or_0_operand.
38605169689Skan	Use move_operand as source predicate.  Remove 'K' constraint.
38606169689Skan	(*movqi_internal): Likewise movqi_internal.
38607169689Skan	(*movsf_hardfloat): Renamed from movsf_internal1.  Test
38608169689Skan	reg_or_0_operand.  Use move_operand as source predicate.
38609169689Skan	(*movsf_softfloat): Likewise movsf_internal2.
38610169689Skan	(*movdf_hardfloat_64bit): Likewise movsf_internal1a.
38611169689Skan	(*movdf_hardfloat_32bit): Likewise movsf_internal1b.
38612169689Skan	(*movdf_softfloat): Likewise movdf_internal2.
38613169689Skan	* config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
38614169689Skan	for DImode if !TARGET_64BIT.
38615169689Skan	(mips_legitimize_move): Simplify accordingly.
38616169689Skan
38617169689Skan2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
38618169689Skan
38619169689Skan	PR/14362
38620169689Skan	* var-tracking.c (struct variable_def): Added field refcount.
38621169689Skan	(variable_htab_free): Decrease the refcount and delete variable
38622169689Skan	only if there are no more references.
38623169689Skan	(unshare_variable): New function.
38624169689Skan	(vars_copy_1): Increase refcount instead of copying the variable.
38625169689Skan	(variable_union): Share the variables where possible, unshare
38626169689Skan	the variables if needed.
38627169689Skan	(variable_different_p): Return false if var1 and var2 are
38628169689Skan	the same structure.
38629169689Skan	(variable_was_changed): Init the refcount of new variable.
38630169689Skan	(set_frame_base_location): Unshare variable if needed.
38631169689Skan	(set_variable_part): Init the refcount of new variable.
38632169689Skan	Unshare the variables if needed.
38633169689Skan	(delete_variable_part): Unshare the variables if needed.
38634169689Skan	(emit_notes_for_differences_1): Init the refcount of new variable.
38635169689Skan	(vt_add_function_parameters): Do not add function parameters to
38636169689Skan	IN set of ENTRY_BLOCK_PTR because it is unused anyway.
38637169689Skan	(vt_initialize): Do not add frame_base_decl to IN set of
38638169689Skan	ENTRY_BLOCK_PTR because it is unused anyway.
38639169689Skan
38640169689Skan2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
38641169689Skan
38642169689Skan	* var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
38643169689Skan	(vars_copy): Likewise.
38644169689Skan	(variable_union): Likewise.
38645169689Skan	(set_variable_part): Likewise.
38646169689Skan	(delete_variable_part): Likewise.
38647169689Skan
38648169689Skan2004-03-11  Kazu Hirata  <kazu@cs.umass.edu>
38649169689Skan
38650169689Skan	* c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
38651169689Skan	ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
38652169689Skan	config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
38653169689Skan	config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
38654169689Skan	config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
38655169689Skan	config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
38656169689Skan	config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
38657169689Skan	config/pdp11/pdp11.h, config/rs6000/rs6000.c,
38658169689Skan	config/stormy16/stormy16.c: Fix comment typos and formatting.
38659169689Skan
38660169689Skan2004-03-11  Nathanael Nerode  <neroden@gcc.gnu.org>
38661169689Skan
38662169689Skan	* configure: Regenerate, since I forgot to while committing Paolo's
38663169689Skan	changes.
38664169689Skan
38665169689Skan2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
38666169689Skan
38667169689Skan	PR ada/14131
38668169689Skan	Move language detection to the top level.
38669169689Skan	* configure.ac: Remove code to detect languages,
38670169689Skan	it now lives exclusively in the top level.
38671169689Skan	* aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
38672169689Skan	top level, renamed to ACX_PROG_GNAT.
38673169689Skan
38674169689Skan2004-03-10  Richard Henderson  <rth@redhat.com>
38675169689Skan
38676169689Skan	* c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
38677169689Skan	extra arguments.
38678169689Skan	* config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
38679169689Skan	and host_xmake_file fragments.
38680169689Skan	* ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
38681169689Skan	(gt_pch_restore): Similarly for gt_pch_use_address.
38682169689Skan	(default_gt_pch_get_address): New.
38683169689Skan	(mmap_gt_pch_get_address): Split out of gt_pch_save.
38684169689Skan	(default_gt_pch_use_address): Split out of gt_pch_restore.
38685169689Skan	(mmap_gt_pch_use_address): Likewise.
38686169689Skan	* hooks.c (hook_voidp_size_t_null): Remove.
38687169689Skan	(hook_bool_voidp_size_t_false): Remove.
38688169689Skan	* hooks.h: Likewise.
38689169689Skan	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
38690169689Skan	default_ or mmap_ definitions.
38691169689Skan	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
38692169689Skan	* hosthooks.h (struct host_hooks): Update gt_pch_get_address
38693169689Skan	and gt_pch_use_address.
38694169689Skan	* config/host-linux.c, config/host-solaris.c: New files.
38695169689Skan	* config/x-linux, config/x-solaris: New files.
38696169689Skan	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
38697169689Skan	Update for changed definition.
38698169689Skan	(darwin_rs6000_gt_pch_use_address): Likewise.
38699169689Skan	* doc/hostconfig.texi: Update docs.
38700169689Skan
38701169689Skan2004-03-10  Richard Henderson  <rth@redhat.com>
38702169689Skan
38703169689Skan	PR c/14517
38704169689Skan	* c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
38705169689Skan	except for pedantic c90 mode.
38706169689Skan
38707169689Skan2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
38708169689Skan
38709169689Skan	* configure.ac: Bump AC_PREREQ to 2.59.
38710169689Skan	* configure: Regenerate.
38711169689Skan
38712169689Skan2004-03-10  Uros Bizjak  <uros@kss-loka.si>
38713169689Skan
38714169689Skan	* optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
38715169689Skan	(exp10_optab, exp2_optab): Define corresponding macros.
38716169689Skan	* optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
38717169689Skan	* genopinit.c (optabs): Implement exp10_optab and exp2_optab
38718169689Skan	using exp10?f2 and exp2?f2 patterns.
38719169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
38720169689Skan	using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
38721169689Skan	(expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
38722169689Skan	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
38723169689Skan
38724169689Skan	* config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
38725169689Skan	exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
38726169689Skan	exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
38727169689Skan
38728169689Skan2004-03-10  Anthony Green  <green@redhat.com>
38729169689Skan
38730169689Skan	* doc/invoke.texi (ARM Options): Fix -mpfu typo.
38731169689Skan
38732169689Skan2004-03-10  David Edelsohn  <edelsohn@gnu.org>
38733169689Skan
38734169689Skan	* config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
38735169689Skan	(TARGET_OS_AIX_CPP_BUILTINS): this.  Conditionally define
38736169689Skan	__LONGDOUBLE128.
38737169689Skan	* config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
38738169689Skan	TARGET_OS_AIX_CPP_BUILTINS.
38739169689Skan	* config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
38740169689Skan	* config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
38741169689Skan	* config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
38742169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
38743169689Skan	previous change.
38744169689Skan
38745169689Skan2004-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
38746169689Skan
38747169689Skan	* fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
38748169689Skan
38749169689Skan2004-03-10  David Edelsohn  <edelsohn@gnu.org>
38750169689Skan
38751169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
38752169689Skan	__LONGDOUBLE128 on AIX.
38753169689Skan
38754169689Skan2004-03-10  Andrew Haley  <aph@redhat.com>
38755169689Skan
38756169689Skan	PR optimization/14381
38757169689Skan	* function.c (expand_function_end): Emit a blockage insn before
38758169689Skan	the epilogue when -fnon-call-exceptions is used.
38759169689Skan
38760169689Skan	* except.c (expand_start_all_catch): Make comment more accurate.
38761169689Skan
38762169689Skan2004-03-08  Joel Sherrill  <joel@oarcorp.com>
38763169689Skan
38764169689Skan	PR target/14480
38765169689Skan	* config/rs6000/t-rtems: Add missing file on branch.
38766169689Skan
38767169689Skan2004-03-10  Ulrich Weigand  <uweigand@de.ibm.com>
38768169689Skan
38769169689Skan	* dbxout.c (dbxout_symbol_location): Do not output references
38770169689Skan	to optimized-out constant pool symbols.
38771169689Skan
38772169689Skan2004-03-10  Andreas Schwab  <schwab@suse.de>
38773169689Skan
38774169689Skan	* config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
38775169689Skan	twon34_r.
38776169689Skan
38777169689Skan2004-03-09  James E Wilson  <wilson@specifixinc.com>
38778169689Skan
38779169689Skan	* alias.c (alias_sets_might_conflict_p): New.
38780169689Skan	* c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
38781169689Skan	* common.opt (Wstrict-aliasing=): New.
38782169689Skan	* flags.h (warn_strict_aliasing): Change type to int.
38783169689Skan	* opts.c (warn_strict_aliasing): Change type to int.
38784169689Skan	(common_handle_option): Handle OPT_Wstrict_aliasing_.
38785169689Skan	* tree.h (alias_sets_might_conflict_p): Declare it.
38786169689Skan	* doc/invoke.tex (-Wstrict-aliasing=2): Document it.
38787169689Skan
38788169689Skan2004-03-10  Roman Zippel  <zippel@linux-m68k.org>
38789169689Skan
38790169689Skan	PR bootstrap/12371
38791169689Skan	* config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
38792169689Skan	(CALL_USED_REGISTERS): Likewise.
38793169689Skan	(REG_CLASS_CONTENTS): Likewise.
38794169689Skan	(REG_ALLOC_ORDER): New.
38795169689Skan	(REGNO_REG_CLASS): Use regno_reg_class.
38796169689Skan	* config/m68k/m68k.c: Add regno_reg_class array.
38797169689Skan
38798169689Skan2004-03-09  Steve Ellcey  <sje@cup.hp.com>
38799169689Skan
38800169689Skan	* config/ia64/ia64.md (divsi3): Fix algorithm.
38801169689Skan	  (udivsi3): Ditto.
38802169689Skan	  (setf_exp_xf): Remove '*' from name.
38803169689Skan	* testsuite/gcc.dg/20040309-1.c: New test.
38804169689Skan
38805169689Skan2004-03-09  Ian Lance Taylor  <ian@wasabisystems.com>
38806169689Skan
38807169689Skan	* system.h (SUNOS4_SHARED_LIBRARIES): Poison.
38808169689Skan	* collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
38809169689Skan	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
38810169689Skan	* config/sparc/sparc.c (sparc_aout_select_section): Remove.
38811169689Skan	(sparc_aout_select_rtx_section): Don't check
38812169689Skan	SUNOS4_SHARED_LIBRARIES.
38813169689Skan	* config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
38814169689Skan
38815169689Skan2004-03-10  Hans-Peter Nilsson  <hp@axis.com>
38816169689Skan
38817169689Skan	PR other/14474
38818169689Skan	* doc/md.texi (Pattern Ordering, Dependent Patterns)
38819169689Skan	(Jump Patterns, Looping Patterns): Wrap in separate "@ifset
38820169689Skan	INTERNALS".
38821169689Skan
38822169689Skan2004-03-09  Zack Weinberg  <zack@codesourcery.com>
38823169689Skan
38824169689Skan	* config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
38825169689Skan	(LIBGCC_SPEC): Update to match.
38826169689Skan
38827169689Skan2004-03-09  Zack Weinberg  <zack@codesourcery.com>
38828169689Skan
38829169689Skan	* c-decl.c (last_function_parms, last_function_parm_tags)
38830169689Skan	(last_function_parm_others, current_function_parms)
38831169689Skan	(current_function_parm_tags, current_function_parm_others):
38832169689Skan	Delete.
38833169689Skan	(ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
38834169689Skan	New macros.
38835169689Skan	(grokdeclarator): For function definitions, save the arg-info
38836169689Skan	block from the declarator in DECL_ARGUMENTS.
38837169689Skan	(grokparms): Do not write to last_function_parm*.  Use ARG_INFO_*
38838169689Skan	macros to operate on arg-info block.  Can assume ARG_INFO_PARMS
38839169689Skan	contains only PARM_DECLs.  Improve diagnostics.
38840169689Skan	(get_parm_info): Use ARG_INFO_* macros.  Improve comments and
38841169689Skan	diagnostics.  Disable some expensive checks if not ENABLE_CHECKING.
38842169689Skan	(store_parm_decls_newstyle): Take the function to operate on,
38843169689Skan	and an arg-info block, as arguments; don't get anything from
38844169689Skan	current_function_* globals.
38845169689Skan	(store_parm_decls_oldstyle): Likewise.
38846169689Skan	(store_parm_decls): Pass fndecl and its arg-info block down to
38847169689Skan	store_parm_decls_newstyle/oldstyle.  Send functions with empty
38848169689Skan	argument lists through store_parm_decls_newstyle to reduce
38849169689Skan	overhead.
38850169689Skan	(pushdecl): Comment on the problems with the call to copy_node.
38851169689Skan	Clear DECL_ARGUMENTS of the old node after copying it, if it
38852169689Skan	is an arg-info block instead of a chain of decls.
38853169689Skan	(start_function): Do not manipulate current_function_parm* or
38854169689Skan	last_function_parm*.
38855169689Skan
38856169689Skan2004-03-09  Roger Sayle  <roger@eyesopen.com>
38857169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
38858169689Skan
38859169689Skan	* ifcvt.c (noce_try_sign_mask): New function to transform
38860169689Skan	"x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
38861169689Skan	(noce_process_if_block): Call noce_try_sign_mask.
38862169689Skan
38863169689Skan2004-03-09  Andrew Pinski  <apinski@apple.com>
38864169689Skan
38865169689Skan	* c-typeck.c (tagged_types_tu_compatible_p):
38866169689Skan	Fix typo.
38867169689Skan
38868169689Skan2004-03-09  Roger Sayle  <roger@eyesopen.com>
38869169689Skan
38870169689Skan	* simplify-rtx.c (simplify_const_relational_operation): New function
38871169689Skan	renamed from simplify_relational_operation.
38872169689Skan	(simplify_relational_operation): Change prototype to accept an
38873169689Skan	additional mode argument.  Call simplify_const_relational_operation.
38874169689Skan	(simplify_gen_relational): Update simplify_relational_operation call.
38875169689Skan	(simplify_ternary_operation): Update simplify_relational_operation
38876169689Skan	subroutine call to use simplify_const_relational_operation instead.
38877169689Skan
38878169689Skan	* rtl.h (simplify_const_relational_operation): Prototype here.
38879169689Skan	(simplify_relational_operation): Add addtional mode argument.
38880169689Skan
38881169689Skan	* combine.c (combine_simplify_rtx): Update calls to
38882169689Skan	simplify_relational_operation.
38883169689Skan	(simplify_set): Likewise.
38884169689Skan	(gen_binary): Likewise.
38885169689Skan	* cse.c (fold_rtx): Likewise.
38886169689Skan	* dojump.c (compare_from_rtx): Likewise.
38887169689Skan	(do_compare_rtx_and_jump): Likewise.
38888169689Skan	* integrate.c (subst_constants): Likewise.
38889169689Skan	* unroll.c (simplify_cmp_and_jump_insns): Likewise.
38890169689Skan
38891169689Skan2004-03-09  Kazu Hirata  <kazu@cs.umass.edu>
38892169689Skan
38893169689Skan	* config/m32r/m32r.md: Remove all define_peephole's.
38894169689Skan
38895169689Skan2004-03-09  Alan Modra  <amodra@bigpond.net.au>
38896169689Skan
38897169689Skan	* config/rs6000/rs6000.md: Remove trailing whitespace.
38898169689Skan
38899169689Skan2004-03-08  Eric Christopher  <echristo@redhat.com>
38900169689Skan
38901169689Skan	* Makefile.in (site.exp): Add libiconv variable definition.
38902169689Skan
38903169689Skan2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
38904169689Skan
38905169689Skan	* configure: Regenerate for config/accross.m4 correction.
38906169689Skan
38907169689Skan2004-03-08  Joel Sherrill  <joel@oarcorp.com>
38908169689Skan
38909169689Skan	PR target/14480
38910169689Skan	* config/rs6000/t-rtems: Add missing file on branch.
38911169689Skan
38912169689Skan2004-03-08  Roger Sayle  <roger@eyesopen.com>
38913169689Skan
38914169689Skan	PR middle-end/14289
38915169689Skan	* c-typeck.c (c_mark_addressable): A register variable should
38916169689Skan	be considered global if its not automatic, i.e. TREE_PUBLIC,
38917169689Skan	TREE_STATIC or DECL_EXTERNAL.
38918169689Skan	* function.c (put_var_into_stack): Call abort when placing a
38919169689Skan	hard register into the stack, if x_parm_reg_stack_loc is NULL.
38920169689Skan
38921169689Skan2004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
38922169689Skan
38923169689Skan	* config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
38924169689Skan	("*extendqisi2_short_displ"): Likewise.
38925169689Skan
38926169689Skan2004-03-08  Kazu Hirata  <kazu@cs.umass.edu>
38927169689Skan
38928169689Skan	* config/pdp11/pdp11.c (comparison_operator_index): Remove.
38929169689Skan	(comp_operator): Likewise.
38930169689Skan	* config/pdp11/pdp11-protos.h: Remove corresponding
38931169689Skan	prototypes.
38932169689Skan
38933169689Skan2004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
38934169689Skan
38935169689Skan	* expr.c (highest_pow2_factor_for_type): Rename into
38936169689Skan	highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
38937169689Skan	TYPE_ALIGN when the target is a COMPONENT_REF.
38938169689Skan	(expand_assignment): Ajust call to highest_pow2_factor_for_type.
38939169689Skan
38940169689Skan2004-03-08  Alan Modra  <amodra@bigpond.net.au>
38941169689Skan
38942169689Skan	* config/rs6000/rs6000.c: Formatting fix.
38943169689Skan	(legitimate_offset_address_p): Correct offset range check.
38944169689Skan
38945169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
38946169689Skan	-msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
38947169689Skan	and MASK_STRING.
38948169689Skan
38949169689Skan2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
38950169689Skan
38951169689Skan	* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
38952169689Skan	for little endian.
38953169689Skan	("ashrdi3_no_power"): Disable for little endian.
38954169689Skan	(ashrdi3): Same.
38955169689Skan
38956169689Skan2004-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
38957169689Skan
38958169689Skan	* fold-const.c (tree_expr_nonnegative_p): Reformat checks for
38959169689Skan	builtins.
38960169689Skan
38961169689Skan2004-03-08  Hans-Peter Nilsson  <hp@axis.com>
38962169689Skan
38963169689Skan	PR target/14471
38964169689Skan	* configure.ac (Target-specific assembler checks) <cris-*-*>: New
38965169689Skan	case, checking for -no-mul-bug-abort option.
38966169689Skan	* configure, config.in: Regenerate.
38967169689Skan	* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
38968169689Skan	and -mno-mul-bug-workaround.
38969169689Skan	* config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
38970169689Skan	("mulsidi3", "umulsidi3"): Prefix output template with "%!".
38971169689Skan	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
38972169689Skan	Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
38973169689Skan	* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
38974169689Skan	sure mulu.d is not last on cache-line.
38975169689Skan	* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
38976169689Skan	into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
38977169689Skan	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
38978169689Skan	(TARGET_SWITCHES): New options -mmul-bug-workaround and
38979169689Skan	-mno-mul-bug-workaround.
38980169689Skan	(TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
38981169689Skan	(PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
38982169689Skan	* config/cris/cris.c (cris_operand_extend_operator): Clarify
38983169689Skan	relation to MULT in head comment.
38984169689Skan	(cris_op_str): Abort for MULT.
38985169689Skan	(cris_print_operand) <case '!'>: New case.
38986169689Skan
38987169689Skan2004-03-08  Alan Modra  <amodra@bigpond.net.au>
38988169689Skan
38989169689Skan	PR debug/11983
38990169689Skan	* dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
38991169689Skan	dw_val_class_vec.  Replace use throughout file.
38992169689Skan	(dw_float_const): Delete.
38993169689Skan	(dw_vec_const): New.
38994169689Skan	(dw_val_struct_union): Rename val_float to val_vec.  Replace use
38995169689Skan	throughout file.
38996169689Skan	(add_AT_vec): Rename from add_AT_float.  Add elt_size param.
38997169689Skan	(same_dw_val_p): Adjust vec comparison.  Use memcmp.
38998169689Skan	(size_of_die): Adjust dw_val_class_vec sizing.
38999169689Skan	(output_die): Output dw_val_class_vec.
39000169689Skan	(insert_int, extract_int, insert_float): New functions.
39001169689Skan	(add_const_value_attribute): Use insert_float for CONST_DOUBLE.
39002169689Skan	Handle CONST_VECTOR.
39003169689Skan	(add_location_or_const_value_attribute): Handle CONST_VECTOR.
39004169689Skan
39005169689Skan2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
39006169689Skan
39007169689Skan	* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
39008169689Skan	AltiVec abi cannot co-exist.
39009169689Skan
39010169689Skan	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
39011169689Skan
39012169689Skan2004-03-07  Jan Hubicka  <jh@suse.cz>
39013169689Skan
39014169689Skan	* except.c (emit_to_new_bb_before): Break fallthru edges.
39015169689Skan
39016169689Skan2004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
39017169689Skan
39018169689Skan	* config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
39019169689Skan	("*lshrsi3"): Also accept an immediate for 68HC12.
39020169689Skan	("*ashrsi3_const"): Likewise.
39021169689Skan	("*ashrsi3"): Likewise.
39022169689Skan	("*ashlsi3_const"): Likewise.
39023169689Skan	("*ashlsi3"): Likewise.
39024169689Skan	("cmphi_1_hc12"): Compare two hard register by pushing them and
39025169689Skan	comparing with a pop; don't use a split for that.
39026169689Skan	("cmphi split"): Disable compare split for 68HC12.
39027169689Skan
39028169689Skan	* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
39029169689Skan	the status operands if they have side effects.
39030169689Skan
39031169689Skan2004-03-07  Kazu Hirata  <kazu@cs.umass.edu>
39032169689Skan
39033169689Skan	* defaults.h (LEGITIMIZE_ADDRESS): Provide a default
39034169689Skan	definition.
39035169689Skan	* config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
39036169689Skan	config/h8300/h8300.h, config/ia64/ia64.h,
39037169689Skan	config/mcore/mcore.h, config/mmix/mmix.h,
39038169689Skan	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
39039169689Skan	config/stormy16/stormy16.h, config/v850/v850.h,
39040169689Skan	config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
39041169689Skan	* doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
39042169689Skan	definition.
39043169689Skan
39044169689Skan2004-03-07  Roger Sayle  <roger@eyesopen.com>
39045169689Skan
39046169689Skan	* fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
39047169689Skan	<XOR_EXPR>: Fold x ^ x as zero.
39048169689Skan	<AND_EXPR>: Fold x & x as x.
39049169689Skan
39050169689Skan2004-03-07  Roger Sayle  <roger@eyesopen.com>
39051169689Skan
39052169689Skan	* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
39053169689Skan	"foo++ == const" into "++foo == const+incr".
39054169689Skan
39055169689Skan2004-03-07  Richard Sandiford  <rsandifo@redhat.com>
39056169689Skan
39057169689Skan	* config/mips/mips.c (mips_in_small_data_p): Return false if
39058169689Skan	TARGET_ABICALLS.
39059169689Skan
39060169689Skan2004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
39061169689Skan
39062169689Skan	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
39063169689Skan	the stack register.
39064169689Skan	(expand_prologue): Don't make an interrupt or a trap handler a far
39065169689Skan	symbol.
39066169689Skan	(m68hc11_initial_elimination_offset): Likewise.
39067169689Skan
39068169689Skan2004-03-06  Richard Henderson  <rth@redhat.com>
39069169689Skan
39070169689Skan	* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
39071169689Skan
39072169689Skan2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
39073169689Skan
39074169689Skan	* config/ns32k/ns32k-protos.h: Add a prototype for
39075169689Skan	ns32k_notice_update_cc.
39076169689Skan	* config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
39077169689Skan	* config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
39078169689Skan	ns32k_notice_update_cc.
39079169689Skan
39080169689Skan2004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
39081169689Skan
39082169689Skan	* config/s390/s390.md ("load_multiple", "*load_multiple_di",
39083169689Skan	"*load_multiple_si"): Allow only if reload_completed.
39084169689Skan	("store_multiple", "*store_multiple_di", "*store_multiple_si"):
39085169689Skan	Likewise.
39086169689Skan
39087169689Skan2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
39088169689Skan
39089169689Skan	* config/vax/vax-protos.h: Add a prototype for
39090169689Skan	vax_notice_update_cc.
39091169689Skan	* config/vax/vax.c (vax_notice_update_cc): New.
39092169689Skan	* config/vax/vax.h (NOTICE_UPDATE_CC): Call
39093169689Skan	vax_notice_update_cc.
39094169689Skan
39095169689Skan2004-03-06  David Edelsohn  <edelsohn@gnu.org>
39096169689Skan
39097169689Skan	* collect2.c (main): Only export initfunc and finifunc if
39098169689Skan	LD_INIT_SWITCH not defined.
39099169689Skan	(scan_prog_file): Only export constructors and destructors if
39100169689Skan	LD_INIT_SWITCH not defined.  Only export symbols not found in
39101169689Skan	shared objects.
39102169689Skan
39103169689Skan2004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
39104169689Skan
39105169689Skan	* pa.md (icacheflush): Reorder operands to make match_scratch operand
39106169689Skan	last.
39107169689Skan	* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
39108169689Skan	from calls to gen_icacheflush.
39109169689Skan
39110169689Skan2004-03-06  Richard Henderson  <rth@redhat.com>
39111169689Skan
39112169689Skan	* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
39113169689Skan	(TARGET_LONG_DOUBLE_128): New.
39114169689Skan	(TARGET_SWITCHES): Add long-double-{128,64}.
39115169689Skan	(TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
39116169689Skan	(LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
39117169689Skan	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
39118169689Skan	(WIDEST_HARDWARE_FP_SIZE): New.
39119169689Skan	(TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
39120169689Skan	* config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
39121169689Skan	if TARGET_VAX_FLOAT.
39122169689Skan	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
39123169689Skan	(TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
39124169689Skan
39125169689Skan2004-03-06  Richard Henderson  <rth@redhat.com>
39126169689Skan
39127169689Skan	* config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
39128169689Skan	botched rtx class conversion.
39129169689Skan
39130169689Skan2004-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
39131169689Skan
39132169689Skan	* tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
39133169689Skan	BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
39134169689Skan
39135169689Skan	* builtins.c (fold_builtin_logarithm, fold_builtin): Use new
39136169689Skan	macros.
39137169689Skan	* fold-const.c (fold_mathfn_compare, fold): Likewise.
39138169689Skan
39139169689Skan2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
39140169689Skan
39141169689Skan	PR target/14343
39142169689Skan	* config/i386/i386.md (movv2di_internal): Conditionalize on
39143169689Skan	TARGET_SSE, not TARGET_SSE2.
39144169689Skan
39145169689Skan2004-03-05  Chris Demetriou  <cgd@broadcom.com>
39146169689Skan
39147169689Skan	* config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
39148169689Skan	duplicated line.
39149169689Skan
39150169689Skan2004-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
39151169689Skan
39152169689Skan	* builtins.c: Consistently use logN not log* in comments.
39153169689Skan
39154169689Skan2004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
39155169689Skan
39156169689Skan	* rtl.h (mem_expr_equal_p): Function prototype added.
39157169689Skan	* cfgcleanup.c (merge_memattrs): New function.
39158169689Skan	(flow_find_cross_jump): Call merge_memattrs for matching insns.
39159169689Skan	* emit-rtl.c (mem_expr_equal_p): New function.
39160169689Skan
39161169689Skan2004-03-05  Ziemowit Laski  <zlaski@apple.com>
39162169689Skan
39163169689Skan	* objc/objc-act.c (synth_module_prologue): Const-qualify
39164169689Skan	objc_selector type if using the GNU runtime; fix generated
39165169689Skan	signatures for objc_msg_lookup and objc_msg_lookup_super
39166169689Skan	to match what GNU ObjC headers provide; reformat and clean up.
39167169689Skan	(synth_self_and_ucmd_args): Use previously constructed (and
39168169689Skan	hence possibly const-qualified) objc_selector type.
39169169689Skan
39170169689Skan2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
39171169689Skan
39172169689Skan	* doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
39173169689Skan
39174169689Skan2004-03-05  Jason Merrill  <jason@redhat.com>
39175169689Skan
39176169689Skan	* tree.h (TYPE_HASH): Use TYPE_UID.
39177169689Skan	(TREE_HASH): New macro with old definition of TYPE_HASH.
39178169689Skan	* tree.c (build_type_attribute_variant): Use iterative_hash_object.
39179169689Skan	(build_array_type, build_function_type): Likewise.
39180169689Skan	(build_method_type_directly): Likewise.
39181169689Skan	(build_offset_type, build_complex_type): Likewise.
39182169689Skan	(type_hash_list, attribute_hash_list): Likewise. Now static.
39183169689Skan	* except.c: s/TYPE_HASH/TREE_HASH/.
39184169689Skan
39185169689Skan2004-03-05  Bob Wilson  <bob.wilson@acm.org>
39186169689Skan
39187169689Skan	* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
39188169689Skan	(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
39189169689Skan	__va_ndx by 2 words when referencing an argument on the stack.
39190169689Skan	(xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
39191169689Skan	words when an arg on the stack is first seen.
39192169689Skan
39193169689Skan2004-03-05  Paul Brook  <paul@codesourcery.com>
39194169689Skan
39195169689Skan	* arm.h (ARM_FLAG_VFP): Remove.
39196169689Skan	(ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
39197169689Skan	* netbsd-elf.h (ARM_FLAG_VFP): Remove.
39198169689Skan
39199169689Skan2004-03-05  Paul Brook  <paul@codesourcery.com>
39200169689Skan
39201169689Skan	* function.c (assign_parms): Include pretend alignment offset.
39202169689Skan
39203169689Skan2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
39204169689Skan
39205169689Skan	* stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
39206169689Skan	FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
39207169689Skan
39208169689Skan2004-03-05  Ian Lance Taylor  <ian@wasabisystems.com>
39209169689Skan
39210169689Skan	* configure.ac: When passing --enable-languages to subdir
39211169689Skan	configure when host != build, make sure we don't pass an empty
39212169689Skan	value.
39213169689Skan	* configure: Regenerate.
39214169689Skan
39215169689Skan2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
39216169689Skan
39217169689Skan	PR 13577
39218169689Skan	* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
39219169689Skan	options.
39220169689Skan
39221169689Skan2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
39222169689Skan
39223169689Skan	* simplify-rtx.c (simplify_relational_operation): If
39224169689Skan	flag_wrapv is set, do not move terms between the two
39225169689Skan	side of a relational operator.
39226169689Skan
39227169689Skan2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
39228169689Skan
39229169689Skan	* rtlanal.c: Include target.h and output.h
39230169689Skan	(rtx_cost, address_cost, default_address_cost): Move from...
39231169689Skan	* cse.c (rtx_cost, address_cost, default_address_cost):
39232169689Skan	... this file.
39233169689Skan	* rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
39234169689Skan	* Makefile.in: Adjust dependencies.
39235169689Skan
39236169689Skan2004-03-05  Paolo Bonzini <bonzini@gnu.org>
39237169689Skan
39238169689Skan	* cse.c (cse_end_of_basic_block): Make static.
39239169689Skan	* local-alloc.c (function_invariant_p): Move to
39240169689Skan	reload1.c.
39241169689Skan	* loop.c (libcall_other_reg, record_excess_regs):
39242169689Skan	Make static.
39243169689Skan	* reload1.c (function_invariant_p): Moved here
39244169689Skan	from local-alloc.c, made static.
39245169689Skan	* rtl.h (cse_end_of_basic_block, function_invariant_p,
39246169689Skan	libcall_other_reg, record_excess_regs): Remove
39247169689Skan	declarations.
39248169689Skan
39249169689Skan2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
39250169689Skan
39251169689Skan	* config/m32r/m32r.c (signed_comparison_operator): Add a
39252169689Skan	missing parenthesis.
39253169689Skan
39254169689Skan2004-03-04  Ian Lance Taylor  <ian@wasabisystems.com>
39255169689Skan
39256169689Skan	* ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
39257169689Skan	going to call mmap again.  Read the file into the right place.
39258169689Skan	Give a fatal error if we have to relocate.
39259169689Skan
39260169689Skan2004-03-04  Bob Wilson  <bob.wilson@acm.org>
39261169689Skan
39262169689Skan	* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
39263169689Skan	(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
39264169689Skan
39265169689Skan2004-03-05  Hans-Peter Nilsson  <hp@axis.com>
39266169689Skan
39267169689Skan	PR other/14354
39268169689Skan	* config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
39269169689Skan	round the same.  When rounding, clear bits that would cause a
39270169689Skan	second rounding in pack_d.
39271169689Skan	(_fpmul_parts): Ditto.  Remove #if 0:d code.
39272169689Skan
39273169689Skan2004-03-04  Ziemowit Laski  <zlaski@apple.com>
39274169689Skan
39275169689Skan	PR c++/14425, c++/14426
39276169689Skan	* config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
39277169689Skan	vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
39278169689Skan	Change C++ definitions to accept a 'const int' argument;
39279169689Skan	the prototypes already do.
39280169689Skan	* config/rs6000/rs6000.c (rs6000_common_init_builtins):
39281169689Skan	Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
39282169689Skan	v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
39283169689Skan	v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
39284169689Skan	v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
39285169689Skan	v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
39286169689Skan	end in ..._int; change them to accept an int instead of a char
39287169689Skan	as the last parameter.
39288169689Skan
39289169689Skan2004-03-04  Phil Edwards  <phil@codesourcery.com>
39290169689Skan
39291169689Skan	* genmultilib: Change '=' to '-' when translating option names
39292169689Skan	to directory names.
39293169689Skan
39294169689Skan2004-03-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
39295169689Skan
39296169689Skan	* expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
39297169689Skan	stack slot for temp used for result of BLKmode but in integral mode.
39298169689Skan
39299169689Skan2004-03-04  Jan Hubicka  <jh@suse.cz>
39300169689Skan
39301169689Skan	* reload.c (find_reloads): Reorganize if seqeunce to switch.
39302169689Skan
39303169689Skan	* cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
39304169689Skan	(cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
39305169689Skan
39306169689Skan2004-03-04  Steve Ellcey  <sje@cup.hp.com>
39307169689Skan
39308169689Skan	* config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
39309169689Skan	* testsuite/gcc.dg/20040303-1.c: New test.
39310169689Skan
39311169689Skan2004-03-04  Steven Bosscher  <stevenb@suse.de>
39312169689Skan
39313169689Skan	* ppro.md: Rewrite as a DFA pipeline description.
39314169689Skan	* i386.md: Remove all uses of the ppro_uops attribute.
39315169689Skan	* i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
39316169689Skan	ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
39317169689Skan	ix86_sched_reorder, ix86_variable_issue,
39318169689Skan	struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
39319169689Skan	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
39320169689Skan	(ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
39321169689Skan	(ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
39322169689Skan	* athlon.md (athlon_ssecmp_load): Fix comment
39323169689Skan
39324169689Skan2004-03-04  Stuart Hastings  <stuart@apple.com>
39325169689Skan
39326169689Skan	* doc/invoke.texi: Document -mlongcall for Darwin/PPC.
39327169689Skan
39328169689Skan2004-03-04  Stuart Hastings  <stuart@apple.com>
39329169689Skan
39330169689Skan	* config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
39331169689Skan	686, tell Darwin assembler to allow prefetch insns, non-empty def
39332169689Skan	of SUBTARGET_OPTION_TRANSLATE_TABLE.
39333169689Skan
39334169689Skan2004-03-04  DJ Delorie  <dj@redhat.com>
39335169689Skan
39336169689Skan	PR optimization/14282
39337169689Skan	* sched-deps.c (sched_analyze_insn): Allow a stack adjustment
39338169689Skan	between a call and the assignment of its return value.
39339169689Skan
39340169689Skan2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
39341169689Skan
39342169689Skan	* config/h8300/h8300.c: Put a comment for every function.
39343169689Skan
39344169689Skan2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
39345169689Skan
39346169689Skan	* config/h8300/h8300.md: Add comments about peephole2's.
39347169689Skan
39348169689Skan2004-03-04  Steven Bosscher  <stevenb@suse.de>
39349169689Skan
39350169689Skan	* i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
39351169689Skan
39352169689Skan2004-03-04  Jan Hubicka  <jh@suse.cz>
39353169689Skan
39354169689Skan	* cfgcleanup.c (thread_jump): Update call of cselib_init.
39355169689Skan	* cselib.c (cselib_record_memory): New static variable.
39356169689Skan	(cselib_lookup_mem, cselib_record_set, cselib_record_sets):
39357169689Skan	Give up on memories when asked for.
39358169689Skan	(cselib_init): Accept new argument.
39359169689Skan	* cselib.h (cselib_init): Update prototype.
39360169689Skan	* gcse.c (local_cprop_pass): Update call of cselib_init.
39361169689Skan	* loop.c (load_mems): Update call of cselib_init.
39362169689Skan	* postreload.c (reload_cse_regs_1): Update call of cselib_init.
39363169689Skan	* sched-deps.c (sched_analyze): Update call of cselib_init.
39364169689Skan
39365169689Skan2004-03-04  David Edelsohn  <edelsohn@gnu.org>
39366169689Skan	    GP <gp@qnx.com>
39367169689Skan
39368169689Skan	* config/rs6000/rs6000.c (output_function_profiler): Append @plt
39369169689Skan	when compiling PIC.
39370169689Skan
39371169689Skan2004-03-04  Josef Zlomek  <zlomekj@suse.cz>
39372169689Skan
39373169689Skan	PR/14362
39374169689Skan	* var-tracking.c (track_expr_p): Do not track variables which
39375169689Skan	should be ignored for debugging purposes.
39376169689Skan
39377169689Skan2004-03-04  Alan Modra  <amodra@bigpond.net.au>
39378169689Skan
39379169689Skan	* real.c (encode_ibm_extended): Don't bother rounding low double.
39380169689Skan	* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
39381169689Skan	when fmt->pnan < fmt->p.
39382169689Skan
39383169689Skan2004-03-04  Eric Christopher  <echristo@redhat.com>
39384169689Skan
39385169689Skan	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
39386169689Skan	only range of valid arg registers and fixed_regs.
39387169689Skan
39388169689Skan2004-03-04  Alan Modra  <amodra@bigpond.net.au>
39389169689Skan
39390169689Skan	PR target/14406
39391169689Skan	* config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
39392169689Skan	(abstf2, abstf2_internal): New define_expand.
39393169689Skan
39394169689Skan2004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
39395169689Skan
39396169689Skan	PR optimization/14235
39397169689Skan	* expr.c (convert_move): Copy the source to a new pseudo
39398169689Skan	when converting from a sub-word source to a larger-than-word
39399169689Skan	register which conflicts with the source.
39400169689Skan
39401169689Skan2004-03-03  Zack Weinberg  <zack@codesourcery.com>
39402169689Skan
39403169689Skan	PR 13728
39404169689Skan	* c-decl.c (diagnose_mismatched_decls): Issue an error for two
39405169689Skan	parameters with the same name, unless one is a forward decl.
39406169689Skan	Do not issue a redundant-redeclaration warning for forward
39407169689Skan	decls of parameters.
39408169689Skan
39409169689Skan2004-03-04  David Edelsohn  <edelsohn@gnu.org>
39410169689Skan
39411169689Skan	* doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
39412169689Skan	configuration.
39413169689Skan
39414169689Skan2004-03-03  Ian Lance Taylor  <ian@wasabisystems.com>
39415169689Skan
39416169689Skan	* ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
39417169689Skan
39418169689Skan2004-03-04  Alan Modra  <amodra@bigpond.net.au>
39419169689Skan
39420169689Skan	* target-def.h (TARGET_OPTF): Delete.
39421169689Skan	* c-opts.c (TARGET_OPTF): Define.
39422169689Skan
39423169689Skan2004-03-04  Jan Hubicka  <jh@suse.cz>
39424169689Skan
39425169689Skan	* cselib.c (cselib_finish): Fix another miss-application of my previous
39426169689Skan	patch.
39427169689Skan
39428169689Skan2004-03-03  Mike Stump  <mrs@apple.com>
39429169689Skan
39430169689Skan	Add framework support for darwin.
39431169689Skan
39432169689Skan	* c-incpath.c: Include target.h and machmode.h.
39433169689Skan	(add_path): Use a consistent style for cpp_dir.  Initialize
39434169689Skan	p->construct to 0.
39435169689Skan	(add_cpp_dir_path): New.
39436169689Skan	(register_include_chains): Add use of extra_includes callback.
39437169689Skan	(hook_void_int): Add.
39438169689Skan	(target_c_incpath): Add.
39439169689Skan	* c-incpath.h (add_cpp_dir_path): New.
39440169689Skan	(target_c_incpath_s): Add.
39441169689Skan	(target_c_incpath): Add.
39442169689Skan	(C_INCPATH_INIT): Add.
39443169689Skan	* c-opts.c (c_common_missing_argument,
39444169689Skan	c_common_handle_option): Add -F argument processing.
39445169689Skan	* c.opt: Add -F argument processing.
39446169689Skan	* gcc.c (trad_capable_cpp): Add -F argument processing.
39447169689Skan	* cppfiles.c (find_file_in_dir): Update to use construct
39448169689Skan	callback.
39449169689Skan	(search_path_exhausted, cpp_get_path, cpp_get_buffer,
39450169689Skan	cpp_get_prev): New.
39451169689Skan	(_cpp_find_file): Use search_path_exhausted.
39452169689Skan	(make_cpp_dir): Initialize construct to 0.
39453169689Skan	* cpplib.h (missing_header_cb
39454169689Skan	cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
39455169689Skan	(cpp_callbacks): Add missing_header
39456169689Skan	(cpp_dir): Add construct.
39457169689Skan	* target-def.h: (TARGET_OPTF): New.
39458169689Skan	* hooks.c (hook_void_int, hook_void_charptr): Add.
39459169689Skan	* hooks.h (hook_void_int, hook_void_charptr): Add.
39460169689Skan	* Makefile.in (c-incpath.o) : Add $(TARGET_H) and
39461169689Skan	$(MACHMODE_H) dependencies.
39462169689Skan	* doc/invoke.texi (Darwin Options): Document -F.
39463169689Skan	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
39464169689Skan	(TARGET_OPTF): Add.
39465169689Skan	* fix-header.c (target_c_incpath): Add.
39466169689Skan
39467169689Skan	* config/darwin-c.c: Add c-incpath.h include.
39468169689Skan	(using_frameworks, find_subframework_file,
39469169689Skan	find_subframework_header, add_system_framework_path,
39470169689Skan	frameworks_in_use, num_frameworks, max_frameworks,
39471169689Skan	add_framework, find_framework, struct framework_header,
39472169689Skan	framework_header_dirs, framework_construct_pathname,
39473169689Skan	find_subframework_file, add_system_framework_path,
39474169689Skan	add_framework_path, framework_defaults,
39475169689Skan	darwin_register_frameworks, find_subframework_header): Add.
39476169689Skan	* config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
39477169689Skan	(TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
39478169689Skan	(CPP_SPEC): Add __APPLE_CC__ support.
39479169689Skan	* t-darwin (darwin-c.o): Add c-incpath.h dependency.
39480169689Skan
39481169689Skan2004-03-04  Jan Hubicka  <jh@suse.cz>
39482169689Skan
39483169689Skan	* cselib.c (cselib_finish): Fix miss-application of my previous
39484169689Skan	patch.
39485169689Skan
39486169689Skan2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
39487169689Skan
39488169689Skan	* hooks.c (hook_tree_tree_identity): New.
39489169689Skan	* hooks.h: Add a prototype for hook_tree_tree_identity.
39490169689Skan	* stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
39491169689Skan	instead of MD_ASM_CLOBBERS.
39492169689Skan	* system.h (MD_ASM_CLOBBERS): Poison.
39493169689Skan	* target-def.h (TARGET_MD_ASM_CLOBBERS): New.
39494169689Skan	(TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
39495169689Skan	* target.h (gcc_target): Add md_asm_clobbers.
39496169689Skan	* config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
39497169689Skan	(ix86_md_asm_clobbers): New.
39498169689Skan	* config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
39499169689Skan	* doc/tm.texi (MD_ASM_CLOBBERS): Change to
39500169689Skan	TARGET_MD_ASM_CLOBBERS.
39501169689Skan
39502169689Skan2004-03-03  Stuart Hastings  <stuart@apple.com>
39503169689Skan
39504169689Skan	* config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
39505169689Skan
39506169689Skan2004-03-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
39507169689Skan
39508169689Skan	* config/sparc/sparc.c (noov_compare64_op): Fix typo.
39509169689Skan
39510169689Skan	* config/sparc/sparc.h (ASM_FLOAT): Delete.
39511169689Skan	(ASM_DOUBLE): Likewise.
39512169689Skan	(ASM_LONGDOUBLE): Likewise.
39513169689Skan	* config/sparc/pbd.h (ASM_INT_OP): Delete.
39514169689Skan
39515169689Skan2004-03-03  Richard Henderson  <rth@redhat.com>
39516169689Skan
39517169689Skan	PR opt/13862
39518169689Skan	* cselib.c (cselib_record_sets): Don't record multiple sets in
39519169689Skan	asm insns.
39520169689Skan
39521169689Skan2004-03-03  Mostafa Hagog  <mustafa@il.ibm.com>
39522169689Skan
39523169689Skan	* common.opt: Add description of the new -fgcse-after-reload flag.
39524169689Skan
39525169689Skan	* flags.h (flag_gcse_after_reload): Declaration of global variable.
39526169689Skan
39527169689Skan	* gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
39528169689Skan	reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
39529169689Skan	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
39530169689Skan	get_bb_avail_insn, hash_scan_set_after_reload,
39531169689Skan	compute_hash_table_after_reload, eliminate_partially_redundant_loads,
39532169689Skan	gcse_after_reload, get_bb_avail_insn): New functions to implement
39533169689Skan	gcse-after-reload.
39534169689Skan	(gcse_after_reload_main): New function, the main entry point to
39535169689Skan	gcse-after-reload.
39536169689Skan
39537169689Skan	* rtl.h (gcse_after_reload_main): Declaration of the new function.
39538169689Skan
39539169689Skan	* opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
39540169689Skan
39541169689Skan	* toplev.c (flag_gcse_after_reload): Initialization.
39542169689Skan
39543169689Skan	* passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
39544169689Skan
39545169689Skan	* params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
39546169689Skan	PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
39547169689Skan	the gcse after reload optimization.
39548169689Skan
39549169689Skan	* params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
39550169689Skan	GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
39551169689Skan	parameters.
39552169689Skan
39553169689Skan	* doc/invoke.texi: Documentation for the new flag gcse-after-reload.
39554169689Skan
39555169689Skan2004-03-03  Nicolas Pitre <nico@cam.org>
39556169689Skan
39557169689Skan	* config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
39558169689Skan	small negative values.
39559169689Skan
39560169689Skan2004-03-03  Jan Hubicka  <jh@suse.cz>
39561169689Skan
39562169689Skan	* cselib.c (hash_table): Remove GTY marker.
39563169689Skan	(reg_values): Turn into array.
39564169689Skan	(used_regs): Likewise.
39565169689Skan	(n_used_regs): New static variable.
39566169689Skan	(reg_values_old): Kill.
39567169689Skan	(clear_table): Update uses of arrays.
39568169689Skan	(cselib_lookup): Likewise.
39569169689Skan	(cselib_record_set): Likewise.
39570169689Skan	(cselib_init): Likewise.
39571169689Skan	(cselib_finish): Likewise.
39572169689Skan	(cselib_udpate_varray_sizes): Kill.
39573169689Skan	* cselib.h (cselib_update_varray_sizes): Kill.
39574169689Skan
39575169689Skan2004-03-03  Paul Brook  <paul@codesourcery.com>
39576169689Skan
39577169689Skan	* flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
39578169689Skan
39579169689Skan2004-03-03  Jan Hubicka  <jh@suse.cz>
39580169689Skan
39581169689Skan	* ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
39582169689Skan	Rename from ...; make statistics transparent.
39583169689Skan	(ggc_alloc_cleared, ggc_realloc_stat): ... these.
39584169689Skan	(loc_descriptor): New structure.
39585169689Skan	(hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
39586169689Skan	add_statistics):
39587169689Skan	New static function.
39588169689Skan	(ggc_record_overhead, dump_statistics): New global function.
39589169689Skan	* ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
39590169689Skan	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
39591169689Skan	from ...; accept locations
39592169689Skan	(ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
39593169689Skan	ggc_realloc, ggc_alloc_typed): ... this one.
39594169689Skan	from ...; accept locations
39595169689Skan	* ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
39596169689Skan	ggc_alloc_stat): Rename from ... ; pass locations
39597169689Skan	* ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
39598169689Skan	... this one.
39599169689Skan	(ggc_alloc_stat): Record overehead.
39600169689Skan	* ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
39601169689Skan	ggc_realloc, ggc_alloc_typed): Turn to macros
39602169689Skan	(ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
39603169689Skan	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
39604169689Skan	(dump_ggc_loc_satistics, ggc_record_overehead): Declare.
39605169689Skan	* langhooks.h (lhd_make_node): Declare.
39606169689Skan	(LANG_HOOKS_MAKE_TYPE): Default to new function,
39607169689Skan	* langhooks.c (lhd_make_node): New.
39608169689Skan	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
39609169689Skan	locations.
39610169689Skan	(rtx_alloc, swallow_copy_rtx): ... this one.
39611169689Skan	* rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
39612169689Skan	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
39613169689Skan	* toplpev.c (finalize): Dump stats.
39614169689Skan	* tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
39615169689Skan	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
39616169689Skan	Rename from ... ; pass locators.
39617169689Skan	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
39618169689Skan	build?,  build_decl): Declare.
39619169689Skan	* tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
39620169689Skan	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
39621169689Skan	Declare.
39622169689Skan	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
39623169689Skan	build?,  build_decl): New macros.
39624169689Skan	* Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
39625169689Skan	* statistics.h: New file.
39626169689Skan
39627169689Skan2004-03-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
39628169689Skan	    Richard Sandiford  <rsandifo@redhat.com>
39629169689Skan
39630169689Skan	* config/mips/mips.h (MASK_FIX_SB1): Bump.
39631169689Skan	(MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
39632169689Skan	(TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
39633169689Skan	* config/mips/mips.c (mips_output_division): Fill the branch delay
39634169689Skan	slot with a nop if TARGET_FIX_R4000.  Extend R4000 workarounds to
39635169689Skan	TARGET_FIX_R4400.
39636169689Skan	(mips_output_division): Adjust accordingly.
39637169689Skan	(override_options): Make -march=r4400 imply -mfix-r4400 by default.
39638169689Skan	* doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
39639169689Skan
39640169689Skan2004-03-03  Paolo Bonzini  <bonzini@gnu.org>
39641169689Skan
39642169689Skan	* alias.c (rtx_equal_for_memref_p): Use predicates
39643169689Skan	to test rtx classes and new rtx class codes, possibly
39644169689Skan	splitting conditionals that tested against '<' and 'o'.
39645169689Skan	* caller-save.c (save_call_clobbered_regs): Likewise.
39646169689Skan	* combine.c (contains_muldiv, find_split_point, subst,
39647169689Skan	combine_simplify_rtx, simplify_if_then_else,
39648169689Skan	simplify_set, simplify_logical, expand_compound_operation,
39649169689Skan	make_compound_operation, if_then_else_cond, known_cond,
39650169689Skan	apply_distributive_law, cached_nonzero_bits,
39651169689Skan	cached_num_sign_bit_copies, simplify_shift_const,
39652169689Skan	gen_binary, simplify_comparison, update_table_tick,
39653169689Skan	record_value_for_reg, get_lsat_value_validate): Likewise.
39654169689Skan	* cse.c (mention_regs, find_best_addr, find_comparison_args,
39655169689Skan	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
39656169689Skan	Likewise.
39657169689Skan	* emit-rtl.c (copy_insn_1): Likewise.
39658169689Skan	* expr.c (force_operand): Likewise.
39659169689Skan	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
39660169689Skan	* flow.c (notice_stack_pointer_modification_1,
39661169689Skan	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
39662169689Skan	and_reg_cond, elim_reg_cond): Likewise.
39663169689Skan	* function.c (update_epilogue_consts): Likewise.
39664169689Skan	* genattrtab.c (attr_rtx_1): Likewise.
39665169689Skan	* genopinit.c (gen_insn): Likewise.
39666169689Skan	* integrate.c (subst_constants): Likewise.
39667169689Skan	* jump.c (reversed_comparison_code_parts,
39668169689Skan	reversed_comparison_code, delete_related_insns,
39669169689Skan	rtx_renumbered_equal_p): Likewise.
39670169689Skan	* local-alloc.c (block_alloc): Likewise.
39671169689Skan	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
39672169689Skan	canonicalize_condition): Likewise.
39673169689Skan	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
39674169689Skan	Likewise.
39675169689Skan	* optabs.c (add_equal_node, expand_binop): Likewise.
39676169689Skan	* predict.c (estimate_probability): Likewise.
39677169689Skan	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
39678169689Skan	* recog.c (validate_replace_rtx_1, comparison_operator,
39679169689Skan	offsettable_address_p, constrain_operands): Likewise.
39680169689Skan	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
39681169689Skan	Likewise.
39682169689Skan	* regclass.c (scan_one_insn): Likewise.
39683169689Skan	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
39684169689Skan	* regrename.c (kill_autoinc_value): Likewise.
39685169689Skan	* reload.c (find_reusable_reload, find_reloads,
39686169689Skan	reg_overlap_mentioned_for_reload_p): Likewise.
39687169689Skan	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
39688169689Skan	* rtl.c (copy_rtx): Likewise.
39689169689Skan	* rtl.h (CONSTANT_P, INSN_P): Likewise.
39690169689Skan	* rtlanal.c (commutative_operand_precedence): Likewise.
39691169689Skan	* sched-deps.c (conditions_mutex_p): Likewise.
39692169689Skan	* sched-rgn.c (is_cfg_nonregular): Likewise.
39693169689Skan	* simplify-rtx.c (simplify_gen_binary,
39694169689Skan	simplify_gen_relational, simplify_replace_rtx,
39695169689Skan	simplify_unary_operation, simplify_binary_operation,
39696169689Skan	simplify_ternary_operation, simplify_rtx): Likewise.
39697169689Skan	* unroll.c (reg_dead_after_loop): Likewise.
39698169689Skan	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
39699169689Skan	print_operand): Likewise.
39700169689Skan	* config/arc/arc.c (proper_comparison_operator): Likewise.
39701169689Skan	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
39702169689Skan	Likewise.
39703169689Skan	* config/avr/avr.c (_reg_unused_after): Likewise.
39704169689Skan	* config/frv/frv.c (frv_ifcvt_modify_tests,
39705169689Skan	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
39706169689Skan	* config/i386/i386.c (ix86_comparison_operator,
39707169689Skan	ix86_carry_flag_operator, fcmov_comparison_operator,
39708169689Skan	arith_or_logical_operator, print_operand,
39709169689Skan	ix86_expand_binary_operator, ix86_binary_operator_ok):
39710169689Skan	Likewise.
39711169689Skan	* config/i386/i386.md: Likewise.
39712169689Skan	* config/ia64/ia64.c (not_postinc_memory_operand,
39713169689Skan	ia64_print_operand, update_set_flags, errata_emit_nops):
39714169689Skan	Likewise.
39715169689Skan	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
39716169689Skan	CONSTRAINT_OK_FOR_S): Likewise.
39717169689Skan	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
39718169689Skan	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
39719169689Skan	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
39720169689Skan	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
39721169689Skan	Likewise.
39722169689Skan	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
39723169689Skan	eqne_comparison_operator, signed_comparison_operator):
39724169689Skan	Likewise.
39725169689Skan	* config/mips/mips.c (cmp_op, symbolic_expression_p):
39726169689Skan	Likewise.
39727169689Skan	* config/mmix/mmix (mmix_foldable_comparison_operator,
39728169689Skan	mmix_comparison_operator): Likewise.
39729169689Skan	* config/pa/pa.c (hppa_legitimize_address): Likewise.
39730169689Skan	* config/rs6000/rs6000.c (stmw_operation,
39731169689Skan	branch_comparison_operator, trap_comparison_operator,
39732169689Skan	ccr_bit): Likewise.
39733169689Skan	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
39734169689Skan	* config/s390/s390.c (s390_alc_comparison,
39735169689Skan	s390_slb_comparison):L Likewise.
39736169689Skan	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
39737169689Skan	Likewise.
39738169689Skan	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
39739169689Skan	noov_compare_op, noov_compare64_op, v9_regcmp_op,
39740169689Skan	emit_hard_tfmode_operation, reg_unused_after)
39741169689Skan	* doc/md.texi, doc/rtl.texi: Likewise.
39742169689Skan
39743169689Skan	* ra-debug.c: Add 2004 to list of copyright years.
39744169689Skan	* unroll.c: Likewise.
39745169689Skan
39746169689Skan	* combine.c (simplify_logical): Remove dummy test,
39747169689Skan	(apply_distributive_law): Fix typo in comment.
39748169689Skan	GET_CODE (x) == AND so x is a commutative binary op.
39749169689Skan	* jump.c (delete_related_insns): simplify loop
39750169689Skan	condition, move testing of RTX codes inside the loop.
39751169689Skan	(rtx_renumbered_equal_p): do not use RTX_CODE.
39752169689Skan	* rtl.c (rtx_class): Declare as enum rtx_class.
39753169689Skan	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
39754169689Skan	Move to RTX_COMM_COMPARE class.
39755169689Skan	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
39756169689Skan	Move to RTX_CONST_OBJ class.
39757169689Skan	* rtl.h (enum rtx_class): New declaration,
39758169689Skan	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
39759169689Skan	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
39760169689Skan	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
39761169689Skan	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
39762169689Skan	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
39763169689Skan	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
39764169689Skan	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
39765169689Skan	OBJECT_P): New macros.
39766169689Skan	* config/sparc/sparc.c (noov_compare_op): Remove register
39767169689Skan	from parameter.
39768169689Skan
39769169689Skan2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
39770169689Skan
39771169689Skan	* target.h: Remove texi jargons in comments.
39772169689Skan
39773169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39774169689Skan
39775169689Skan	* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
39776169689Skan	threshold to 0x4f.
39777169689Skan
39778169689Skan	Revert:
39779169689Skan	2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
39780169689Skan	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
39781169689Skan	as well.
39782169689Skan	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
39783169689Skan	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
39784169689Skan
39785169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39786169689Skan
39787169689Skan	* doc/md.texi (cbranchmode4): New.
39788169689Skan
39789169689Skan2004-03-02  Eric Christopher  <echristo@redhat.com>
39790169689Skan
39791169689Skan	* config/mips/mips16.S: Change fixsfsi and fixdfsi to
39792169689Skan	fix_trunc.
39793169689Skan	* config/mips/mips.c (mips_init_libfuncs): Change accordingly.
39794169689Skan	* config/mips/t-elf (LIB1ASMFUNCS): Ditto.
39795169689Skan	* config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
39796169689Skan	* config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
39797169689Skan
39798169689Skan2004-03-02  Richard Henderson  <rth@redhat.com>
39799169689Skan
39800169689Skan	PR middle-end/11767
39801169689Skan	* coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
39802169689Skan	* optabs.c (prepare_cmp_insn): Force trapping memories to registers
39803169689Skan	before the compare, if flag_non_call_exceptions.
39804169689Skan
39805169689Skan2004-03-02  Richard Henderson  <rth@redhat.com>
39806169689Skan
39807169689Skan	PR middle-end/14327
39808169689Skan	* stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
39809169689Skan	emitting the label, not after.
39810169689Skan
39811169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39812169689Skan
39813169689Skan	* config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
39814169689Skan	(m68hc11_mov_addr_mode): Likewise.
39815169689Skan	(m68hc11_override_options): Initialize them based on target.
39816169689Skan	(register_indirect_p): Allow a MEM for indirect addressing modes and
39817169689Skan	use flags to control what is allowed.
39818169689Skan	(m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
39819169689Skan	supported addressing modes.
39820169689Skan	(m68hc11_register_indirect_p): Use m68hc11_addr_mode.
39821169689Skan	(go_if_legitimate_address_internal): Likewise.
39822169689Skan	(m68hc11_indirect_p): Likewise and check the mode.
39823169689Skan	(print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
39824169689Skan
39825169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39826169689Skan
39827169689Skan	* builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
39828169689Skan	(expand_builtin_setjmp_setup): Use
39829169689Skan	targetm.builtin_setjmp_frame_value instead of
39830169689Skan	BUILTIN_SETJMP_FRAME_VALUE.
39831169689Skan	* system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
39832169689Skan	* target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
39833169689Skan	(TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
39834169689Skan	* target.h (gcc_target): Add builtin_setjmp_frame_value.
39835169689Skan	* targhooks.c (default_builtin_setjmp_frame_value): New.
39836169689Skan	* targhooks.h: Add a prototype for
39837169689Skan	default_builtin_setjmp_frame_value.
39838169689Skan	* doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
39839169689Skan	TARGET_BUILTIN_SETJMP_FRAME_VALUE.
39840169689Skan
39841169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39842169689Skan
39843169689Skan	* config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
39844169689Skan	sequences of moves.
39845169689Skan	(add peepholes): New peepholes to optimize sequences adding small
39846169689Skan	constants.
39847169689Skan	(bset peepholes): New peepholes to transform an OR in a bset form
39848169689Skan	(bclr peepholes): Likewise for bclr form.
39849169689Skan	(cmp peepholes): New peepholes to avoid register copies when comparing.
39850169689Skan
39851169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39852169689Skan
39853169689Skan	* config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
39854169689Skan	to separate push from moves.
39855169689Skan	("*pushdf_internal"): Likewise.
39856169689Skan	("*pushsf_internal"): Likewise.
39857169689Skan	("*pushsi_internal"): Likewise.
39858169689Skan	("movdi_internal"): Use define_insn_and_split; non push operand.
39859169689Skan	("movdf_internal"): Likewise.
39860169689Skan	("movsf_internal"): Likewise.
39861169689Skan	("movsi_internal"): Likewise.
39862169689Skan	("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
39863169689Skan	("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
39864169689Skan	("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
39865169689Skan
39866169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39867169689Skan
39868169689Skan	* config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
39869169689Skan	("cmphi_z_used", "cmpqi_z_used"): Likewise.
39870169689Skan	("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
39871169689Skan	("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
39872169689Skan	("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
39873169689Skan	("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
39874169689Skan	("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
39875169689Skan	("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
39876169689Skan	("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
39877169689Skan	("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
39878169689Skan	("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
39879169689Skan
39880169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39881169689Skan
39882169689Skan	* config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
39883169689Skan	(SOFT_XY_REGNUM): Define.
39884169689Skan	(cmp split): Use the above instead of hard coded numbers.
39885169689Skan	(8-bit op split): No need to check the mode; allow Q_REG.
39886169689Skan	(ashift split): Adjust the first operand if it uses the SP and we
39887169689Skan	are pushing the shifted value.
39888169689Skan	(plus shift split): Fix when a source is in register D+X.
39889169689Skan	("doloop_end"): Pass dummy arguments to gen_rtx_NE.
39890169689Skan
39891169689Skan2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
39892169689Skan
39893169689Skan	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
39894169689Skan	comparing with Z register.
39895169689Skan
39896169689Skan2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
39897169689Skan
39898169689Skan	* cfgloop.h (struct loop_desc): Removed.
39899169689Skan	(struct loop): Fields simple, desc and has_desc removed.
39900169689Skan	(simple_loop_p, count_loop_iterations): Declaration removed.
39901169689Skan	* cfgloopanal.c (struct unmark_altered_insn_data): Removed.
39902169689Skan	(unmark_altered, blocks_invariant_registers, unmark_altered_insn
39903169689Skan	blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
39904169689Skan	invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
39905169689Skan	simple_loop_exit_p, variable_initial_value, variable_initial_values,
39906169689Skan	simple_condition_p, simple_increment, count_strange_loop_iterations,
39907169689Skan	inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
39908169689Skan	Removed.
39909169689Skan	* loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
39910169689Skan
39911169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39912169689Skan
39913169689Skan	* genattrtab.c: Don't handle MATCH_INSN.
39914169689Skan	* genrecog.c: Likewise.
39915169689Skan	* gensupport.c: Likewise.
39916169689Skan	* rtl.def (match_insn): Remove.
39917169689Skan	* doc/md.texi (match_insn, match_insn2): Remove.
39918169689Skan
39919169689Skan2004-03-02  Mark Mitchell  <mark@codesourcery.com>
39920169689Skan
39921169689Skan	* doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
39922169689Skan	macro results in memory allocation.
39923169689Skan
39924169689Skan2004-03-02  David O'Brien  <obrien@FreeBSD.org>
39925169689Skan
39926169689Skan	* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
39927169689Skan	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
39928169689Skan	%(fbsd_dynamic_linker),
39929169689Skan	(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
39930169689Skan	config/i386/freebsd.h
39931169689Skan	* config/arm/freebsd.h: Ditto.
39932169689Skan	* config/i386/freebsd.h: Ditto.
39933169689Skan	* config/i386/freebsd64.h: Ditto.
39934169689Skan	* config/ia64/freebsd.h: Ditto.
39935169689Skan	* config/rs6000/sysv4.h: Ditto.
39936169689Skan	* config/sparc/freebsd.h: Ditto.
39937169689Skan
39938169689Skan2004-03-02  Loren James Rittle  <ljrittle@acm.org>
39939169689Skan
39940169689Skan	* doc/install.texi (*-*-freebsd*): Update target information.
39941169689Skan
39942169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39943169689Skan
39944169689Skan	* rtl.def (define_combine): Remove.
39945169689Skan
39946169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39947169689Skan
39948169689Skan	* config/h8300/h8300.md: Tweak formatting.
39949169689Skan
39950169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39951169689Skan
39952169689Skan	* config/h8300/h8300.md (*cmphi_h8300): Rename to
39953169689Skan	*cmphi_h8300_znvc.
39954169689Skan	(*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
39955169689Skan
39956169689Skan2004-03-01  Mark Mitchell  <mark@codesourcery.com>
39957169689Skan
39958169689Skan	PR bootstrap/14356
39959169689Skan	* gcc.c (process_command): Remove const-qualification from argv.
39960169689Skan	(main): Likewise.
39961169689Skan
39962169689Skan2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
39963169689Skan
39964169689Skan	* config/h8300/h8300.md (pushqi1_h8300hs): Rename to
39965169689Skan	pushqi1_h8300hs_advanced.  Adjust its caller.
39966169689Skan	(pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
39967169689Skan	Adjust its caller.
39968169689Skan
39969169689Skan2004-03-02  Nicolas Roche  <roche@act-europe.fr>
39970169689Skan
39971169689Skan	* Makefile.in (install-libgcc, install-multilib): Pass
39972169689Skan	mkinstalldirs var to libgcc.mk.
39973169689Skan
39974169689Skan2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
39975169689Skan
39976169689Skan	* system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
39977169689Skan	* doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
39978169689Skan
39979169689Skan2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
39980169689Skan
39981169689Skan	* config/h8300/h8300.c (gtle_operator): Accept GT and LE.
39982169689Skan	* config/h8300/h8300.md: Split several peephole2's, each into
39983169689Skan	two.
39984169689Skan
39985169689Skan2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
39986169689Skan
39987169689Skan	* dominance.c (recount_dominator): Handle postdominators.
39988169689Skan
39989169689Skan2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
39990169689Skan
39991169689Skan	* config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
39992169689Skan	(NUM_SYMBOL_TYPES): Likewise.
39993169689Skan	(SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
39994169689Skan	(mips_unspec_address): Declare.
39995169689Skan	(mips_gotoff_page, mips_gotoff_global): Delete.
39996169689Skan	* config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
39997169689Skan	* config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
39998169689Skan	(mips_symbolic_constant_p, mips_symbolic_address_p)
39999169689Skan	(mips_symbol_insns): Handle new symbol types.
40000169689Skan	(general_symbolic_operand): New predicate.
40001169689Skan	(mips_unspec_address): Make extern.
40002169689Skan	(mips_gotoff_page, mips_gotoff_global): Delete.
40003169689Skan	(override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
40004169689Skan	Handle new symbol types.
40005169689Skan	* config/mips/mips.md (*lea_high64, *lea64): New patterns.
40006169689Skan	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
40007169689Skan	mips_unspec_address directly.
40008169689Skan	* doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
40009169689Skan	the documentation of -mexplicit-relocs.
40010169689Skan
40011169689Skan2004-03-01  Jeff Law  <law@redhat.com>
40012169689Skan
40013169689Skan	* fold-const.c (fold): An equality comparison of a non-weak object
40014169689Skan	against zero has a known result.  Similarly an equality comparison
40015169689Skan	of the address of two non-weak, unaliased symbols has a known result.
40016169689Skan
40017169689Skan	* ggc-page.c (struct page_entry): New field PREV.
40018169689Skan	(ggc_alloc): Update PREV field appropriately.
40019169689Skan	(sweep_pages): Likewise.
40020169689Skan	(ggc_free): Likewise.  Use PREV field rather than loop to
40021169689Skan	improve ggc_free performance.
40022169689Skan
40023169689Skan2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
40024169689Skan
40025169689Skan	* config/mips/mips.c (mips_output_division): Use the division
40026169689Skan	instruction to fill the delay slot of a zero check.
40027169689Skan	(mips_idiv_insns): Adjust accordingly.
40028169689Skan
40029169689Skan2004-03-01  Nathanael Nerode  <neroden@gcc.gnu.org>
40030169689Skan
40031169689Skan	* config.gcc: Create a default tmake_file for linux, and use
40032169689Skan	it in all but two linux clauses.  Comment those two.
40033169689Skan
40034169689Skan2004-03-01  Paolo Bonzini  <bonzini@gnu.org>
40035169689Skan
40036169689Skan	* combine.c (try_combine): Do not refer to is_replaced.
40037169689Skan	(gen_lowpart_for_combine): Perverse subregs now have a
40038169689Skan	more politically correct name.
40039169689Skan	* cse.c (cse_insn): Likewise.
40040169689Skan	* jump.c: Fix bogus reference to delete_insn.
40041169689Skan
40042169689Skan2004-02-29  Mark Mitchell  <mark@codesourcery.com>
40043169689Skan
40044169689Skan	PR debug/14328
40045169689Skan	* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
40046169689Skan	constants as signed values.
40047169689Skan
40048169689Skan	PR middle-end/13448
40049169689Skan	* c-tree.h (readonly_warning): Rename to ...
40050169689Skan	(readonly_error): ... this.
40051169689Skan	* c-typeck.c (build_unary_op): Adjust accordingly.
40052169689Skan	(readonly_warning): Rename to ...
40053169689Skan	(readonly_error): ... this and issue errors, not warnings.
40054169689Skan	(build_modify_expr): Call readonly_error, not readonly_warning.
40055169689Skan	(c_expand_asm_operands): Likewise.
40056169689Skan	* tree-inline.c (optimize_inline_calls): Do not inline functions
40057169689Skan	after errors have occurred.
40058169689Skan
40059169689Skan2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
40060169689Skan
40061169689Skan	* configure.ac: Rearrange some threading code for clarity;
40062169689Skan	add section comment.
40063169689Skan	* configure: Regenerate.
40064169689Skan
40065169689Skan2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
40066169689Skan
40067169689Skan	* passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
40068169689Skan	typos.
40069169689Skan	* doc/cppopts.texi: Fix a typo.
40070169689Skan
40071169689Skan2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
40072169689Skan
40073169689Skan	* config/i386/i386.md: Fix formatting.
40074169689Skan
40075169689Skan2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
40076169689Skan
40077169689Skan	* configure.ac: Add some comments delineating sections of code.
40078169689Skan
40079169689Skan	* doc/install.texi: Note that libada uses autoconf 2.57 also.
40080169689Skan
40081169689Skan	* doc/install.texi: Fix idiot typo in previous commit.
40082169689Skan
40083169689Skan	* doc/install.texi: Update for conversion of intl to autoconf 2.57.
40084169689Skan
40085169689Skan2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
40086169689Skan
40087169689Skan	* config/h8300/h8300.md: Add comments about peephole2's.
40088169689Skan
40089169689Skan2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
40090169689Skan
40091169689Skan	* config/h8300/h8300.md: Tweak operand numbers of some
40092169689Skan	peephole2's.
40093169689Skan
40094169689Skan2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
40095169689Skan
40096169689Skan	* config/h8300/h8300.md: Tweak comments about peephole2's.
40097169689Skan
40098169689Skan2004-02-29  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
40099169689Skan
40100169689Skan	PR middle-end/14203
40101169689Skan	* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
40102169689Skan	instead of testing whether DECL_RTL is not NULL.
40103169689Skan
40104169689Skan2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
40105169689Skan
40106169689Skan	* config/sh/sh.c: Fix formatting.
40107169689Skan
40108169689Skan2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
40109169689Skan
40110169689Skan	* config/sh/sh.c: Convert to ISO-C.
40111169689Skan
40112169689Skan2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
40113169689Skan
40114169689Skan	* c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
40115169689Skan	my previous patch.
40116169689Skan
40117169689Skan	* config/darwin.h (machopic_finish): Output stub even if the
40118169689Skan	symbol is already defined.
40119169689Skan
40120169689Skan2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
40121169689Skan
40122169689Skan	* pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
40123169689Skan
40124169689Skan2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
40125169689Skan
40126169689Skan	* genattr.c (main): Don't define
40127169689Skan	TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
40128169689Skan	* system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
40129169689Skan	(DFA_PIPELINE_INTERFACE): Likewise.
40130169689Skan	* doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
40131169689Skan	(DFA_PIPELINE_INTERFACE): Likewise.
40132169689Skan
40133169689Skan2004-02-28  Richard Sandiford  <rsandifo@redhat.com>
40134169689Skan
40135169689Skan	* config/mips/mips.md (tstsi, tstdi): Delete.
40136169689Skan
40137169689Skan2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
40138169689Skan
40139169689Skan	* config/mips/mips.c (override_options): Remove an obsolete
40140169689Skan	duplicate definition of the "e" constraint.
40141169689Skan	* config/mips/mips.h: Update a comment accordingly.
40142169689Skan
40143169689Skan2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
40144169689Skan
40145169689Skan	* config/mips/mips.md: Complete the unfinished R4000
40146169689Skan	multiply/shift errata workaround.  Improve documentation.
40147169689Skan	(hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
40148169689Skan	has a hilo hazard.
40149169689Skan	(mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
40150169689Skan	(muldi3, muldi3_internal): Likewise.
40151169689Skan	(muldi3_internal2): Remove, replacing with...
40152169689Skan	(muldi3_mult3, muldi3_r4000): ...these new patterns.
40153169689Skan	(mulsidi3): Take the errata into account.
40154169689Skan	(mulsidi3_32bit): Remove, replacing with...
40155169689Skan	(mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
40156169689Skan	(mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
40157169689Skan	(umulsidi3): Take the errata into account.
40158169689Skan	(umulsidi3_32bit): Remove, replacing with..
40159169689Skan	(umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
40160169689Skan	(umulsi3_highpart, umulsi3_highpart_internal): Disable if
40161169689Skan	TARGET_FIX_R4000.
40162169689Skan	(smulsi3_highpart, smulsi3_highpart_internal): Likewise.
40163169689Skan	(smuldi3_highpart, umuldi3_highpart): Likewise.
40164169689Skan	* doc/invoke.texi: Document the errata workaround.
40165169689Skan
40166169689Skan2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
40167169689Skan
40168169689Skan	* config/mips/mips-protos.h (mips_idiv_insns): Declare.
40169169689Skan	* config/mips/mips.h (MASK_FIX_SB1): Bump.
40170169689Skan	(MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
40171169689Skan	(TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
40172169689Skan	* config/mips/mips.c (mips_idiv_insns): New function.
40173169689Skan	(override_options): Make -march=r4000 imply -mfix-r4000 by default.
40174169689Skan	(mips_output_division): Add a workaround for the R4000 divide/shift
40175169689Skan	errata.
40176169689Skan	* config/mips/mips.md (length): Use mips_idiv_insns() to calculate
40177169689Skan	the length of an "idiv" instruction.
40178169689Skan	* doc/invoke.texi: Document the new switches.
40179169689Skan
40180169689Skan2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
40181169689Skan
40182169689Skan	* doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
40183169689Skan	TARGET_SCHED_IS_COSTLY_DEPENDENCE.
40184169689Skan
40185169689Skan2004-02-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
40186169689Skan
40187169689Skan	PR optimization/14229
40188169689Skan	* cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
40189169689Skan
40190169689Skan2004-02-28  Eric Botcazou  <ebotcazou@act-europe.fr>
40191169689Skan
40192169689Skan	* fold-const.c (fold): Strip NOPs that change the signedness
40193169689Skan	for RSHIFT too.  Expand comment.
40194169689Skan
40195169689Skan2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
40196169689Skan
40197169689Skan	PR optimization/7871
40198169689Skan	* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
40199169689Skan	from or to call insns.
40200169689Skan
40201169689Skan2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
40202169689Skan
40203169689Skan	PR optimization/7871
40204169689Skan	* flow.c (propagate_one_insn): Interpret calls as setting global
40205169689Skan	registers, not merely clobbering them.
40206169689Skan
40207169689Skan2004-02-27  Dale Johannesen  <dalej@apple.com>
40208169689Skan
40209169689Skan	* config/darwin.c (machopic_output_possible_stub_label): Remove.
40210169689Skan	config/darwin-protos.h: Ditto.
40211169689Skan	config/darwin.h: Remove call to it.
40212169689Skan	* combine.c (distribute_notes): Do not place a REG_DEAD note
40213169689Skan	when value is both set and used.
40214169689Skan
40215169689Skan2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
40216169689Skan
40217169689Skan	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
40218169689Skan	as well.
40219169689Skan	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
40220169689Skan	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
40221169689Skan
40222169689Skan2004-02-27  Andrew Pinski  <apinski@apple.com>
40223169689Skan
40224169689Skan	* c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
40225169689Skan	Speedup common case of the type values being in the same order.
40226169689Skan
40227169689Skan2004-02-27  Steve Ellcey  <sje@cup.hp.com>
40228169689Skan
40229169689Skan	* config/ia64/ia64.h (no-inline-float-divide): New option.
40230169689Skan	* config/ia64/ia64.h (no-inline-int-divide): New option.
40231169689Skan	* config/ia64/ia64.h (no-inline-sqrt): New option.
40232169689Skan	(TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
40233169689Skan	* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
40234169689Skan	* config/ia64/ia64.c (ia64_override_options): Modify error
40235169689Skan	checking for inlined division/sqrt.
40236169689Skan
40237169689Skan2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
40238169689Skan
40239169689Skan	* bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
40240169689Skan	ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
40241169689Skan	value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
40242169689Skan	config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
40243169689Skan	copyright.
40244169689Skan
40245169689Skan2004-02-27  Paul Brook  <paul@codesourcery.com>
40246169689Skan
40247169689Skan	* function.c (assign_parms): Don't count pretend args for alignment.
40248169689Skan
40249169689Skan2004-02-27  Richard Henderson  <rth@redhat.com>
40250169689Skan
40251169689Skan	* passes.c: New file.
40252169689Skan	* Makefile.in (OBJS-common): Add it.
40253169689Skan	* diagnostic.c (rtl_dump_and_exit): Move decl ...
40254169689Skan	* flags.h (rtl_dump_and_exit): ... here.
40255169689Skan	* output.h (size_directive_output, last_assemble_variable_decl):
40256169689Skan	Move from toplev.c.
40257169689Skan	* rtl.h (reg_alloc): Move from toplev.c.
40258169689Skan	* toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
40259169689Skan	struct dump_file_info, enum dump_file_index, dump_file_tbl,
40260169689Skan	open_dump_file, close_dump_file, rest_of_decl_compilation,
40261169689Skan	rest_of_type_compilation, rest_of_handle_final,
40262169689Skan	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
40263169689Skan	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
40264169689Skan	rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
40265169689Skan	rest_of_handle_regrename, rest_of_handle_reorder_blocks,
40266169689Skan	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
40267169689Skan	rest_of_handle_tracer, rest_of_handle_if_conversion,
40268169689Skan	rest_of_handle_if_after_combine, rest_of_handle_web,
40269169689Skan	rest_of_handle_branch_prob,
40270169689Skan	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
40271169689Skan	rest_of_handle_addressof, rest_of_handle_sibling_calls,
40272169689Skan	rest_of_handle_jump_bypass, rest_of_handle_inlining,
40273169689Skan	rest_of_handle_null_pointer, rest_of_handle_combine,
40274169689Skan	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
40275169689Skan	rest_of_handle_gcse, rest_of_handle_loop_optimize,
40276169689Skan	rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
40277169689Skan	(decode_d_option): Use enable_rtl_dump_file.
40278169689Skan	(compile_file, finalize, do_compile): Move profile+combine+graph
40279169689Skan	cleanup to finish_optimization_passes.
40280169689Skan	* toplev.h (init_optimization_passes, finish_optimization_passes,
40281169689Skan	enable_rtl_dump_file): Declare.
40282169689Skan
40283169689Skan2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
40284169689Skan	    Roger Sayle  <roger@eyesopen.com>
40285169689Skan
40286169689Skan	* fold-const.c (fold): Revert 2004-02-25 change.  Use the original
40287169689Skan	operands to build a tree with swapped operands.
40288169689Skan	* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
40289169689Skan	'unsignedp' predicate to specify the signedness.
40290169689Skan
40291169689Skan2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
40292169689Skan
40293169689Skan	* c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
40294169689Skan	expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
40295169689Skan	params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
40296169689Skan	comment typos and formatting.  Follow spelling conventions.
40297169689Skan
40298169689Skan2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
40299169689Skan
40300169689Skan	* config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
40301169689Skan	fix_truncsfsi2.
40302169689Skan
40303169689Skan	* config/rs6000/spe.md: Delete spe_efsctuiz.
40304169689Skan	Add spe_fixuns_truncsfsi2.
40305169689Skan	Add spe_fix_truncsfsi2.
40306169689Skan
40307169689Skan2004-02-26  Eric Christopher  <echristo@redhat.com>
40308169689Skan
40309169689Skan	* c-lex.c (c_lex_string_translate): New variable.
40310169689Skan	(lex_string): Use to determine string translation.
40311169689Skan	* c-pragma.h: Prototype.
40312169689Skan	* c-parse.in (start_string_translation): New. Set above.
40313169689Skan	(stop_string_translation): Ditto.
40314169689Skan	(attribute, attribute_list, asm_def, asm_stmt,
40315169689Skan	asm_operand): Use above functions.
40316169689Skan	* cp/parser.c (cp_parser_declaration): Translate strings
40317169689Skan	unless token is RID_EXTERN. Set c_lex_string_translate
40318169689Skan	for recursive use.
40319169689Skan	(cp_parser_asm_definition): Only translate argument strings
40320169689Skan	to asms.
40321169689Skan	(cp_parser_asm_operand_list): Ditto.
40322169689Skan	(cp_parser_attribute_list): Do not translate attribute strings.
40323169689Skan
40324169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40325169689Skan
40326169689Skan	* stmt.c (expand_start_case_dummy): Remove.
40327169689Skan	* tree.h: Remove the corresponding prototype.
40328169689Skan
40329169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40330169689Skan
40331169689Skan	* builtins.c (apply_args_register_offset): Remove.
40332169689Skan	* tree.h: Remove the corresponding prototype.
40333169689Skan
40334169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40335169689Skan
40336169689Skan	* stor-layout.c (is_pending_size): Remove.
40337169689Skan	* tree.h: Remove the corresponding prototype.
40338169689Skan
40339169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40340169689Skan
40341169689Skan	* recog.c (validate_replace_src): Remove.
40342169689Skan	* recog.h: Remove the corresponding prototype.
40343169689Skan
40344169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40345169689Skan
40346169689Skan	* calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
40347169689Skan	MAYBE_REG_PARM_STACK_SPACE.
40348169689Skan	* function.c: Likewise.
40349169689Skan	* system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
40350169689Skan	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
40351169689Skan	* doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
40352169689Skan	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
40353169689Skan
40354169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40355169689Skan
40356169689Skan	* c-decl.c (c_expand_deferred_function): Remove.
40357169689Skan	* c-tree.h: Remove the corresponding prototype.
40358169689Skan
40359169689Skan2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
40360169689Skan
40361169689Skan	* postreload.c (reload_cse_move2add): Generate just a PLUS
40362169689Skan	instead of an entire SET.
40363169689Skan
40364169689Skan2004-02-26  Jan Hubicka  <jh@suse.cz>
40365169689Skan
40366169689Skan	* config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
40367169689Skan	/pentium4m.
40368169689Skan	* i386.c (override_options): Add support for new CPUs.
40369169689Skan	* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
40370169689Skan	(TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
40371169689Skan	constants.
40372169689Skan	* invoke.texi: Extend documentation of -mtune/-march for new CPUs.
40373169689Skan
40374169689Skan2004-02-26  Bob Wilson  <bob.wilson@acm.org>
40375169689Skan
40376169689Skan	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
40377169689Skan
40378169689Skan2004-02-26  Eric Botcazou  <ebotcazou@act-europe.fr>
40379169689Skan
40380169689Skan	* config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
40381169689Skan	(sparc_emit_fixunsdi): New prototype.
40382169689Skan	* config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
40383169689Skan	(sparc_emit_fixunsdi): New function.
40384169689Skan	* config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
40385169689Skan	operand 1.  Pass SFmode to sparc_emit_floatunsdi.
40386169689Skan	(floatunsdidf2): Use 'general_operand' for operand 1.  Pass DFmode
40387169689Skan	to sparc_emit_floatunsdi.
40388169689Skan	(fixuns_truncsfdi2): New expander.
40389169689Skan	(fixuns_truncdfdi2): Likewise.
40390169689Skan
40391169689Skan2004-02-26  Alan Modra  <amodra@bigpond.net.au>
40392169689Skan
40393169689Skan	* gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
40394169689Skan	unless HAVE_cc0.
40395169689Skan
40396169689Skan2004-02-25  Richard Henderson  <rth@redhat.com>
40397169689Skan
40398169689Skan	* explow.c (force_reg): Call mark_reg_pointer as appropriate.
40399169689Skan	* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
40400169689Skan	use (op0-op1) == 0 if op0 is a pointer.
40401169689Skan	* config/alpha/alpha.md (cmpdi): Use some_operand.
40402169689Skan	(three comparison combine splits): Remove.
40403169689Skan
40404169689Skan2004-02-25  Richard Henderson  <rth@redhat.com>
40405169689Skan
40406169689Skan	PR c/12794
40407169689Skan	* c-common.c (handle_alias_attribute): Reject the attribute if
40408169689Skan	current_function_decl is set.
40409169689Skan
40410169689Skan2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
40411169689Skan
40412169689Skan	* config.gcc: Add comment describing extra_gcc_objs.
40413169689Skan	i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
40414169689Skan	* configure.ac (extra_gcc_objs): New substitution variable.
40415169689Skan	(host_extra_gcc_objs): Don't substitute.
40416169689Skan	* configure: Regenerate.
40417169689Skan	* Makefile.in: Use extra_gcc_objs.
40418169689Skan
40419169689Skan2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
40420169689Skan
40421169689Skan	* doc/contrib.texi: Add an entry for myself.
40422169689Skan
40423169689Skan2004-02-25  Jan Hubicka  <jh@suse.cz>
40424169689Skan
40425169689Skan	* basic-block.h (make_eh_edge, break_superblocks): Declare.
40426169689Skan	* cfgbuild.c (make_eh_edge): Make global.
40427169689Skan	* cfglayout.c (break_superblocks): Likewise; fix memory leak.
40428169689Skan	* except.c (build_post_landing_pads, connect_post_landing_pads,
40429169689Skan	dw2_build_landing_pads, sjlj_emit_function_enter,
40430169689Skan	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
40431169689Skan	sjlj_build_landing_pads): Update CFG.
40432169689Skan	(emit_to_new_bb_before): New function.
40433169689Skan	(finish_eh_generation): Do not rebuild the CFG.
40434169689Skan
40435169689Skan2004-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
40436169689Skan
40437169689Skan	* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
40438169689Skan	target_cpu_default defines.
40439169689Skan	* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
40440169689Skan	* pa.h (TARGET_DEFAULT): Likewise.
40441169689Skan
40442169689Skan2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
40443169689Skan
40444169689Skan	* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
40445169689Skan	comparisons with regard to signedness.
40446169689Skan
40447169689Skan2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
40448169689Skan
40449169689Skan	* arm.c (thumb_legitimize_address): New function.
40450169689Skan	* arm-protos.h: Prototype it.
40451169689Skan	* arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
40452169689Skan	(LEGITIMIZE_ADDRESS): Use it.
40453169689Skan
40454169689Skan2004-02-25  J"orn Rennecke <joern.rennecke@superh.com>
40455169689Skan
40456169689Skan	* reload1.c (reload): Only spill eliminable register with multiple
40457169689Skan	adjacent elimination alternatives if all alternatives fail.
40458169689Skan
40459169689Skan2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
40460169689Skan
40461169689Skan	* arm.c (arm_legitimate_index_p): For QImode the range of an offset
40462169689Skan	is -4095...+4095 inclusive.
40463169689Skan
40464169689Skan2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
40465169689Skan
40466169689Skan	* doc/install.texi (sparc-sun-solaris2* specific notes): Document
40467169689Skan	the bootstrap failure with Sun CC 5.4 and 5.5.
40468169689Skan
40469169689Skan2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
40470169689Skan
40471169689Skan	* cse.c (cse_change_cc_mode_insns): Stop at any instruction
40472169689Skan	which modifies NEWREG.
40473169689Skan	(cse_condition_code_reg): Update the mode of CC_REG in
40474169689Skan	CC_SRC_INSN on our own.
40475169689Skan
40476169689Skan2004-02-24  Michael Matz  <matz@suse.de>
40477169689Skan
40478169689Skan	* config/i386/i386.c (ix86_comp_type_attributes): Check for
40479169689Skan	regparm attributes.
40480169689Skan
40481169689Skan2004-02-24  Richard Henderson  <rth@redhat.com>
40482169689Skan
40483169689Skan	* toplev.c (dump_file_tbl): Rename from dump_file.
40484169689Skan	* bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
40485169689Skan	cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
40486169689Skan	config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
40487169689Skan	config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
40488169689Skan	loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
40489169689Skan	ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
40490169689Skan	toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
40491169689Skan	s/rtl_dump_file/dump_file/g.
40492169689Skan
40493169689Skan2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
40494169689Skan
40495169689Skan	* config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
40496169689Skan	(spe_fixuns_truncsfsi2): Delete.
40497169689Skan
40498169689Skan	* config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
40499169689Skan	(fixuns_truncsfsi2): Delete.
40500169689Skan
40501169689Skan2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
40502169689Skan
40503169689Skan	PR/14240
40504169689Skan	* rtlanal.c (replace_label): Fix replacing labels in constant pool.
40505169689Skan
40506169689Skan2004-02-24  Geoffrey Keating  <geoffk@apple.com>
40507169689Skan
40508169689Skan	* config/darwin.h (TARGET_HAS_F_SETLKW): Define.
40509169689Skan
40510169689Skan2004-02-24  Jason Merrill  <jason@redhat.com>
40511169689Skan
40512169689Skan	* tree.c (check_qualified_type): New fn.
40513169689Skan	(get_qualified_type): Use it.  If type already has the desired
40514169689Skan	quals, just return it.
40515169689Skan	* tree.h: Declare it.
40516169689Skan
40517169689Skan2004-02-24  Sanjiv Kumar Gupta  <sanjivg@noida.hcltech.com>
40518169689Skan
40519169689Skan	* target-def.h (TARGET_SCHED_INIT_GLOBAL,
40520169689Skan	TARGET_SCHED_FINISH_GLOBAL): New macros.
40521169689Skan
40522169689Skan	* target.h (md_init_global, md_finish_global): Function
40523169689Skan	declarations corresponding to new target macros.
40524169689Skan
40525169689Skan	* haifa-sched.c (sched_init, sched_finish): Allow target to
40526169689Skan	call the new schedular hooks.
40527169689Skan
40528169689Skan	* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
40529169689Skan	call to update_life_info.
40530169689Skan
40531169689Skan	* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
40532169689Skan	flag_schedule_insns for SH4.
40533169689Skan
40534169689Skan	* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
40535169689Skan	find_set_regmode_weight, find_insn_regmode_weight,
40536169689Skan	find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
40537169689Skan	sh_variable_issue, high_pressure, ready_reorder,
40538169689Skan	rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
40539169689Skan	functions used to throttle the insn movement in first
40540169689Skan	scheduling pass for SH.
40541169689Skan
40542169689Skan	* doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
40543169689Skan	TARGET_SCHED_FINISH_GLOBAL.
40544169689Skan
40545169689Skan2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
40546169689Skan
40547169689Skan	Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
40548169689Skan	2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
40549169689Skan	* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
40550169689Skan	symbols in sections named by the user.
40551169689Skan	2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
40552169689Skan	* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
40553169689Skan	2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
40554169689Skan	* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
40555169689Skan	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
40556169689Skan	the above.
40557169689Skan	2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
40558169689Skan	* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
40559169689Skan	one more pseudo to further improve code generation.
40560169689Skan	2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
40561169689Skan	* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
40562169689Skan	inside UNSPEC.
40563169689Skan	2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
40564169689Skan	* config/frv/frv.c (frv_legitimate_address_p): Added
40565169689Skan	allow_double_reg_p argument.  Adjust all callers.  Use it to
40566169689Skan	decide whether to enable double-register indirect addressing.
40567169689Skan	(frv_funcdesc_alias_set): Remove.
40568169689Skan	(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
40569169689Skan	register.  Emit movdi_ldd.
40570169689Skan	(ldd_address_operand): New.
40571169689Skan	* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
40572169689Skan	* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
40573169689Skan	(PREDICATE_CODES): Add ldd_address_operand.
40574169689Skan	* config/frv/frv.md (movdi_ldd): New.
40575169689Skan	(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
40576169689Skan	intermediate computations if possible.
40577169689Skan	(symGOTOFF2reg_i): Fix harmless typo.
40578169689Skan	2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
40579169689Skan	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
40580169689Skan	relocated p_vaddr to vaddr type.
40581169689Skan	* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
40582169689Skan	* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
40583169689Skan	(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
40584169689Skan	MEM, or use a funcdesc alias set.  Use regular move instead of
40585169689Skan	ldd.
40586169689Skan	(dbl_memory_one_insn_operand): Recognize function descriptors by
40587169689Skan	type or by alias set, and don't split them.
40588169689Skan	* config/frv/frv.md (call, call_value): Never use call_internal
40589169689Skan	for fdpic.
40590169689Skan	(call_internal, call_value_internal): Never match for FDPIC.
40591169689Skan	(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
40592169689Skan	call_value_fdpicsi): Require FDPIC.
40593169689Skan	(ldd): Removed.
40594169689Skan	2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
40595169689Skan	* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
40596169689Skan	* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
40597169689Skan	(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
40598169689Skan	FDPIC.  Compute data base address.
40599169689Skan	* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
40600169689Skan	before the other self-specs are processed.
40601169689Skan	* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
40602169689Skan	Build with -fPIC.
40603169689Skan	2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
40604169689Skan	* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
40605169689Skan	inhibit_libc is defined.
40606169689Skan	2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
40607169689Skan	* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
40608169689Skan	__FRV_FDPIC__.
40609169689Skan	(__RELOC_POINTER): Define.
40610169689Skan	(_Unwind_IteratePhdrCallback): Use it.
40611169689Skan	* config/frv/frv.h (Twrite): Define.
40612169689Skan	(TRANSFER_FROM_TRAMPOLINE): Use it.
40613169689Skan	* config/frv/linux.h (INVOKE__main): Undefine.
40614169689Skan	(Twrite): Override.
40615169689Skan	2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
40616169689Skan	* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
40617169689Skan	(-mlibrary-pic): Emphasize that this option generates EABI code.
40618169689Skan	(-mcpu): Add fr550.
40619169689Skan	(-mpack): Remove.
40620169689Skan	2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
40621169689Skan	* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
40622169689Skan	and CONSTs in FDPIC mode.
40623169689Skan	* config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
40624169689Skan	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
40625169689Skan	* config/frv/frv.c (move_source_operand): Don't accept symbolic
40626169689Skan	constants.
40627169689Skan	* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
40628169689Skan	rather than 'i' constraint for the 2-instruction alternative.
40629169689Skan	(*movsi_2word): New, incorporating existing int_2word_operand splitter.
40630169689Skan	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
40631169689Skan	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
40632169689Skan	EXTRA_CONSTRAINT_FOR_Y.
40633169689Skan	(EXTRA_CONSTRAINT): Remove handling of 'Y'.
40634169689Skan	* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
40635169689Skan	(addsi3): Change 'Y' constraint to 'Q'.
40636169689Skan	2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
40637169689Skan	* reload.c (CONST_POOL_OK_P): New macro.
40638169689Skan	(find_reloads): Use it to decide whether a constant can be forced
40639169689Skan	into memory.
40640169689Skan	* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
40641169689Skan	constant satisfies got12_operand.
40642169689Skan	(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
40643169689Skan	(frv_legitimate_address_p): Check for valid unspec offsets using
40644169689Skan	got12_operand rather than frv_legitimate_fdpic_operand_p.
40645169689Skan	(frv_legitimate_fdpic_operand_p): Delete.
40646169689Skan	(frv_emit_movsi): Abort if we try to use the FDPIC register during
40647169689Skan	or after reload.
40648169689Skan	(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
40649169689Skan	TARGET_FDPIC.
40650169689Skan	* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
40651169689Skan	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
40652169689Skan	* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
40653169689Skan	(frv_fdpic_fptr_operand): Don't declare here.
40654169689Skan	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
40655169689Skan	rather than fdpic_got12_operand.
40656169689Skan	(PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
40657169689Skan	got12_operand and const_unspec_operand.
40658169689Skan	* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
40659169689Skan	(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
40660169689Skan	(symbolic_operand): Remove.
40661169689Skan	(const_unspec_operand): New predicate.
40662169689Skan	* config/frv/frv.md (*movsi_got): Use got12_operand.
40663169689Skan	(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
40664169689Skan	2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
40665169689Skan	* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
40666169689Skan	* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
40667169689Skan	* config/frv/frv.c (frv_unspec): New structure.
40668169689Skan	(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
40669169689Skan	(frv_print_operand_memory_reference): Use frv_const_unspec_p to
40670169689Skan	validate CONST indices.  Use frv_output_const_unspec to print them.
40671169689Skan	(frv_print_operand): Update call to unspec_got_name.  Use
40672169689Skan	frv_output_const_unspec to print constant unspecs.
40673169689Skan	(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
40674169689Skan	Reject UNSPECs otherwise.
40675169689Skan	(unspec_got_name): Take the relocation number as argument, not an
40676169689Skan	rtx containing it.
40677169689Skan	(frv_output_addr_const_extra): Remove, replacing with...
40678169689Skan	(frv_output_const_unspec): ...this new function.
40679169689Skan	(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
40680169689Skan	(gpr_or_int12_operand): Use fdpic_got12_operand.
40681169689Skan	(dbl_memory_one_insn_operand): Likewise.
40682169689Skan	(fdpic_got12_operand): Use frv_const_unspec_p.
40683169689Skan	(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
40684169689Skan	are already legitimate.  Use frv_small_data_reloc_p when deciding
40685169689Skan	whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
40686169689Skan	2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
40687169689Skan	* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
40688169689Skan	* config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
40689169689Skan	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
40690169689Skan	label, for real this time.
40691169689Skan	* config/frv/frv.c (frv_local_funcdesc_p): Update to new
40692169689Skan	representation of visibility.
40693169689Skan	(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
40694169689Skan	such.
40695169689Skan	2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
40696169689Skan	* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
40697169689Skan	(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
40698169689Skan	* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
40699169689Skan	it was explicitly disabled.
40700169689Skan	(frv_stack_info): There is no need to save the link register in every
40701169689Skan	frame unless TARGET_LINKED_FP is true.
40702169689Skan	(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
40703169689Skan	frame pointer if the stack pointer might change value.
40704169689Skan	(frv_return_addr_rtx): Check and process "count" argument.
40705169689Skan	2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
40706169689Skan	* config/frv/frv-protos.h (frv_legitimize_address): Remove.
40707169689Skan	(frv_find_base_term): Declare.
40708169689Skan	* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
40709169689Skan	(FIND_BASE_TERM): Define.
40710169689Skan	(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
40711169689Skan	small_data_register_operand, small_data_symbolic_operand.  Add
40712169689Skan	symbolic_operand.
40713169689Skan	* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
40714169689Skan	(frv_print_operand_memory_reference, output_move_single): Remove
40715169689Skan	special handling for unlegitimized sdata addresses.
40716169689Skan	(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
40717169689Skan	and symbolic addresses.
40718169689Skan	(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
40719169689Skan	(frv_find_base_term): New function.
40720169689Skan	(int_2word_operand): Check specifically for symbolic address constants.
40721169689Skan	(pic_register_operand, pic_symbolic_operand): Delete.
40722169689Skan	(small_data_register_operand, small_data_symbolic_operand): Delete.
40723169689Skan	(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
40724169689Skan	Allow UNSPEC_GOT constants if !TARGET_FDPIC.
40725169689Skan	(move_source_operand): Only accept CONSTs if they're a two-insn
40726169689Skan	symbolic constant.
40727169689Skan	(fdpic_got12_operand): Don't require TARGET_FDPIC.
40728169689Skan	(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
40729169689Skan	using gen_symGOTOFF2reg*.
40730169689Skan	(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
40731169689Skan	(frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
40732169689Skan	themselves a cost of 3 insns.
40733169689Skan	* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
40734169689Skan	Change predicate to symbolic_operand.
40735169689Skan	(*movsi_high_got, *movsi_lo_sum_got): Likewise.
40736169689Skan	(*movsi_lda_sdata): Delete.
40737169689Skan	(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
40738169689Skan	2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
40739169689Skan	* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
40740169689Skan	frv-*-*linux*.
40741169689Skan	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
40742169689Skan	label.
40743169689Skan	* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
40744169689Skan	-multilib-library-pic.
40745169689Skan	(LINK_SPEC): Add -z text for -mfdpic.
40746169689Skan	* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
40747169689Skan	* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
40748169689Skan	* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
40749169689Skan	Override.
40750169689Skan	(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
40751169689Skan	FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
40752169689Skan	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
40753169689Skan	crtstuff-generated files.
40754169689Skan	2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
40755169689Skan	* config.gcc: Add frv-*-*linux*.
40756169689Skan	* config/frv/linux.h, config/frv/t-linux: New.
40757169689Skan	2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
40758169689Skan	* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
40759169689Skan	when -mfdpic even if a linker script is explicitly listed.
40760169689Skan	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
40761169689Skan	* config/frv/frv.c (frv_override_options): Clear asm_out
40762169689Skan	unaligned_op for SImode on FDPIC.
40763169689Skan	(frv_emit_movsi): Use compute_reloc_for_constant to compute the
40764169689Skan	argument passed to decl_readonly_section.
40765169689Skan	(frv_assemble_integer): Revert 2003-09-30's change, but make the
40766169689Skan	whole block run with FDPIC even with -fno-PIC.
40767169689Skan	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
40768169689Skan	* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
40769169689Skan	symbol or label plus offset to memory.
40770169689Skan	(frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
40771169689Skan	GOTOFF and GPREL for LABEL_REF.
40772169689Skan	* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
40773169689Skan	-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
40774169689Skan	(MASK_GPREL_RO, TARGET_GPREL_RO): New.
40775169689Skan	(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
40776169689Skan	* doc/invoke.texi: Document them.
40777169689Skan	2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
40778169689Skan	* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
40779169689Skan	(frv_splittable_got_operand): Removed.
40780169689Skan	* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
40781169689Skan	LO_SUM.  Add comments.
40782169689Skan	(frv_override_options): Moved enabling of FDPIC to
40783169689Skan	DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
40784169689Skan	(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
40785169689Skan	(frv_legitimize_fdpic_address): Don't duplicate logic in
40786169689Skan	frv_emit_movsi.
40787169689Skan	(frv_gen_GPsym2reg): New.
40788169689Skan	(unspec_got_name): Added gprel.
40789169689Skan	(frv_expand_fdpic_call): Add support for inlining PLTs.
40790169689Skan	(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
40791169689Skan	(gpr_or_int12_operand): Added GPREL12.
40792169689Skan	(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
40793169689Skan	(small_data_symbolic_operand): Fail if FDPIC.
40794169689Skan	(fdpic_splittable_got_operand): Removed.
40795169689Skan	(fdpic_got12_operand): Added GPREL12.
40796169689Skan	(frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
40797169689Skan	when appropriate.  Fix sdata GOTOFF.
40798169689Skan	(frv_legitimate_constant_p): Require legitimate PIC operand for
40799169689Skan	FDPIC with pic, but only a legitimate fdpic operand for non-pic.
40800169689Skan	(frv_assemble_integer): Move FDPIC funcdesc handling out of
40801169689Skan	flag_pic case.
40802169689Skan	(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
40803169689Skan	frv_assemble_integer fails.
40804169689Skan	* config/frv/frv.h (DRIVER_SELF_SPECS): New.
40805169689Skan	(SUBTARGET_DRIVER_SELF_SPECS): New.
40806169689Skan	(ASM_SPEC): Don't pass -mno-fdpic.
40807169689Skan	(LINK_SPEC): Pass -melf32frvfd for FDPIC.
40808169689Skan	(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
40809169689Skan	(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
40810169689Skan	-multilib-library-pic.
40811169689Skan	(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
40812169689Skan	condexec_si_media_operator, condexec_sf_add_operator and
40813169689Skan	condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
40814169689Skan	and condexec_sf_unary_operator.
40815169689Skan	* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
40816169689Skan	New.
40817169689Skan	(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
40818169689Skan	movsi_internal.  Give them internal names.  movsi_got has type
40819169689Skan	int.
40820169689Skan	(fdpic got splitters): Remove.
40821169689Skan	(symGPREL2reg, symGPREL2reg_hilo): New.
40822169689Skan	* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
40823169689Skan	to -mlibrary-pic.  Map -multilib-library-pic to it.
40824169689Skan	* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
40825169689Skan	Document.
40826169689Skan	2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
40827169689Skan	* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
40828169689Skan	(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
40829169689Skan	(frv_cannot_force_const_mem): New function.
40830169689Skan	(const_small_data_p, plus_small_data_p): Update comments on sdata
40831169689Skan	on FDPIC.
40832169689Skan	(frv_override_options): Set flag_pie for FDPIC too.
40833169689Skan	(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
40834169689Skan	call-saved registers on FDPIC.
40835169689Skan	(frv_stack_info): Don't preserve the PIC register on FDPIC, and
40836169689Skan	don't force LR to be preserved.
40837169689Skan	(frv_expand_prologue): Likewise.
40838169689Skan	(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
40839169689Skan	(frv_frame_pointer_required): Don't force it just because the
40840169689Skan	FDPIC register is used.
40841169689Skan	(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
40842169689Skan	operand only if !condexec_p.
40843169689Skan	(frv_legitimize_address): Return the FDPIC-legitimized address.
40844169689Skan	Don't match small data here on FDPIC.
40845169689Skan	(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
40846169689Skan	symbols.  Use TRUE/FALSE instead of 1/0.
40847169689Skan	(frv_local_funcdesc_p): New.
40848169689Skan	(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
40849169689Skan	immediates when possible.
40850169689Skan	(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
40851169689Skan	(dbl_memory_one_insn_operand): Accept addresses that add a REG and
40852169689Skan	an UNSPEC_GOT.
40853169689Skan	(frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
40854169689Skan	12-bit immediates when possible.
40855169689Skan	(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
40856169689Skan	are not legitimate pic operands.
40857169689Skan	(frv_in_small_data_p): Re-enable for FDPIC.
40858169689Skan	* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
40859169689Skan	(FRV_GLOBAL_P): Removed.
40860169689Skan	* config/frv/frv.md: Add modes to CONSTs.
40861169689Skan	(movsi_got): New.
40862169689Skan	(movsi_lo_sum_got): Use separate matches instead of match_dup.
40863169689Skan	(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
40864169689Skan	(fdpic splittable operations): Match on flag_pic != 1.
40865169689Skan	2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
40866169689Skan	* config/frv/frv.c (frv_asm_out_constructor,
40867169689Skan	frv_asm_out_destructor): Pass to frv_assemble_integer the size in
40868169689Skan	bytes, not bits.
40869169689Skan	2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
40870169689Skan	* config/frv/frv.c (frv_assemble_integer): Reject complex
40871169689Skan	expressions referencing function SYMBOL_REFs.
40872169689Skan	* config/frv/frv.c (frv_function_symbol_referenced_p): New.
40873169689Skan	(move_source_operand): Reject CONSTs that reference function
40874169689Skan	SYMBOL_REFs on FDPIC.
40875169689Skan	(frv_emit_movsi): If we get such a CONST, break it up.
40876169689Skan	* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
40877169689Skan	(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
40878169689Skan	* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
40879169689Skan	MEM.
40880169689Skan	(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
40881169689Skan	(frv_trampoline_size): Increase for FDPIC.
40882169689Skan	* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
40883169689Skan	(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
40884169689Skan	* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
40885169689Skan	Disable use of GOTOFF for now.
40886169689Skan	(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
40887169689Skan	Disable use of small data in FDPIC for now.
40888169689Skan	(frv_asm_output_mi_thunk): Implement for FDPIC.
40889169689Skan	* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
40890169689Skan	* config/frv/frv.c (frv_asm_out_constructor): Use
40891169689Skan	frv_assemble_integer for FDPIC pointers.
40892169689Skan	(frv_asm_out_destructor): Likewise.
40893169689Skan	* config/frv/frv.md (ldd): Fix order of operands.  Use
40894169689Skan	address_operand for input.
40895169689Skan	2003-09-18  DJ Delorie  <dj@redhat.com>
40896169689Skan	* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
40897169689Skan	(unspec_got_name): Correct typo.
40898169689Skan	(frv_emit_movsi): Pre-expand splittable GOTs.
40899169689Skan	(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
40900169689Skan	* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
40901169689Skan	(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
40902169689Skan	* config/frv/t-frv: Add -mfdpic multilibs.
40903169689Skan	* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
40904169689Skan	(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
40905169689Skan	* config/frv/frv.c (frv_override_options): -mfdpic assumes
40906169689Skan	flag_pic, default to 32-bit pics, require DWORD ops.
40907169689Skan	(frv_override_options): Add W and Z constraints.
40908169689Skan	(frv_expand_prologue): No pic prologue for -mfdpic.
40909169689Skan	(frv_asm_output_mi_thunk): Support -mfdpic (soon).
40910169689Skan	(frv_print_operand_memory_reference): Handle GOT constants.
40911169689Skan	(frv_legitimate_address_p): Allow GOT constants.
40912169689Skan	(frv_legitimize_address): Handle GOT addresses too.
40913169689Skan	(frv_legitimate_fdpic_operand_p): New.
40914169689Skan	(frv_legitimize_fdpic_address): New.
40915169689Skan	(unspec_got_name): New.
40916169689Skan	(frv_output_addr_const_extra): New.
40917169689Skan	(frv_expand_fdpic_call): New.
40918169689Skan	(frv_fdpic_fptr_operand): New.
40919169689Skan	(gpr_or_int12_operand): Handle GOT operands.
40920169689Skan	(int_2word_operand): Handle GOT operands.
40921169689Skan	(fdpic_operand): New.
40922169689Skan	(fdpic_splittable_got_operand): New.
40923169689Skan	(fdpic_got12_operand): New.
40924169689Skan	(frv_emit_movsi): Handle GOT operands.
40925169689Skan	(frv_assemble_integer): -mfdpic doesn't use rofixups.
40926169689Skan	(frv_print_operand): Support 'g' code for GOT operands.
40927169689Skan	* config/frv/frv-protos.h: Add prototypes as needed.
40928169689Skan	* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
40929169689Skan	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
40930169689Skan	R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
40931169689Skan	R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
40932169689Skan	R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
40933169689Skan	R_FRV_GOTOFFLO): New.
40934169689Skan	(movsi_high_got, movsi_lo_sum_got): New.
40935169689Skan	(*movsi_pic): Don't use this splitter for -mfdpic.
40936169689Skan	(addsi3): Allow GOT references also.
40937169689Skan	(call, call_value): Handle -mfdpic separately.
40938169689Skan	(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
40939169689Skan	call_value_fdpicsi): New.
40940169689Skan	(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
40941169689Skan	symGOTOFF2reg_i): New.
40942169689Skan	* config/frv/frv.h (MASK_FDPIC): New.
40943169689Skan	(TARGET_FDPIC): New.
40944169689Skan	(TARGET_SWITCHES): Add -mfdpic.
40945169689Skan	(FDPIC_FPTR_REGNO): New.
40946169689Skan	(FDPIC_REGNO): New.
40947169689Skan	(OUR_FDPIC_REG): New.
40948169689Skan	(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
40949169689Skan	FDPIC_CALL_REGS.
40950169689Skan	(REG_CLASS_NAMES): Likewise.
40951169689Skan	(REG_CLASS_CONTENTS): Likewise.
40952169689Skan	(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
40953169689Skan	(EXTRA_CONSTRAINT): Add it here.
40954169689Skan	(FRV_GLOBAL_P): New.
40955169689Skan	(OUTPUT_ADDR_CONST_EXTRA): New.
40956169689Skan
40957169689Skan2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
40958169689Skan
40959169689Skan	* config/sparc/sparc.h: Remove commented-out definitions of
40960169689Skan	TARGET_EDOM and GEN_ERRNO_RTX.
40961169689Skan
40962169689Skan2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
40963169689Skan
40964169689Skan	* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
40965169689Skan	df_analyse with df_analyze.
40966169689Skan
40967169689Skan2004-02-24  Alan Modra  <amodra@bigpond.net.au>
40968169689Skan
40969169689Skan	* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
40970169689Skan	beginning of block.
40971169689Skan
40972169689Skan2004-02-23  James E Wilson  <wilson@specifixinc.com>
40973169689Skan
40974169689Skan	* calls.c (precompute_arguments): Update comment.
40975169689Skan
40976169689Skan2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
40977169689Skan
40978169689Skan	* et-forest.c: Replace et_occurences with et_occurrences.
40979169689Skan
40980169689Skan2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
40981169689Skan
40982169689Skan	* cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
40983169689Skan	with iv_analyze.
40984169689Skan
40985169689Skan2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
40986169689Skan
40987169689Skan	* config/i386/i386.c: Rename pni to sse3.
40988169689Skan	* config/i386/i386.h: Likewise.
40989169689Skan	* config/i386/i386.md: Likewise.
40990169689Skan	* config/i386/pmmintrin.h: Likewise.
40991169689Skan	* doc/extend.texi: Likewise.
40992169689Skan	* doc/invoke.texi: Likewise.
40993169689Skan
40994169689Skan2004-02-23  Zack Weinberg  <zack@codesourcery.com>
40995169689Skan	    Kazu Hirata  <kazu@cs.umass.edu>
40996169689Skan
40997169689Skan	Remove -fwritable-strings.
40998169689Skan	* c-common.c (fix_string_type): Don't check
40999169689Skan	flag_writable_strings.
41000169689Skan	(fix_string_type): Likewise.
41001169689Skan	* c-opts.c (set_std_c89): Don't initialize
41002169689Skan	flag_writable_strings.
41003169689Skan	(set_std_c99): Likewise.
41004169689Skan	* common.opt (fwritable-strings): Remove.
41005169689Skan	* flags.h: Remove the external declaration of
41006169689Skan	flag_writable_strings.
41007169689Skan	* opts.c (common_handle_option) <OPT_fwritable_strings>:
41008169689Skan	Remove.
41009169689Skan	* toplev.c (flag_writable_strings): Remove.
41010169689Skan	(f_options): Remove an entry for writable-strings.
41011169689Skan	* varasm.c (const_hash_1) <STRING_CST>: Don't check
41012169689Skan	flag_writable_strings.
41013169689Skan	(compare_constant) <STRING_CST>: Likewise.
41014169689Skan	(build_constant_desc): Likewise.
41015169689Skan	* config/darwin.c (machopic_select_section): Likewise.
41016169689Skan	* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
41017169689Skan	* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
41018169689Skan	* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
41019169689Skan	* config/mips/mips.c (mips_select_section): Likewise.
41020169689Skan	(mips_encode_section_info): Likewise.
41021169689Skan	* config/pa/pa.c (pa_select_section): Likewise.
41022169689Skan	* config/pa/pa.h (TEXT_SPACE_P): Likewise.
41023169689Skan	* config/v850/v850.c (v850_select_section): Likewise.
41024169689Skan	* doc/invoke.texi (-fwritable-strings): Remove.
41025169689Skan	(-fno-const-strings): Don't mention -fwritable-strings.
41026169689Skan	* doc/trouble.texi: Don't mention -fwritable-strings.
41027169689Skan
41028169689Skan2004-02-23  Nathanael Nerode  <neroden@gcc.gnu.org>
41029169689Skan
41030169689Skan	* doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
41031169689Skan
41032169689Skan2004-02-23  Dale Johannesen  <dalej@apple.com>
41033169689Skan
41034169689Skan	* config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
41035169689Skan	(movdf_hardfloat64): Ditto.
41036169689Skan	(movdf_softfloat64): Ditto.
41037169689Skan
41038169689Skan2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
41039169689Skan	* config/rs6000/rs6000.c (function_arg): call to
41040169689Skan	rs6000_mixed_function_arg for DFmode moved to allow
41041169689Skan	normal DFmode incoming register assignment.
41042169689Skan
41043169689Skan2004-02-23  Dale Johannesen  <dalej@apple.com>
41044169689Skan
41045169689Skan	* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
41046169689Skan	(movdf_hardfloat64): Ditto.
41047169689Skan
41048169689Skan2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
41049169689Skan
41050169689Skan	* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
41051169689Skan	config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
41052169689Skan	copyright.
41053169689Skan
41054169689Skan2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
41055169689Skan
41056169689Skan	PR c/14156
41057169689Skan	* c-typeck.c (c_expand_return): Change check for VAR_DECL
41058169689Skan	to use DECL_P instead.
41059169689Skan
41060169689Skan	* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
41061169689Skan	* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
41062169689Skan
41063169689Skan2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
41064169689Skan
41065169689Skan	* Makefile.in (opts.o): Depend on target.h.
41066169689Skan	* opts.c (decode_options): Use targetm.default_short_enums
41067169689Skan	instead of DEFAULT_SHORT_ENUMS.
41068169689Skan	* system.h (DEFAULT_SHORT_ENUMS): Poison.
41069169689Skan	* target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
41070169689Skan	(TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
41071169689Skan	* target.h (gcc_target): Add default_short_enums.
41072169689Skan	* config/cris/cris.h: Remove a comment about
41073169689Skan	DEFAULT_SHORT_ENUMS.
41074169689Skan	* config/ip2k/ip2k.h: Likewise.
41075169689Skan	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
41076169689Skan	TARGET_DEFAULT_SHORT_ENUMS.  Update the description.
41077169689Skan
41078169689Skan2004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
41079169689Skan	    Falk Hueffner  <falk@debian.org>
41080169689Skan
41081169689Skan	PR c/14188
41082169689Skan	* builtins.c (expand_builtin_va_arg): Emit an informative message
41083169689Skan	if a trap is generated.
41084169689Skan	* c-typeck.c (build_function_call): Likewise.
41085169689Skan
41086169689Skan2004-02-22  Jakub Jelinek  <jakub@redhat.com>
41087169689Skan
41088169689Skan	* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
41089169689Skan	fopen.
41090169689Skan	* libgcov.c: Include sys/stat.h.
41091169689Skan	* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
41092169689Skan	* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
41093169689Skan	* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
41094169689Skan	* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
41095169689Skan
41096169689Skan2004-02-22  Kazu Hirata  <kazu@cs.umass.edu>
41097169689Skan
41098169689Skan	* reorg.c: Remove comments about dead ports.
41099169689Skan
41100169689Skan2004-02-22  Christopher Faylor  <cgf@redhat.com>
41101169689Skan
41102169689Skan	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
41103169689Skan	extra host object file when targetting cygwin rather than generic
41104169689Skan	object files.
41105169689Skan
41106169689Skan2004-02-22  Josef Zlomek  <zlomekj@suse.cz>
41107169689Skan
41108169689Skan	Merge from tree-ssa:
41109169689Skan	2003-11-20  Richard Henderson  <rth@redhat.com>
41110169689Skan
41111169689Skan		* tree-inline.c (insert_decl_map): New.
41112169689Skan		(remap_decl, remap_type, remap_block, copy_body_r,
41113169689Skan		initialize_inlined_parameters, declare_return_variable,
41114169689Skan		remap_save_expr): Use it.
41115169689Skan
41116169689Skan	* function.c (copy_body_r): Add mapping from id->ret_label to
41117169689Skan	id->ret_label.  Revert test for ret_label.
41118169689Skan
41119169689Skan2004-02-22  Jakub Jelinek  <jakub@redhat.com>
41120169689Skan
41121169689Skan	* genoutput.c (process_template): Strip trailing whitespace in @
41122169689Skan	templates and issue a warning if there was any.
41123169689Skan
41124169689Skan2004-02-21  Christopher Faylor  <cgf@redhat.com>
41125169689Skan
41126169689Skan	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
41127169689Skan	object file when targetting cygwin.
41128169689Skan	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
41129169689Skan	overridden by top-level Makefile.
41130169689Skan
41131169689Skan2004-02-21  Roger Sayle  <roger@eyesopen.com>
41132169689Skan
41133169689Skan	* config/i386/i386.c (standard_80387_constant_p): Also prefer
41134169689Skan	the x87's load constant instructions when optimizing for size.
41135169689Skan
41136169689Skan2004-02-21  Kazu Hirata  <kazu@cs.umass.edu>
41137169689Skan
41138169689Skan	* combine.c (SHIFT_COUNT_TRUNCATED): Remove.
41139169689Skan	* defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
41140169689Skan	* expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
41141169689Skan	* fold-const.c: Likewise.
41142169689Skan	* simplify-rtx.c: Likewise.
41143169689Skan
41144169689Skan2004-02-21  Alan Modra  <amodra@bigpond.net.au>
41145169689Skan
41146169689Skan	* combine.c (can_combine_p): Don't ignore SETs marked with
41147169689Skan	REG_EH_REGION notes.
41148169689Skan	(try_combine): When attemting to fix unrecognized insns, don't
41149169689Skan	split a PARALLEL that contains the original i2.
41150169689Skan
41151169689Skan2004-02-21  Ziemowit Laski  <zlaski@apple.com>
41152169689Skan
41153169689Skan	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
41154169689Skan	SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
41155169689Skan	* config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
41156169689Skan	* config/rs6000/altivec.h: #error out if '-maltivec' not specified.
41157169689Skan	(vector, pixel, bool): #define to __vector, __pixel and __bool.
41158169689Skan	(__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
41159169689Skan	portion of header.
41160169689Skan	(__altivec_link_error_invalid_argument): Remove prototype; will use
41161169689Skan	__builtin_altivec_compiletime_error("vec_*") instead.
41162169689Skan	(vec_*): Fix/complete set of available operation overloads given the
41163169689Skan	existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
41164169689Skan	cv-correctness of pointer arguments; in C, always check for correct
41165169689Skan	argument types before macro expansion.
41166169689Skan	* config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
41167169689Skan	defining Darwin/PowerPC-specific '-f[no-]altivec' and
41168169689Skan	'-W[no-]altivec-long-deprecated' switches.
41169169689Skan	* config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
41170169689Skan	'__vector', '__pixel' and '__bool' macros using
41171169689Skan	'__attribute__((altivec(...)))' types.
41172169689Skan	* config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
41173169689Skan	bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
41174169689Skan	bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
41175169689Skan	New type nodes.
41176169689Skan	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
41177169689Skan	handling '-W[no-]altivec-long-deprecated'.
41178169689Skan	(rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
41179169689Skan	(rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
41180169689Skan	altivec_expand_dst_builtin): Remove casts from integer literals.
41181169689Skan	(altivec_expand_builtin): Likewise; handle expansion of new
41182169689Skan	'__builtin_altivec_compiletime_error' function.
41183169689Skan	(rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
41184169689Skan	types, and make them distinct from other vector types; register
41185169689Skan	'__builtin_altivec_compiletime_error' function.
41186169689Skan	(print_operand): For 'P', print a full target register name instead of
41187169689Skan	merely its number.
41188169689Skan	(rs6000_attribute_table): Add "altivec" attribute.
41189169689Skan	(rs6000_handle_altivec_attribute): New function.
41190169689Skan	* config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
41191169689Skan	'-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
41192169689Skan	maps to).
41193169689Skan	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
41194169689Skan	declare.
41195169689Skan	(ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
41196169689Skan
41197169689Skan2004-02-20  James E Wilson  <wilson@specifixinc.com>
41198169689Skan
41199169689Skan	* config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
41200169689Skan	check.
41201169689Skan	(shift_mix4left+2): Delete redundant pattern.
41202169689Skan
41203169689Skan2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
41204169689Skan
41205169689Skan	* alias.c (OUTGOING_REGNO): Don't define the default.
41206169689Skan	* builtins.c (OUTGOING_REGNO): Likewise.
41207169689Skan	(INCOMING_REGNO): Likewise.
41208169689Skan	(apply_args_register_offset): Always use OUTGOING_REGNO.
41209169689Skan	* combine.c (OUTGOING_REGNO): Likewise.
41210169689Skan	* sibcall.c (OUTGOING_REGNO): Likewise.
41211169689Skan	* defaults.h (INCOMING_REGNO): Provide the default.
41212169689Skan	(OUTGOING_REGNO): Likewise.
41213169689Skan
41214169689Skan2004-02-21  Jan Hubicka  <jh@suse.cz>
41215169689Skan
41216169689Skan	* params.def (max-peeled-insns, max-completely-peeled-insns,
41217169689Skan	max-once-peeled-insns): Set to 400.
41218169689Skan
41219169689Skan2004-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
41220169689Skan
41221169689Skan	PR c++/12007
41222169689Skan	* dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
41223169689Skan	are set for parameters before outputing debugging information.
41224169689Skan
41225169689Skan2004-02-20  Falk Hueffner  <falk@debian.org>
41226169689Skan
41227169689Skan	PR target/14201
41228169689Skan	* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
41229169689Skan	numbers.
41230169689Skan
41231169689Skan2004-02-20  Per Bothner  <per@bothner.com>
41232169689Skan
41233169689Skan	* input.h: Don't #include line-map.h.  It may cause link problems
41234169689Skan	with undefined linemap_line_start when line-map.h is included but
41235169689Skan	line-map.o is not linked, as currently happens with gengtype on
41236169689Skan	compilers that don't support inline.
41237169689Skan	* toplev.c: So we do have to explicitly #include line-map.h here.
41238169689Skan
41239169689Skan2004-02-20  Richard Henderson  <rth@redhat.com>
41240169689Skan
41241169689Skan	* doc/invoke.texi: Add -Wvariadic-macros.
41242169689Skan
41243169689Skan2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
41244169689Skan
41245169689Skan	* haifa-sched.c (sched_emit_insn): Remove.
41246169689Skan	* sched-int.h: Remove the corresponding prototype.
41247169689Skan
41248169689Skan2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
41249169689Skan
41250169689Skan	Revert:
41251169689Skan	2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41252169689Skan	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
41253169689Skan	* system.h (DEFAULT_SHORT_ENUMS): Poison.
41254169689Skan	* config/cris/cris.h: Remove a comment about
41255169689Skan	DEFAULT_SHORT_ENUMS.
41256169689Skan	* config/ip2k/ip2k.h: Likewise.
41257169689Skan	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
41258169689Skan
41259169689Skan2004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
41260169689Skan	    Tom Tromey  <tromey@redhat.com>
41261169689Skan
41262169689Skan	* doc/install.texi: Moved --disable-libgcj and
41263169689Skan	--with-system-zlib documentation to new section for
41264169689Skan	Java-specific options.
41265169689Skan	Added explicit Cross-Compiler-Specific Options subheading.
41266169689Skan	Added section for Java-specific options.
41267169689Skan
41268169689Skan2004-02-20  Matt Kraai  <kraai@alumni.cmu.edu>
41269169689Skan
41270169689Skan	* doc/install.texi (Building the Ada compiler): Remove
41271169689Skan	example.
41272169689Skan
41273169689Skan2004-02-20  James E Wilson  <wilson@specifixinc.com>
41274169689Skan
41275169689Skan	* toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
41276169689Skan
41277169689Skan2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
41278169689Skan
41279169689Skan	* gcc.c (process_command): Allow translation of the copyright
41280169689Skan	symbol but not the rest of the copyright message.
41281169689Skan	* gcov.c (print_version): Likewise.  Allow translation of the
41282169689Skan	message about warranty.
41283169689Skan
41284169689Skan2004-02-20  Hans-Peter Nilsson  <hp@axis.com>
41285169689Skan
41286169689Skan	* config/cris/cris.md ("*andsi_movu"): Correct parentheses in
41287169689Skan	predicate.
41288169689Skan	("*andsi_clear"): Tweak constraints to not match postincrement.
41289169689Skan	Adjust the predicate to exclude a volatile memory reference.
41290169689Skan	("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
41291169689Skan	("*andhi_clear_unsigned"): Remove, non-matching pattern.
41292169689Skan
41293169689Skan2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
41294169689Skan
41295169689Skan	* move-if-change: Remove.
41296169689Skan	* Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
41297169689Skan	(s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
41298169689Skan	(s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
41299169689Skan	(s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
41300169689Skan	(s-gtyp-gen, s-iov): Use the top level move-if-change.
41301169689Skan	* objc/Make-lang.in (objc/objc-parse.y): Likewise.
41302169689Skan
41303169689Skan2004-02-19  James E Wilson  <wilson@specifixinc.com>
41304169689Skan
41305169689Skan	* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
41306169689Skan	for operand2.  Add condition that requires register_operand operand2
41307169689Skan	before reload.
41308169689Skan
41309169689Skan2004-02-19  Richard Sandiford  <rsandifo@redhat.com>
41310169689Skan	    Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
41311169689Skan
41312169689Skan	* config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
41313169689Skan	* config/mips/mips.md: Expand comment above unaligned loads and stores.
41314169689Skan
41315169689Skan2004-02-19  Richard Henderson  <rth@redhat.com>
41316169689Skan
41317169689Skan	* Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
41318169689Skan	* tree.c (build0, build1, build2, build3, build4): Split out from...
41319169689Skan	(build): ... here.  Call them.
41320169689Skan	* tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
41321169689Skan
41322169689Skan	* convert.c (convert_to_integer): Remove extra build argument.
41323169689Skan	* tree-inline.c (expand_call_inline): Likewise.
41324169689Skan
41325169689Skan2004-02-19  Richard Henderson  <rth@redhat.com>
41326169689Skan
41327169689Skan	* c-opts.c (warn_variadic_macros): New.
41328169689Skan	(c_common_handle_option): Set it.
41329169689Skan	(sanitize_cpp_opts): Copy it to cpp_opts.
41330169689Skan	* c.opt (Wvariadic-macros): New.
41331169689Skan	* cpplib.h (struct cpp_options): Add warn_variadic_macros.
41332169689Skan	* cppinit.c (cpp_create_reader): Initialize it.
41333169689Skan	* cppmacro.c (parse_params): Check it.
41334169689Skan
41335169689Skan2004-02-19  David Daney <ddaney@avtrex.com>
41336169689Skan
41337169689Skan	PR preprocessor/14198
41338169689Skan	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
41339169689Skan	builtin_assert ("machine=mips")
41340169689Skan
41341169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41342169689Skan
41343169689Skan	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
41344169689Skan	* system.h (DEFAULT_SHORT_ENUMS): Poison.
41345169689Skan	* config/cris/cris.h: Remove a comment about
41346169689Skan	DEFAULT_SHORT_ENUMS.
41347169689Skan	* config/ip2k/ip2k.h: Likewise.
41348169689Skan	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
41349169689Skan
41350169689Skan2004-02-19  Zack Weinberg  <zack@codesourcery.com>
41351169689Skan
41352169689Skan	* config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
41353169689Skan	when passing single SFmode quantities in general registers,
41354169689Skan	put them in the high half.
41355169689Skan
41356169689Skan2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
41357169689Skan
41358169689Skan	* doc/md.texi (Standard Names): Document additional dependency on
41359169689Skan	fix pattern.
41360169689Skan
41361169689Skan	* optabs.c (ftruncify): Remove.
41362169689Skan	(expand_fix): Manually inline ftruncify above.
41363169689Skan	(can_fix_p): Add FIXME note.
41364169689Skan
41365169689Skan2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
41366169689Skan
41367169689Skan	* config/rs6000/spe.md (spe_fixunssfsi2): Rename to
41368169689Skan	spe_fixuns_truncsfsi2.
41369169689Skan
41370169689Skan	* config/rs6000/rs6000.md (fixunssfsi2): Rename to
41371169689Skan	fixuns_truncsfsi2.
41372169689Skan
41373169689Skan2004-02-19  Steve Ellcey  <sje@cup.hp.com>
41374169689Skan
41375169689Skan	* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
41376169689Skan	* testsuite/gcc.dg/20040219-1.c: New test.
41377169689Skan
41378169689Skan2004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
41379169689Skan
41380169689Skan	* config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
41381169689Skan	"*subsf3_cconly"): Subtraction is not commutative.
41382169689Skan
41383169689Skan2004-02-19  Zack Weinberg  <zack@codesourcery.com>
41384169689Skan
41385169689Skan	* sdbout.c (preinit_symbols, sdbout_initialized): New statics.
41386169689Skan	(sdbout_symbol): If called before sdbout_init, queue DECL for
41387169689Skan	later and return.
41388169689Skan	(sdbout_init): Set sdbout_initialized true, process decls
41389169689Skan	queued earlier by sdbout_symbol.
41390169689Skan	(sdbout_finish): Use size_t for index variable.
41391169689Skan
41392169689Skan2004-02-19  Jeff Law  <law@redhat.com>
41393169689Skan
41394169689Skan	* fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
41395169689Skan	for unordered comparison codes.
41396169689Skan
41397169689Skan2004-02-19  Ian Lance Taylor  <ian@wasabisystems.com>
41398169689Skan
41399169689Skan	* reload1.c (reload): Correct comment.
41400169689Skan	(scan_paradoxical_subregs): Remove #if 0 and old comment.
41401169689Skan	* doc/extend.texi (Local Reg Vars): Remove obsolete comment that
41402169689Skan	register variables are not used by reload.
41403169689Skan
41404169689Skan2004-02-19  Hans-Peter Nilsson  <hp@axis.com>
41405169689Skan
41406169689Skan	PR target/14209
41407169689Skan	* config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
41408169689Skan	constraints to not match postincrement.  Adjust the predicate to
41409169689Skan	exclude a volatile memory reference.
41410169689Skan
41411169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41412169689Skan
41413169689Skan	* config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
41414169689Skan
41415169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41416169689Skan
41417169689Skan	* hooks.c (hook_void_tree_int): Remove.
41418169689Skan	(hook_void_constcharptr): Likewise.
41419169689Skan	(hook_int_void_0): Likewise.
41420169689Skan	* hooks.h: Remove the prototypes for the above three
41421169689Skan	functions.
41422169689Skan	* targhooks.c (hook_bool_machine_mode_true): Remove.
41423169689Skan	* targhooks.h: Remove the prototype for
41424169689Skan	hook_bool_machine_mode_true.
41425169689Skan
41426169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41427169689Skan
41428169689Skan	* emit-rtl.c (subreg_realpart_p): Remove.
41429169689Skan	(reorder_insns_with_line_notes): Likewise.
41430169689Skan	(end_full_sequence): Likewise.
41431169689Skan	* rtl.h: Remove the prototype for the above functions.
41432169689Skan
41433169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41434169689Skan
41435169689Skan	* config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
41436169689Skan	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
41437169689Skan	config/iq2000/iq2000.h, config/m32r/m32r.h,
41438169689Skan	config/pdp11/pdp11.h, config/sparc/sparc.h,
41439169689Skan	config/xtensa/xtensa.h: Remove commented-out or useless
41440169689Skan	definitions of CASE_VECTOR_PC_RELATIVE.
41441169689Skan
41442169689Skan2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
41443169689Skan
41444169689Skan	* loop.c (all_sets_invariant_p): Remove.
41445169689Skan
41446169689Skan2004-02-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
41447169689Skan
41448169689Skan	PR target/12916
41449169689Skan	* config/sparc/sparc.h (NPARM_REGS): Delete.
41450169689Skan	(BASE_RETURN_VALUE_REG): Likewise.
41451169689Skan	(BASE_OUTGOING_VALUE_REG): Likewise.
41452169689Skan	(BASE_PASSING_ARG_REG): Likewise.
41453169689Skan	(BASE_INCOMING_ARG_REG): Likewise.
41454169689Skan	* config/sparc/sparc.c (sparc_strict_argument_naming): Test
41455169689Skan	TARGET_ARCH64, not TARGET_V9.
41456169689Skan	(function_arg_slotno): Dispatch based on the mode class.
41457169689Skan	Handle vector modes like floating-point modes.
41458169689Skan	(function_arg_record_value_1): Handle vector types like
41459169689Skan	floating-point types.
41460169689Skan	(function_arg_record_value_2): Likewise.
41461169689Skan	Calculate regno after mode transformation.
41462169689Skan	(function_arg): Handle vector modes like floating-point modes.
41463169689Skan	(function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
41464169689Skan	If ARCH64, do not recheck alignment.
41465169689Skan	(function_arg_pass_by_reference): Reorder the conditions.
41466169689Skan	(sparc_return_in_memory): Move after function_arg_padding.
41467169689Skan	Implement calling conventions for vector modes.
41468169689Skan	(sparc_struct_value_rtx): Move after sparc_return_in_memory.
41469169689Skan	(function_value): Move scope of 'regbase'.
41470169689Skan	Implement calling conventions for vector modes.
41471169689Skan	(sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
41472169689Skan	and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
41473169689Skan	(sparc_va_arg): Use function_arg_pass_by_reference to test whether
41474169689Skan	the argument is passed by reference.
41475169689Skan	(sparc_type_code): Handle vector types.
41476169689Skan
41477169689Skan2004-02-19  Alan Modra  <amodra@bigpond.net.au>
41478169689Skan
41479169689Skan	* function.c (assign_parms): When building decl_rtl for
41480169689Skan	SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
41481169689Skan
41482169689Skan2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
41483169689Skan
41484169689Skan	* expr.c (is_aligning_offset): Check if we are aligning the
41485169689Skan	expressions's address over BIGGEST_ALIGNMENT in bytes, not
41486169689Skan	in bits.
41487169689Skan
41488169689Skan2004-02-18  Matt Austern  <austern@apple.com>
41489169689Skan
41490169689Skan	* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
41491169689Skan	LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
41492169689Skan	(init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
41493169689Skan	defined.  Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
41494169689Skan	spec string.
41495169689Skan	* doc/tm.texi (REAL_LIBGCC_SPEC): Document.
41496169689Skan
41497169689Skan2004-02-18  Zack Weinberg  <zack@codesourcery.com>
41498169689Skan
41499169689Skan	* dwarf2out.c (loclabel_num): Move outside #ifdef
41500169689Skan	DWARF2_DEBUGGING_INFO and mark with GTY(()).
41501169689Skan	* config/ia64/ia64.c (struct extern_func_list,extern_func_head):
41502169689Skan	Mark with GTY(()).
41503169689Skan	(ia64_hpux_add_extern_decl): Save the decl, not the name string.
41504169689Skan	Allocate memory with ggc_alloc.  No need to copy anything.
41505169689Skan	(ia64_hpux_file_end): Update to match.
41506169689Skan
41507169689Skan2004-02-18  Jakub Jelinek  <jakub@redhat.com>
41508169689Skan
41509169689Skan	* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
41510169689Skan	by default.
41511169689Skan
41512169689Skan2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
41513169689Skan
41514169689Skan	* config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
41515169689Skan	("divmodtisi3"): Likewise.
41516169689Skan	("udivmoddi4", "udivmodtidi3"): Likewise.
41517169689Skan	("divmodsi4", "divmoddisi3"): Likewise.
41518169689Skan	("udivmodsi4", "udivmoddisi3"): Likewise.
41519169689Skan	("udivsi3", "umodsi3"): Likewise.
41520169689Skan
41521169689Skan2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
41522169689Skan
41523169689Skan	* config/s390/s390.c (s390_mainpool_start): Delete the main pool
41524169689Skan	placeholder insn when chunkifying the pool.
41525169689Skan
41526169689Skan2004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
41527169689Skan
41528169689Skan	* pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
41529169689Skan	generating PIC code.
41530169689Skan
41531169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41532169689Skan
41533169689Skan	* config/h8300/h8300-protos.h: Add a prototype for
41534169689Skan	h8300_expand_branch.
41535169689Skan	* config/h8300/h8300.c (h8300_expand_branch): New.
41536169689Skan	* config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
41537169689Skan	bgtu, beq, bne): Call h8300_expand_branch().
41538169689Skan
41539169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41540169689Skan
41541169689Skan	* config/h8300/h8300-protos.h: Add prototypes for
41542169689Skan	h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
41543169689Skan	* config/h8300/h8300.c (h8300_hard_regno_nregs): New.
41544169689Skan	(h8300_hard_regno_mode_ok): Likewise.
41545169689Skan	* config/h8300/h8300.h (HARD_REGNO_NREGS): Call
41546169689Skan	h8300_hard_regno_nregs().
41547169689Skan	(HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
41548169689Skan
41549169689Skan2004-02-18  Per Bothner  <per@bothner.com>
41550169689Skan
41551169689Skan	* cpphash.h (struct cpp_buffer): Restore return_at_eof field.  This
41552169689Skan	partly reverts my 2003-10-01 change, because we're back to logically
41553169689Skan	including <command line> inside the main line.
41554169689Skan	* cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
41555169689Skan	* cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
41556169689Skan	Fixes PR preprocessor/14103.
41557169689Skan
41558169689Skan	* cppfiles.c (_cpp_stack_include): When appropriate decrement
41559169689Skan	line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
41560169689Skan	(cpp_push_include): Don't need to increment pfile's line field.
41561169689Skan	* line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
41562169689Skan
41563169689Skan	* c-ppoutput.c (print struct): New first_time field.
41564169689Skan	(init_pp_output): Set print.first_time.
41565169689Skan	(pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
41566169689Skan	which is set also for (say) <command line>.  Clear print.first_time.
41567169689Skan
41568169689Skan	* cppfiles.c (struct _cpp_file): Comment and type for pch field
41569169689Skan	does not match the code, so fix both.
41570169689Skan	(should_stack_file): Inline include_pch_p function.
41571169689Skan	(include_pch_p): Remove pointless function.
41572169689Skan
41573169689Skan	* cpphash.h (struct cpp_buffer): Remove unused search_cached field.
41574169689Skan
41575169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41576169689Skan
41577169689Skan	* config/h8300/h8300.md (four define_peephole2's): Use
41578169689Skan	h8300_regs_ok_for_stm().
41579169689Skan
41580169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41581169689Skan
41582169689Skan	* config/h8300/h8300-protos.h: Update the prototype for
41583169689Skan	expand_a_rotate().
41584169689Skan	* config/h8300/h8300.c (expand_a_rotate): Remove the first
41585169689Skan	argument.
41586169689Skan	* config/h8300/h8300.md: Update all callers.
41587169689Skan
41588169689Skan2004-02-18  Jan Hubicka  <jh@suse.cz>
41589169689Skan
41590169689Skan	* simplify-rtx.c (simplify_unary_operation): Deal with logicals on
41591169689Skan	floats.
41592169689Skan	(simplify_binary_operation): Deal with logicals on floats.
41593169689Skan
41594169689Skan	* i386.md (SSE fabs splitters): Emit new patterns.
41595169689Skan	(SSE cmov splitters): Likewise.
41596169689Skan	(sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
41597169689Skan	(sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
41598169689Skan	subregs.
41599169689Skan	(sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
41600169689Skan	(sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
41601169689Skan
41602169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41603169689Skan
41604169689Skan	* config/h8300/h8300.c (expand_a_rotate): Don't generate insns
41605169689Skan	by hand.
41606169689Skan	(output_a_rotate): Tweak a comment.
41607169689Skan	* config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
41608169689Skan	(*rotlhi3_1): Change to rotlhi3_1.
41609169689Skan	(*rotlsi3_1): Change to rotlsi3_1.
41610169689Skan
41611169689Skan2004-02-18  Richard Earnshaw  <rearnsha@arm.com>
41612169689Skan
41613169689Skan	PR target/13866
41614169689Skan	* arm.c (load_multiple_operation): Don't insist that the source reg
41615169689Skan	of a post-increment component is the same as the destination.
41616169689Skan	(store_multiple_operation): Likewise.
41617169689Skan
41618169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41619169689Skan
41620169689Skan	* config/h8300/h8300.md: Move movsf patterns into one section
41621169689Skan	of the file.
41622169689Skan
41623169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41624169689Skan
41625169689Skan	* cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
41626169689Skan	loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
41627169689Skan	xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
41628169689Skan	config/mips/linux64.h, config/pa/pa-64.h,
41629169689Skan	config/rs6000/aix51.h, config/rs6000/aix52.h,
41630169689Skan	config/rs6000/spe.md, config/sparc/linux.h,
41631169689Skan	config/sparc/linux64.h: Update copyright.
41632169689Skan
41633169689Skan2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
41634169689Skan
41635169689Skan	* config/h8300/h8300.md: Move push patterns into one
41636169689Skan	section of the file.
41637169689Skan
41638169689Skan2004-02-18  Mark Mitchell <mark@codesourcery.com>
41639169689Skan
41640169689Skan	PR c++/11326
41641169689Skan	* config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
41642169689Skan	fntype.
41643169689Skan
41644169689Skan2004-02-18  Paul Brook  <paul@codesourcery.com>
41645169689Skan
41646169689Skan	* rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
41647169689Skan
41648169689Skan2004-02-18  Paul Brook  <paul@codesourcery.com>
41649169689Skan
41650169689Skan	PR debug/12934
41651169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Handle
41652169689Skan	EXPR_WITH_FILE_LOCATION.
41653169689Skan
41654169689Skan2004-02-18  Jakub Jelinek  <jakub@redhat.com>
41655169689Skan
41656169689Skan	* config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
41657169689Skan	testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
41658169689Skan	trailing whitespace from instructions.
41659169689Skan
41660169689Skan2004-02-17  Geoffrey Keating  <geoffk@apple.com>
41661169689Skan
41662169689Skan	* configure.ac: When generating auto-build.h, pass
41663169689Skan	--enable-languages to the sub-configure.
41664169689Skan	Put quotes around ${program_transform_name} when generating
41665169689Skan	name of as, ld, nm, objdump.
41666169689Skan	* configure: Regenerate.
41667169689Skan
41668169689Skan2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
41669169689Skan
41670169689Skan	* Makefile.in (s-check, s-config, s-conditions, s-flags)
41671169689Skan	(s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
41672169689Skan	(s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
41673169689Skan	(s-preds, s-iov): Do not depend on move-if-change.
41674169689Skan
41675169689Skan2004-02-17  James E Wilson  <wilson@specifixinc.com>
41676169689Skan
41677169689Skan	* caller-save.c (insert_restore): Pass mem through copy_rtx.
41678169689Skan	(insert_save): Likewise.
41679169689Skan
41680169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41681169689Skan
41682169689Skan	* config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
41683169689Skan	warning.
41684169689Skan
41685169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41686169689Skan
41687169689Skan	* config/h8300/h8300.md (*one_complsi2_h8300): Change to
41688169689Skan	*one_cmplsi2_h8300.
41689169689Skan	(*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
41690169689Skan
41691169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41692169689Skan
41693169689Skan	* config/h8300/h8300-protos.h: Update the prototype of
41694169689Skan	fix_bit_operand().
41695169689Skan	* config/h8300/h8300.c (fix_bit_operand): Remove the second
41696169689Skan	argument "what".
41697169689Skan	* config/h8300/h8300.md: Update all callers.
41698169689Skan
41699169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41700169689Skan
41701169689Skan	* config/h8300/h8300.c (fix_bit_operand): Change the name of
41702169689Skan	the last argument to "code" from "type".
41703169689Skan
41704169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41705169689Skan
41706169689Skan	* config/h8300/h8300.c: Remove an extern declaration of
41707169689Skan	rtx_equal_function_value_matters.
41708169689Skan
41709169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41710169689Skan
41711169689Skan	* config/h8300/h8300.c (fix_bit_operand): Don't generate insns
41712169689Skan	by hand.
41713169689Skan	* config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
41714169689Skan	(*iorqi3_1): Change to iorqi3_1.
41715169689Skan	(*xorqi3_1): Change to xorqi3_1.
41716169689Skan
41717169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41718169689Skan
41719169689Skan	* c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
41720169689Skan	typos.
41721169689Skan
41722169689Skan2004-02-17  Jan Hubicka  <jh@suse.cz>
41723169689Skan
41724169689Skan	* i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
41725169689Skan
41726169689Skan2004-02-18  Alan Modra  <amodra@bigpond.net.au>
41727169689Skan
41728169689Skan	PR optimization/14119
41729169689Skan	* combine.c (try_combine): When attemting to fix unrecognized insns,
41730169689Skan	don't delete SETs marked with REG_EH_REGION notes.
41731169689Skan
41732169689Skan2004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
41733169689Skan
41734169689Skan	* combine.c (simplify_if_then_else): Do not replace
41735169689Skan	(if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
41736169689Skan	modes differ.
41737169689Skan
41738169689Skan2004-02-17  Steven Bosscher  <stevenb@suse.de>
41739169689Skan
41740169689Skan	* (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
41741169689Skan	function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
41742169689Skan	tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
41743169689Skan	* ada/utils.c: Likewise.
41744169689Skan	* cp/decl.c: Likewise.
41745169689Skan	* f/com.c: Likewise.
41746169689Skan	* java/class.c: Likewise.
41747169689Skan
41748169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41749169689Skan
41750169689Skan	* config/h8300/h8300.md: Fix comment typos.
41751169689Skan
41752169689Skan2004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
41753169689Skan
41754169689Skan	* config/mips/t-iris6gld: Renamed to ...
41755169689Skan	* config/mips/t-irix-gld: ... this.
41756169689Skan	* config.gcc (mips-sgi-irix6*): Reflect this
41757169689Skan	(mips-sgi-irix5*): Use it with GNU ld.
41758169689Skan
41759169689Skan	* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
41760169689Skan	to ...
41761169689Skan	* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
41762169689Skan	* config/mips/t-irix-gld: Reflect this.
41763169689Skan	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
41764169689Skan
41765169689Skan	* config/mips/iris5gld.h: New file.
41766169689Skan	* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
41767169689Skan	Only use collect2 without gas.
41768169689Skan
41769169689Skan	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
41770169689Skan	Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
41771169689Skan	(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
41772169689Skan	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
41773169689Skan
41774169689Skan	* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
41775169689Skan	* config/mips/iris5.h: ... here.
41776169689Skan
41777169689Skan	* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
41778169689Skan	IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
41779169689Skan	(STARTFILE_SPEC, ENDFILE_SPEC): Define.
41780169689Skan
41781169689Skan	* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
41782169689Skan	using irix_startfile_spec, irix_endfile_spec.
41783169689Skan
41784169689Skan2004-02-16  Gunther Nikl  <gni@gecko.de>
41785169689Skan
41786169689Skan	* config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
41787169689Skan
41788169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41789169689Skan
41790169689Skan	* config/h8300/h8300.c (h8300_expand_prologue): Don't generate
41791169689Skan	insns by hand.
41792169689Skan
41793169689Skan2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
41794169689Skan
41795169689Skan	* cfghooks.c (split_edge): Speed up updating of dominators.
41796169689Skan
41797169689Skan2004-02-17  Mark Mitchell  <mark@codesourcery.com>
41798169689Skan
41799169689Skan	PR c++/11326
41800169689Skan	* c-common.c (flag_abi_version): Remove.
41801169689Skan	* c-common.h (flag_abi_version): Likewise.
41802169689Skan	* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
41803169689Skan	* c.opt (fabi-version): Remove.
41804169689Skan	* calls.c (expand_call): Always pass a function type to
41805169689Skan	struct_value_rtx.  Use convert_memory_address.
41806169689Skan	* common.opt (fabi-version): Add it.
41807169689Skan	* flags.h (flag_abi_version): Likewise.
41808169689Skan	(abi_version_at_least): New macro.
41809169689Skan	* opts.c (common_handle_option): Add OPT_fabi_version.
41810169689Skan	* toplev.c (flag_abi_version): Define it.
41811169689Skan	* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
41812169689Skan	New function.
41813169689Skan	(ia64_output_mi_thunk): Use it.
41814169689Skan	(ia64_struct_value_rtx): Likewise.
41815169689Skan
41816169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41817169689Skan
41818169689Skan	* config/h8300/h8300.c (h8300_emit_stack_adjustment):
41819169689Skan	Don't generate insns by hand.
41820169689Skan
41821169689Skan2004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
41822169689Skan
41823169689Skan	PR c++/14178
41824169689Skan	* doc/invoke.texi (fabi-version): The default is 2 now.
41825169689Skan
41826169689Skan2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
41827169689Skan
41828169689Skan	* loop-iv.c: New file.
41829169689Skan	* Makefile.in (loop-iv.o): New.
41830169689Skan	* basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
41831169689Skan	* cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
41832169689Skan	num_loop_branches): New functions.
41833169689Skan	* cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
41834169689Skan	iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
41835169689Skan	find_simple_exit, iv_number_of_iterations, iv_analysis_done,
41836169689Skan	get_simple_loop_desc, free_simple_loop_desc): Declare.
41837169689Skan	(simple_loop_desc): New inline function.
41838169689Skan	(struct rtx_iv, struct niter_desc): New.
41839169689Skan	* cfgloopmanip.c (loopify): Specify semantics more precisely.
41840169689Skan	* expr.c (force_operand): Handle subregs of expressions created by
41841169689Skan	loop unroller.
41842169689Skan	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
41843169689Skan	parts of the initialization to toplev.c
41844169689Skan	* loop-unroll.c (loop_exit_at_end_p): New.
41845169689Skan	(unroll_and_peel_loops): Call iv_analysis_done.
41846169689Skan	(decide_peel_once_rolling, decide_peel_completely,
41847169689Skan	decide_unroll_stupid, decide_unroll_constant_iterations,
41848169689Skan	decide_unroll_runtime_iterations, decide_peel_simple,
41849169689Skan	peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
41850169689Skan	unroll_loop_runtime_iterations): Use new simple loop analysis.
41851169689Skan	* loop-unswitch.c (compare_and_jump_seq): New.
41852169689Skan	(may_unswitch_on_p): Renamed to ...
41853169689Skan	(may_unswitch_on): Use new iv analysis.
41854169689Skan	(reversed_condition): Export.
41855169689Skan	(unswitch_single_loop, unswitch_loop): Use new iv analysis.
41856169689Skan	* predict.c (estimate_probability): Use new simple loop analysis.
41857169689Skan	* rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
41858169689Skan	canon_condition, simplify_using_condition): Declare.
41859169689Skan	* stor-layout.c (get_mode_bounds): New.
41860169689Skan	* toplev.c (rest_of_handle_loop2): Some parts of
41861169689Skan	initialization/finalization moved here from loop-init.c.
41862169689Skan
41863169689Skan2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
41864169689Skan
41865169689Skan	* config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
41866169689Skan	pointer.
41867169689Skan	(CALL_USED_REGISTERS): Likewise.
41868169689Skan	(REG_ALLOC_ORDER): Likewise.
41869169689Skan	(REG_CLASS) <GENERAL_REGS>: Likewise.
41870169689Skan
41871169689Skan2004-02-16  Geoffrey Keating  <geoffk@apple.com>
41872169689Skan
41873169689Skan	* doc/md.texi (Insn Canonicalizations): Document left-chaining
41874169689Skan	in associative operators.
41875169689Skan	* rtlanal.c (commutative_operand_precedence): Create some new
41876169689Skan	variables.  Prefer a commutative operand on the left, then
41877169689Skan	binary expressions, then NEG and NOT.
41878169689Skan
41879169689Skan2004-02-16  Matthias Klose  <doko@debian.org>
41880169689Skan
41881169689Skan	* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
41882169689Skan	in terms of SHLIB_SOVERSION.
41883169689Skan	* config/m68k/t-slibgcc-elf-ver: New file.
41884169689Skan	* config/pa/t-slibgcc-elf-ver: New file.
41885169689Skan	* config.gcc (m68k-linux, parisc-linux): Use them when not
41886169689Skan	sjlj exceptions are not configured.
41887169689Skan
41888169689Skan2004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
41889169689Skan
41890169689Skan	* config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
41891169689Skan
41892169689Skan2004-02-16  Zack Weinberg  <zack@codesourcery.com>
41893169689Skan
41894169689Skan	* sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
41895169689Skan
41896169689Skan2004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
41897169689Skan
41898169689Skan	* doc/sourcebuild.texi: Mention backends.html.
41899169689Skan
41900169689Skan2004-02-16  Kazu Hirata  <kazu@cs.umass.edu>
41901169689Skan
41902169689Skan	* c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
41903169689Skan	line-map.c, line-map.h, var-tracking.c: Fix comment
41904169689Skan	formatting.
41905169689Skan
41906169689Skan2004-02-16  Richard Henderson  <rth@redhat.com>
41907169689Skan
41908169689Skan	* cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
41909169689Skan
41910169689Skan	* fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
41911169689Skan
41912169689Skan2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
41913169689Skan
41914169689Skan	* config/h8300/h8300.md: Remove unnecessary parallels from
41915169689Skan	all define_insn and define_split patterns.
41916169689Skan
41917169689Skan2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
41918169689Skan
41919169689Skan	* config/h8300/h8300.md: Remove explicit (set_attr "cc"
41920169689Skan	"clobber").
41921169689Skan
41922169689Skan2004-02-15  Bernardo Innocenti  <bernie@develer.com>
41923169689Skan
41924169689Skan	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
41925169689Skan	'%#'.
41926169689Skan
41927169689Skan2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
41928169689Skan
41929169689Skan	* config/ia64/ia64.c, config/mips/mips.c,
41930169689Skan	config/mmix/mmix-modes.def: Fix comment typos.
41931169689Skan
41932169689Skan2004-02-15  Roger Sayle  <roger@eyesopen.com>
41933169689Skan
41934169689Skan	* c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
41935169689Skan	(get_directive_line): Remove unused function prototype.
41936169689Skan
41937169689Skan2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
41938169689Skan
41939169689Skan	* tree-inline.c (copy_body_r): Do not replace ret_label.
41940169689Skan
41941169689Skan2004-02-14  Jan Hubicka  <jh@suse.cz>
41942169689Skan
41943169689Skan	* i386.c (x86_four_jump_limit): New variable.
41944169689Skan	(k8_avoid_jump_misspredicts): Rename to ...
41945169689Skan	(ix86_avoid_jump_misspredicts): .. this one.
41946169689Skan	(ix86_pad_returns): Break out from ...
41947169689Skan	(ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
41948169689Skan	to.
41949169689Skan	* i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
41950169689Skan
41951169689Skan2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
41952169689Skan
41953169689Skan	* emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
41954169689Skan	PARALLEL is NULL.
41955169689Skan
41956169689Skan2004-02-14  Per Bothner  <per@bothner.com>
41957169689Skan
41958169689Skan	* fix-header.c (line_table): Move local variable in main to global.
41959169689Skan	* scan.h (line_table): Use it.
41960169689Skan	* scan-decls.c (scan_decls): Need to call linemap_lookup on token's
41961169689Skan	line (recently renamed to src_loc) before calling recognized_function.
41962169689Skan
41963169689Skan2004-02-14  Matt Kraai  <kraai@alumni.cmu.edu>
41964169689Skan
41965169689Skan	* Makefile.in: Fix comment typos.
41966169689Skan
41967169689Skan2004-02-14  Olivier Hainque  <hainque@act-europe.fr>
41968169689Skan
41969169689Skan	* loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
41970169689Skan	for start_value when it is directly moved into reg, and factorize
41971169689Skan	the retrieval of GET_MODE (reg).
41972169689Skan
41973169689Skan2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
41974169689Skan
41975169689Skan	* config/mips/mips-protos.h (mips_load_got_page): Delete.
41976169689Skan	(mips_load_got_global): Delete.
41977169689Skan	(mips_gotoff_page): Declare.
41978169689Skan	* config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
41979169689Skan	(*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
41980169689Skan	UNSPEC_LOAD_GOT pattern rather than a MEM.
41981169689Skan	(*load_got[sd]i): New patterns.
41982169689Skan	* config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
41983169689Skan	(mips_load_got_page, mips_load_got_global): Delete.
41984169689Skan	(mips_gotoff_page): New function.
41985169689Skan	(override_options): Don't initialize mips_got_alias_set.
41986169689Skan
41987169689Skan2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
41988169689Skan
41989169689Skan	* config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
41990169689Skan	(TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
41991169689Skan	(TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
41992169689Skan	(GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
41993169689Skan	(TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
41994169689Skan	* config/mips/mips.c: Fix some overly-long lines.
41995169689Skan	(SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
41996169689Skan	(init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
41997169689Skan
41998169689Skan2004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
41999169689Skan
42000169689Skan	* configure.ac: Search for as, ld below libexec/gcc.
42001169689Skan	* configure: Regenerate.
42002169689Skan
42003169689Skan2004-02-14  Ben Elliston  <bje@wasabisystems.com>
42004169689Skan
42005169689Skan	* config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
42006169689Skan	__builtin_arm_setwcx ().
42007169689Skan	* config/arm/arm.c (arm_expand_builtin): Generate operands
42008169689Skan	correctly and reverse their order in call to gen_iwmmxt_tmcr ().
42009169689Skan
42010169689Skan2004-02-14  Ben Elliston  <bje@wasabisystems.com>
42011169689Skan
42012169689Skan	* config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
42013169689Skan	and "wmuluh" to "wmulsm" and "wmulum", respectively.
42014169689Skan	* config/arm/arm.h (enum arm_builtins): Rename enumerators to
42015169689Skan	ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
42016169689Skan	* config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
42017169689Skan	(_mm_mulhi_pu16): Likewise.
42018169689Skan
42019169689Skan2004-02-13  Zack Weinberg  <zack@codesourcery.com>
42020169689Skan
42021169689Skan	* xcoffout.c (xcoff_assign_fundamental_type_number): Check
42022169689Skan	DECL_NAME != 0 before dereferencing.
42023169689Skan
42024169689Skan2004-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
42025169689Skan
42026169689Skan	* config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
42027169689Skan	(s390_output_addr_const_extra): Declare.
42028169689Skan	(s390_output_pool_entry): Remove FILE * argument.
42029169689Skan	* config/s390/s390.c (s390_output_symbolic_const): Remove.
42030169689Skan	(s390_output_addr_const_extra): New function.
42031169689Skan	(print_operand_address): Call output_addr_const instead of
42032169689Skan	s390_output_symbolic_const.
42033169689Skan	(print_operand): Likewise.
42034169689Skan	(s390_output_pool_entry): Use assemble_integer for symbolic constants.
42035169689Skan	Remove FILE * argument.
42036169689Skan	* config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
42037169689Skan	* config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
42038169689Skan	call.
42039169689Skan
42040169689Skan2004-02-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
42041169689Skan
42042169689Skan	* cfgloopanal.c (mark_irreducible_loops): Rewriten.
42043169689Skan	(struct edge, struct vertex, struct graph): New.
42044169689Skan	(dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
42045169689Skan	free_graph): New functions.
42046169689Skan
42047169689Skan2004-02-12  Chris Demetriou  <cgd@broadcom.com>
42048169689Skan
42049169689Skan	* config/mips/mips.md (casesi_internal, casesi_internal_di):
42050169689Skan	Use ".set macro" to avoid warnings about multi-instruction
42051169689Skan	macros, since they're intentional.
42052169689Skan
42053169689Skan2004-02-12  Geoffrey Keating  <geoffk@apple.com>
42054169689Skan
42055169689Skan	* config/darwin.h: Add include guards.  Remove old, now incorrect,
42056169689Skan	comment about STANDARD_EXEC_PREFIX.
42057169689Skan
42058169689Skan	* Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
42059169689Skan	$(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
42060169689Skan	for installing .1 manpages.  Add rules for installing cpp
42061169689Skan	and gcov manpages under their installed names.
42062169689Skan
42063169689Skan2004-02-12  Alexandre Oliva  <aoliva@redhat.com>
42064169689Skan
42065169689Skan	* configure.ac (gcc_cv_ld): Don't set to LD if target is not
42066169689Skan	host, but try LD_FOR_TARGET first.
42067169689Skan	* configure: Rebuilt.
42068169689Skan
42069169689Skan2004-02-12  Zack Weinberg  <zack@codesourcery.com>
42070169689Skan
42071169689Skan	* dbxout.c: Move declaration of dbxout_type_decl outside
42072169689Skan	#ifdef DBX_DEBUGGING_INFO.
42073169689Skan	* c-parse.in: Don't give the asmdef production a type.
42074169689Skan
42075169689Skan2004-02-12  Zack Weinberg  <zack@codesourcery.com>
42076169689Skan
42077169689Skan	* debug.h (struct gcc_debug_hooks): Add type_decl field.
42078169689Skan	(debug_nothing_tree_int): Prototype.
42079169689Skan	(dwarf_debug_hooks): Delete, unused.
42080169689Skan	* debug.c (do_nothing_debug_hooks): Update.
42081169689Skan	(debug_nothing_tree_int): New function.
42082169689Skan	* langhooks.h (struct lang_hooks_for_decls):
42083169689Skan	Remove builtin_type_decls field.
42084169689Skan	* langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
42085169689Skan	(LANG_HOOKS_DECLS): Update.
42086169689Skan	* toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
42087169689Skan	Use debug_hooks->type_decl.
42088169689Skan	* dbxout.c (preinit_symbols): New static.
42089169689Skan	(dbx_debug_hooks, xcoff_debug_hooks): Update.
42090169689Skan	(dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
42091169689Skan	lang_hooks.decls.builtin_type_decls.  Do scan preinit_symbols
42092169689Skan	for symbols to output.
42093169689Skan	(dbxout_type_decl): New function.
42094169689Skan	(dbxout_symbol): If called before dbxout_init has run, queue
42095169689Skan	the symbol for later.  Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
42096169689Skan	to TYPE_DECLs before emitting them.
42097169689Skan	* xcoffout.c (assign_type_number): Delete.
42098169689Skan	(xcoff_type_numbers): New static table.
42099169689Skan	(xcoff_assign_fundamental_type_number): New function.
42100169689Skan	* xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
42101169689Skan	DBX_OUTPUT_STANDARD_TYPES.  Remove unnecessary #ifdefs.
42102169689Skan	* sdbout.c: Include varray.h.
42103169689Skan	(deferred_global_decls): New static.
42104169689Skan	(sdb_debug_hooks): Update.
42105169689Skan	(sdbout_global_decl): If we can't emit something right now,
42106169689Skan	remember it in deferred_global_decls.
42107169689Skan	(sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
42108169689Skan	(sdbout_init): Initialize deferred_global_decls.
42109169689Skan	* Makefile.in: Update dependencies of sdbout.o.
42110169689Skan	* dwarf2out.c (dwarf2out_type_decl): New function.
42111169689Skan	(dwarf2_debug_hooks): Update.
42112169689Skan	* vmsdbgout.c (vmsdbg_debug_hooks): Update.
42113169689Skan	* c-decl.c (getdecls): Just return 0.
42114169689Skan	(check_for_loop_decls): Don't use getdecls.
42115169689Skan	(record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
42116169689Skan	* c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
42117169689Skan
42118169689Skan2004-02-12  Ulrich Weigand  <uweigand@de.ibm.com>
42119169689Skan
42120169689Skan	* config/s390/s390.c (s390_sched_reorder2): Remove.
42121169689Skan	(TARGET_SCHED_REORDER2): Do not redefine.
42122169689Skan
42123169689Skan2004-02-12  Zack Weinberg  <zack@codesourcery.com>
42124169689Skan
42125169689Skan	* c-parse.in (maybe_type_qual): Delete.
42126169689Skan	(maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
42127169689Skan	(asm_argument): New grammar rules.
42128169689Skan	(extdef_1): Use asmdef.
42129169689Skan	(maybeasm): Move down with other asm rules; use simple_asm_expr.
42130169689Skan	(xexpr): Move up with other expression rules.
42131169689Skan	(stmt): Use asm_stmt.
42132169689Skan
42133169689Skan	* c-typeck.c (build_asm_expr): New function - body mostly
42134169689Skan	pulled from build_asm_stmt.
42135169689Skan	(build_asm_stmt): Just handle tacking on the volatile qualifier.
42136169689Skan	* c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
42137169689Skan
42138169689Skan2004-02-12  Richard Sandiford  <rsandifo@redhat.com>
42139169689Skan
42140169689Skan	PR bootstrap/13617
42141169689Skan	* config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
42142169689Skan	(mips_declare_object): Make variadic.
42143169689Skan	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
42144169689Skan	mips_output_aligned_decl_common.
42145169689Skan	* config/mips/mips.c (mips_output_aligned_decl_common): New function.
42146169689Skan	(mips_declare_object): Make variadic.
42147169689Skan
42148169689Skan2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
42149169689Skan
42150169689Skan	* function.c (update_epilogue_consts): Teach about binary operations.
42151169689Skan
42152169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
42153169689Skan	previous MEM_VOLATILE in REF.
42154169689Skan	* function.c (fixup_var_refs): Save volatile_ok and set to 1.
42155169689Skan	* expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
42156169689Skan
42157169689Skan2004-02-12  Gunther Nikl  <gni@gecko.de>
42158169689Skan
42159169689Skan	* config.gcc: Restore support for m68k-openbsd.
42160169689Skan
42161169689Skan2004-02-12  Jan Hubicka  <jh@suse.cz>
42162169689Skan
42163169689Skan	* tree-optimize.c (tree_rest_of_compilation): Do not release
42164169689Skan	DECL_ARGUMENTS.
42165169689Skan
42166169689Skan2004-02-11  Matt Kraai  <kraai@alumni.cmu.edu>
42167169689Skan
42168169689Skan	* doc/install.texi: Fix the spelling of "explicitly".
42169169689Skan
42170169689Skan2004-02-11  Eric Christopher  <echristo@redhat.com>
42171169689Skan
42172169689Skan	* cppcharset.c (_cpp_interpret_string_notranslate): Rename and
42173169689Skan	duplicate argument structure of cpp_interpret_string.
42174169689Skan	* cpphash.h: Move prototype...
42175169689Skan	* cpplib.h: Here.
42176169689Skan	* cpplib.c: Fix calls to match new function signature.
42177169689Skan
42178169689Skan2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
42179169689Skan
42180169689Skan	PR c/456
42181169689Skan	* cppexp.c (num_binary_op): Don't allow comma operators in #if
42182169689Skan	constant expressions at all outside C99 mode if pedantic.
42183169689Skan
42184169689Skan2004-02-11  Uros Bizjak  <uros@kss-loka.si>
42185169689Skan
42186169689Skan	* optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
42187169689Skan	(log10_optab, log2_optab): Define corresponding macros.
42188169689Skan	* optabs.c (init_optabs): Initialize log10_optab and log2_optab.
42189169689Skan	* genopinit.c (optabs): Implement log10_optab and log2_optab
42190169689Skan	using log10?f2 and log2?f2 patterns.
42191169689Skan	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
42192169689Skan	using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
42193169689Skan	(expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
42194169689Skan	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
42195169689Skan
42196169689Skan	* config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
42197169689Skan	log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
42198169689Skan	log2, log2f and log2l built-ins as inline x87 intrinsics.
42199169689Skan
42200169689Skan2004-02-11  Richard Henderson  <rth@redhat.com>
42201169689Skan
42202169689Skan	PR target/1532
42203169689Skan	* flow.c (insn_dead_p): A clobber of a dead hard register is a
42204169689Skan	dead insn after reload.
42205169689Skan
42206169689Skan2004-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
42207169689Skan
42208169689Skan	* tree.h (frame_base_decl): Add GTY marker.
42209169689Skan	* var-tracking.c (frame_base_decl): Likewise.
42210169689Skan
42211169689Skan2004-02-11  Daniel Berlin  <dberlin@dberlin.org>
42212169689Skan
42213169689Skan	* dwarf2out.c (output_loc_list): Remove no longer necessary, and now
42214169689Skan	incorrect, hunk.
42215169689Skan	(add_location_or_const_value_attribute): Use text_section_label,
42216169689Skan	not TEXT_SECTION_NAME.
42217169689Skan
42218169689Skan2004-02-11  Per Bothner  <per@bothner.com>
42219169689Skan
42220169689Skan	Represent column numbers using line-map's source_location.
42221169689Skan	The "next available source_location" is now managed internally by
42222169689Skan	line-maps.c rather than by clients.
42223169689Skan	* line-map.h (struct line_map): New field column_bits.
42224169689Skan	<from_line>: Rename field to start_location.
42225169689Skan	(struct line_maps): New fields highest_location and max_column_hint.
42226169689Skan	(linemap_check_files_exited): New declaration.
42227169689Skan	(linemap_line_start): New declaration.
42228169689Skan	(linemap_add): Remove from_line parameter; use highest_location field.
42229169689Skan	(SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
42230169689Skan	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
42231169689Skan	(CURRENT_LINE_MAP): Remove macro.
42232169689Skan	(linemap_position_for_column): New inline function.
42233169689Skan	* line-map.c (linemap_init): Clear new fields.
42234169689Skan	(linemap_check_files_exited): New function, extracted from ...
42235169689Skan	(linemap_free): Use linemap_check_files_exited.
42236169689Skan	(linemap_add): Remove from_line parameter.  Various updates.
42237169689Skan	(linemap_line_start): New function.
42238169689Skan	(linemap_lookeup): Update for new field names.
42239169689Skan	* cpphash.h (struct cpp_reader) <map>: Field removed.  Because
42240169689Skan	linemap_position_for_column may unpredictably change the current map,
42241169689Skan	it is cleaner and simpler for us to not cache it in cpp_reader.
42242169689Skan	(struct cpp_buffer): New sysp field.
42243169689Skan	Changed warned_cplusplus_comments and from_stage3 to bitfields.
42244169689Skan	* cppinit.c (cpp_read_min_file): pfile->map no longer exists.
42245169689Skan	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
42246169689Skan	current map using linemap_lookup.
42247169689Skan	(do_linemarker): Also set buffer's sysp field.
42248169689Skan	(destringize_and_run): No longer need to decrement current line.
42249169689Skan	* cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
42250169689Skan	(search_path_head, open_file_failed): Use buffer's sysp.
42251169689Skan	(cpp_make_system_header): Get current map using linemap_lookup.
42252169689Skan	Also set buffer's sysp flag.
42253169689Skan	* cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
42254169689Skan	* cpphash.h (CPP_INCREMENT_LINE): New macro.
42255169689Skan	(struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
42256169689Skan	(struct cpp_reader): ... and adding saved_line_base field.
42257169689Skan	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
42258169689Skan	Update accordingly.  Don't adjust line.
42259169689Skan	(_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
42260169689Skan	* cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
42261169689Skan	(cpp_in_system_header): ... new inline function, using buffer's sysp.
42262169689Skan	* cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
42263169689Skan	* cpplex.c (_cpp_lex_direct): Likewise.
42264169689Skan	* cppmacro.c (_cpp_builtin_macro_text): Likewise.
42265169689Skan	* cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
42266169689Skan	* cpplib.h (struct cpp_token): Rename line field to src_loc.
42267169689Skan	Remove col field as it is now subsumed by src_loc.
42268169689Skan	* cpperror.c: Update various field, parameter, and macro names.
42269169689Skan	(print_location): If col==0, try SOURCE_COLUMN of line.
42270169689Skan	(cpp_error): Use cur_token's src_loc field, rather than line+col.
42271169689Skan	* cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
42272169689Skan	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
42273169689Skan	_cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
42274169689Skan	(_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
42275169689Skan	(_cpp_get_fresh_line): Don't need to adjust line for missing newline.
42276169689Skan	(_cpp_lex_direct): Use linemap_position_for_column.
42277169689Skan	* c-ppoutput.c (maybe_print_line, print_line): Don't take map
42278169689Skan	parameter.  Instead get it from the line_table global.  Adjust callers.
42279169689Skan	(print): Remove map field.  Replace line field to src_line.
42280169689Skan	(init_pp_output, account_for_newlines, maybe_print_line): Adjust.
42281169689Skan	(cb_line_change): Use SOURCE_COLUMN.  Minor optimizations.
42282169689Skan	(pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
42283169689Skan	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
42284169689Skan	* cpptrad.c (copy_comment): Rename variable.
42285169689Skan	* c-lex.c (map): Remove static variable, for same reason we removed
42286169689Skan	cpp_reader's map field.
42287169689Skan	(cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
42288169689Skan	to call linemap_lookup.
42289169689Skan	(cb_line_change): Token's line field replaced by src_loc.
42290169689Skan	(fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
42291169689Skan	Don't save new_map.
42292169689Skan
42293169689Skan	* cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
42294169689Skan	source_location.
42295169689Skan
42296169689Skan2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
42297169689Skan
42298169689Skan	* config/rs6000/altivec.md (*movv4si_internal): At least one
42299169689Skan	operand must be register_operand.
42300169689Skan	(*movv8hi_internal1): Likewise.
42301169689Skan	(*movv16qi_internal1): Likewise.
42302169689Skan	(*movv4sf_internal1): Likewise.
42303169689Skan
42304169689Skan2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
42305169689Skan
42306169689Skan	* config/rs6000/spe.md ("*movv2si_internal"): Check for register
42307169689Skan	operand.
42308169689Skan	(movv4hi_internal): Same.
42309169689Skan	(movv2sf_internal): Same.
42310169689Skan	(movv1di_internal): Same.
42311169689Skan
42312169689Skan2004-02-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
42313169689Skan
42314169689Skan	* config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
42315169689Skan	TARGET_OLDABI consistently.
42316169689Skan	* config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
42317169689Skan	mips_va_arg,override_options,compute_frame_size,
42318169689Skan	mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
42319169689Skan	,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
42320169689Skan	and TARGET_OLDABI consistently.
42321169689Skan	* config/mips/mips.md (exception_receiver): Likewise.
42322169689Skan	* config/mips/linux64.h: Likewise.
42323169689Skan
42324169689Skan2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
42325169689Skan
42326169689Skan	* config/rs6000/rs6000.c (rs6000_override_options)
42327169689Skan	Set AltiVec ABI and vrsave as default for ppc64 linux.
42328169689Skan	(init_cumulative_args): Post error, if try to return
42329169689Skan	value in AltiVec register without enable AltiVec.
42330169689Skan	(function_arg_advance): Ditto for passing arguments.
42331169689Skan
42332169689Skan2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
42333169689Skan
42334169689Skan	* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
42335169689Skan	a label before updating its usage count.
42336169689Skan
42337169689Skan2004-02-10  Matt Kraai  <kraai@alumni.cmu.edu>
42338169689Skan
42339169689Skan	* doc/install.texi: Remove extra cd.
42340169689Skan
42341169689Skan2004-02-10  Ziemowit Laski  <zlaski@apple.com>
42342169689Skan
42343169689Skan	* c-common.c (vector_size_helper): Remove; call
42344169689Skan	reconstruct_complex_type() instead.
42345169689Skan	* tree.c (reconstruct_complex_type): New function
42346169689Skan	(formerly vector_size_helper() in c-common.c).
42347169689Skan	(make_vector): Make externally visible.
42348169689Skan	* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
42349169689Skan
42350169689Skan2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
42351169689Skan
42352169689Skan	* config/h8300/h8300-protos.h: Add a prototype for
42353169689Skan	h8300_regs_ok_for_stm.
42354169689Skan	* config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
42355169689Skan	* config/h8300/h8300.md (stm_h8300s_2_advanced,
42356169689Skan	stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
42357169689Skan	stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
42358169689Skan	stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
42359169689Skan	ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
42360169689Skan	ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
42361169689Skan	ldm_h8300s_4_normal, ldm_h8300s_4): Use
42362169689Skan	h8300_regs_ok_for_stm().
42363169689Skan
42364169689Skan2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
42365169689Skan
42366169689Skan	PR c/14088
42367169689Skan	* real.c (real_from_string): Look for 'X' as well as 'x' in
42368169689Skan	hexfloat strings.
42369169689Skan
42370169689Skan2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
42371169689Skan
42372169689Skan	* config/h8300/h8300.md: Remove an incorrect comment about
42373169689Skan	peephole2.  Add comments.
42374169689Skan
42375169689Skan2004-02-10  Josef Zlomek  <zlomekj@suse.cz>
42376169689Skan
42377169689Skan	PR/14058
42378169689Skan	* emit-rtl.c (set_decl_incoming_rtl): New.
42379169689Skan	* tree.h (set_decl_incoming_rtl): New.
42380169689Skan	* function.c (assign_parms): Use set_decl_incoming_rtl for setting
42381169689Skan	DECL_INCOMING_RTL.
42382169689Skan	* ada/misc.c (adjust_decl_rtl): Likewise.
42383169689Skan
42384169689Skan2004-02-10  Per Bothner  <per@bothner.com>
42385169689Skan
42386169689Skan	* c-opts.c (c_common_post_options): Don't emit working directory
42387169689Skan	in cpp output if -P was specified.
42388169689Skan
42389169689Skan2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
42390169689Skan
42391169689Skan	PR c/14092
42392169689Skan	* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
42393169689Skan	negate_expr back to the original type.
42394169689Skan
42395169689Skan2004-02-10  Alan Modra  <amodra@bigpond.net.au>
42396169689Skan
42397169689Skan	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
42398169689Skan	bump retaddr here.
42399169689Skan
42400169689Skan2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
42401169689Skan
42402169689Skan	* rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
42403169689Skan	gen_lowpart_SUBREG): Move under the file in which they
42404169689Skan	are actually declared.
42405169689Skan
42406169689Skan2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>
42407169689Skan
42408169689Skan	* doc/sourcebuild.texi: Add libada documentation.
42409169689Skan
42410169689Skan	* doc/install.texi: Update documentation on Ada build, now
42411169689Skan	that the GNAT lib and tools are built automatically.
42412169689Skan
42413169689Skan2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
42414169689Skan
42415169689Skan	* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
42416169689Skan	&& TARGET_IRIX.
42417169689Skan
42418169689Skan2004-02-09  Ziemowit Laski  <zlaski@apple.com>
42419169689Skan
42420169689Skan	* objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
42421169689Skan	boundaries outside build_component_ref() call (a macro in ObjC++).
42422169689Skan
42423169689Skan2004-02-09  Bob Wilson  <bob.wilson@acm.org>
42424169689Skan
42425169689Skan	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
42426169689Skan	(init_cumulative_args): Likewise.
42427169689Skan	(a7_overlap_mentioned_p): Delete prototype.
42428169689Skan	* config/xtensa/xtensa.c (struct machine_function): Replace
42429169689Skan	incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
42430169689Skan	Add set_frame_ptr_insn field.
42431169689Skan	(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
42432169689Skan	(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
42433169689Skan	if the operand is an argument in a7.  If so, copy a7 to a new pseudo
42434169689Skan	at the function entry and replace the operand with the pseudo.
42435169689Skan	(init_cumulative_args): Remove unused arguments.  Add new "incoming"
42436169689Skan	argument and record this flag in CUMULATIVE_ARGS.
42437169689Skan	(function_arg): Remove result_mode and special-case code to handle
42438169689Skan	arguments in a7.  Instead, set need_a7_copy flag when there is an
42439169689Skan	incoming argument in a7.
42440169689Skan	(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
42441169689Skan	and use the value recorded in cfun->machine->set_frame_ptr_insn.
42442169689Skan	(xtensa_builtin_saveregs): Check for negative gp_left value.  Set
42443169689Skan	need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
42444169689Skan	special-case code.
42445169689Skan	(a7_overlap_mentioned_p): Delete.
42446169689Skan	* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
42447169689Skan	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
42448169689Skan	arguments to init_cumulative_args and pass "incoming" flag instead.
42449169689Skan	(BLOCK_REG_PADDING): Delete.
42450169689Skan	* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
42451169689Skan	checks for reload_in_progress and reload_completed.  Update calls to
42452169689Skan	xtensa_copy_incoming_a7.
42453169689Skan	(ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
42454169689Skan	to call xtensa_copy_incoming_a7.
42455169689Skan
42456169689Skan2004-02-09  DJ Delorie  <dj@redhat.com>
42457169689Skan
42458169689Skan	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
42459169689Skan	longer modify standard_exec_prefix, standard_bindir_prefix, or
42460169689Skan	standard_startfile_prefix.
42461169689Skan
42462169689Skan2004-02-09  James E Wilson  <wilson@specifixinc.com>
42463169689Skan
42464169689Skan	PR c++/11295
42465169689Skan	* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
42466169689Skan	to expand_expr_real call, and pass in alt_rtl as last argument.
42467169689Skan
42468169689Skan	PR libstdc++/5625
42469169689Skan	* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
42470169689Skan	* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
42471169689Skan	* builtins.def (BUILT_IN_EXTEND_POINTER): New.
42472169689Skan	* except.c (expand_builtin_extend_pointer): New.
42473169689Skan	* except.h (expand_builtin_extend_pointer): Declare.
42474169689Skan
42475169689Skan2004-02-09  David Edelsohn  <edelsohn@gnu.org>
42476169689Skan
42477169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
42478169689Skan	unaligned loads and stores.
42479169689Skan
42480169689Skan2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
42481169689Skan
42482169689Skan	* config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
42483169689Skan	* config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
42484169689Skan
42485169689Skan	* config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
42486169689Skan	* config/mips/iris5.h: ... here.
42487169689Skan	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
42488169689Skan
42489169689Skan	* config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
42490169689Skan	* config/mips/iris5.h: ... here.
42491169689Skan
42492169689Skan2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
42493169689Skan
42494169689Skan	* configure.ac: Remove default executable files before AC_PROG_CC.
42495169689Skan	* configure: Regenerate.
42496169689Skan
42497169689Skan2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
42498169689Skan
42499169689Skan	PR target/13721
42500169689Skan	* config/h8300/h8300.c (byte_reg): Call abort() if asked to
42501169689Skan	print a operand other than a register.
42502169689Skan
42503169689Skan2004-02-09  Roger Sayle  <roger@eyesopen.com>
42504169689Skan
42505169689Skan	* fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
42506169689Skan	tree code rather than call fold_convert, which doesn't specify a
42507169689Skan	default floating point to integer conversion.
42508169689Skan
42509169689Skan2004-02-08  Bernardo Innocenti  <bernie@develer.com>
42510169689Skan
42511169689Skan	* config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
42512169689Skan	code to support SGS assembler.  Reformat adjacent code where possible.
42513169689Skan	* config/m68k/m68k.c (switch_table_difference_label_flag): Remove
42514169689Skan	definition.
42515169689Skan	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
42516169689Skan	for '%#'.
42517169689Skan	* config/m68k/linux.h, config/m68k/m68k.c,
42518169689Skan	* config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
42519169689Skan	macros and asm_printf() format strings.
42520169689Skan	* config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
42521169689Skan	* config/m68k/linux.h: Update copyright.
42522169689Skan	* config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
42523169689Skan
42524169689Skan2004-02-08  Andreas Schwab  <schwab@suse.de>
42525169689Skan	    Bernardo Innocenti  <bernie@develer.com>
42526169689Skan
42527169689Skan	* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
42528169689Skan	REGISTER_PREFIX.
42529169689Skan	* (M68K_FP_REG_NAME): New macro to specify an alternate name for the
42530169689Skan	frame pointer register, overridable by OS targets.
42531169689Skan	* (M68K_REGNAME): Macro to obtain register name for asm output,
42532169689Skan	eventually replacing %a6 with M68K_FP_REG_NAME.
42533169689Skan	* config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
42534169689Skan	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
42535169689Skan	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
42536169689Skan	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
42537169689Skan	* config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
42538169689Skan
42539169689Skan2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
42540169689Skan
42541169689Skan	* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
42542169689Skan	hook_rtx_tree_int_null.
42543169689Skan	* targhooks.c (default_struct_value_rtx): Remove.
42544169689Skan	* targhooks.h: Remove the prototype for
42545169689Skan	default_struct_value_rtx.
42546169689Skan	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
42547169689Skan	config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
42548169689Skan	config/ip2k/ip2k.c, config/iq2000/iq2000.c,
42549169689Skan	config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
42550169689Skan	config/mn10300/mn10300.c, config/pdp11/pdp11.c,
42551169689Skan	config/rs6000/rs6000.c, config/s390/s390.c,
42552169689Skan	config/stormy16/stormy16.c, config/v850/v850.c,
42553169689Skan	config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
42554169689Skan	* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
42555169689Skan
42556169689Skan2004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
42557169689Skan
42558169689Skan	* README.Portability: Change "ISO C89" to "ISO C90".
42559169689Skan	* c-parse.in (primary, initelt): Likewise.
42560169689Skan
42561169689Skan2004-02-08  Richard Sandiford  <rsandifo@redhat.com>
42562169689Skan
42563169689Skan	* real.c (encode_ibm_extended): Normalize the input value before
42564169689Skan	converting it to a double.  Handle the case where a normal value
42565169689Skan	rounds to infinity.
42566169689Skan
42567169689Skan2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
42568169689Skan
42569169689Skan	* c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
42570169689Skan	warning.
42571169689Skan	* cse.c (preferrable): Change to preferable. Update all of its
42572169689Skan	callers.
42573169689Skan	* genautomata.c (ainsn): Change
42574169689Skan	first_ainsn_with_given_equialence_num to
42575169689Skan	first_ainsn_with_given_equivalence_num.  Update all of its
42576169689Skan	references.
42577169689Skan
42578169689Skan2004-02-08  Jan Hubicka  <jh@suse.cz>
42579169689Skan
42580169689Skan	* schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
42581169689Skan
42582169689Skan2004-02-07  David Edelsohn  <edelsohn@gnu.org>
42583169689Skan
42584169689Skan	* function.c (assign_parms): Fix formatting.
42585169689Skan
42586169689Skan2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
42587169689Skan
42588169689Skan	* default.h (PROMOTE_PROTOTYPES): Remove.
42589169689Skan	* system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
42590169689Skan	STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
42591169689Skan	EXPAND_BUILTIN_SAVEREGS): Poison.
42592169689Skan	* target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
42593169689Skan	hook_bool_tree_false.
42594169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
42595169689Skan	* target.h: Replace SETUP_INCOMING_VARARGS with
42596169689Skan	targetm.calls.setup_incoming_varargs().
42597169689Skan	* targhooks.c (default_promote_function_return): Remove.
42598169689Skan	(default_promote_prototypes): Likewise.
42599169689Skan	(default_struct_value_rtx): Always abort().
42600169689Skan	(default_expand_builtin_saveregs): Always print an error
42601169689Skan	message.
42602169689Skan	(default_setup_incoming_varargs): Do nothing.
42603169689Skan	(default_pretend_outgoing_varargs_named): Don't depend on
42604169689Skan	SETUP_INCOMING_VARARGS.
42605169689Skan	* targhooks.h: Remove the prototype for
42606169689Skan	default_promote_function_return and
42607169689Skan	default_promote_prototypes.
42608169689Skan
42609169689Skan2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
42610169689Skan
42611169689Skan	* system.h (SHARED_SECTION_ASM_OP): Poison.
42612169689Skan	* varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
42613169689Skan	* doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
42614169689Skan
42615169689Skan2004-02-07  Zack Weinberg  <zack@codesourcery.com>
42616169689Skan
42617169689Skan	Bug 13856
42618169689Skan	* c-decl.c (diagnose_mismatched_decls): Only give special
42619169689Skan	treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
42620169689Skan	is also true.
42621169689Skan	(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
42622169689Skan	DECL_FUNCTION_CODE when defining a built-in function.
42623169689Skan	Don't update DECL_ESTIMATED_INSNS.
42624169689Skan	* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
42625169689Skan	FUNCTION_DECLs.
42626169689Skan	* tree.h: Delete DECL_ESTIMATED_INSNS.
42627169689Skan	* tree-inline.c (struct inline_data): Delete inlined_insns field.
42628169689Skan	(expand_call_inline, optimize_inline_calls): Don't update
42629169689Skan	DECL_ESTIMATED_INSNS nor inlined_insns.
42630169689Skan	* cgraphunit.c (cgraph_analyze_function): Don't update
42631169689Skan	DECL_ESTIMATED_INSNS.
42632169689Skan
42633169689Skan2004-02-07  Zack Weinberg  <zack@codesourcery.com>
42634169689Skan
42635169689Skan	* c-common.c (shadow_warning): Delete.
42636169689Skan	* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
42637169689Skan	* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
42638169689Skan	* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
42639169689Skan	* c-parse.in (free_parser_stacks): Delete.
42640169689Skan
42641169689Skan2004-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
42642169689Skan
42643169689Skan	* Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
42644169689Skan	config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
42645169689Skan	Use the top level mkinstalldirs, not the one in the gcc subdir.
42646169689Skan	* mkinstalldirs: Remove (from the gcc subdir).
42647169689Skan
42648169689Skan2004-02-07  Roger Sayle  <roger@eyesopen.com>
42649169689Skan
42650169689Skan	PR middle-end/13696
42651169689Skan	* fold-const.c (fold_convert): New function to provide type
42652169689Skan	conversion to the middle-end without using convert.
42653169689Skan	(negate_expr, associate_trees, size_diffop, omit_one_operand,
42654169689Skan	operand_equal_for_comparison_p, pedantic_omit_one_operand,
42655169689Skan	invert_truthvalue, optimize_bit_field_compare, range_binop,
42656169689Skan	decode_field_reference, make_range, build_range_check, unextend,
42657169689Skan	fold_truthop, extract_muldiv_1, fold_mathfn_compare,
42658169689Skan	fold_binary_op_with_conditional_arg, fold_inf_compare,
42659169689Skan	fold_single_bit_test, fold, multiple_of_p): Replace all calls to
42660169689Skan	convert with calls to fold_convert.
42661169689Skan
42662169689Skan2004-02-07  Jan Hubicka  <jh@suse.cz>
42663169689Skan
42664169689Skan	* genrecog.c (find_operand): add extra argument stop.
42665169689Skan	(validate_pattern): Verify that mach_dup is duplicating operand
42666169689Skan	defined lexically earlier.
42667169689Skan
42668169689Skan2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
42669169689Skan
42670169689Skan	* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
42671169689Skan	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
42672169689Skan	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
42673169689Skan	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
42674169689Skan	config/ia64/ia64.h, config/ip2k/ip2k.h,
42675169689Skan	config/iq2000/iq2000.h, config/mips/iris5.h,
42676169689Skan	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
42677169689Skan	config/rs6000/aix51.h, config/rs6000/aix52.h,
42678169689Skan	config/rs6000/darwin.h, config/rs6000/rs6000.h,
42679169689Skan	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
42680169689Skan	config/sparc/linux.h, config/sparc/linux64.h,
42681169689Skan	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
42682169689Skan	config/xtensa/xtensa.h: Remove the definitions of
42683169689Skan	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
42684169689Skan	MAX_WCHAR_TYPE_SIZE.
42685169689Skan	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
42686169689Skan	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
42687169689Skan
42688169689Skan2004-02-07  Stephane Carrez  <stcarrez@nerim.fr>
42689169689Skan
42690169689Skan	PR bootstrap/13990
42691169689Skan	* config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
42692169689Skan	gen_rtx_NE.
42693169689Skan
42694169689Skan2004-02-07  Josef Zlomek  <zlomekj@suse.cz>
42695169689Skan
42696169689Skan	* var-tracking.c (vt_add_function_parameters): Surround checkings by
42697169689Skan	#ifdef ENABLE_CHECKING and #endif.
42698169689Skan
42699169689Skan2004-02-07  Roger Sayle  <roger@eyesopen.com>
42700169689Skan
42701169689Skan	* fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
42702169689Skan	either (-A)-B or (-B)-A, if A or B is easily negated respectively.
42703169689Skan	(fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
42704169689Skan	integer types and floating point with unsafe_math_optimizations.
42705169689Skan	Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
42706169689Skan	Optimize A - B as A + (-B), if B is easily negated.
42707169689Skan
42708169689Skan2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
42709169689Skan
42710169689Skan	* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
42711169689Skan	config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
42712169689Skan	config/m32r/linux.h, config/rs6000/ppc64-fp.c,
42713169689Skan	config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
42714169689Skan	Update copyright.
42715169689Skan
42716169689Skan2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
42717169689Skan
42718169689Skan	* c-ppoutput.c, var-tracking.c: Fix comment typos.
42719169689Skan
42720169689Skan2004-02-06  James E Wilson  <wilson@specifixinc.com>
42721169689Skan
42722169689Skan	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
42723169689Skan	glibc 2.3 or better.
42724169689Skan
42725169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42726169689Skan
42727169689Skan	* doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
42728169689Skan	to FLOAT_LIB_COMPARE_RETURNS_BOOL.
42729169689Skan
42730169689Skan2004-02-07  Alan Modra  <amodra@bigpond.net.au>
42731169689Skan
42732169689Skan	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
42733169689Skan	(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
42734169689Skan	(SHLIB_MKMAP_OPTS): Delete.
42735169689Skan	(TARGET_LIBGCC2_CFLAGS): Add -specs.
42736169689Skan	(bispecs): Add rule.
42737169689Skan	* config/rs6000/libgcc-ppc64.ver: New file.
42738169689Skan	* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
42739169689Skan	(__floatdidf, __floatdisf): Optimize multiply.
42740169689Skan	(__fixunstfdi): New function.
42741169689Skan	* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
42742169689Skan	real and imag parts larger than one register.
42743169689Skan	(function_arg): Correct type of reg used when fp arg split partially
42744169689Skan	to stack.
42745169689Skan	* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
42746169689Skan	and __MACH__ or __powerpc64__.
42747169689Skan
42748169689Skan2004-02-06  Roger Sayle  <roger@eyesopen.com>
42749169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
42750169689Skan
42751169689Skan	* builtins.c (expand_builtin_signbit): Use extract_bit_field instead
42752169689Skan	of gen_highpart or gen_lowpart when the floating point format is
42753169689Skan	wider than the result mode.
42754169689Skan
42755169689Skan2004-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
42756169689Skan
42757169689Skan	* dwarf2out.c (loclabel_num): Move into #ifdef
42758169689Skan	DWARF2_DEBUGGING_INFO.
42759169689Skan
42760169689Skan2004-02-06  Ziemowit Laski  <zlaski@apple.com>
42761169689Skan
42762169689Skan	* objc/objc-act.c (build_super_template) the 'class' field of
42763169689Skan	'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
42764169689Skan	(get_super_receiver): Likewise.
42765169689Skan
42766169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42767169689Skan
42768169689Skan	* reload1.c (check_eliminable_occurrences): Optimize the reset
42769169689Skan	of can_eliminate.
42770169689Skan	(eliminate_regs_in_insn): Likewise.
42771169689Skan
42772169689Skan2004-02-06  Daniel Berlin <dberlin@dberlin.org>
42773169689Skan	    Josef Zlomek  <zlomekj@suse.cz>
42774169689Skan
42775169689Skan	* dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
42776169689Skan	at the beginning of function, call dwarf2out_var_location for
42777169689Skan	NOTE_INSN_VAR_LOCATION note.
42778169689Skan	(struct var_loc_node, struct var_loc_list_def, loclabel_num,
42779169689Skan	decl_loc_table): New.
42780169689Skan	(lookup_decl_loc): New function.
42781169689Skan	(add_var_loc_to_decl): New function.
42782169689Skan	(based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
42783169689Skan	only if can_use_fbreg.
42784169689Skan	(mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
42785169689Skan	functions.
42786169689Skan	(loc_descriptor): Likewise. Process VAR_LOCATION.
42787169689Skan	(concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
42788169689Skan	(loc_descriptor_from_tree): Call mem_loc_descriptor with
42789169689Skan	can_use_fbreg == true.
42790169689Skan	(add_location_or_const_value_attribute): Added parameter enum
42791169689Skan	dwarf_attribute attr, generate attribute ATTR.  Create the location list.
42792169689Skan	(add_bound_info): Call loc_descriptor with can_use_fbreg == true.
42793169689Skan	(gen_formal_parameter_die): Call add_location_or_const_value_attribute
42794169689Skan	with attr == DW_AT_location.
42795169689Skan	(gen_subprogram_die): Generate the location list for DW_AT_frame_base
42796169689Skan	if frame_base_decl is defined and has a location list.
42797169689Skan	(gen_variable_die): Call add_location_or_const_value_attribute with
42798169689Skan	attr == DW_AT_location.
42799169689Skan	(dwarf2out_var_location): New function.
42800169689Skan	(dwarf2out_begin_function): New function.
42801169689Skan	(dwarf2out_init): Create decl_loc_table.
42802169689Skan
42803169689Skan2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
42804169689Skan
42805169689Skan	* loop.c (force_movables): Transitively increase the priorities of
42806169689Skan	all insns forces by an insn, not just the first one.
42807169689Skan
42808169689Skan2004-02-06  Josef Zlomek  <zlomekj@suse.cz>
42809169689Skan	    Daniel Berlin <dberlin@dberlin.org>
42810169689Skan
42811169689Skan	Josef Zlomek  <zlomekj@suse.cz>
42812169689Skan	* Makefile.in (var-tracking.o): New.
42813169689Skan	* common.opt (fvar-tracking): New.
42814169689Skan	* flags.h (flag_var_tracking): New.
42815169689Skan	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
42816169689Skan	* opts.c (common_handle_option): Add OPT_fvar_tracking.
42817169689Skan	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
42818169689Skan	* rtl.c (note_insn_name): Likewise.
42819169689Skan	* rtl.def (VAR_LOCATION): New.
42820169689Skan	* rtl.h (NOTE_VAR_LOCATION): New.
42821169689Skan	(NOTE_VAR_LOCATION_DECL): New.
42822169689Skan	(NOTE_VAR_LOCATION_LOC): New.
42823169689Skan	(enum insn_note): NOTE_INSN_VAR_LOCATION was added.
42824169689Skan	(variable_tracking_main): New exported function.
42825169689Skan	* timevar.def (TV_VAR_TRACKING): New.
42826169689Skan	* toplev.c (enum dump_file_index): Added DFI_vartrack.
42827169689Skan	(dump_file): "vartrack" was added (-dV).
42828169689Skan	(flag_var_tracking): New.
42829169689Skan	(f_options): "var-tracking" was added.
42830169689Skan	(rest_of_handle_variable_tracking): New function.
42831169689Skan	(rest_of_compilation): Run variable tracking.
42832169689Skan	(process_options): If user has not specified flag_var_tracking set it
42833169689Skan	according to optimize, debug_info_level and debug_hooks.
42834169689Skan	* tree.h (frame_base_decl): New.
42835169689Skan	* var-tracking.c: New file.
42836169689Skan	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
42837169689Skan	(ia64_override_options): Set flags to run variable tracking in machine
42838169689Skan	dependent reorg instead of toplev.c.
42839169689Skan	(ia64_reorg): Run variable tracking if wanted.
42840169689Skan	* doc/invoke.texi: Mention variable tracking in -dV,
42841169689Skan	add and -fvar-tracking.
42842169689Skan	* doc/passes.texi: Added variable tracking pass.
42843169689Skan
42844169689Skan	Daniel Berlin <dberlin@dberlin.org>
42845169689Skan	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
42846169689Skan	* dbxout.c (dbx_debug_hooks): Likewise.
42847169689Skan	(xcoff_debug): Likewise.
42848169689Skan	* debug.c (do_nothing_debug_hooks): Likewise.
42849169689Skan	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
42850169689Skan	* dwarfout.c (dwarf_debug_hooks): Likewise.
42851169689Skan	* sdbout.c (sdb_debug_hooks): Likewise.
42852169689Skan	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
42853169689Skan	* final.c (final_scan_insn): Call var_location debug hook for each
42854169689Skan	NOTE_INSN_VAR_LOCATION.
42855169689Skan
42856169689Skan2004-02-06  Jan Hubicka  <jh@suse.cz>
42857169689Skan
42858169689Skan	* flow.c (update_life_info): Allocate reg_deaths when called from
42859169689Skan	scheudler.
42860169689Skan	(attempt_auto_inc): Update life ranges accordingly.
42861169689Skan
42862169689Skan2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
42863169689Skan
42864169689Skan	PR debug/11816
42865169689Skan	* dwarf2out.c (gen_decl_die): Handle anonymous struct members.
42866169689Skan
42867169689Skan2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
42868169689Skan
42869169689Skan	* cfganal.c (flow_call_edges_add): Never split a libcall block.
42870169689Skan
42871169689Skan2004-02-06  Daniel Berlin  <dberlin@dberlin.org>
42872169689Skan
42873169689Skan	* dwarf2out.c (output_loc_list): Don't use deltas if we have
42874169689Skan	a separate line info table in use.
42875169689Skan	Use the correct size for terminators.
42876169689Skan	(output_die): Use offset, not delta.
42877169689Skan
42878169689Skan2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
42879169689Skan
42880169689Skan	* doc/invoke.texi: Remove the pni option from -mfpmath=.
42881169689Skan
42882169689Skan2004-02-06  Jan Hubicka  <jh@suse.cz>
42883169689Skan
42884169689Skan	* recog.c (split_all_insns): Do not update reg info.
42885169689Skan	* regrename.c (regrename_optimize): Likewise.
42886169689Skan	* toplev.c (rest_of_handle_reorder_blocks): Likewise.
42887169689Skan	* flow.c (struct propagate_block_info): Add insn_num field.
42888169689Skan	(reg_deaths): New array.
42889169689Skan	(life_analysis): Free reg_deaths info.
42890169689Skan	(allocate_reg_life_data): Allocate reg_deaths array.
42891169689Skan	(propagate_one_insn): Use new array.
42892169689Skan	(init_propagate_block): Initialize it.
42893169689Skan	(free_propagate_block_info): Finish compuation of
42894169689Skan	REG_LIVE_LENGTH
42895169689Skan	(attempt_auto_inc): Sanity check that REG_INFO is not
42896169689Skan	computed at same time.
42897169689Skan	(mark_used_regs): Update new array.
42898169689Skan
42899169689Skan	* reg-stack.c (subst_stack_regs): Unshare clobbers before
42900169689Skan	substitution.
42901169689Skan
42902169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42903169689Skan
42904169689Skan	* config/s390/s390.md (*extendsiqi2_short_displ): Change to
42905169689Skan	*extendqisi2_short_displ.
42906169689Skan
42907169689Skan2004-02-06  Alan Modra  <amodra@bigpond.net.au>
42908169689Skan
42909169689Skan	* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
42910169689Skan	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
42911169689Skan	(emit_library_call_value_1): Likewise pass nargs.
42912169689Skan	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
42913169689Skan	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
42914169689Skan	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
42915169689Skan	parameter instead of scanning TYPE_ARGS_TYPES to count args.
42916169689Skan	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
42917169689Skan	prototype.
42918169689Skan	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
42919169689Skan	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
42920169689Skan	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
42921169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
42922169689Skan	INIT_CUMULATIVE_ARGS.
42923169689Skan	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
42924169689Skan	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
42925169689Skan	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
42926169689Skan	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
42927169689Skan	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
42928169689Skan	config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
42929169689Skan	config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
42930169689Skan	config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
42931169689Skan	config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
42932169689Skan	config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
42933169689Skan	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
42934169689Skan	config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
42935169689Skan
42936169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42937169689Skan
42938169689Skan	* genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
42939169689Skan	possible.
42940169689Skan
42941169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42942169689Skan
42943169689Skan	* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
42944169689Skan	note containing (plus (reg) (const_int)), where reg is an
42945169689Skan	eliminable reg, then perform the register elimination without
42946169689Skan	depending on eliminate_regs().
42947169689Skan
42948169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42949169689Skan
42950169689Skan	* config/arc/arc.c (arc_return_in_memory): Check the return
42951169689Skan	value of int_size_in_bytes against -1.  Don't check
42952169689Skan	TREE_ADDRESSABLE.
42953169689Skan	* config/avr/avr.c (avr_return_in_memory): Check the return
42954169689Skan	value of int_size_in_bytes against -1.
42955169689Skan	* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
42956169689Skan	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
42957169689Skan	Likewise.
42958169689Skan	* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
42959169689Skan	* config/stormy16/stormy16.c (xstormy16_return_in_memory):
42960169689Skan	Likewise.
42961169689Skan
42962169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42963169689Skan
42964169689Skan	* config/frv/frv-protos.h: Remove the prototype for
42965169689Skan	frv_setup_incoming_varargs.
42966169689Skan	* config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
42967169689Skan	(frv_setup_incoming_varargs): Make it static.
42968169689Skan	* config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
42969169689Skan
42970169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42971169689Skan
42972169689Skan	* config/fr30/fr30-protos.h: Remove the prototype for
42973169689Skan	fr30_setup_incoming_varargs.
42974169689Skan	Update the prototypes for fr30_num_arg_regs and
42975169689Skan	fr30_function_arg_partial_nregs.
42976169689Skan	* config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
42977169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
42978169689Skan	(fr30_setup_incoming_varargs): Make it static.
42979169689Skan	Add argument second_time.  Don't do anything when second_time
42980169689Skan	is nonzero.
42981169689Skan	(fr30_num_arg_regs): Change the type of the first argument to
42982169689Skan	enum machine_mode.
42983169689Skan	(fr30_function_arg_partial_nregs): Change the type of the
42984169689Skan	second argument to enum machine_mode.
42985169689Skan	* config/fr30/fr30.h (STRUCT_VALUE): Remove.
42986169689Skan	(SETUP_INCOMING_VARARGS): Remove.
42987169689Skan
42988169689Skan2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
42989169689Skan
42990169689Skan	* config/arc/arc-protos.h: Remove the prototype for
42991169689Skan	arc_setup_incoming_varargs.
42992169689Skan	* config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
42993169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
42994169689Skan	(arc_setup_incoming_varargs): Make it static.
42995169689Skan	(arc_external_libcall): Likewise.
42996169689Skan	* config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
42997169689Skan	Remove the commented-out definition of
42998169689Skan	ASM_OUTPUT_EXTERNAL_LIBCALL.
42999169689Skan
43000169689Skan2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
43001169689Skan
43002169689Skan	* config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
43003169689Skan	to $$(slibdir) in the installation commands.
43004169689Skan
43005169689Skan2004-02-05  David Edelsohn  <edelsohn@gnu.org>
43006169689Skan
43007169689Skan	* reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
43008169689Skan	with inner_regno, not regno.
43009169689Skan	* rtlanal.c (refers_to_regno_p): Same.
43010169689Skan
43011169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43012169689Skan
43013169689Skan	* config.gcc: Remove i370 support.
43014169689Skan
43015169689Skan2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
43016169689Skan
43017169689Skan	* doc/install.texi: Update automake and autoconf version
43018169689Skan	requirements.  Note where to find gcj automake version.
43019169689Skan
43020169689Skan2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
43021169689Skan
43022169689Skan	* Makefile.in (generate-manpages): Move dependencies to ...
43023169689Skan	(man): here.
43024169689Skan	* doc/makefile.texi: Document new targets.
43025169689Skan	* doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
43026169689Skan
43027169689Skan2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
43028169689Skan
43029169689Skan	PR/13485
43030169689Skan	Makefile.in (srcextra): Add a level of indirection to ...
43031169689Skan	(gcc.srcextra): ... here.
43032169689Skan	(po-generated): Delete.
43033169689Skan	(po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
43034169689Skan	options.c.
43035169689Skan	(start.encap): Remove superfluous lang.srcextra dependency.
43036169689Skan	objc/Make-lang.in (po-generated): Delete.
43037169689Skan
43038169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43039169689Skan
43040169689Skan	* config/ia64/ia64.c (REG_GP): Remove.
43041169689Skan
43042169689Skan2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
43043169689Skan
43044169689Skan	* config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
43045169689Skan
43046169689Skan2004-02-05  Devang Patel  <dpatel@apple.com>
43047169689Skan
43048169689Skan	* dwarf2out.c (force_type_die): Look up input type itself
43049169689Skan	instead of root_type() of type.
43050169689Skan
43051169689Skan2004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
43052169689Skan
43053169689Skan	* config/s390/s390.md ("*tmqidi_ext"): New insn.
43054169689Skan	("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
43055169689Skan	pre-reload splitters are transformed to post-reload
43056169689Skan	define_insn_and_split patterns.
43057169689Skan	("*tmqisi_ext"): Renamed old "*tmqi_ext".
43058169689Skan
43059169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43060169689Skan
43061169689Skan	* config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
43062169689Skan	TARGET_PROMOTE_PROTOTYPES.
43063169689Skan
43064169689Skan2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
43065169689Skan
43066169689Skan	PR middle-end/13750
43067169689Skan	Revert:
43068169689Skan	2004-01-15  Geoffrey Keating  <geoffk@apple.com>
43069169689Skan	PR pch/13361
43070169689Skan	* c-typeck.c (constructor_asmspec): Delete.
43071169689Skan	(struct initializer_stack): Delete field 'asmspec'.
43072169689Skan	(start_init): Delete saving of asmspec.
43073169689Skan	(finish_init): Don't update constructor_asmspec.
43074169689Skan	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
43075169689Skan	* stmt.c (expand_asm): Duplicate strings from tree.
43076169689Skan	(expand_asm_operands): Likewise.
43077169689Skan	* tree.c (tree_size): Update computation of size of STRING_CST.
43078169689Skan	(make_node): Don't make STRING_CST nodes.
43079169689Skan	(build_string): Allocate string with tree node.
43080169689Skan	* tree.def (STRING_CST): Update comment.
43081169689Skan	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
43082169689Skan	(tree_string): Place contents of string in tree node.
43083169689Skan	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
43084169689Skan	from tree.
43085169689Skan
43086169689Skan2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
43087169689Skan
43088169689Skan	* diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
43089169689Skan	msgid.
43090169689Skan
43091169689Skan2004-02-05  Dorit Naishlos  <dorit@il.ibm.com>
43092169689Skan
43093169689Skan	* config/rs6000/altivec.md (*movv4si_internal): At least one
43094169689Skan	operand must be altivec_register_operand.
43095169689Skan	(*movv8hi_internal1): Likewise.
43096169689Skan	(*movv16qi_internal1): Likewise.
43097169689Skan	(*movv4sf_internal1): Likewise.
43098169689Skan
43099169689Skan2004-02-05  David Edelsohn  <edelsohn@gnu.org>
43100169689Skan
43101169689Skan	* configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
43102169689Skan	* configure: Regenerate.
43103169689Skan
43104169689Skan2004-02-05  Jonathan Wakely  <redi@gcc.gnu.org>
43105169689Skan
43106169689Skan	* doc/install.texi: Update description of --gxx-include-dir to
43107169689Skan	give correct default value.
43108169689Skan
43109169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43110169689Skan
43111169689Skan	* config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
43112169689Skan	8 with MAC_REG.
43113169689Skan
43114169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43115169689Skan
43116169689Skan	* config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
43117169689Skan	gen_rtx_PARALLEL.
43118169689Skan
43119169689Skan2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
43120169689Skan
43121169689Skan	* emit-rtl.c: Update the comment about the file.
43122169689Skan
43123169689Skan2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
43124169689Skan
43125169689Skan	* sourcebuild.texi (Test Idioms): Update testcase naming
43126169689Skan	conventions.
43127169689Skan
43128169689Skan2004-02-04  Per Bothner  <per@bothner.com>
43129169689Skan
43130169689Skan	Partially revert/redo 2003-10-01 change; fix -fworking-directory.
43131169689Skan	* c-ppoutput.c (pp_dir_change): New function.
43132169689Skan	* c-common.h (pp_dir_change): New declaration.
43133169689Skan	* cpplib.h (struct cpp_options): Remove working_directory field.
43134169689Skan	* cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
43135169689Skan	(cpp_read_main_file): as before 10-01.  Call _cpp_stack_file.
43136169689Skan	Don't handle -fworking_directory here, but in c_common_post_options.
43137169689Skan	(read_original_directory): Don't back up when done.
43138169689Skan	Don't clear no-longer used working_directory flag.
43139169689Skan	* cpplib.h: Update declarations to match.
43140169689Skan	* c-lex.c (cb_dir_change): Move to c-opts.c.
43141169689Skan	(init_c_lex): Don't set dir_change callback here, since we want
43142169689Skan	to set it even if flag_preprocess_only.
43143169689Skan	* c-opts.c (cb_dir_change): Function moved from c-lex.c.
43144169689Skan	(c_common_post_options): Set dir_change callback.
43145169689Skan	Call pp_dir_change if approporiate.
43146169689Skan	(finish_options): Don't call cpp_find_main_file here.	Hence remove
43147169689Skan	unneeded parameter and result. Do LC_RENAME for <built-in>.
43148169689Skan	(c_common_post_options): Call cpp_read_main_file here instead.
43149169689Skan	(c_common_init): Update accordingly.
43150169689Skan	(push_command_line_include): Don't cpp_push_main_file.
43151169689Skan	Do LC_RENAME rather than LC_LEASE to get back to main file.
43152169689Skan	Compared to pre-10-01 version, inline cpp_rename_to_main_file.
43153169689Skan	(c_common_parse_file): Call cpp_read_main_file for subsequent main
43154169689Skan	files, but call finish_options for all files.
43155169689Skan	* c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
43156169689Skan	* fix-header.c (read_scan_file): Call cpp_read_main_file instead of
43157169689Skan	cpp_find_main_file + cpp_push_main_file.
43158169689Skan	* c-lex.c (fe_file_change): Don't set main_input_filename here.
43159169689Skan	* opts.c (handle_options): Only set main_input_filename first time.
43160169689Skan
43161169689Skan2004-02-05  Ian Lance Taylor  <ian@wasabisystems.com>
43162169689Skan
43163169689Skan	* config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
43164169689Skan
43165169689Skan2004-02-04  Geoffrey Keating  <geoffk@apple.com>
43166169689Skan
43167169689Skan	* reload.c (find_equiv_reg): When checking for register overlap,
43168169689Skan	don't index hard_regno_nregs with a pseudo-reg.
43169169689Skan
43170169689Skan2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
43171169689Skan
43172169689Skan	* config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
43173169689Skan
43174169689Skan2004-02-04  David Edelsohn  <edelsohn@gnu.org>
43175169689Skan
43176169689Skan	* reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
43177169689Skan	against FIRST_PSEUDO_REGISTER.
43178169689Skan
43179169689Skan2004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
43180169689Skan
43181169689Skan	* Makefile.in: Move target, host overrides after per-language
43182169689Skan	fragments.
43183169689Skan
43184169689Skan	* config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
43185169689Skan	(GNATLIBCFLAGS): Remove -g.
43186169689Skan
43187169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43188169689Skan
43189169689Skan	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
43190169689Skan	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
43191169689Skan	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
43192169689Skan	config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
43193169689Skan	config/pdp11/pdp11.c, config/rs6000/rs6000.c,
43194169689Skan	config/sparc/sparc.c, config/vax/vax.c: Revert the
43195169689Skan	replacements of "FALLTHRU" with "Fall through" done in the
43196169689Skan	previous patch.
43197169689Skan
43198169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43199169689Skan
43200169689Skan	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
43201169689Skan	config/arm/arm.c, config/arm/arm.md,
43202169689Skan	config/cris/cris-protos.h, config/fr30/fr30.c,
43203169689Skan	config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
43204169689Skan	config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
43205169689Skan	config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
43206169689Skan	config/ip2k/ip2k.md, config/ip2k/libgcc.S,
43207169689Skan	config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
43208169689Skan	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
43209169689Skan	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
43210169689Skan	config/ns32k/netbsd.h, config/ns32k/ns32k.c,
43211169689Skan	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
43212169689Skan	config/rs6000/darwin-ldouble.c, config/s390/s390.h,
43213169689Skan	config/s390/s390.md, config/sparc/netbsd-elf.h,
43214169689Skan	config/sparc/openbsd.h, config/sparc/sparc.c,
43215169689Skan	config/xtensa/lib2funcs.S: Fix comment formatting.
43216169689Skan
43217169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43218169689Skan
43219169689Skan	* config/alpha/alpha.c, config/arc/arc.c,
43220169689Skan	config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
43221169689Skan	config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
43222169689Skan	config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
43223169689Skan	config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
43224169689Skan	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
43225169689Skan	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
43226169689Skan	config/iq2000/iq2000.c, config/m32r/m32r.c,
43227169689Skan	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
43228169689Skan	config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
43229169689Skan	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
43230169689Skan	config/rs6000/rs6000.h, config/sparc/sparc.c,
43231169689Skan	config/vax/vax.c: Fix comment typos.  Follow spelling
43232169689Skan	conventions.
43233169689Skan
43234169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43235169689Skan
43236169689Skan	* alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
43237169689Skan	caller-save.c, df.h, genconfig.c, global.c, lcm.c,
43238169689Skan	ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
43239169689Skan	sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
43240169689Skan	config/arm/fpa.md, config/arm/iwmmxt.md,
43241169689Skan	config/arm/netbsd-elf.h, config/arm/netbsd.h,
43242169689Skan	config/m68hc11/m68hc11.md, config/mips/iris5.h,
43243169689Skan	config/mn10300/mn10300.md, config/rs6000/altivec.md,
43244169689Skan	config/sparc/netbsd-elf.h: Update copyright.
43245169689Skan
43246169689Skan2004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
43247169689Skan
43248169689Skan	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
43249169689Skan	for all modes whose size is greater than 8 bytes if ARCH32.
43250169689Skan	(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
43251169689Skan	by reference if ARCH32.
43252169689Skan
43253169689Skan2004-02-04  Aldy Hernandez  <aldyh@redhat.com>
43254169689Skan
43255169689Skan	* cgraphunit.c (cgraph_postorder): Fix typo in comment.
43256169689Skan
43257169689Skan2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
43258169689Skan
43259169689Skan	* config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
43260169689Skan	to before adddi3 insn patterns.
43261169689Skan	("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
43262169689Skan	"reload_insi"): Move to before addsi3 insn patterns.
43263169689Skan
43264169689Skan2004-02-04  Mark Mitchell  <mark@codesourcery.com>
43265169689Skan
43266169689Skan	* calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
43267169689Skan	parameter.  Use it instead of current_function_is_thunk.
43268169689Skan	* function.h (struct function): Update documentation for is_thunk.
43269169689Skan	* tree.h (CALL_FROM_THUNK_P): New macro.
43270169689Skan	* config/alpha/alpha.c (alpha_sa_mask): Do not check
43271169689Skan	no_new_pseudos when testing current_function_is_thunk.
43272169689Skan	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
43273169689Skan
43274169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43275169689Skan
43276169689Skan	* doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
43277169689Skan	TARGET_SETUP_INCOMING_VARARGS.
43278169689Skan
43279169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43280169689Skan
43281169689Skan	* emit-rtl.c (gen_rtx): Remove.
43282169689Skan	* genattrtab.c: Don't mention gen_rtx in a comment.
43283169689Skan	* rtl.h: Remove the prototype for gen_rtx.
43284169689Skan	* doc/md.texi: Replace gen_rtx with gen_rtx_REG.
43285169689Skan
43286169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43287169689Skan
43288169689Skan	* config/arc/arc.h, config/fr30/fr30.h
43289169689Skan	(SETUP_INCOMING_VARARGS): Remove the target-independent
43290169689Skan	comments.
43291169689Skan	* doc/tm.texi: Don't mention deprecated target macros.
43292169689Skan
43293169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43294169689Skan
43295169689Skan	* config/fr30/fr30.h (FUNCTION_VALUE): Remove the
43296169689Skan	target-independent comment.
43297169689Skan
43298169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43299169689Skan
43300169689Skan	* doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
43301169689Skan	mention deprecated target macros.
43302169689Skan
43303169689Skan2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
43304169689Skan
43305169689Skan	* config.gcc: Remove obsolete ports and configurations.
43306169689Skan	* config/linux-aout.h, config/netware.h,
43307169689Skan	config/t-linux-gnulibc1, config/d30v/abi,
43308169689Skan	config/d30v/d30v-protos.h, config/d30v/d30v.c,
43309169689Skan	config/d30v/d30v.h, config/d30v/d30v.md,
43310169689Skan	config/d30v/libgcc1.asm, config/d30v/t-d30v,
43311169689Skan	config/dsp16xx/dsp16xx-modes.def,
43312169689Skan	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
43313169689Skan	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
43314169689Skan	config/i370/README, config/i370/i370-c.c,
43315169689Skan	config/i370/i370-protos.h, config/i370/i370.c,
43316169689Skan	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
43317169689Skan	config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
43318169689Skan	config/i386/freebsd-aout.h, config/i386/linux-aout.h,
43319169689Skan	config/i386/moss.h, config/i386/netware.h,
43320169689Skan	config/i386/svr3.ifile, config/i386/svr3dbx.h,
43321169689Skan	config/i386/svr3gas.h, config/i386/svr3z.ifile,
43322169689Skan	config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
43323169689Skan	config/i960/i960-c.c, config/i960/i960-coff.h,
43324169689Skan	config/i960/i960-modes.def, config/i960/i960-protos.h,
43325169689Skan	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
43326169689Skan	config/i960/rtems.h, config/i960/t-960bare,
43327169689Skan	config/m68k/hp310.h, config/m68k/hp320.h,
43328169689Skan	config/m68k/hp320base.h, config/m68k/m68kv4.h,
43329169689Skan	config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
43330169689Skan	Remove.
43331169689Skan	* doc/extend.texi, doc/install.texi, doc/invoke.texi,
43332169689Skan	doc/md.texi: Remove mentions of obsolete ports.
43333169689Skan
43334169689Skan2004-02-04  Jan Hubicka  <jh@suse.cz>
43335169689Skan
43336169689Skan	* alias.c (find_base_term, get_addr): Do not dereference NULL
43337169689Skan	pointer when all VALUE's locations has been invalidated.
43338169689Skan	(rtx_equal_for_memref_p): Simplify checking of VALUEs.
43339169689Skan
43340169689Skan2004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
43341169689Skan
43342169689Skan	* doc/invoke.texi (x86 options): Fix spelling/wording.
43343169689Skan
43344169689Skan2004-02-03  Richard Sandiford  <rsandifo@redhat.com>
43345169689Skan
43346169689Skan	* config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
43347169689Skan	put the original string in a comment.
43348169689Skan	* config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
43349169689Skan	* config/mips/mips.c (mips_output_ascii): Likewise.
43350169689Skan	* config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
43351169689Skan
43352169689Skan2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
43353169689Skan
43354169689Skan	* system.h (GIV_SORT_CRITERION): Poison.
43355169689Skan	* config/avr/avr.h (GIV_SORT_CRITERION): Remove.
43356169689Skan	* config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
43357169689Skan
43358169689Skan2004-02-03  Roger Sayle  <roger@eyesopen.com>
43359169689Skan
43360169689Skan	PR target/9348
43361169689Skan	* expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
43362169689Skan	multiplies with a multiplication of the wrong signedness, its the
43363169689Skan	signedness of the multiplication that we've performed that needs to
43364169689Skan	be passed to expand_mult_highpart_adjust.  Avoid emitting a nop-move
43365169689Skan	if expand_mult_highpart_adjust places the result in target.
43366169689Skan
43367169689Skan2004-02-03  Richard Henderson  <rth@redhat.com>
43368169689Skan
43369169689Skan	* varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
43370169689Skan
43371169689Skan2004-02-03  J"orn Rennecke <joern.rennecke@superh.com>
43372169689Skan
43373169689Skan	* config.gcc (sh[234]l): Use little endian fragments.
43374169689Skan
43375169689Skan2004-02-03  Paul Koning  <pkoning@equallogic.com>
43376169689Skan
43377169689Skan	* config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
43378169689Skan	* config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
43379169689Skan	* config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
43380169689Skan	encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
43381169689Skan	floating point format.
43382169689Skan	(pdp11_f_format, pdp11_d_format): New real_format descriptors for
43383169689Skan	the above functions.
43384169689Skan	(output_move_quad): Output float values in correct target format.
43385169689Skan	(legitimate_const_double_p): New function.
43386169689Skan	* config/pdp11/pdp11.h: Fix typos.
43387169689Skan	(FLOAT_WORDS_BIG_ENDIAN): Add definition.
43388169689Skan	(TARGET_FLOAT_FORMAT): Ditto.
43389169689Skan	(pdp11_f_format, pdp11_d_format): Add external declarations.
43390169689Skan	(MAX_REGS_PER_ADDRESS): Corrected.
43391169689Skan	(LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
43392169689Skan	(PRINT_OPERAND): Output float literals in target format.
43393169689Skan
43394169689Skan2004-02-03  Mark Mitchell  <mark@codesourcery.com>
43395169689Skan
43396169689Skan	PR c++/13975
43397169689Skan	* tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
43398169689Skan	TI_PRIVATE.
43399169689Skan	(access_public_node): Redefine.
43400169689Skan	(access_protected_node): Likewise.
43401169689Skan	(access_private_node): Likewise.
43402169689Skan	* tree.c (build_common_tree_nodes): Create access_public_node,
43403169689Skan	access_protected_node, and access_private_node.
43404169689Skan
43405169689Skan2004-02-03  Steve Ellcey  <sje@cup.hp.com>
43406169689Skan
43407169689Skan	* config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
43408169689Skan	(MASK_INLINE_INT_DIV_THR): Ditto.
43409169689Skan	(MASK_INLINE_SQRT_LAT): Ditto.
43410169689Skan	(MASK_INLINE_SQRT_THR): Ditto.
43411169689Skan	(MASK_DWARF2_ASM): Ditto.
43412169689Skan	(MASK_EARLY_STOP_BITS): Ditto.
43413169689Skan
43414169689Skan2004-02-02  Paul Brook  <paul@codesourcery.com>
43415169689Skan
43416169689Skan	Merge from csl-arm-branch.
43417169689Skan
43418169689Skan	2004-01-30  Paul Brook  <paul@codesourcery.com>
43419169689Skan
43420169689Skan	* aof.h (REGISTER_NAMES): Add vfp reg names
43421169689Skan	(ADDITIONAL_REGISTER_NAMES): Ditto.
43422169689Skan	* aout.h (REGISTER_NAMES): Ditto.
43423169689Skan	(ADDITIONAL_REGISTER_NAMES): Ditto.
43424169689Skan	* arm-protos.h: Update/Add Prototypes.
43425169689Skan	* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
43426169689Skan	Only allow 0.0 for VFP.
43427169689Skan	(fp_consts_inited): Rename from fpa_consts_inited.  Update users.
43428169689Skan	(values_fp): Rename from values_fpa.  Update Users.
43429169689Skan	(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
43430169689Skan	Update users.  Only check valid constants for this hardware.
43431169689Skan	(arm_float_rhs_operand): Rename from fpa_rhs_operand.  Update Users.
43432169689Skan	Only allow consts for FPA.
43433169689Skan	(arm_float_add_operand): Rename from fpa_add_operand.  Update users.
43434169689Skan	Only allow consts for FPA.
43435169689Skan	(use_return_insn): Check for saved VFP regs.
43436169689Skan	(arm_legitimate_address_p): Handle VFP DFmode addressing.
43437169689Skan	(arm_legitimize_address): Ditto.
43438169689Skan	(arm_general_register_operand): New function.
43439169689Skan	(vfp_mem_operand): New function.
43440169689Skan	(vfp_compare_operand): New function.
43441169689Skan	(vfp_secondary_reload_class): New function.
43442169689Skan	(arm_float_compare_operand): New function.
43443169689Skan	(vfp_print_multi): New function.
43444169689Skan	(vfp_output_fstmx): New function.
43445169689Skan	(vfp_emit_fstm): New function.
43446169689Skan	(arm_output_epilogue): Output VPF reg restore code.
43447169689Skan	(arm_expand_prologue): Output VFP reg save code.
43448169689Skan	(arm_print_operand): Add 'P'.
43449169689Skan	(arm_hard_regno_mode_ok): Return modes for VFP regs.
43450169689Skan	(arm_regno_class): Return classes for VFP regs.
43451169689Skan	(arm_compute_initial_elimination_offset): Include space for VFP regs.
43452169689Skan	(arm_get_frame_size): Ditto.
43453169689Skan	* arm.h (FIXED_REGISTERS): Add VFP regs.
43454169689Skan	(CALL_USED_REGISTERS): Ditto.
43455169689Skan	(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
43456169689Skan	(FIRST_VFP_REGNUM): Define.
43457169689Skan	(LAST_VFP_REGNUM): Define.
43458169689Skan	(IS_VFP_REGNUM): Define.
43459169689Skan	(FIRST_PSEUDO_REGISTER): Include VFP regs.
43460169689Skan	(HARD_REGNO_NREGS): Handle VFP regs.
43461169689Skan	(REG_ALLOC_ORDER): Add VFP regs.
43462169689Skan	(enum reg_class): Add VFP_REGS.
43463169689Skan	(REG_CLASS_NAMES): Ditto.
43464169689Skan	(REG_CLASS_CONTENTS): Ditto.
43465169689Skan	(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
43466169689Skan	(REG_CLASS_FROM_LETTER): Add 'w'.
43467169689Skan	(EXTRA_CONSTRAINT_ARM): Add 'U'.
43468169689Skan	(EXTRA_MEMORY_CONSTRAINT): Define.
43469169689Skan	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
43470169689Skan	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
43471169689Skan	(REGISTER_MOVE_COST): Ditto.
43472169689Skan	(PREDICATE_CODES): Add arm_general_register_operand,
43473169689Skan	arm_float_compare_operand and vfp_compare_operand.
43474169689Skan	* arm.md (various): Rename as above.
43475169689Skan	(divsf3): Enable when TARGET_VFP.
43476169689Skan	(divdf3): Ditto.
43477169689Skan	(movdfcc): Ditto.
43478169689Skan	(sqrtsf2): Ditto.
43479169689Skan	(sqrtdf2): Ditto.
43480169689Skan	(arm_movdi): Disable when TARGET_VFP.
43481169689Skan	(arm_movsi_insn): Ditto.
43482169689Skan	(movsi): Only split with general regs.
43483169689Skan	(cmpsf): Use arm_float_compare_operand.
43484169689Skan	(push_fp_multi): Restrict to TARGET_FPA.
43485169689Skan	(vfp.md): Include.
43486169689Skan	* vfp.md: New file.
43487169689Skan	* fpa.md (various): Rename as above.
43488169689Skan	* doc/md.texi: Document ARM w and U constraints.
43489169689Skan
43490169689Skan	2004-01-15  Paul Brook  <paul@codesourcery.com>
43491169689Skan
43492169689Skan	* config.gcc: Add with_fpu.  Allow with-float=softfp.
43493169689Skan	* config/arm/arm.c (arm_override_options): Rename *-s to *s.
43494169689Skan	Break out of loop when we find a float-abi.  Fix typo.
43495169689Skan	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
43496169689Skan	Set -mfloat-abi=.
43497169689Skan	* doc/install.texi: Document --with-fpu.
43498169689Skan
43499169689Skan	2003-01-14  Paul Brook  <paul@codesourcery.com>
43500169689Skan
43501169689Skan	* config.gcc (with_arch): Add armv6.
43502169689Skan	* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
43503169689Skan	* config/arm/arm.c (arm_overrride_options): Ditto.
43504169689Skan
43505169689Skan	2004-01-08  Richard Earnshaw  <rearnsha@arm.com>
43506169689Skan
43507169689Skan	* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
43508169689Skan	(FL_ARCH6): Renamed from FL_ARCH6J.
43509169689Skan	(arm_arch3m): Renamed from arm_fast_multiply.
43510169689Skan	(arm_arch6): Renamed from arm_arch6j.
43511169689Skan	* arm.h: Update all uses of above.
43512169689Skan	* arm-cores.def: Likewise.
43513169689Skan	* arm.md: Likewise.
43514169689Skan
43515169689Skan	* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
43516169689Skan	not arm6j.  Add entry for arch armv6.
43517169689Skan
43518169689Skan	2004-01-07  Richard Earnshaw  <rearnsha@arm.com>
43519169689Skan
43520169689Skan	* arm.c (arm_emit_extendsi): Delete.
43521169689Skan	* arm-protos.h (arm_emit_extendsi): Delete.
43522169689Skan	* arm.md (zero_extendhisi2): Also handle zero-extension of
43523169689Skan	non-subregs.
43524169689Skan	(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
43525169689Skan	(thumb_zero_extendhisi2): Only match if not v6.
43526169689Skan	(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
43527169689Skan	(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
43528169689Skan	(thumb_extendqisi2): Likewise.
43529169689Skan	(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
43530169689Skan	(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
43531169689Skan	(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
43532169689Skan	(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
43533169689Skan	(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
43534169689Skan	(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
43535169689Skan	(arm_zero_extendhisi2addsi): Remove subreg.  Add attributes.
43536169689Skan	(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
43537169689Skan	(arm_extendqisi2addsi): Likewise.
43538169689Skan
43539169689Skan	2003-12-31  Mark Mitchell  <mark@codesourcery.com>
43540169689Skan
43541169689Skan	Revert this change:
43542169689Skan	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
43543169689Skan	+ REG addressing modes.
43544169689Skan
43545169689Skan	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
43546169689Skan	+ REG addressing modes.
43547169689Skan
43548169689Skan	2003-12-30  Mark Mitchell  <mark@codesourcery.com>
43549169689Skan
43550169689Skan	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
43551169689Skan	CONSTANT_P_RTX.
43552169689Skan
43553169689Skan	2003-30-12  Paul Brook  <paul@codesourcery.com>
43554169689Skan
43555169689Skan	* longlong.h: protect arm inlines with !defined (__thumb__)
43556169689Skan
43557169689Skan	2003-30-12  Paul Brook  <paul@codesourcery.com>
43558169689Skan
43559169689Skan	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
43560169689Skan
43561169689Skan	2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
43562169689Skan
43563169689Skan	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
43564169689Skan	change.
43565169689Skan
43566169689Skan	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
43567169689Skan
43568169689Skan	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
43569169689Skan	to the virtual incoming args pointer for downward stacks.
43570169689Skan
43571169689Skan	2003-12-29  Paul Brook  <paul@codesourcery.com>
43572169689Skan
43573169689Skan	* config/arm/arm-cores.def: Add cost function.
43574169689Skan	* config/arm/arm.c (arm_*_rtx_costs): New functions.
43575169689Skan	(arm_rtx_costs): Remove
43576169689Skan	(struct processors): Add rtx_costs field.
43577169689Skan	(all_cores, all_architectures): Ditto.
43578169689Skan	(arm_override_options): Set targetm.rtx_costs.
43579169689Skan	(thumb_rtx_costs): New function.
43580169689Skan	(arm_rtx_costs_1): Remove cases handled elsewhere.
43581169689Skan	* config/arm/arm.h (processor_type): Add COSTS parameter.
43582169689Skan
43583169689Skan	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
43584169689Skan
43585169689Skan	* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
43586169689Skan	(arm926ejs.md): Include it.
43587169689Skan	* config/arm/arm926ejs.md: New pipeline description.
43588169689Skan
43589169689Skan	2003-12-24  Paul Brook  <paul@codesourcery.com>
43590169689Skan
43591169689Skan	* config/arm/arm.c (arm_arch6j): New variable.
43592169689Skan	(arm_override_options): Set it.
43593169689Skan	(arm_emit_extendsi): New function.
43594169689Skan	* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
43595169689Skan	* config/arm/arm.h (arm_arch6j): Declare.
43596169689Skan	* config/arm/arm.md: Add sign/zero extend insns.
43597169689Skan
43598169689Skan	2003-12-23  Paul Brook  <paul@codesourcery.com>
43599169689Skan
43600169689Skan	* config/arm/arm.c (all_architectures): Add armv6.
43601169689Skan	* doc/invoke.texi: Document it.
43602169689Skan
43603169689Skan	2003-12-19  Paul Brook  <paul@codesourcery.com>
43604169689Skan
43605169689Skan	* config/arm/arm.md: Add load1 and load_byte "type" attrs.  Modify
43606169689Skan	insn patterns to match.
43607169689Skan	* config/arm/arm-generic.md: Ditto.
43608169689Skan	* config/arm/cirrus.md: Ditto.
43609169689Skan	* config/arm/fpa.md: Ditto.
43610169689Skan	* config/amm/iwmmxt.md: Ditto.
43611169689Skan	* config/arm/arm1026ejs.md: Ditto.
43612169689Skan	* config/arm/arm1135jfs.md: Ditto.  Add insn_reservation and bypasses
43613169689Skan	for 11_loadb.
43614169689Skan
43615169689Skan	2003-12-18  Nathan Sidwell  <nathan@codesourcery.com>
43616169689Skan
43617169689Skan	* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
43618169689Skan	* config/arm/arm.c (arm_adjust_cost): Check shift cost for
43619169689Skan	TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
43620169689Skan	(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
43621169689Skan	arm_no_early_mul_dep): Correctly deal with conditional execution,
43622169689Skan	parallels and single shift operations.
43623169689Skan	(arm_no_early_alu_shift_value_dep): Define.
43624169689Skan	* arm.md (attr type): Replace 'normal' with 'alu',
43625169689Skan	'alu_shift' and 'alu_shift_reg'.
43626169689Skan	(attr core_cycles): Adjust.
43627169689Skan	(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
43628169689Skan	*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
43629169689Skan	*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
43630169689Skan	*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
43631169689Skan	*arith_shiftsi_compare0_scratch, *sub_shiftsi,
43632169689Skan	*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
43633169689Skan	*if_shift_move, *if_move_shift, *if_shift_shift): Set type
43634169689Skan	attribute appropriately.
43635169689Skan	* config/arm/arm1026ejs.md (alu_op): Adjust.
43636169689Skan	(alu_shift_op, alu_shift_reg_op): New.
43637169689Skan	* config/arm/arm1136.md: Add better bypasses for early
43638169689Skan	registers. Remove load[234] and store[234] bypasses.
43639169689Skan	(11_alu_op): Adjust.
43640169689Skan	(11_alu_shift_op, 11_alu_shift_reg_op): New.
43641169689Skan
43642169689Skan	2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
43643169689Skan
43644169689Skan	* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
43645169689Skan	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
43646169689Skan	* config/arm/arm.c (arm_no_early_store_addr_dep,
43647169689Skan	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
43648169689Skan	* config/arm/arm1026ejs.md: Add load-store bypass.
43649169689Skan	* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
43650169689Skan	Add bypasses between instructions.
43651169689Skan
43652169689Skan	2003-12-10  Paul Brook  <paul@codesourcery.com>
43653169689Skan
43654169689Skan	* config/arm/arm.c (arm_fpu_model): New variable.
43655169689Skan	(arm_fload_abi): New variable.
43656169689Skan	(target_fpe_name): Rename from target_fp_name.
43657169689Skan	(target_fpu_name): New variable.
43658169689Skan	(arm_is_cirrus): Remove.
43659169689Skan	(fpu_desc): New struct.
43660169689Skan	(all_fpus): Define.
43661169689Skan	(pf_model_for_fpu): Define.
43662169689Skan	(all_loat_abis): Define.
43663169689Skan	(arm_override_options): Set fp arch flags based on -mfpu=
43664169689Skan	and -float-abi=.
43665169689Skan	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
43666169689Skan	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
43667169689Skan	(*): Use new TARGET_* flags.
43668169689Skan	* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
43669169689Skan	(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
43670169689Skan	(TARGET_SOFT_FLOAT): Ditto.
43671169689Skan	(TARGET_SOFT_FLOAT_ABI): New.
43672169689Skan	(TARGET_MAVERICK): Rename from TARGET_CIRRUS.  No longer implies
43673169689Skan	TARGET_HARD_FLOAT.
43674169689Skan	(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
43675169689Skan	(TARGET_OPTIONS): Add -mfpu=.
43676169689Skan	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
43677169689Skan	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
43678169689Skan	(arm_pf_model): Define.
43679169689Skan	(arm_float_abi_type): Define.
43680169689Skan	(fputype): Add FPUTYPE_VFP.  Change SOFT_FPA->NONE
43681169689Skan	* config/arm/arm.md: Use new TARGET_* flags.
43682169689Skan	* config/arm/cirrus.md: Ditto.
43683169689Skan	* config/arm/fpa.md: Ditto.
43684169689Skan	* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
43685169689Skan	* config/arm/semi.h (ASM_SPEC): Ditto.
43686169689Skan	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
43687169689Skan	(FPUTYPE_DEFAULT): Set to VFP.
43688169689Skan	* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
43689169689Skan
43690169689Skan	2003-11-22  Phil Edwards  <phil@codesourcery.com>
43691169689Skan
43692169689Skan	PR target/12476
43693169689Skan	* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
43694169689Skan	'bx' instead of 'b' to avoid branch range restrictions.  Output
43695169689Skan	the thunk immediately before the thunked-to function.
43696169689Skan	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
43697169689Skan	.thumb_func if a thunk is being generated.  Emit .code 16 along
43698169689Skan	with .thumb_func if a thunk is not being generated.
43699169689Skan
43700169689Skan	2003-11-15  Nicolas Pitre <nico@cam.org>
43701169689Skan
43702169689Skan	* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
43703169689Skan	arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
43704169689Skan	* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
43705169689Skan	(lshrdi3_iwmmxt): Renamed from lshrdi3.
43706169689Skan	* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
43707169689Skan
43708169689Skan	2003-11-12  Steve Woodford  <scw@wasabisystems.com>
43709169689Skan	    Ian Lance Taylor  <ian@wasabisystems.com>
43710169689Skan
43711169689Skan	* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
43712169689Skan	code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
43713169689Skan
43714169689Skan	2003-11-05  Phil Edwards  <phil@codesourcery.com>
43715169689Skan
43716169689Skan	* config/arm/arm.md (insn): Add new V6 instruction names.
43717169689Skan	(generic_sched): New attr.
43718169689Skan	* config/arm/arm-generic.md: Use generic_sched here.
43719169689Skan	* config/arm/arm1026ejs.md: Do not model fetch/issue/decode
43720169689Skan	stages of pipeline.  Adjust latency counts accordingly.
43721169689Skan	* config/arm/arm1136jfs.md: New file.
43722169689Skan
43723169689Skan	2003-10-28  Mark Mitchell  <mark@codesourcery.com>
43724169689Skan
43725169689Skan	* config/arm/arm.h (processor_type): New enumeration type.
43726169689Skan	(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
43727169689Skan	ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
43728169689Skan	(CPP_CPU_ARCH_SPEC): Likewise.
43729169689Skan	* config/arm/arm.c (arm_tune): New variable.
43730169689Skan	(all_cores): Use cores.def.
43731169689Skan	(all_architectures): Add representative processor.
43732169689Skan	(arm_override_options): Restructure way in which tuning
43733169689Skan	information is deduced.
43734169689Skan	* arm.md: Update "insn" and "type" attributes throughout.
43735169689Skan	(insn): New attribute.
43736169689Skan	(type): Compute "mult" from "insn" attribute.  Add load2,
43737169689Skan	load3, load4 alternatives.
43738169689Skan	(arm automaton): Move to arm-generic.md.
43739169689Skan	* config/arm/arm-cores.def: New file.
43740169689Skan	* config/arm/arm-generic.md: Likewise.
43741169689Skan	* config/arm/arm1026ejs.md: Likewise.
43742169689Skan
43743169689Skan2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
43744169689Skan
43745169689Skan	* doc/invoke.texi (SPARC options): Remove -mflat and
43746169689Skan	all -mxxx (xxx:chip) options.
43747169689Skan	* config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
43748169689Skan	* config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
43749169689Skan	* config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
43750169689Skan	* config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
43751169689Skan	* config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
43752169689Skan	* config/sparc/sparc.c: Likewise.
43753169689Skan	(sparc_output_function_prologue): Remove TARGET_FLAT handling.
43754169689Skan	(sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
43755169689Skan	(sparc_output_function_epilogue): Remove TARGET_FLAT handling.
43756169689Skan	(sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
43757169689Skan	(struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
43758169689Skan	(sparc_flat_must_save_register_p): Likewise.
43759169689Skan	(sparc_flat_compute_frame_size): Likewise.
43760169689Skan	(sparc_flat_save_restore): Likewise.
43761169689Skan	(sparc_flat_function_prologue): Likewise.
43762169689Skan	(sparc_flat_function_epilogue): Likewise.
43763169689Skan	(sparc_flat_epilogue_delay_slots): Likewise.
43764169689Skan	(sparc_flat_eligible_for_epilogue_delay): Likewise.
43765169689Skan	(sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
43766169689Skan	* config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
43767169689Skan	(TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
43768169689Skan	(SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
43769169689Skan	(CONDITIONAL_REGISTER_USAGE): Likewise.
43770169689Skan	(FRAME_POINTER_REQUIRED): Likewise.
43771169689Skan	(INITIAL_ELIMINATION_OFFSET): Likewise.
43772169689Skan	(BASE_RETURN_VALUE_REG): Likewise.
43773169689Skan	(BASE_OUTGOING_VALUE_REG): Likewise.
43774169689Skan	(BASE_PASSING_ARG_REG): Likewise.
43775169689Skan	(BASE_INCOMING_ARG_REG): Likewise.
43776169689Skan	(INCOMING_REGNO): Likewise.
43777169689Skan	(OUTGOING_REGNO): Likewise.
43778169689Skan	(LOCAL_REGNO): Likewise.
43779169689Skan	(DELAY_SLOTS_FOR_EPILOGUE): Likewise.
43780169689Skan	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
43781169689Skan	(EPILOGUE_USES): Likewise.
43782169689Skan	* config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
43783169689Skan	("flat" attribute): Delete.
43784169689Skan	(do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
43785169689Skan	handling.
43786169689Skan	(call followed by jump define_peephole's): Delete.
43787169689Skan	(exception_receiver): Likewise.
43788169689Skan	(builtin_setjmp_receiver): Likewise.
43789169689Skan	* config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
43790169689Skan
43791169689Skan2004-02-03  Paolo Bonzini  <bonzini@gnu.org>
43792169689Skan
43793169689Skan	PR c/11658
43794169689Skan	PR c/13994
43795169689Skan	* Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
43796169689Skan	on langhooks.h.
43797169689Skan	* objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
43798169689Skan	* c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
43799169689Skan	Include langhooks.h.  Replace c_common_truthvalue_conversion
43800169689Skan	with the truthvalue_conversion language hook throughout.
43801169689Skan	(expr_no_commas): Call default_conversion before save_expr
43802169689Skan	for the first term of the production 'x ? : y'.
43803169689Skan	* c-common.c (c_common_truthvalue_conversion): Remove
43804169689Skan	obsolete block.  Invoke recursively the hook instead
43805169689Skan	of this function.
43806169689Skan	* c-convert.c (convert): handle ERROR_MARK_NODE.
43807169689Skan	* c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
43808169689Skan	returned by the truthvalue_conversion language hook.
43809169689Skan	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
43810169689Skan	c_objc_common_truthvalue_conversion.
43811169689Skan	* c-objc-common.c (c_objc_common_truthvalue_conversion):
43812169689Skan	New function.
43813169689Skan	* c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
43814169689Skan	* objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
43815169689Skan	c_objc_common_truthvalue_conversion.
43816169689Skan
43817169689Skan2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
43818169689Skan
43819169689Skan	* config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
43820169689Skan	of gen_rtx.
43821169689Skan	(LIBCALL_VALUE): Likewise.
43822169689Skan	* config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
43823169689Skan	gen_rtx_CC0 instead of gen_rtx.
43824169689Skan	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
43825169689Skan	gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
43826169689Skan	(m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
43827169689Skan	gen_rtx.
43828169689Skan	(m68hc11_emit_logical): Likewise.
43829169689Skan
43830169689Skan2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
43831169689Skan
43832169689Skan	* config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
43833169689Skan	config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
43834169689Skan	config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
43835169689Skan	config/m32r/m32r.md, config/m68hc11/m68hc11.c,
43836169689Skan	config/mips/mips.md, config/mmix/mmix.c,
43837169689Skan	config/mn10300/mn10300.c, config/mn10300/mn10300.md,
43838169689Skan	config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
43839169689Skan	config/rs6000/altivec.md, config/s390/s390.c,
43840169689Skan	config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
43841169689Skan	config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
43842169689Skan	Use const0_rtx instead of GEN_INT (0).  Do the same for other
43843169689Skan	constants that are readily available.
43844169689Skan
43845169689Skan2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
43846169689Skan
43847169689Skan	* doloop.c, optabs.c, regmove.c, sched-deps.c,
43848169689Skan	config/i386/i386.c, config/i386/i386.md: Use const0_rtx
43849169689Skan	instead of GEN_INT (0).  Do the same for other constants that
43850169689Skan	are readily available.
43851169689Skan
43852169689Skan2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
43853169689Skan
43854169689Skan	* combine.c (simplify_set): Use gen_rtx_fmt_e instead of
43855169689Skan	gen_rtx.
43856169689Skan	* emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
43857169689Skan	instead of gen_rtx.
43858169689Skan	* reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
43859169689Skan	gen_rtx.
43860169689Skan	* config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
43861169689Skan	gen_rtx_ASHIFT instead of gen_rtx.
43862169689Skan	(udivmodqi4): Likewise.
43863169689Skan
43864169689Skan2004-02-02  Richard Henderson  <rth@redhat.com>
43865169689Skan
43866169689Skan	PR target/13789
43867169689Skan	* expr.c (store_expr): Use force_operand before emit_move_insn.
43868169689Skan
43869169689Skan2004-02-02  Jeff Law  <law@redhat.com>
43870169689Skan	    Roger Sayle  <roger@eyesopen.com>
43871169689Skan
43872169689Skan	* tree.c (commutative_tree_code, associative_tree_code): New
43873169689Skan	functions.
43874169689Skan	(iterative_hash_expr): Use commutative_tree_code.
43875169689Skan	* tree.h (commutative_tree_code, associative_tree_code): Declare.
43876169689Skan	* fold-const.c (operand_equal_p): Use commutative_tree_code
43877169689Skan	rather than inlining the commutativity check.
43878169689Skan	(fold): Likewise.
43879169689Skan
43880169689Skan2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
43881169689Skan
43882169689Skan	* system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
43883169689Skan	* config/frv/frv-protos.h: Remove the prototype for
43884169689Skan	frv_function_arg_keep_as_reference.
43885169689Skan	* config/frv/frv.c (frv_function_arg_keep_as_reference):
43886169689Skan	Remove.
43887169689Skan	* config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
43888169689Skan	* config/stormy16/stormy16.h: Remove the commented-out
43889169689Skan	definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
43890169689Skan
43891169689Skan2004-02-03  Alan Modra  <amodra@bigpond.net.au>
43892169689Skan
43893169689Skan	PR target/13914
43894169689Skan	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
43895169689Skan	for retaddr_column.
43896169689Skan
43897169689Skan2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
43898169689Skan
43899169689Skan	* genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
43900169689Skan	gen_rtx.
43901169689Skan
43902169689Skan2004-02-02  Eric Christopher  <echristo@redhat.com>
43903169689Skan	    Zack Weinberg  <zack@codesourcery.com>
43904169689Skan
43905169689Skan	* c-opts.c (c_common_handle_option): Add -finput-charset.
43906169689Skan	* c.opt: Ditto.
43907169689Skan	* cppcharset.c (one_iso88591_to_utf8): Remove.
43908169689Skan	(convert_iso88591_utf8): Ditto.
43909169689Skan	(conversion_tab): Remove 8859-1 converter.
43910169689Skan	(_cpp_input_to_utf8): Remove.
43911169689Skan	(_cpp_init_iconv_buffer): Ditto.
43912169689Skan	(_cpp_close_iconv_buffer): Ditto.
43913169689Skan	(_cpp_convert_input): New function.
43914169689Skan	(_cpp_default_encoding): Ditto.
43915169689Skan	* cpphash.h: Add/remove prototypes for above.
43916169689Skan	* cppfiles.c (read_file_guts): Use _cpp_convert_input.
43917169689Skan	* cppinit.c (cpp_create_reader): Use _cpp_default_encoding
43918169689Skan	for narrow execution and input character sets.
43919169689Skan	* cpplib.c (cpp_push_buffer): Delete uses of removed functions.
43920169689Skan	* doc/cppopts.texi: Document -finput-charset.
43921169689Skan
43922169689Skan2004-02-02  David Edelsohn  <edelsohn@gnu.org>
43923169689Skan
43924169689Skan	* rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
43925169689Skan	against FIRST_PSEUDO_REGISTER.
43926169689Skan
43927169689Skan2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
43928169689Skan
43929169689Skan	* doc/invoke.texi (SPARC options): Further improve.
43930169689Skan
43931169689Skan2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
43932169689Skan
43933169689Skan	* config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
43934169689Skan	config/h8300/h8300.c, config/ip2k/ip2k.md,
43935169689Skan	config/iq2000/iq2000.c, config/mips/mips.c,
43936169689Skan	config/rs6000/rs6000.c, config/rs6000/rs6000.md,
43937169689Skan	config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
43938169689Skan	config/v850/v850.md: Fix indentation.
43939169689Skan
43940169689Skan2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
43941169689Skan
43942169689Skan	* config/sparc/sparc.c (function_arg_slotno): Align TImode
43943169689Skan	arguments on a 16-byte boundary in the parameter array if ARCH64.
43944169689Skan	Split handling of TFmode.
43945169689Skan
43946169689Skan2004-02-02  Paolo Bonzini  <bonzini@gnu.org>
43947169689Skan
43948169689Skan	* rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
43949169689Skan	Don't test CONSTANT_P (x).
43950169689Skan	(reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
43951169689Skan	ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
43952169689Skan	Fix misindentation.
43953169689Skan
43954169689Skan2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
43955169689Skan
43956169689Skan	* doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
43957169689Skan
43958169689Skan2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
43959169689Skan
43960169689Skan	* config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
43961169689Skan	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
43962169689Skan	config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
43963169689Skan	config/iq2000/iq2000.c, config/m32r/m32r.c,
43964169689Skan	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
43965169689Skan	config/mn10300/mn10300.c, config/rs6000/rs6000.c,
43966169689Skan	config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
43967169689Skan	config/stormy16/stormy16.c, config/v850/v850.md,
43968169689Skan	config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
43969169689Skan
43970169689Skan2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
43971169689Skan
43972169689Skan	* config/mcore/mcore.c (block_move_sequence): Replace
43973169689Skan	gen_rtx_CONST_INT with GEN_INT.
43974169689Skan
43975169689Skan2004-02-02  Jan Hubicka  <jh@suse.cz>
43976169689Skan
43977169689Skan	* alias.c (record_set): Use hard_regno_nregs.
43978169689Skan	* bt-load.c (find_btr_reference, note_btr_set): Likewise.
43979169689Skan	* builtins.c (apply_args_size): Likewise.
43980169689Skan	* caller-save.c (setup_save_areas, save_call_clobbered_regs,
43981169689Skan	mark_set_regs, add_stored_regs, mark_referenced_regs,
43982169689Skan	insert_restore, insert_save, insert_one_insn): Likewise.
43983169689Skan	* cfgcleanup.c: Include regs.h
43984169689Skan	(mark_effect, mentions_nonequal_regs): Likewise.
43985169689Skan	* cfgrtl.c (mark_killed_regs): Likewise
43986169689Skan	* combine.c (update_table_tick, record_value_for_reg,
43987169689Skan	record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
43988169689Skan	reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
43989169689Skan	reg_bitfield_target_p, distribute_notes): Likewise.
43990169689Skan	* cse.c (mention_regs, insert, invalidate, invalidate_for_call,
43991169689Skan	exp_equiv_p, cse_insn): Likewise.
43992169689Skan	* cselib.c (cselib_lookup): Likewise.
43993169689Skan	(cselib_invalidate_regno, cselib_record_set): Likewise.
43994169689Skan	* df.c (df_ref_record): Likewise.
43995169689Skan	* dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
43996169689Skan	Likewise.
43997169689Skan	* flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
43998169689Skan	count_or_remove_death_notes_bb): Likewise.
43999169689Skan	* function.c (aggregate_value_p, keep_stack_depressed): Likewise.
44000169689Skan	* gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
44001169689Skan	mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
44002169689Skan	* integrate.c (mark_stores): Likewise.
44003169689Skan	* jump.c (delete_prior_computation): Likewise.
44004169689Skan	* lcm.c (reg_dies, reg_becomes_live): Likewise.
44005169689Skan	* local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
44006169689Skan	* loop.c (LOOP_REGNO_NREGS): Likewise.
44007169689Skan	* postreload.c (reload_combine, reload_combine_note_store,
44008169689Skan	reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
44009169689Skan	* ra-colorize.c (combine, color_usable_p, get_free_reg,
44010169689Skan	calculate_dont_begin, calculate_dont_begin, colorize_one_web,
44011169689Skan	try_recolor_web, insert_coalesced_conflicts, check_colors,
44012169689Skan	break_precolored_alias): Likewise.
44013169689Skan	* ra-debug.c: Include regs.h
44014169689Skan	(ra_print_rtx_object): Likewise.
44015169689Skan	* ra-rewrite (choose_spill_colors): Likewise.
44016169689Skan	(spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
44017169689Skan	* ra.c (init_ra): Likewise.
44018169689Skan	* recog.c (reg_fits_class_p, peep2_reg_dead_p,
44019169689Skan	peep2_find_free_register): Likewise.
44020169689Skan	* reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
44021169689Skan	* regclass.c (hard_regno_nregs): New array.
44022169689Skan	(init_reg_modes_once): Initialize it.
44023169689Skan	(choose_hard_reg_mode): Use it.
44024169689Skan	(record_reg_classes): Likewise.
44025169689Skan	* regmove.c (mark_flags_life_zones): Likewise.
44026169689Skan	* regrename.c (note_sets, clear_dead_regs, regrename_optimize,
44027169689Skan	scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
44028169689Skan	copy_value, maybe_mode_change, find_oldest_value_reg,
44029169689Skan	copyprop_hardreg_forward_1):
44030169689Skan	* regs.h (hard_regno_nregs): Declare.
44031169689Skan	* realod.c (reload_inner_reg_of_subreg): Use it.
44032169689Skan	(push_reload, combine_reloads, find_dummy_reload,
44033169689Skan	hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
44034169689Skan	refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
44035169689Skan	reload_adjust_reg_for_mode): Likewise.
44036169689Skan	* reload1.c (compute_use_by_pseudos, count_pseudo,
44037169689Skan	count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
44038169689Skan	spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
44039169689Skan	clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
44040169689Skan	allocate_reload_reg, choose_reload_regs, emit_reload_insns,
44041169689Skan	delete_output_reload): Likewise.
44042169689Skan	* resource.c (update_live_status, mark_referenced_resources,
44043169689Skan	mark_set_resources, mark_target_live_regs): Likewise.
44044169689Skan	* rtlanal.c: Include regs.h
44045169689Skan	(refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
44046169689Skan	dead_or_set_regno_p, find_regno_note, find_reg_fusage,
44047169689Skan	subreg_regno_offset, subreg_offset_representable_p,
44048169689Skan	hoist_test_store): Likewise.
44049169689Skan	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
44050169689Skan	* sched-rgn.c (check_live_1, update_live_1): Likewise.
44051169689Skan	* stmt.c: Include regs.h
44052169689Skan	(decl_conflicts_with_clobbers_p): Likewise.
44053169689Skan	* varasm.c (make_decl_rtl): Likewise.
44054169689Skan	* Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
44055169689Skan
44056169689Skan2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
44057169689Skan
44058169689Skan	* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
44059169689Skan	config/arm/linux-gas.h, config/arm/netbsd-elf.h,
44060169689Skan	config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
44061169689Skan	config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
44062169689Skan	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
44063169689Skan	config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
44064169689Skan	config/iq2000/iq2000.h, config/m32r/m32r.c,
44065169689Skan	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
44066169689Skan	config/m68hc11/m68hc11.md, config/m68k/m68k.md,
44067169689Skan	config/mcore/mcore.c, config/mcore/mcore.h,
44068169689Skan	config/mcore/mcore.md, config/mips/mips.c,
44069169689Skan	config/ns32k/ns32k.h, config/ns32k/ns32k.md,
44070169689Skan	config/rs6000/rs6000.c, config/s390/s390.c,
44071169689Skan	config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
44072169689Skan	config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
44073169689Skan	"gen_rtx (FOO, " with "gen_rtx_FOO (".
44074169689Skan
44075169689Skan2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
44076169689Skan
44077169689Skan	* config/h8300/h8300.md (two peephole2's): New.
44078169689Skan
44079169689Skan2004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
44080169689Skan
44081169689Skan	* config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
44082169689Skan	(CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
44083169689Skan	(ASM_CPU_SPEC): Likewise
44084169689Skan	* config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
44085169689Skan	(ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
44086169689Skan
44087169689Skan2004-02-01  Roger Sayle  <roger@eyesopen.com>
44088169689Skan
44089169689Skan	* builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
44090169689Skan	isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
44091169689Skan	(expand_builtin): Always call expand_builtin_pow.
44092169689Skan
44093169689Skan2004-02-01  Roger Sayle  <roger@eyesopen.com>
44094169689Skan
44095169689Skan	* builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
44096169689Skan	BUILT_IN_SIGNBITL): New GCC builtins.
44097169689Skan	* builtins.c (expand_builtin_signbit): New function to RTL expand
44098169689Skan	calls to signbit, signbitf and signbitl as inline intrinsics.
44099169689Skan	(expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
44100169689Skan	(fold_builtin_signbit): New function to perform constant folding
44101169689Skan	of signbit, signbitf and signbitl.
44102169689Skan	(fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
44103169689Skan
44104169689Skan	* doc/extend.texi: Document new signbit{,f,l} builtins.
44105169689Skan
44106169689Skan2004-02-01  Richard Sandiford  <rsandifo@redhat.com>
44107169689Skan
44108169689Skan	* config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
44109169689Skan
44110169689Skan2004-02-01  Chris Demetriou  <cgd@broadcom.com>
44111169689Skan
44112169689Skan	* config/mips/mips.h (PREDICATE_CODES): Remove entries for
44113169689Skan	"mips_const_double_ok" and "simple_memory_operand", which were
44114169689Skan	removed from the MIPS port with the mips-3_4-rewrite branch merge.
44115169689Skan	* config/mips/mips.c (mips16_lay_out_constants): Update comment
44116169689Skan	for removal of simple_memory_operand.
44117169689Skan
44118169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44119169689Skan
44120169689Skan	* config/c4x/c4x.md: Use GEN_INT instead of
44121169689Skan	gen_rtx (CONST_INT, ...).
44122169689Skan
44123169689Skan2004-01-31  Richard Henderson  <rth@redhat.com>
44124169689Skan
44125169689Skan	* varasm.c (output_constant_pool): Don't zap the pool.
44126169689Skan
44127169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44128169689Skan
44129169689Skan	* genrecog.c (decision_type): Add DT_const_int.
44130169689Skan	(write_cond) [DT_const_int]: Print a comparison against small
44131169689Skan	constant.
44132169689Skan	(write_node): Simplify comparisons against small constants
44133169689Skan	before printing tests.
44134169689Skan
44135169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44136169689Skan
44137169689Skan	* config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
44138169689Skan	instead of gen_rtx_CONST_INT.
44139169689Skan
44140169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44141169689Skan
44142169689Skan	* config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
44143169689Skan	instead of gen_rtx_CONST_INT.
44144169689Skan
44145169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44146169689Skan
44147169689Skan	* target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
44148169689Skan	hook_bool_CUMULATIVE_ARGS_false.
44149169689Skan	* targhooks.c (default_strict_argument_naming): Rename to
44150169689Skan	hook_bool_CUMULATIVE_ARGS_false.
44151169689Skan	* targhooks.h: Update the prototype for
44152169689Skan	default_strict_argument_naming.
44153169689Skan
44154169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44155169689Skan
44156169689Skan	* config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
44157169689Skan	* config/sh/sh.h: Likewise.
44158169689Skan	* config/sh/sh.md: Likewise.
44159169689Skan
44160169689Skan2004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
44161169689Skan
44162169689Skan	* doc/invoke.texi (SPARC options): Restructure and update.
44163169689Skan
44164169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44165169689Skan
44166169689Skan	* system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
44167169689Skan	STRICT_ARGUMENT_NAMING): Poison.
44168169689Skan	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
44169169689Skan	hook_bool_tree_false.
44170169689Skan	* targhooks.c (default_promote_function_args): Remove.
44171169689Skan	(default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
44172169689Skan	Don't check incoming.
44173169689Skan	(default_strict_argument_naming): Don't use
44174169689Skan	STRICT_ARGUMENT_NAMING.
44175169689Skan	* targhooks.h: Remove the prototype for
44176169689Skan	default_promote_function_args.
44177169689Skan
44178169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44179169689Skan
44180169689Skan	* config/i386/i386-protos.h: Remove the prototype for
44181169689Skan	ix86_setup_incoming_varargs.
44182169689Skan	* config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
44183169689Skan	(ix86_setup_incoming_varargs): Make it static.
44184169689Skan	* config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
44185169689Skan
44186169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44187169689Skan
44188169689Skan	* alloc-pool.c: Fix comment typos.
44189169689Skan	* builtin-types.def: Likewise.
44190169689Skan	* builtins.def: Likewise.
44191169689Skan	* c-pretty-print.c: Likewise.
44192169689Skan	* df.h: Likewise.
44193169689Skan	* reload1.c: Likewise.
44194169689Skan
44195169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44196169689Skan
44197169689Skan	* doc/invoke.texi: Follow spelling conventions.
44198169689Skan	* doc/tm.texi: Likewise.
44199169689Skan
44200169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44201169689Skan
44202169689Skan	* doc/install.texi: Fix typos.
44203169689Skan	* doc/invoke.texi: Likewise.
44204169689Skan
44205169689Skan2004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
44206169689Skan
44207169689Skan	* config/s390/s390.c (s390_decompose_address): Do not treat virtual
44208169689Skan	registers as pointers.
44209169689Skan	* config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
44210169689Skan
44211169689Skan2004-01-31  Paolo Bonzini  <bonzini@gnu.org>
44212169689Skan
44213169689Skan	* combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
44214169689Skan	and restore it to gen_lowpart_general on exit.
44215169689Skan	(gen_lowpart_for_combine): Adjust all callers to go through
44216169689Skan	gen_lowpart.
44217169689Skan	* cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
44218169689Skan	and restore it to gen_lowpart_general on exit.
44219169689Skan	(gen_lowpart_if_possible): Adjust all callers to go through
44220169689Skan	gen_lowpart.
44221169689Skan	* emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
44222169689Skan	(gen_lowpart): Declare as pointer to function, initialized to
44223169689Skan	gen_lowpart_general.
44224169689Skan	* rtl.h (gen_lowpart): Declare as pointer to function.
44225169689Skan
44226169689Skan2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
44227169689Skan
44228169689Skan	* bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
44229169689Skan	* calls.c: Likewise.
44230169689Skan	* emit-rtl.c: Likewise.
44231169689Skan	* function.c: Likewise.
44232169689Skan	* reload1.c: Likewise.
44233169689Skan	* config/i386/cygming.h: Likewise.
44234169689Skan	* config/i386/i386.c: Likewise.
44235169689Skan	* config/i386/winnt.c: Likewise.
44236169689Skan
44237169689Skan2004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
44238169689Skan
44239169689Skan	PR bootstrap/9249
44240169689Skan	* doc/install.texi: document --enable-__cxa_atexit option.
44241169689Skan	* configure.ac: Disable __cxa_atexit if not supported.
44242169689Skan	* configure: Regenerate.
44243169689Skan
44244169689Skan2004-01-30  Daniel Berlin  <dberlin@dberlin.org>
44245169689Skan
44246169689Skan	* ggc-zone.c (ggc_free): New function.
44247169689Skan
44248169689Skan2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
44249169689Skan
44250169689Skan	alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
44251169689Skan	cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
44252169689Skan	flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
44253169689Skan	ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
44254169689Skan	tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
44255169689Skan	config/alpha/alpha.c, config/alpha/alpha.h,
44256169689Skan	config/alpha/alpha.md, config/alpha/unicosmk.h,
44257169689Skan	config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
44258169689Skan	config/c4x/c4x-protos.h, config/c4x/c4x.md,
44259169689Skan	config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
44260169689Skan	config/frv/frvend.c, config/i386/cygming.h,
44261169689Skan	config/i386/djgpp.h, config/i386/emmintrin.h,
44262169689Skan	config/i386/gthr-win32.c, config/i386/i386-interix.h,
44263169689Skan	config/i386/i386-protos.h, config/i386/openbsd.h,
44264169689Skan	config/i386/winnt.c, config/i386/xm-mingw32.h,
44265169689Skan	config/i386/xmmintrin.h, config/ia64/ia64.md,
44266169689Skan	config/iq2000/iq2000.md, config/m32r/m32r.md,
44267169689Skan	config/m68k/m68k.md, config/mcore/mcore-elf.h,
44268169689Skan	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
44269169689Skan	config/mips/iris5gas.h, config/mips/iris6.h,
44270169689Skan	config/mips/iris6gas.h, config/mips/linux.h,
44271169689Skan	config/mips/mips.md, config/mips/netbsd.h,
44272169689Skan	config/mips/openbsd.h, config/mips/windiss.h,
44273169689Skan	config/pa/fptr.c, config/rs6000/aix.h,
44274169689Skan	config/rs6000/altivec.h, config/rs6000/darwin.h,
44275169689Skan	config/rs6000/xcoff.h, config/s390/s390-protos.h,
44276169689Skan	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
44277169689Skan	config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
44278169689Skan	config/sparc/sol2.h: Update copyright.
44279169689Skan
44280169689Skan2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
44281169689Skan
44282169689Skan	* Makefile.in (abs_docdir, abs_srcdir): Define.
44283169689Skan	(doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
44284169689Skan
44285169689Skan2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
44286169689Skan
44287169689Skan	* genconfig.c (main): Have CC0_P check its operand even on a
44288169689Skan	target without cc0.
44289169689Skan
44290169689Skan2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
44291169689Skan
44292169689Skan	* config/alpha/alpha.c: Remove mentions of deprecates macros
44293169689Skan	in comments, remove some target-independent comments about target
44294169689Skan	macros, and/or add minimal function comments for target hook
44295169689Skan	implementations.
44296169689Skan	* config/avr/avr.c: Likewise.
44297169689Skan	* config/ia64/ia64.h: Likewise.
44298169689Skan	* config/ip2k/ip2k.c: Likewise.
44299169689Skan	* config/iq2000/iq2000.c: Likewise.
44300169689Skan	* config/m32r/m32r.h: Likewise.
44301169689Skan	* config/m68hc11/m68hc11.c: Likewise.
44302169689Skan	* config/mcore/mcore.c: Likewise.
44303169689Skan	* config/mmix/mmix.c: Likewise.
44304169689Skan	* config/mn10300/mn10300.c: Likewise.
44305169689Skan	* config/pa/pa.c: Likewise.
44306169689Skan	* config/pdp11/pdp11.c: Likewise.
44307169689Skan	* config/rs6000/rs6000.h: Likewise.
44308169689Skan	* config/sh/sh.c: Likewise.
44309169689Skan	* config/sh/sh.h: Likewise.
44310169689Skan	* config/sparc/sparc.c: Likewise.
44311169689Skan	* config/sparc/sparc.h: Likewise.
44312169689Skan	* config/stormy16/stormy16.c: Likewise.
44313169689Skan	* config/xtensa/xtensa.c: Likewise.
44314169689Skan
44315169689Skan2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
44316169689Skan
44317169689Skan	PR optimization/12147
44318169689Skan	* reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
44319169689Skan	RELOAD_FOR_OPADDR_ADDR.
44320169689Skan	(reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
44321169689Skan	might be reused as RELOAD_FOR_OPADDR_ADDR register.
44322169689Skan
44323169689Skan2004-01-30  Jan Hubicka  <jh@suse.cz>
44324169689Skan
44325169689Skan	* reload.c (get_secondary_mem): Fix updating of
44326169689Skan	secondary_memlocs_elim_used.
44327169689Skan
44328169689Skan2004-01-30  Richard Henderson  <rth@redhat.com>
44329169689Skan
44330169689Skan	* varasm.c (struct rtx_const, struct pool_constant): Remove.
44331169689Skan	(MAX_RTX_HASH_TABLE): Remove.
44332169689Skan	(const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
44333169689Skan	(first_pool, last_pool, pool_offset): Remove.
44334169689Skan	(struct rtx_constant_pool): Split out from ...
44335169689Skan	(struct varasm_status): ... here.  Reference one via pointer.
44336169689Skan	(struct constant_descriptor_rtx): Merge struct pool_constant.
44337169689Skan	(SYMHASH): Remove.
44338169689Skan	(decode_rtx_const): Remove.
44339169689Skan	(const_hash_rtx, compare_constant_rtx): Remove.
44340169689Skan	(record_constant_rtx): Remove.
44341169689Skan	(const_desc_rtx_hash, const_desc_rtx_eq): New.
44342169689Skan	(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
44343169689Skan	(const_rtx_hash_1, const_rtx_hash): New.
44344169689Skan	(init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
44345169689Skan	(simplify_subtraction): Use simplify_rtx.
44346169689Skan	(force_const_mem): Rewrite to use new data structures.
44347169689Skan	(find_pool_constant): Likewise.
44348169689Skan	(get_pool_constant, get_pool_constant_mark,
44349169689Skan	get_pool_constant_for_function, get_pool_mode,
44350169689Skan	get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
44351169689Skan	(output_constant_pool_2): Split out from output_constant_pool.
44352169689Skan	(output_constant_pool_1): Likewise.  Use new pool datastructures.
44353169689Skan	(output_constant_pool): Zap entire pool datastructure.
44354169689Skan	(mark_constant): Use new pool datastructures.
44355169689Skan	(mark_constants): Use for_each_rtx.
44356169689Skan	(mark_constant_pool): Use new pool datastructures.
44357169689Skan
44358169689Skan2004-01-30  Fariborz Jahanian <fjahanian@apple.com>
44359169689Skan
44360169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
44361169689Skan	Copy operands[1] to pseudo for simplify_gen_subreg.
44362169689Skan
44363169689Skan2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
44364169689Skan
44365169689Skan	* gcse.c (bypass_block): Fix a typo in the previous check-in
44366169689Skan	to the file.
44367169689Skan
44368169689Skan2004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
44369169689Skan
44370169689Skan	* toplev.c: Include alloc-pool.h.
44371169689Skan	* Makefile.in (toplev.c): Update dependencies.
44372169689Skan
44373169689Skan2004-01-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
44374169689Skan
44375169689Skan	* combine.c (simplify_shift_const, case XOR): Be careful when
44376169689Skan	commuting XOR with ASHIFTRT.
44377169689Skan
44378169689Skan2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
44379169689Skan	    Eric Botcazou  <ebotcazou@libertysurf.fr>
44380169689Skan
44381169689Skan	* config/sparc/sparc-protos.h: Remove the prototype for
44382169689Skan	sparc_builtin_saveregs.
44383169689Skan	* config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
44384169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
44385169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
44386169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44387169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
44388169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
44389169689Skan	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
44390169689Skan	(sparc_builtin_saveregs): Make it static.
44391169689Skan	(sparc_promote_prototypes): New.
44392169689Skan	(sparc_struct_value_rtx): Likewise.
44393169689Skan	(sparc_return_in_memory): Likewise.
44394169689Skan	* config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
44395169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
44396169689Skan	(RETURN_IN_MEMORY): Likewise.
44397169689Skan	(STRUCT_VALUE): Likewise.
44398169689Skan	(STRUCT_VALUE_INCOMING): Likewise.
44399169689Skan	(EXPAND_BUILTIN_SAVEREGS): Likewise.
44400169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
44401169689Skan	(PROMOTE_PROTOTYPES): Likewise.
44402169689Skan
44403169689Skan	* config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
44404169689Skan
44405169689Skan2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
44406169689Skan
44407169689Skan	PR c/12818
44408169689Skan	* varasm.c (const_hash_1) <STRING_CST>: Use the
44409169689Skan	address to compute the hash value if flag_writable_strings.
44410169689Skan	(compare_constant) <STRING_CST>: Compare the addresses
44411169689Skan	if flag_writable_strings.
44412169689Skan	(build_constant_desc): Do not copy the expression for a
44413169689Skan	STRING_CST if flag_writable_strings.
44414169689Skan
44415169689Skan2004-01-30  Jan Hubicka  <jh@suse.cz>
44416169689Skan
44417169689Skan	* alloc-pool.c: Include hashtab.h
44418169689Skan	(alloc_pool_descriptor): New structure
44419169689Skan	(alloc_pool_hash): New global variable.
44420169689Skan	(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
44421169689Skan	(create_alloc_pool): Update statistics.
44422169689Skan	(free_alloc_pool): Likewise.
44423169689Skan	(pool_alloc): Likewise.
44424169689Skan	(output_info): New structure
44425169689Skan	(print_statistics, dump_alloc_pool_statistics): New function.
44426169689Skan	* alloc-pool.h (alloc_pool_def): Turn name to be constant.
44427169689Skan	(dump_alloc_pool_statistics): Declare.
44428169689Skan	* toplev.c (finalize): Dump statistics.
44429169689Skan
44430169689Skan	* reload.c (secondary_memlocs_elim_used): New static variable.
44431169689Skan	(get_secondary_mem): Update it.
44432169689Skan	(find_reloads): Use it.
44433169689Skan
44434169689Skan2004-01-30  Steven Bosscher <s.bosscher@student.tudelft.nl>
44435169689Skan
44436169689Skan	* toplev.c: Fix broken checkin of 2003-12-30, again.
44437169689Skan
44438169689Skan2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
44439169689Skan
44440169689Skan	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
44441169689Skan	s390*-*-* targets by specifying a 'nop' insn.
44442169689Skan	* configure: Regenerate.
44443169689Skan
44444169689Skan2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
44445169689Skan
44446169689Skan	PR target/11475
44447169689Skan	* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
44448169689Skan
44449169689Skan2004-01-29  Jakub Jelinek  <jakub@redhat.com>
44450169689Skan
44451169689Skan	* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
44452169689Skan	of addr when creating MEM copy.
44453169689Skan
44454169689Skan2004-01-29  Devang Patel  <dpatel@apple.com>
44455169689Skan
44456169689Skan	* dwarf2out.c (gen_field_die): Do not equate decl number to die.
44457169689Skan
44458169689Skan2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
44459169689Skan
44460169689Skan	PR inline-asm/6162
44461169689Skan	* reload.c (find_reloads): Only support one pair of commutative
44462169689Skan	operands.
44463169689Skan
44464169689Skan2004-01-29  Roger Sayle  <roger@eyesopen.com>
44465169689Skan
44466169689Skan	PR java/13824
44467169689Skan	* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
44468169689Skan	as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
44469169689Skan	recursion.
44470169689Skan
44471169689Skan2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
44472169689Skan
44473169689Skan	* config/frv/frv.c: Don't mention deprecated macros in
44474169689Skan	comments.  Remove some target-independent comments about
44475169689Skan	target macros.
44476169689Skan	* config/frv/frv.h: Likewise.
44477169689Skan
44478169689Skan2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
44479169689Skan
44480169689Skan	* cfghooks.c (split_block): Set probability and count of the
44481169689Skan	new edge.
44482169689Skan
44483169689Skan2004-01-29  Josef Zlomek  <zlomekj@suse.cz>
44484169689Skan
44485169689Skan	* dwarf2out.c (struct die_struct): Added field decl_id.
44486169689Skan	(decl_die_table): Changed to hash table.
44487169689Skan	(decl_die_table_allocated): Deleted.
44488169689Skan	(decl_die_table_in_use): Deleted.
44489169689Skan	(DECL_DIE_TABLE_INCREMENT): Deleted.
44490169689Skan	(decl_die_table_hash): New function.
44491169689Skan	(decl_die_table_eq): New function.
44492169689Skan	(lookup_decl_die): Lookup in a hash table.
44493169689Skan	(equate_decl_number_to_die): Insert into a hash table.
44494169689Skan	(dwarf2out_init): Init hash table decl_die_table.
44495169689Skan
44496169689Skan2004-01-29  Jakub Jelinek  <jakub@redhat.com>
44497169689Skan
44498169689Skan	PR optimization/13424
44499169689Skan	* expr.c (store_constructor): Revert 2003-12-03 change.
44500169689Skan
44501169689Skan	* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
44502169689Skan	expected before returning early.  Avoid sharing RTL if they
44503169689Skan	need to be changed.
44504169689Skan
44505169689Skan	* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
44506169689Skan	handling so that memory attributes are preserved.  Don't call
44507169689Skan	ix86_set_move_mem_attrs.
44508169689Skan	(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
44509169689Skan	(ix86_expand_clrstr): Rename src argument to
44510169689Skan	dst.  Rework rep_stos and strset handling so that memory attributes
44511169689Skan	are preserved.
44512169689Skan	(ix86_expand_strlen): Pass src argument to
44513169689Skan	ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
44514169689Skan	memory attributes are preserved.
44515169689Skan	(ix86_expand_strlensi_unroll_1): Add src argument.  Use
44516169689Skan	change_address instead of gen_rtx_MEM.
44517169689Skan	* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
44518169689Skan	expanders.
44519169689Skan	(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
44520169689Skan	strmovqi, strmovqi_rex64): Remove.
44521169689Skan	(rep_mov*, strmov*): Prefix insn names with *.
44522169689Skan	(strset, strset_singleop, rep_stos): New expanders.
44523169689Skan	(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
44524169689Skan	strsetqi, strsetqi_rex64): Remove.
44525169689Skan	(rep_stos*, strset*): Prefix insn names with *.
44526169689Skan	(rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
44527169689Skan	to SImode.
44528169689Skan	(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
44529169689Skan	are preserved.
44530169689Skan	(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
44531169689Skan	Prefix insn names with *.
44532169689Skan	(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
44533169689Skan	(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
44534169689Skan	(strlenqi_1): New expander.
44535169689Skan	* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
44536169689Skan
44537169689Skan2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
44538169689Skan
44539169689Skan	* Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
44540169689Skan	* basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
44541169689Skan	verify_flow_info): Declaration removed.
44542169689Skan	* cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
44543169689Skan	(debug_bb, debug_bb_n): Add argument to dump_bb call.
44544169689Skan	* cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
44545169689Skan	try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
44546169689Skan	instead of delete_block.
44547169689Skan	* cfghooks.c: Include timevar.h and toplev.h.
44548169689Skan	(cfg_hooks): Define here.
44549169689Skan	(verify_flow_info, dump_bb): Moved from cfg.c.
44550169689Skan	(redirect_edge_and_branch, redirect_edge_and_branch_force,
44551169689Skan	split_block, split_block_after_labels, move_block_after,
44552169689Skan	delete_basic_block, split_edge, create_basic_block,
44553169689Skan	create_empty_bb, can_merge_blocks_p, merge_blocks,
44554169689Skan	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
44555169689Skan	New functions.
44556169689Skan	* cfghooks.h (struct cfg_hooks): Added fields name,
44557169689Skan	make_forwarder_block, tidy_fallthru_edge and
44558169689Skan	move_block_after. Changed type of verify_flow_info, dump_bb,
44559169689Skan	split_block fields. Renamed cfgh_split_edge and delete_block
44560169689Skan	fields.
44561169689Skan	(redirect_edge_and_branch, redirect_edge_and_branch_force,
44562169689Skan	split_block, delete_block, split_edge, create_basic_block,
44563169689Skan	can_merge_blocks_p, merge_blocks): Macros removed.
44564169689Skan	(cfg_hooks): Do not export.
44565169689Skan	(verify_flow_info, dump_bb, redirect_edge_and_branch,
44566169689Skan	redirect_edge_and_branch_force, split_block, split_block_after_labels,
44567169689Skan	move_block_after, delete_basic_block, split_edge, create_basic_block,
44568169689Skan	create_empty_bb, can_merge_blocks_p, merge_blocks,
44569169689Skan	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
44570169689Skan	Declare.
44571169689Skan	(cfg_layout_rtl_cfg_hooks): Declare.
44572169689Skan	* cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
44573169689Skan	New functions.
44574169689Skan	(canonicalize_loop_headers): Use new semantics of make_forwarder_block.
44575169689Skan	(redirect_edge_with_latch_update): Removed.
44576169689Skan	(make_forwarder_block): Moved to cfghooks.c, semantics changed.
44577169689Skan	* cfgloopmanip.c (remove_bbs): Do not update dominators here.
44578169689Skan	* cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
44579169689Skan	rtl_delete_block, rtl_split_block, rtl_merge_blocks,
44580169689Skan	tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
44581169689Skan	cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
44582169689Skan	cfghooks.c.
44583169689Skan	(rtl_create_basic_block): Coding style fix.
44584169689Skan	(rtl_tidy_fallthru_edge, rtl_move_block_after,
44585169689Skan	rtl_make_forwarder_block): New functions.
44586169689Skan	(update_cfg_after_block_merging): Removed.
44587169689Skan	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
44588169689Skan	* flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
44589169689Skan	to dump_bb.
44590169689Skan	* ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
44591169689Skan	find_if_case_2): Don't update dominators.
44592169689Skan	* timevar.def (TV_CFG_VERIFY): New.
44593169689Skan	* loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
44594169689Skan	* cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
44595169689Skan	* cfgloopmanip.c (split_loop_bb): Don't update dominators.
44596169689Skan	(remove_bbs): Don't call remove_bbs.
44597169689Skan	(create_preheader): Use make_forwarder_block.
44598169689Skan	(mfb_keep_just, mfb_update_loops): New static functions.
44599169689Skan
44600169689Skan2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
44601169689Skan
44602169689Skan	* config/avr/avr.h: Remove target-independent comments about
44603169689Skan	target macros.
44604169689Skan
44605169689Skan2004-01-28  Daniel Berlin  <dberlin@dberlin.org>
44606169689Skan
44607169689Skan	* timevar.c (timevar_print): Mention when checking is enabled.
44608169689Skan
44609169689Skan2004-01-28  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
44610169689Skan
44611169689Skan	* c-lex.c (c_lex): Rename to...
44612169689Skan	(c_lex_with_flags): Add new parameter to get CPP flags.
44613169689Skan	(c_lex): Thunk to c_lex_with_flags while keeping the old interface.
44614169689Skan	* c-pragma.h (c_lex_with_flags): Declare.
44615169689Skan
44616169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44617169689Skan
44618169689Skan	* config/mcore/mcore.c (mcore_external_libcall): Add a
44619169689Skan	comment.
44620169689Skan	(mcore_return_in_memory): Likewise.
44621169689Skan
44622169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44623169689Skan
44624169689Skan	* config/mcore/mcore-protos.h: Remove the prototype for
44625169689Skan	mcore_setup_incoming_varargs.
44626169689Skan	* config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
44627169689Skan	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
44628169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
44629169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
44630169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44631169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
44632169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
44633169689Skan	(mcore_setup_incoming_varargs): Make it static.  Receive the
44634169689Skan	first argument by reference.  Add argument second_time.
44635169689Skan	(mcore_external_libcall): New.
44636169689Skan	(mcore_return_in_memory): Likewise.
44637169689Skan	* config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
44638169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
44639169689Skan	(STRUCT_VALUE): Likewise.
44640169689Skan	(RETURN_IN_MEMORY): Likewise.
44641169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
44642169689Skan	(PROMOTE_PROTOTYPES): Likewise.
44643169689Skan	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
44644169689Skan
44645169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44646169689Skan
44647169689Skan	* config/m32r/m32r-protos.h: Remove the prototype for
44648169689Skan	m32r_setup_incoming_varargs.
44649169689Skan	* config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
44650169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44651169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
44652169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
44653169689Skan	(m32r_return_in_memory): New.
44654169689Skan	(m32r_setup_incoming_varargs): Make it static.
44655169689Skan	* config/m32r/m32r.h: Remove #undef of
44656169689Skan	ASM_OUTPUT_EXTERNAL_LIBCALL.  Remove the commented-out
44657169689Skan	definitions of PROMOTE_FUNCTION_ARGS and
44658169689Skan	PROMOTE_FUNCTION_RETURN.
44659169689Skan	(PROMOTE_PROTOTYPES): Remove.
44660169689Skan	(RETURN_IN_MEMORY): Likewise.
44661169689Skan	(STRUCT_VALUE): Likewise.
44662169689Skan
44663169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44664169689Skan
44665169689Skan	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
44666169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44667169689Skan	(m68k_struct_value_rtx): Likewise.
44668169689Skan	* config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
44669169689Skan	STRUCT_VALUE_REGNUM.
44670169689Skan	(PROMOTE_PROTOTYPES): Remove.
44671169689Skan	* config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
44672169689Skan	STRUCT_VALUE_REGNUM.
44673169689Skan	* config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
44674169689Skan	* config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
44675169689Skan
44676169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44677169689Skan
44678169689Skan	* config/stormy16/stormy16.c
44679169689Skan	(TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
44680169689Skan	TARGET_BUILD_BUILTIN_VA_LIST.
44681169689Skan
44682169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44683169689Skan
44684169689Skan	* config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
44685169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44686169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
44687169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
44688169689Skan	(v850_return_in_memory): Likewise.
44689169689Skan	(v850_setup_incoming_varargs): Likewise.
44690169689Skan	* config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
44691169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
44692169689Skan	(RETURN_IN_MEMORY): Likewise.
44693169689Skan	(STRUCT_VALUE): Likewise.
44694169689Skan
44695169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44696169689Skan
44697169689Skan	* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
44698169689Skan	(fr30_setup_incoming_varargs): Don't use
44699169689Skan	STRICT_ARGUMENT_NAMING.
44700169689Skan	* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
44701169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
44702169689Skan
44703169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44704169689Skan
44705169689Skan	* config/frv/frv-protos.h: Remove the prototype for
44706169689Skan	frv_expand_builtin_saveregs.
44707169689Skan	* config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
44708169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
44709169689Skan	(frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
44710169689Skan	STRUCT_VALUE_REGNUM.
44711169689Skan	(frv_expand_builtin_saveregs): Make it static.
44712169689Skan	(frv_struct_value_rtx): New.
44713169689Skan	* config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
44714169689Skan
44715169689Skan2004-01-29  Jan Hubicka  <jh@suse.cz>
44716169689Skan
44717169689Skan	PR c++/12850
44718169689Skan	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
44719169689Skan	initial pointers.
44720169689Skan	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
44721169689Skan	for functions that will be only inlined.
44722169689Skan	(cgraph_mark_function_to_output): Likewise.
44723169689Skan	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
44724169689Skan	do not clear function body.
44725169689Skan	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
44726169689Skan	(tree_rest_of_compilation): Reorganize the logic releasing function
44727169689Skan	body to use callgraph datastructure.
44728169689Skan
44729169689Skan2004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
44730169689Skan
44731169689Skan	* pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
44732169689Skan	to register_operand.
44733169689Skan
44734169689Skan2004-01-28  Zack Weinberg  <zack@codesourcery.com>
44735169689Skan
44736169689Skan	* config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
44737169689Skan	(cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
44738169689Skan	match_operand expressions so that all match_dups appear
44739169689Skan	lexically after their corresponding match_operands.
44740169689Skan
44741169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44742169689Skan
44743169689Skan	* config/h8300/h8300.c (WORD_REG_USED): Use
44744169689Skan	HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
44745169689Skan	(compute_saved_regs): Likewise.
44746169689Skan	(h8300_expand_prologue): Likewise.  Allocate locals after
44747169689Skan	saving registers.
44748169689Skan	(h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
44749169689Skan	of FRAME_POINTER_REGNUM.  Deallocate locals before saving
44750169689Skan	registers.
44751169689Skan	(h8300_initial_elimination_offset): Adjust for the new frame
44752169689Skan	layout, which swaps flips the order of locals and saved
44753169689Skan	registers.
44754169689Skan	* config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
44755169689Skan	(HARD_FRAME_POINTER_REGNUM): New.
44756169689Skan	(ELIMINABLE_REGS): Add an elimination rule from
44757169689Skan	FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
44758169689Skan	(REGISTER_NAMES): Add fp.
44759169689Skan	* config/h8300/h8300.md (FP_REG): Change to 11.
44760169689Skan	(HFP_REG): New.
44761169689Skan
44762169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44763169689Skan
44764169689Skan	* genrecog.c (write_node): Remove a useless local variable.
44765169689Skan
44766169689Skan2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
44767169689Skan
44768169689Skan	* Makefile.in (options.c options.h): Use stamp file s-options to
44769169689Skan	avoid unnecessary rebuilds.
44770169689Skan	(options.o): New target listing dependencies.
44771169689Skan	(gtyp-gen.h): Use stamp file s-gtyp-gen.
44772169689Skan	(STAGESTUFF): Add s-gtyp-gen.
44773169689Skan
44774169689Skan2004-01-28  Richard Henderson  <rth@redhat.com>
44775169689Skan
44776169689Skan	* ggc.h (ggc_free): Declare.
44777169689Skan	* ggc-common.c (ggc_realloc): Use it.
44778169689Skan	* ggc-page.c: Remove lots of inline markers.
44779169689Skan	(globals): Add free_object_list.
44780169689Skan	(ggc_alloc): Tidy.
44781169689Skan	(ggc_free, validate_free_objects): New.
44782169689Skan	(poison_pages): Provide default.
44783169689Skan	(ggc_collect): Call validate_free_objects; emit markers to
44784169689Skan	the debug file.
44785169689Skan
44786169689Skan2004-01-28  Zack Weinberg  <zack@codesourcery.com>
44787169689Skan	    Jim Wilson  <wilson@specifixinc.com>
44788169689Skan
44789169689Skan	* config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
44790169689Skan	Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
44791169689Skan	scratch pointer.
44792169689Skan	(ia64_secondary_reload_class): Delete case GR_REGS.
44793169689Skan	* config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
44794169689Skan	Do not allocate a scratch register.
44795169689Skan	(reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
44796169689Skan
44797169689Skan2004-01-28  Jan Hubicka  <jh@suse.cz>
44798169689Skan
44799169689Skan	* gcse.c (bypass_block): Prevent edges to be unified when we are
44800169689Skan	about to emit compenstation code.
44801169689Skan
44802169689Skan2004-01-28  Nick Clifton  <nickc@redhat.com>
44803169689Skan
44804169689Skan	* config/arm/arm.c (arm_expand_builtin): Force second argument of
44805169689Skan	the setcwx insn into a register.
44806169689Skan
44807169689Skan2004-01-28  Richard Sandiford  <rsandifo@redhat.com>
44808169689Skan
44809169689Skan	* config/fp-bit.c (pack_d): When using paired doubles to implement
44810169689Skan	a long double, round the high part separately.
44811169689Skan	(unpack_d): Fix the case in which the high part is a power of two
44812169689Skan	and the low part is a nonzero value of the opposite sign.
44813169689Skan
44814169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44815169689Skan
44816169689Skan	* config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
44817169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44818169689Skan	(c4x_external_libcall): Likewise.
44819169689Skan	(c4x_struct_value_rtx): Likewise.
44820169689Skan	* config/c4x/c4x.h: Remove.
44821169689Skan	(STRUCT_VALUE_REGNUM): Likewise.
44822169689Skan	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
44823169689Skan
44824169689Skan2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
44825169689Skan
44826169689Skan	* config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
44827169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44828169689Skan	* config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
44829169689Skan	(STRUCT_VALUE): Likewise.
44830169689Skan	(PROMOTE_PROTOTYPES): Likewise.
44831169689Skan
44832169689Skan2004-01-27  Roger Sayle  <roger@eyesopen.com>
44833169689Skan
44834169689Skan	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
44835169689Skan	CONST_INT before using INTVAL.
44836169689Skan
44837169689Skan2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
44838169689Skan
44839169689Skan	* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
44840169689Skan	* config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
44841169689Skan	frame if !TARGET_BACKCHAIN.
44842169689Skan	* config/s390/s390.md ("allocate_stack"): Use pattern only if
44843169689Skan	TARGET_BACKCHAIN.
44844169689Skan	* doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
44845169689Skan
44846169689Skan2004-01-27  Zack Weinberg  <zack@codesourcery.com>
44847169689Skan
44848169689Skan	* ia64.c (ia64_function_arg): When placing HFAs in integer
44849169689Skan	registers, do not special case the mode used for complex
44850169689Skan	types.  Do not advance int_regs until the current register
44851169689Skan	is full.
44852169689Skan
44853169689Skan2004-01-27  Richard Sandiford  <rsandifo@redhat.com>
44854169689Skan
44855169689Skan	PR target/7297
44856169689Skan	* except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
44857169689Skan
44858169689Skan2004-01-27  David Edelsohn  <edelsohn@gnu.org>
44859169689Skan
44860169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
44861169689Skan	slow, unaligned loads and stores while debugging.  Fix formatting.
44862169689Skan
44863169689Skan2004-01-27  David Edelsohn  <edelsohn@gnu.org>
44864169689Skan
44865169689Skan	* config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
44866169689Skan	of computing wmode.
44867169689Skan	(restore_stack_nonlocal): Same.
44868169689Skan
44869169689Skan2004-01-27  Devang Patel <dpatel@apple.com>
44870169689Skan
44871169689Skan	* Makefile.in (dwarf2out.o): Depend on input.h
44872169689Skan	* dbxout.c (dbx_debug_hooks): Add new empty hook for
44873169689Skan	imported_module_or_decl.
44874169689Skan	(xcoff_debug_hooks): Same.
44875169689Skan	* sdbout.c (sdb_debug_hooks): Same.
44876169689Skan	* vmsdbgout.c (vmsdbg_debug_hooks): Same.
44877169689Skan	* debug.c (do_nothing_debug_hooks): Same.
44878169689Skan	(debug_nothing_tree_tree): New function.
44879169689Skan	* debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
44880169689Skan	* dwarf2out.c: Include input.h.
44881169689Skan	(dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
44882169689Skan	(remove_child_TAG): New function.
44883169689Skan	(dwarf_tag_name): Handle DW_TAG_imported_module.
44884169689Skan	(gen_subprogram_die): Equate decl number to declaration die. Do not
44885169689Skan	remove all children dies while reusing declaration die for definition.
44886169689Skan	Instead, selectively remove only formal parameters.
44887169689Skan	(gen_variable_die): Equate variable decl to declaration die.
44888169689Skan	(gen_field_die): Equate field decl to line number.
44889169689Skan	(force_namespace_die): Replace it with ...
44890169689Skan	(force_decl_die): ... this.
44891169689Skan	(force_type_die): New function.
44892169689Skan	(setup_namespace_context): Replace use of force_namespace_die() with
44893169689Skan	force_decl_die().
44894169689Skan	(gen_namespace_die): Same.
44895169689Skan	(dwarf2out_imported_module_or_decl): New function.
44896169689Skan
44897169689Skan2004-01-27  Bob Wilson  <bob.wilson@acm.org>
44898169689Skan
44899169689Skan	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
44900169689Skan	on CQImode and CHImode incoming arguments in register a7.
44901169689Skan	(function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
44902169689Skan	* config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
44903169689Skan	* config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
44904169689Skan	xtensa_copy_incoming_a7 before reload.
44905169689Skan
44906169689Skan2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
44907169689Skan
44908169689Skan	* coverage.c (get_coverage_counts): Give a different message
44909169689Skan	if flag_guess_branch_prob is set.
44910169689Skan	* predict.c (counts_to_freqs): Return an int.
44911169689Skan	(estimate_bb_frequencies): If counts_to_freqs returns zero,
44912169689Skan	calculate estimates.
44913169689Skan
44914169689Skan2004-01-27  Kazu Hirata  <kazu@cs.umass.edu>
44915169689Skan
44916169689Skan	* config/iq2000/iq2000-protos.h: Remove the prototype for
44917169689Skan	iq2000_setup_incoming_varargs.
44918169689Skan	* config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
44919169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
44920169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
44921169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
44922169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
44923169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
44924169689Skan	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
44925169689Skan	(iq2000_return_in_memory): Likewise.
44926169689Skan	(iq2000_setup_incoming_varargs): Make it static.  Receive the
44927169689Skan	first argument by reference.
44928169689Skan	* config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
44929169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
44930169689Skan	(PROMOTE_PROTOTYPES): Likewise.
44931169689Skan	(RETURN_IN_MEMORY): Likewise.
44932169689Skan	(STRUCT_VALUE): Likewise.
44933169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
44934169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
44935169689Skan
44936169689Skan2004-01-24  James A. Morrison  <ja2morri@uwaterloo.ca>
44937169689Skan
44938169689Skan	* fixinc/fixinc.c (test_test): Initialize res.
44939169689Skan	(start_flexer): Initialize pz_cmd_save.
44940169689Skan
44941169689Skan2004-01-27  Zack Weinberg  <zack@codesourcery.com>
44942169689Skan
44943169689Skan	* doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
44944169689Skan	SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
44945169689Skan
44946169689Skan2004-01-27  Zack Weinberg  <zack@codesourcery.com>
44947169689Skan
44948169689Skan	PR 7198
44949169689Skan	* config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
44950169689Skan	(*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
44951169689Skan	(*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
44952169689Skan	Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
44953169689Skan	Possibly rename pattern for consistency.
44954169689Skan	Remove ??? comments suggesting that this be done.
44955169689Skan	(*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
44956169689Skan	New patterns.
44957169689Skan	(divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
44958169689Skan	(divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
44959169689Skan	(divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
44960169689Skan	(divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
44961169689Skan	Update to match.
44962169689Skan
44963169689Skan2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
44964169689Skan
44965169689Skan	* config/arm/arm.c (output_return_instruction): Only restore IP
44966169689Skan	into SP if frame_pointer_needed.
44967169689Skan
44968169689Skan2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
44969169689Skan
44970169689Skan	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
44971169689Skan	for SCmode and DCmode if ARCH32.
44972169689Skan	(sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
44973169689Skan	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
44974169689Skan	if ARCH32.
44975169689Skan	(BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
44976169689Skan	if ARCH32.
44977169689Skan	(BASE_OUTGOING_VALUE_REG): Likewise.
44978169689Skan
44979169689Skan2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
44980169689Skan
44981169689Skan	PR target/10904
44982169689Skan	PR target/13058
44983169689Skan	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
44984169689Skan	Forbid mode changes from SImode for lower FP regs if ARCH64.
44985169689Skan
44986169689Skan2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
44987169689Skan
44988169689Skan	* Makefile.in (bt-load.o): Depend on except.h.
44989169689Skan	* bt-load.c (except.h): #include.
44990169689Skan	(compute_defs_uses_and_gen): If insn at end of BB can throw
44991169689Skan	within this function, consider registers used by it unavailable for
44992169689Skan	btr migration.
44993169689Skan	(move_btr_def): If insn at end of BB can throw, insert before rather
44994169689Skan	than after.
44995169689Skan
44996169689Skan	* flags.h (flag_btr_bb_exclusive): Declare.
44997169689Skan	* toplev.c (flag_btr_bb_exclusive): New variable.
44998169689Skan	(f_options): Add btr-bb-exclusive.
44999169689Skan	* bt-load.c (augment_live_range): Restore old behaviour if
45000169689Skan	flag_btr_bb_exclusive is set.
45001169689Skan	* common.opt: Add entry for -fbtr-bb-exclusive.
45002169689Skan	* opts.c (common_handle_options): Same.
45003169689Skan	* doc/invoke.texi: Document -fbtr-bb-exclusive.
45004169689Skan
45005169689Skan	* bt-load.c (btrs_live_at_end): New variable.
45006169689Skan	(compute_defs_uses_and_gen): Compute its pointed-to array.
45007169689Skan	(clear_btr_from_live_range, add_btr_to_live_range): Update it.
45008169689Skan	(augment_live_range): When augmenting with a new dominator,
45009169689Skan	use only its btrs_live_at_end set, but also add in the full set
45010169689Skan	of the old dominator.
45011169689Skan	(btr_def_live_range): Use btrs_live_at_end.
45012169689Skan	(move_btr_def): Set other_btr_uses_before_def, and move new set
45013169689Skan	to the end of the basic block, if appropriate.
45014169689Skan	(migrate_btr_defs): Allocate and free btrs_live_at_end.
45015169689Skan
45016169689Skan	* bt-load.c (basic_block_freq): Remove outdated comment.
45017169689Skan
45018169689Skan2004-01-27  Alan Modra  <amodra@bigpond.net.au>
45019169689Skan
45020169689Skan	* config/rs6000/rs6000.h: Correct target_flags free bits comment.
45021169689Skan	(PREDICATE_CODES): Remove duplicate.
45022169689Skan	* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
45023169689Skan	(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
45024169689Skan	(MASK_PROFILE_KERNEL): Adjust define.
45025169689Skan
45026169689Skan2004-01-27  Jakub Jelinek  <jakub@redhat.com>
45027169689Skan
45028169689Skan	* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
45029169689Skan	of long string literals from 32 bytes to sizeof (void *) when !-Os
45030169689Skan	and to 1 with -Os.
45031169689Skan
45032169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45033169689Skan
45034169689Skan	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
45035169689Skan	constant addresses in the normal mode.
45036169689Skan
45037169689Skan2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
45038169689Skan
45039169689Skan	* system.h (CHAR_BITFIELD): Delete.
45040169689Skan	(BOOL_BITFIELD): New.
45041169689Skan	* c-decl.c (c_scope): Use BOOL_BITFIELD.
45042169689Skan	* gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
45043169689Skan
45044169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45045169689Skan
45046169689Skan	* config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45047169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
45048169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45049169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45050169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45051169689Skan	(arc_return_in_memory): Likewise.
45052169689Skan	* config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
45053169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
45054169689Skan	(RETURN_IN_MEMORY): Likewise.
45055169689Skan	(STRUCT_VALUE): Likewise.
45056169689Skan
45057169689Skan2004-01-26  Richard Henderson  <rth@redhat.com>
45058169689Skan
45059169689Skan	* c-parse.in (extension): Use itype.
45060169689Skan	(SAVE_EXT_FLAGS): Don't allocate a tree.
45061169689Skan	(RESTORE_EXT_FLAGS): Don't read a tree.
45062169689Skan
45063169689Skan2004-01-26  Jan Hubicka  <jh@suse.cz>
45064169689Skan
45065169689Skan	* cselib.c (discard_useless_values): Clear out value pointer pointing
45066169689Skan	to datastructure to be recycled.
45067169689Skan
45068169689Skan2004-01-25  Jan Hubicka  <jh@suse.cz>
45069169689Skan
45070169689Skan	* genextract.c (main): Do not output the memset when not checking.
45071169689Skan
45072169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45073169689Skan
45074169689Skan	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
45075169689Skan	switch statement instead of a chain of if statements.
45076169689Skan
45077169689Skan2004-01-26  Jeff Law  <law@redhat.com>
45078169689Skan
45079169689Skan	* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
45080169689Skan	acute accents for Petur Runolfsson's entry.
45081169689Skan
45082169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45083169689Skan
45084169689Skan	* config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
45085169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45086169689Skan	* config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
45087169689Skan	(RETURN_IN_MEMORY): Likewise.
45088169689Skan
45089169689Skan2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
45090169689Skan
45091169689Skan	 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
45092169689Skan	 unaligned load/store into smaller loads and stores.
45093169689Skan
45094169689Skan2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
45095169689Skan
45096169689Skan	* function.c (assign_parms): Do not assign
45097169689Skan	long long argument to memory in prologue if
45098169689Skan	is it loaded into register.
45099169689Skan
45100169689Skan2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
45101169689Skan
45102169689Skan	 PR middle-end/13779
45103169689Skan	 * expr.c (emit_group_load): split constant
45104169689Skan	 correctly into register components of PARALLEL insn.
45105169689Skan
45106169689Skan2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
45107169689Skan
45108169689Skan	* config/rs6000/rs6000.md (save_stack_nonlocal):
45109169689Skan	Use adjust_address_nv directly with appropriate mode.
45110169689Skan	(restore_stack_nonlocal): Ditto.
45111169689Skan
45112169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45113169689Skan
45114169689Skan	* config/xtensa/xtensa-protos.h: Remove the prototype for
45115169689Skan	xtensa_builtin_saveregs.
45116169689Skan	* config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45117169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
45118169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45119169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45120169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45121169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
45122169689Skan	(xtensa_builtin_saveregs): Make it static.
45123169689Skan	(xtensa_return_in_memory): New.
45124169689Skan	* config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
45125169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
45126169689Skan	(PROMOTE_PROTOTYPES): Likewise.
45127169689Skan	(STRUCT_VALUE): Likewise.
45128169689Skan	(RETURN_IN_MEMORY): Likewise.
45129169689Skan	(EXPAND_BUILTIN_SAVEREGS): Likewise.
45130169689Skan
45131169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45132169689Skan
45133169689Skan	* config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
45134169689Skan	(arm_setup_incoming_varargs): Likewise.
45135169689Skan	* config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
45136169689Skan
45137169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45138169689Skan
45139169689Skan	* config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
45140169689Skan	(cris_setup_incoming_varargs): Likewise.
45141169689Skan	* config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
45142169689Skan
45143169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45144169689Skan
45145169689Skan	* config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
45146169689Skan	(ns32k_struct_value_rtx): Likewise.
45147169689Skan	* config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
45148169689Skan	NS32K_STRUCT_VALUE_REGNUM.
45149169689Skan
45150169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45151169689Skan
45152169689Skan	* config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45153169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45154169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45155169689Skan	(arm_struct_value_rtx): Likewise.
45156169689Skan	* config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
45157169689Skan	(STRUCT_VALUE): Likewise.
45158169689Skan	(STRUCT_VALUE_REGNUM): Likewise.
45159169689Skan	(PROMOTE_PROTOTYPES): Likewise.
45160169689Skan
45161169689Skan2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
45162169689Skan
45163169689Skan	* config/ia64/ia64-protos.h: Remove the prototype for
45164169689Skan	ia64_setup_incoming_varargs and ia64_return_in_memory.
45165169689Skan	* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
45166169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45167169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
45168169689Skan	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
45169169689Skan	(ia64_setup_incoming_varargs): Adjust the arguments to meet
45170169689Skan	the requirement of TARGET_SETUP_INCOMING_VARARGS.
45171169689Skan	(ia64_return_in_memory): Make it static.  Change the return
45172169689Skan	type to bool from int.  Add an argument.
45173169689Skan	(ia64_struct_value_rtx): New.
45174169689Skan	* config/ia64/ia64.h: Remove commented-out definitions of
45175169689Skan	PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
45176169689Skan	PROMOTE_PROTOTYPES.
45177169689Skan	(RETURN_IN_MEMORY): Remove.
45178169689Skan	(STRUCT_VALUE_REGNUM): Likewise.
45179169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
45180169689Skan
45181169689Skan2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
45182169689Skan
45183169689Skan	PR target/13666
45184169689Skan	* config/sparc/sparc.c (function_arg_union_value): New function.
45185169689Skan	(function_arg): Use it to deal with unions.
45186169689Skan	(function_value): Likewise.  Define 'regbase' only for ARCH64.
45187169689Skan	Replace a conditional statement by a simpler one.
45188169689Skan
45189169689Skan2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
45190169689Skan
45191169689Skan	* config/mips/mips.c (mips16_optimize_gp): Delete.
45192169689Skan	(mips_reorg): Don't call it.
45193169689Skan
45194169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45195169689Skan
45196169689Skan	* config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
45197169689Skan	(floatunsqihf2): Remove operand 6.
45198169689Skan	(fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
45199169689Skan	fix patterns.
45200169689Skan	(ldi_conditional, ldf_conditional): Validate operands.
45201169689Skan
45202169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45203169689Skan
45204169689Skan	* config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
45205169689Skan	(HAVE_GAS_HIDDEN): Undefine as interim measure.
45206169689Skan
45207169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45208169689Skan
45209169689Skan	* config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
45210169689Skan	memory references if TARGET_EXPOSE_LDP nonzero.
45211169689Skan
45212169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45213169689Skan
45214169689Skan	* config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
45215169689Skan
45216169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45217169689Skan
45218169689Skan	* config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
45219169689Skan	invalid operand combinations.
45220169689Skan
45221169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45222169689Skan
45223169689Skan	* config/c4x/c4x.c (c4x_check_legit_addr): Rename to
45224169689Skan	c4x_legitimate_address_p.  Fix post_modify check.
45225169689Skan
45226169689Skan	* config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
45227169689Skan	* config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
45228169689Skan
45229169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45230169689Skan
45231169689Skan	* config/pa/pa-protos.h: Remove the prototype for
45232169689Skan	hppa_builtin_saveregs.  Add a prototype for
45233169689Skan	pa_return_in_memory.
45234169689Skan	* config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
45235169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45236169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45237169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45238169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
45239169689Skan	(pa_struct_value_rtx): Likewise.
45240169689Skan	(pa_return_in_memory): Likewise.
45241169689Skan	* config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
45242169689Skan	PA_STRUCT_VALUE_REGNUM.
45243169689Skan	(INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
45244169689Skan	(EXPAND_BUILTIN_SAVEREGS): Remove.
45245169689Skan	(PROMOTE_PROTOTYPES): Likewise.
45246169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
45247169689Skan
45248169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45249169689Skan
45250169689Skan	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
45251169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45252169689Skan	(vax_struct_value_rtx): Likewise.
45253169689Skan	* config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
45254169689Skan	VAX_STRUCT_VALUE_REGNUM.
45255169689Skan	(PROMOTE_PROTOTYPES): Remove.
45256169689Skan
45257169689Skan2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
45258169689Skan
45259169689Skan	* config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
45260169689Skan
45261169689Skan2004-01-25  Chris Demetriou  <cgd@broadcom.com>
45262169689Skan
45263169689Skan	* config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
45264169689Skan	and MIPS64 have HI/LO interlocks.  Update comment.
45265169689Skan
45266169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45267169689Skan
45268169689Skan	* config/stormy16/stormy16-protos.h: Remove the prototype for
45269169689Skan	xstormy16_setup_incoming_varargs.
45270169689Skan	* config/stormy16/stormy16.c
45271169689Skan	(xstormy16_setup_incoming_varargs): Remove.
45272169689Skan	(xstormy16_return_in_memory): New.
45273169689Skan	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
45274169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
45275169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45276169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45277169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45278169689Skan	* config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
45279169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise
45280169689Skan	(PROMOTE_PROTOTYPES): Likewise
45281169689Skan	(RETURN_IN_MEMORY): Likewise
45282169689Skan	(STRUCT_VALUE): Likewise
45283169689Skan	(SETUP_INCOMING_VARARGS): Likewise
45284169689Skan
45285169689Skan2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
45286169689Skan
45287169689Skan	* config/mips/mips.c (mips_offset_within_object_p): New function.
45288169689Skan	(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
45289169689Skan	SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
45290169689Skan	ABI has 64-bit pointers and the object file only allows 32-bit symbols.
45291169689Skan
45292169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45293169689Skan
45294169689Skan	* config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
45295169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
45296169689Skan
45297169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45298169689Skan
45299169689Skan	* config/mn10300/mn10300-protos.h: Remove the prototype for
45300169689Skan	mn10300_builtin_saveregs.
45301169689Skan	* config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
45302169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45303169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45304169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
45305169689Skan	(mn10300_return_in_memory): Likewise.
45306169689Skan	(mn10300_builtin_saveregs): Make it static.
45307169689Skan	* config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
45308169689Skan	(RETURN_IN_MEMORY): Likewise.
45309169689Skan	(STRUCT_VALUE): Likewise.
45310169689Skan	(EXPAND_BUILTIN_SAVEREGS): Likewise.
45311169689Skan
45312169689Skan2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
45313169689Skan
45314169689Skan	PR bootstrap/13853
45315169689Skan	* cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
45316169689Skan
45317169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45318169689Skan
45319169689Skan	* config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
45320169689Skan	using ccr.
45321169689Skan
45322169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45323169689Skan
45324169689Skan	* config/i860/i860-protos.h: Remove the prototype for
45325169689Skan	i860_saveregs.
45326169689Skan	* config/i860/i860.c (i860_saveregs): Make it static.
45327169689Skan	(i860_struct_value_rtx): New.
45328169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45329169689Skan	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
45330169689Skan	* config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
45331169689Skan	I860_STRUCT_VALUE_REGNUM.
45332169689Skan	(EXPAND_BUILTIN_SAVEREGS): Remove.
45333169689Skan
45334169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45335169689Skan
45336169689Skan	* config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
45337169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45338169689Skan	(m68hc11_struct_value_rtx): Likewise.
45339169689Skan	(m68hc11_return_in_memory): Likewise.
45340169689Skan	* config/m68hc11/m68hc11.h: Remove a commented-out definition
45341169689Skan	of PROMOTE_PROTOTYPES.
45342169689Skan	(RETURN_IN_MEMORY): Remove.
45343169689Skan	(STRUCT_VALUE_REGNUM): Likewise.
45344169689Skan
45345169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45346169689Skan
45347169689Skan	* config/mmix/mmix-protos.h: Remove the prototype for
45348169689Skan	mmix_setup_incoming_varargs.
45349169689Skan	* config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45350169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45351169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
45352169689Skan	(mmix_setup_incoming_varargs): Make it static.
45353169689Skan	(mmix_struct_value_rtx): New.
45354169689Skan	* config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
45355169689Skan	Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
45356169689Skan	(STRUCT_VALUE_REGNUM): Remove.
45357169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
45358169689Skan
45359169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45360169689Skan
45361169689Skan	* config/mips/mips-protos.h: Remove the prototypes for
45362169689Skan	mips_setup_incoming_varargs and mips_return_in_memory.
45363169689Skan	* config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45364169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
45365169689Skan	(TARGET_PROMOTE_PROTOTYPES): Likewise.
45366169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45367169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45368169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
45369169689Skan	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
45370169689Skan	(mips_setup_incoming_varargs): Match the prototype for
45371169689Skan	TARGET_SETUP_INCOMING_VARARGS.
45372169689Skan	(mips_return_in_memory): Make it static.  Add argument fntype.
45373169689Skan	(mips_strict_argument_naming): New.
45374169689Skan	* config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
45375169689Skan	(PROMOTE_FUNCTION_ARGS): Likewise.
45376169689Skan	(PROMOTE_FUNCTION_RETURN): Likewise.
45377169689Skan	(STRUCT_VALUE): Likewise.
45378169689Skan	(RETURN_IN_MEMORY): Likewise.
45379169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
45380169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
45381169689Skan
45382169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45383169689Skan
45384169689Skan	* config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
45385169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45386169689Skan	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
45387169689Skan	(ip2k_return_in_memory): Likewise.
45388169689Skan	(ip2k_setup_incoming_varargs): Likewise.
45389169689Skan	* config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
45390169689Skan	(STRUCT_VALUE): Likewise.
45391169689Skan	(STRUCT_VALUE_INCOMING): Likewise.
45392169689Skan	(SETUP_INCOMING_VARARGS): Likewise.
45393169689Skan
45394169689Skan2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
45395169689Skan
45396169689Skan	* config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
45397169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
45398169689Skan	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
45399169689Skan	(avr_return_in_memory): Remove.
45400169689Skan	* config/avr/avr.h (RETURN_IN_MEMORY): Remove.
45401169689Skan	(STRUCT_VALUE): Likewise.
45402169689Skan	(STRUCT_VALUE_INCOMING): Likewise.
45403169689Skan	(STRICT_ARGUMENT_NAMING): Likewise.
45404169689Skan
45405169689Skan2004-01-25  Jan Hubicka  <jh@suse.cz>
45406169689Skan
45407169689Skan	* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
45408169689Skan
45409169689Skan2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
45410169689Skan
45411169689Skan	* config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
45412169689Skan	(mips_regno_mode_ok_for_base_p): Declare.
45413169689Skan	* config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
45414169689Skan	(FRAME_POINTER_REGNUM): Renumber to 78.
45415169689Skan	(FIRST_PSEUDO_REGISTER): Update comment accordingly.
45416169689Skan	(BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
45417169689Skan	(GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
45418169689Skan	(REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
45419169689Skan	(REG_MODE_OK_FOR_BASE_P): Likewise.
45420169689Skan	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
45421169689Skan	entry for 77 to "$arg" and entry for 78 to "$frame".
45422169689Skan	(mips_regno_to_class): Map 77 and 78 to ALL_REGS.
45423169689Skan	(mips_reg_mode_ok_for_base_p): Remove.
45424169689Skan	(mips_regno_mode_ok_for_base_p): New function, derived from old
45425169689Skan	BASE_REG_P macro.  Don't enforce the mips16 stack pointer
45426169689Skan	restrictions unless we're being strict.
45427169689Skan	(mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
45428169689Skan
45429169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45430169689Skan
45431169689Skan	* c-common.h: Fix comment typos.
45432169689Skan	* c-decl.c: Likewise.
45433169689Skan	* cgraphunit.c: Likewise.
45434169689Skan	* combine.c: Likewise.
45435169689Skan	* et-forest.c: Likewise.
45436169689Skan	* flow.c: Likewise.
45437169689Skan	* function.c: Likewise.
45438169689Skan	* ifcvt.c: Likewise.
45439169689Skan	* integrate.c: Likewise.
45440169689Skan	* jump.c: Likewise.
45441169689Skan	* postreload.c: Likewise.
45442169689Skan	* varray.c: Likewise.
45443169689Skan
45444169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45445169689Skan
45446169689Skan	* doc/frontends.texi: Update copyright.
45447169689Skan	* doc/gcov.texi: Likewise.
45448169689Skan	* doc/gty.texi: Likewise.
45449169689Skan	* doc/sourcebuild.texi: Likewise.
45450169689Skan	* doc/standards.texi: Likewise.
45451169689Skan
45452169689Skan2004-01-24  Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
45453169689Skan
45454169689Skan	PR target/12978
45455169689Skan	* c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
45456169689Skan	Remove movstrqi_small because it conflicts with movstrqi_large.
45457169689Skan
45458169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45459169689Skan
45460169689Skan	* config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
45461169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
45462169689Skan	(cris_struct_value_rtx): Likewise.
45463169689Skan	* config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
45464169689Skan	(CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
45465169689Skan	STRUCT_VALUE_REGNUM.
45466169689Skan	(STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
45467169689Skan
45468169689Skan2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
45469169689Skan
45470169689Skan	PR bootstrap/13848
45471169689Skan	* cse.c (cse_cc_succs): Change the mode of the source expression
45472169689Skan	as soon as decide we need a new mode.  Don't permit changing modes
45473169689Skan	if we found a match in a successor block.
45474169689Skan	(cse_condition_code_reg): Save original mode of source expression
45475169689Skan	so that we know whether we have to change the mode in other
45476169689Skan	insns.
45477169689Skan
45478169689Skan2004-01-24  Jan Hubicka  <jh@suse.cz>
45479169689Skan
45480169689Skan	* emit-rtl.c (change_address, adjust_address_1, offset_address,
45481169689Skan	widen_memory_access): Return early when there is nothing to change.
45482169689Skan
45483169689Skan2004-01-24  Jakub Jelinek  <jakub@redhat.com>
45484169689Skan
45485169689Skan	* simplify-rtx.c (simplify_relational_operation): Don't
45486169689Skan	simplify address == constant into address + -constant == 0.
45487169689Skan
45488169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45489169689Skan
45490169689Skan	* gcc.c (process_command): Don't internationalize the
45491169689Skan	Copyright message.
45492169689Skan	* mips-tfile.c (main): Likewise.
45493169689Skan
45494169689Skan2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
45495169689Skan
45496169689Skan	* cse.c: (cse_cc_succs) Fix comparison warning.
45497169689Skan
45498169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45499169689Skan
45500169689Skan	* config/h8300/h8300.md: Remove extraneous USE in expanders.
45501169689Skan
45502169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45503169689Skan
45504169689Skan	* config/h8300/h8300-protos.h: Provide prototypes for
45505169689Skan	h8300_legitimate_constant_p and h8300_legitimate_address_p.
45506169689Skan	* config/h8300/h8300.c (h8300_legitimate_constant_p): New.
45507169689Skan	(h8300_rtx_ok_for_base_p): Likewise.
45508169689Skan	(h8300_legitimate_address_p): Likewise.
45509169689Skan	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
45510169689Skan	h8300_legitimate_constant_p.
45511169689Skan	(RTX_OK_FOR_BASE_P): Remove.
45512169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
45513169689Skan
45514169689Skan2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
45515169689Skan
45516169689Skan	* config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
45517169689Skan	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
45518169689Skan	(REG_OK_FOR_INDEX_STRICT_P): Likewise.
45519169689Skan	(REG_OK_FOR_BASE_STRICT_P): Likewise.
45520169689Skan	(REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
45521169689Skan	(REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
45522169689Skan	(REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
45523169689Skan	(REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
45524169689Skan
45525169689Skan2004-01-24  Jan Hubicka  <jh@suse.cz>
45526169689Skan
45527169689Skan	* cselib.c (remove_useless_values): Do not access discarded values.
45528169689Skan
45529169689Skan2004-01-24  Joseph S. Myers  <jsm@polyomino.org.uk>
45530169689Skan
45531169689Skan	* c-typeck.c (build_conditional_expr): Do not allow non-lvalue
45532169689Skan	arrays.
45533169689Skan
45534169689Skan2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
45535169689Skan
45536169689Skan	* recog.c: Fix a typo in copyright.
45537169689Skan
45538169689Skan2004-01-23  Andrew Pinski  <apinski@apple.com>
45539169689Skan
45540169689Skan	* config/rs6000/rs6000.md (call): Fix misappiled patch.
45541169689Skan	(call_value): Likewise.
45542169689Skan
45543169689Skan2004-01-23  Richard Henderson  <rth@redhat.com>
45544169689Skan
45545169689Skan	PR opt/12941
45546169689Skan	* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
45547169689Skan	(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
45548169689Skan	if SHIFT_COUNT_TRUNCATED is set.
45549169689Skan
45550169689Skan2004-01-23  Bob Wilson  <bob.wilson@acm.org>
45551169689Skan
45552169689Skan	* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
45553169689Skan	separate real and imaginary parts.
45554169689Skan	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
45555169689Skan
45556169689Skan2004-01-23  Hartmut Penner <hpenner@de.ibm.com>
45557169689Skan
45558169689Skan	PR target/13674
45559169689Skan	* config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
45560169689Skan	loading into GPR.
45561169689Skan
45562169689Skan2004-01-23  Jan Hubicka  <jh@suse.cz>
45563169689Skan
45564169689Skan	* emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
45565169689Skan	change.
45566169689Skan
45567169689Skan	* alloc-pool.c (align_four): Kill.
45568169689Skan	(create_alloc_pool): Align size to eight.
45569169689Skan	(free_alloc_pool, free_pool): Invalidate deallocated data.
45570169689Skan
45571169689Skan2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
45572169689Skan
45573169689Skan	PR gcc/1532
45574169689Skan	* cse.c (cse_change_cc_mode): New static function.
45575169689Skan	(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
45576169689Skan	(cse_condition_code_reg): New function.
45577169689Skan	* rtl.h (cse_condition_code_reg): Declare.
45578169689Skan	* toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
45579169689Skan	* target.h (struct gcc_target): Add fixed_condition_code_regs and
45580169689Skan	cc_modes_compatible.
45581169689Skan	* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
45582169689Skan	(TARGET_CC_MODES_COMPATIBLE): Define.
45583169689Skan	(TARGET_INITIALIZER): Add new initializers.
45584169689Skan	* targhooks.c (default_cc_modes_compatible): New function.
45585169689Skan	* targhooks.c (default_cc_modes_compatible): Declare.
45586169689Skan	* hooks.c (hook_bool_intp_intp_false): New function.
45587169689Skan	* hooks.h (hook_bool_intp_intp_false): Declare.
45588169689Skan	* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
45589169689Skan	(TARGET_CC_MODES_COMPATIBLE): Define.
45590169689Skan	(ix86_fixed_condition_code_regs): New static function.
45591169689Skan	(ix86_cc_modes_compatible): Likewise.
45592169689Skan	* doc/tm.texi (Condition Code): Document new hooks.
45593169689Skan
45594169689Skan2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
45595169689Skan
45596169689Skan	* fixinc/inclhack.def (bad_lval): Renamed to ...
45597169689Skan	(alpha_bad_lval): ... this.
45598169689Skan	Removed file list.
45599169689Skan	Restrict to alpha*-dec-osf*.
45600169689Skan	* fixinc/fixincl.x: Regenerate.
45601169689Skan	* fixinc/tests/base/dirent.h: Remove, moving test ...
45602169689Skan	* fixinc/tests/base/testing.h: ... here, reflecting new name.
45603169689Skan
45604169689Skan2004-01-23  Zack Weinberg  <zack@codesourcery.com>
45605169689Skan
45606169689Skan	PR c/13814
45607169689Skan	* c-decl.c (diagnose_mismatched_decls): Also discard a
45608169689Skan	built-in if we encounter an old-style definition with the
45609169689Skan	same name.
45610169689Skan
45611169689Skan2004-01-23  Jakub Jelinek  <jakub@redhat.com>
45612169689Skan
45613169689Skan	* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
45614169689Skan	set to default{32,64}.
45615169689Skan
45616169689Skan2004-01-21  Jakub Jelinek  <jakub@redhat.com>
45617169689Skan
45618169689Skan	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
45619169689Skan	[!__powerpc64__]: Corrected to handle kernels with changed ucontext.
45620169689Skan
45621169689Skan2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
45622169689Skan	    Olivier Hainque  <hainque@act-europe.fr>
45623169689Skan
45624169689Skan	* fold-const.c (fold_binary_op_with_conditional_arg): Only
45625169689Skan	build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
45626169689Skan
45627169689Skan2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
45628169689Skan
45629169689Skan	* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
45630169689Skan	size for minipool references.
45631169689Skan
45632169689Skan2004-01-23  Roger Sayle  <roger@eyesopen.com>
45633169689Skan
45634169689Skan	* real.c (real_floor, real_ceil): Tweak to allow input and output
45635169689Skan	arguments to overlap.
45636169689Skan	(real_round): New function to implement round(3m) semantics.
45637169689Skan	* real.h (real_round): Prototype here.
45638169689Skan	* builtins.c (fold_builtin_round): New function to constant fold
45639169689Skan	round, roundf and roundl.
45640169689Skan	(fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
45641169689Skan
45642169689Skan2004-01-23  Alexandre Oliva  <aoliva@redhat.com>
45643169689Skan
45644169689Skan	PR optimization/13819
45645169689Skan	* config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
45646169689Skan	introduced by 2004-01-20's Jan Hubicka's copy_insn change.
45647169689Skan	(sh_handle_sp_switch_attribute): Remove warning.
45648169689Skan
45649169689Skan2004-01-23  Jan Hubicka  <jh@suse.cz>
45650169689Skan
45651169689Skan	* i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
45652169689Skan
45653169689Skan2004-01-23  J"orn Rennecke <joern.rennecke@superh.com>
45654169689Skan
45655169689Skan	* doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
45656169689Skan	may or may not return non-NIL.
45657169689Skan	* postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
45658169689Skan	check CANNOT_CHANGE_MODE_CLASS
45659169689Skan
45660169689Skan2004-01-23  Jan Hubicka  <jh@suse.cz>
45661169689Skan
45662169689Skan	* basic-block.h (PROP_POSTRELOAD): New macro.
45663169689Skan	(CLEANUP_LOG_LINKS): New.
45664169689Skan	* cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
45665169689Skan	* toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
45666169689Skan
45667169689Skan	* cselib.c (value_pool): New.
45668169689Skan	(new_cselib_val): Use pool.
45669169689Skan	(cselib_init): Initialize value_pool
45670169689Skan	(cselib_finish): Free pool.
45671169689Skan
45672169689Skan2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
45673169689Skan
45674169689Skan	* config/sparc/sparc.c (scan_record_type): New function.
45675169689Skan	(function_arg_slotno): Use it to determine which kinds of
45676169689Skan	registers the record can be passed in.
45677169689Skan
45678169689Skan2004-01-22  James A. Mmorrison  <ja2morri@uwaterloo.ca>
45679169689Skan
45680169689Skan	* config/pa/fptr.c: Fix old-style definition.
45681169689Skan
45682169689Skan2004-01-22  Paolo Bonzini  <bonzini@gnu.org>
45683169689Skan
45684169689Skan	PR optimization/13724
45685169689Skan	* cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
45686169689Skan	represents the zero bits produced by a ZERO_EXTEND operation.
45687169689Skan
45688169689Skan2004-01-22  Roger Sayle  <roger@eyesopen.com>
45689169689Skan
45690169689Skan	PR optimization/13821
45691169689Skan	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
45692169689Skan	correctly calculate the lowpart offset of the contracted subreg.
45693169689Skan
45694169689Skan2004-01-22  Ian Lance Taylor  <ian@wasabisystems.com>
45695169689Skan
45696169689Skan	* doc/invoke.texi (Optimize Options): Note that --param arguments
45697169689Skan	are subject to change without notice.
45698169689Skan
45699169689Skan2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
45700169689Skan
45701169689Skan	* config.gcc (mips-sgi-irix6*o32): Removed.
45702169689Skan	* config/mips/iris6-o32-as.h: Likewise.
45703169689Skan	* config/mips/iris6-o32-gas.h: Likewise.
45704169689Skan	* config/mips/iris6-o32.h: Likewise.
45705169689Skan
45706169689Skan2004-01-22  Jan Hubicka  <jh@suse.cz>
45707169689Skan
45708169689Skan	* cfgcleanup.c (first_pass): New static variable.
45709169689Skan	(try_forward_edges): Add work limiting check for threading.
45710169689Skan	(try_crossjump_bb): Add work limiting check for crossjumping.
45711169689Skan	(try_optimize_cfg): Maintain first pass variable.
45712169689Skan
45713169689Skan2004-01-22  Bob Wilson  <bob.wilson@acm.org>
45714169689Skan
45715169689Skan	* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
45716169689Skan	handles complex and vector modes.
45717169689Skan
45718169689Skan2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
45719169689Skan
45720169689Skan	* config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
45721169689Skan	(REG_OK_FOR_BASE_P_STRICT): Likewise.
45722169689Skan	(STRICT): Likewise.
45723169689Skan
45724169689Skan2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
45725169689Skan
45726169689Skan	* c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
45727169689Skan	(genrtl_for_stmt): Remove emit_nop calls.
45728169689Skan
45729169689Skan2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
45730169689Skan
45731169689Skan	PR target/13713
45732169689Skan	PR target/13324
45733169689Skan	* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
45734169689Skan	movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
45735169689Skan	clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
45736169689Skan
45737169689Skan2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
45738169689Skan
45739169689Skan	* config/arm/arm.c: Include "debug.h".
45740169689Skan	(thumb_pushpop): Take two new arguments.  Add some commentary.
45741169689Skan	Output frame information when pushing.
45742169689Skan	(thumb_exit, thumb_unexpanded_epilogue): Update calls to
45743169689Skan	thumb_pushpop.
45744169689Skan	(thumb_output_function_prologue): Likewise.  Accumulate a CFA
45745169689Skan	offset, and pass it to thumb_pushpop.  Output CFI information.
45746169689Skan	(thumb_expand_prologue): Add some frame-related markers and notes.
45747169689Skan
45748169689Skan2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
45749169689Skan
45750169689Skan	* config/s390/s390.c (s390_frame_info): Allow large frame sizes
45751169689Skan	for TARGET_64BIT.
45752169689Skan	(s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
45753169689Skan	* config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
45754169689Skan
45755169689Skan2004-01-22  Roger Sayle  <roger@eyesopen.com>
45756169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
45757169689Skan
45758169689Skan	* rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
45759169689Skan	(subreg_lsb): Change to call new subreg_lsb_1 helper function.
45760169689Skan	* rtl.h (subreg_lsb_1): Prototype here.
45761169689Skan	* simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
45762169689Skan	sign extensions.
45763169689Skan
45764169689Skan2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
45765169689Skan
45766169689Skan	* doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
45767169689Skan	macro need not be defined if jump-tables should contain
45768169689Skan	relative addresses only when -fPIC or -fPIC is in effect.
45769169689Skan
45770169689Skan2004-01-22  Jan Hubicka  <jh@suse.cz>
45771169689Skan
45772169689Skan	* alias.c (reg_base_value): Turn into varray.
45773169689Skan	(reg_base_value_size): Kill.
45774169689Skan	(old_reg_base_value): New deletable varray.
45775169689Skan	(alias_invariant_size): New variable.
45776169689Skan	(REG_BASE_VALUE): Update to use varray.
45777169689Skan	(find_base_value): Likewise.
45778169689Skan	(record_set): Likewise.
45779169689Skan	(record_base_value): Likewise.
45780169689Skan	(memrefs_conflict_p): Likewise.
45781169689Skan	(record_set): Likewise
45782169689Skan	(record_base_value): Likewise.
45783169689Skan	(memrefs_conflict_p): Use alias_invariant_size.
45784169689Skan	(init_alias_analysis): Use varray; set alias_invariant_size;
45785169689Skan	rescale other arrays to be sized by maxreg.
45786169689Skan	(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
45787169689Skan
45788169689Skan2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
45789169689Skan
45790169689Skan	* config/sparc/sparc.c (function_arg_slotno): Use
45791169689Skan	FLOAT_TYPE_P to detect FP fields in structures.
45792169689Skan	(function_arg_record_value_1): Likewise.
45793169689Skan	(function_arg_record_value_2): Likewise.
45794169689Skan
45795169689Skan2004-01-22  Jan Hubicka  <jh@suse.cz>
45796169689Skan
45797169689Skan	* function.c (allocate_struct_function): Do not initialize expr, emit
45798169689Skan	and varasm.
45799169689Skan	(prepare_function_start): Do it here.
45800169689Skan	* c-parse.in (maybe_type_qual): Do not produce line number notes.
45801169689Skan
45802169689Skan2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
45803169689Skan
45804169689Skan	PR target/13559
45805169689Skan	* config/sparc/sparc.c (function_arg_record_value_3): Revert
45806169689Skan	to 'word_mode' once the first slot has been filled.
45807169689Skan
45808169689Skan2004-01-22  Olivier Hainque  <hainque@act-europe.fr>
45809169689Skan
45810169689Skan	* config/sparc/sparc.c (function_arg_record_value_1): Fix
45811169689Skan	computation of the number of integer registers required.
45812169689Skan
45813169689Skan2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
45814169689Skan
45815169689Skan	* config/i386/i386.md: Simplify certain comparisons of
45816169689Skan	const_int.
45817169689Skan
45818169689Skan2004-01-21  Andrew Pinski  <apinski@apple.com>
45819169689Skan
45820169689Skan	PR target/13785
45821169689Skan	* config/rs6000/rs6000.md (call_value): Force operand
45822169689Skan	1 not operand 0 into a register.
45823169689Skan
45824169689Skan2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
45825169689Skan
45826169689Skan	* cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
45827169689Skan	unwind-dw2-fde.h: Update copyright.
45828169689Skan
45829169689Skan2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
45830169689Skan
45831169689Skan	* pa-protos.h: Update copyright.
45832169689Skan	* pa.h: Likewise.
45833169689Skan	* pa.md: Likewise.
45834169689Skan
45835169689Skan2004-01-21  Caroline Tice  <ctice@apple.com>
45836169689Skan
45837169689Skan	PR target/12308
45838169689Skan	* config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
45839169689Skan	flags register.
45840169689Skan	(fix_truncdfdi2): Likewise.
45841169689Skan	(fix_truncsfdi2): Likewise.
45842169689Skan	(*fix_truncdi_1): Likewise.
45843169689Skan	(fix_truncxfsi2): Likewise.
45844169689Skan	(fix_truncdfsi2): Likewise.
45845169689Skan	(fix_truncsfsi2): Likewise.
45846169689Skan	(*fix_truncsi_1): Likewise.
45847169689Skan	(fix_truncxfhi2): Likewise.
45848169689Skan	(fix_truncdfhi2): Likewise.
45849169689Skan	(fix_truncsfhi2): Likewise.
45850169689Skan	(*fix_trunchi_1): Likewise.
45851169689Skan
45852169689Skan2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
45853169689Skan
45854169689Skan	* alias.c, basic-block.h, c-common.c, c-common.h,
45855169689Skan	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
45856169689Skan	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
45857169689Skan	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
45858169689Skan	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
45859169689Skan	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
45860169689Skan	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
45861169689Skan	genautomata.c, genconditions.c, genemit.c, genflags.c,
45862169689Skan	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
45863169689Skan	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
45864169689Skan	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
45865169689Skan	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
45866169689Skan	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
45867169689Skan	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
45868169689Skan	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
45869169689Skan	unwind.h, varray.c, varray.h: Update copyright.
45870169689Skan
45871169689Skan2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
45872169689Skan
45873169689Skan	* config/h8300/coff.h: Update copyright.
45874169689Skan	* config/h8300/elf.h: Likewise.
45875169689Skan	* config/h8300/h8300-protos.h: Likewise.
45876169689Skan	* config/h8300/h8300.c: Likewise.
45877169689Skan	* config/h8300/h8300.h: Likewise.
45878169689Skan	* config/h8300/h8300.md: Likewise.
45879169689Skan
45880169689Skan2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
45881169689Skan
45882169689Skan	* fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
45883169689Skan	ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
45884169689Skan	ultrix_unistd): New hacks.
45885169689Skan	* fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
45886169689Skan	ULTRIX_CONST2_CHECK): Add checks.
45887169689Skan	* fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
45888169689Skan	* fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
45889169689Skan	* fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
45890169689Skan	* fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
45891169689Skan	* fixinc/tests/base/locale.h: New file.
45892169689Skan	* fixinc/fixincl.x: Rebuilt.
45893169689Skan
45894169689Skan2004-01-21  Andreas Jaeger  <aj@suse.de>
45895169689Skan	    Michael Matz  <matz@suse.de>
45896169689Skan
45897169689Skan	* doc/extend.texi (Extended Asm): Clarify memory clobber.
45898169689Skan
45899169689Skan2004-01-21  Jakub Jelinek  <jakub@redhat.com>
45900169689Skan
45901169689Skan	* crtstuff.c (frame_dummy, __do_global_ctors_1): Call
45902169689Skan	_Jv_RegisterClasses through a function pointer.
45903169689Skan
45904169689Skan2004-01-21  Falk Hueffner  <falk@debian.org>
45905169689Skan
45906169689Skan	PR target/12898
45907169689Skan	* config/alpha/alpha.c (alpha_emit_set_const_1): If
45908169689Skan	no_new_pseudos, use gen_rtx_SET directly for SImode constants
45909169689Skan	which need multiple instructions to emit.
45910169689Skan
45911169689Skan2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
45912169689Skan
45913169689Skan	* config/m32r/m32r.h (CPP_SPEC): Define.
45914169689Skan
45915169689Skan2004-01-21  Zack Weinberg  <zack@codesourcery.com>
45916169689Skan
45917169689Skan	* c-decl.c (merge_decls): Kill different_binding_level and
45918169689Skan	different_tu arguments; simplify throughout.
45919169689Skan	(duplicate_decls): Likewise.
45920169689Skan	(pushdecl, merge_translation_unit_decls): Update calls to
45921169689Skan	duplicate_decls.
45922169689Skan
45923169689Skan2004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
45924169689Skan
45925169689Skan	* Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
45926169689Skan	$(SYSTEM_H).
45927169689Skan	(print-rtl1.o): Depend on $(SYSTEM_H).
45928169689Skan
45929169689Skan2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
45930169689Skan
45931169689Skan	PR bootstrap/12730
45932169689Skan	* configure.ac: Delete definition and subsitution of docdir.
45933169689Skan	Add info, man, srcman and srcinfo to target hooks. Create doc/
45934169689Skan	directory.
45935169689Skan	* configure: Regenerate.
45936169689Skan	* Makefile.in: Don't substitute docdir and delete all references
45937169689Skan	throughout.
45938169689Skan	(MAKEINFOFLAGS): Define.
45939169689Skan	(stmp-docobjdir): Delete.
45940169689Skan	(INFOFILES, MANFILES): Define.
45941169689Skan	(info): Call lang.info, srcinfo and lang.srcinfo.
45942169689Skan	(generated-manpages): Call lang.man, srcman and lang.srcman.
45943169689Skan	(srcinfo, srcman): New rules to copy back files to source directory.
45944169689Skan	(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
45945169689Skan	(install-man): Revamp rule.
45946169689Skan	(clean): Update dvi directory.
45947169689Skan	(distclean): Delete TAGS from front end directorys.
45948169689Skan	(maintainer-clean): Delete all document files in source directory.
45949169689Skan
45950169689Skan	objc/Make-lang.in (objc.man, objc.info): Dummy entries.
45951169689Skan	(objc.srcman, objc.srcinfo): Likewise.
45952169689Skan
45953169689Skan2004-01-20  Bruce Korb  <bkorb@gnu.org>
45954169689Skan
45955169689Skan	* fixinc/inclhack.def(math_exception): bypass only for glibc.
45956169689Skan	(matherr_decl): rename & relocate as exception_structure.
45957169689Skan	This fix must precede the math_exception fix.
45958169689Skan
45959169689Skan2004-01-20  Roger Sayle  <roger@eyesopen.com>
45960169689Skan
45961169689Skan	* fold-const.c (fold_convert): Rename to fold_convert_const.
45962169689Skan	(fold_convert_const): Change arguments to take a tree_code,
45963169689Skan	a type and the operand/expression to be converted.  Return
45964169689Skan	NULL_TREE if no simplification is possible.  Add support for
45965169689Skan	FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
45966169689Skan	(fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
45967169689Skan	Adjust call to fold_convert to match new fold_convert_const.
45968169689Skan	Avoid modifying the tree passed to fold in-place.
45969169689Skan
45970169689Skan2004-01-21  Alan Modra  <amodra@bigpond.net.au>
45971169689Skan
45972169689Skan	* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
45973169689Skan	* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
45974169689Skan	* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
45975169689Skan
45976169689Skan2004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
45977169689Skan
45978169689Skan	* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
45979169689Skan	* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
45980169689Skan	Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
45981169689Skan	(emit_move_sequence): Check scratch_reg first in various if statements.
45982169689Skan	Extend source simplification to handle all 64-bit CONST_INTs.
45983169689Skan	(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
45984169689Skan	frame size.
45985169689Skan	(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
45986169689Skan	frame offset calculations.
45987169689Skan	* pa.h (NEW_HP_ASSEMBLER): Add comment.
45988169689Skan	(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
45989169689Skan	LEGITIMATE_64BIT_CONST_INT_P): Define.
45990169689Skan	(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
45991169689Skan	any CONST_INT as legitimate during and after reload.
45992169689Skan	(VAL_32_BITS_P, INT_32_BITS): Define.
45993169689Skan	(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
45994169689Skan
45995169689Skan2004-01-20  Jan Hubicka  <jh@suse.cz>
45996169689Skan
45997169689Skan	* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
45998169689Skan	emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
45999169689Skan	containing hard regs are shared.
46000169689Skan	(gen_hard_reg_clobber): New function.
46001169689Skan	(hard_reg_clobbers): New array.
46002169689Skan	* genemit.c (gen_exp): Use gen_hard_reg_clobber.
46003169689Skan	(copy_rtx): Do not copy clobbers containing hard regs.
46004169689Skan	* rtl.h (gen_hard_reg_clobber): Declare.
46005169689Skan
46006169689Skan2004-01-20  Jan Hubicka  <jh@suse.cz>
46007169689Skan
46008169689Skan	* varray.c: Include hashtab.h
46009169689Skan	(varray_descriptor): New structure.
46010169689Skan	(hash_descriptor, eq_descriptor, varray_descriptor,
46011169689Skan	print_statistics): New static functions
46012169689Skan	(varray_init, varray_grow): Update statistics
46013169689Skan	(dump_varray_statistics): New function.
46014169689Skan	* varray.h (dump_varray_statistics): Declare.
46015169689Skan	* toplev.c (finalize): Call it.
46016169689Skan	* Makefile.in (varray.o): Add dependency.
46017169689Skan
46018169689Skan2004-01-20  Jan Hubicka  <jh@suse.cz>
46019169689Skan
46020169689Skan	* cselib.c: Include alloc-pool.h
46021169689Skan	(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
46022169689Skan	(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
46023169689Skan	(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
46024169689Skan	unchain_one_elt_loc_list_pool, unchain_one_value,
46025169689Skan	new_cselib_val): Simplify using allocpool.
46026169689Skan	(cselib_init): Initialize allocpools.
46027169689Skan	(cselib_finish): Finish allocpools.
46028169689Skan	* Makefile.in (cselib.o): Depend on alloc-pool.h
46029169689Skan
46030169689Skan2004-01-20  Richard Sandiford  <rsandifo@redhat.com>
46031169689Skan
46032169689Skan	* config/mips/mips.c (mips_load_call_address): Make the call insn
46033169689Skan	use $gp if it could be calling a lazy binding stub.
46034169689Skan
46035169689Skan2004-01-20  Kazu Hirata  <kazu@cs.umass.edu>
46036169689Skan
46037169689Skan	* config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
46038169689Skan	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
46039169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
46040169689Skan	* config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
46041169689Skan	(PROMOTE_FUNCTION_RETURN): Remove.
46042169689Skan	(STRUCT_VALUE): Remove.
46043169689Skan
46044169689Skan2004-01-20  Denis Chertykov  <denisc@overta.ru>
46045169689Skan
46046169689Skan	PR bootstrap/13735
46047169689Skan	* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
46048169689Skan	register as pointer after reload.
46049169689Skan
46050169689Skan2004-01-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
46051169689Skan
46052169689Skan	PR optimization/12440
46053169689Skan	* loop.c: Include ggc.h.
46054169689Skan	(loop_optimize): Run garbage collector between optimization of loops.
46055169689Skan	* Makefile.in (loop.o): Add GGC_H dependency.
46056169689Skan
46057169689Skan2004-01-20  Hartmut Penner  <hpenner@de.ibm.com>
46058169689Skan
46059169689Skan	* config/rs6000/rs6000.c (function_arg) Handle
46060169689Skan	vector register special in function without prototype.
46061169689Skan	(function_arg_advance): Vector parameters get always
46062169689Skan	GPRs allocated for the linux64 target.
46063169689Skan
46064169689Skan2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
46065169689Skan
46066169689Skan	* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
46067169689Skan	not TARGET_M32RX_MASK.
46068169689Skan
46069169689Skan2004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
46070169689Skan
46071169689Skan	PR target/13557
46072169689Skan	* config/sparc/sparc.c (function_arg): Reorder the cases.
46073169689Skan
46074169689Skan2004-01-19  Per Bothner  <per@bothner.com>
46075169689Skan
46076169689Skan	Move cpp_reader's line_maps field to a shared global.
46077169689Skan	* cpphash.h (cpp_reader): Rename line_maps field to line_table
46078169689Skan	and change the type to a pointer rather than a struct.
46079169689Skan	* cppinit.c (cpp_push_main_field): Adjust accordingly.
46080169689Skan	* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
46081169689Skan	Likewise.
46082169689Skan	* cppfiles.c (validate_pch): Likewise.
46083169689Skan	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
46084169689Skan	Likewise.
46085169689Skan	* cpperror.c (print_location): Likewise.
46086169689Skan	* cpplib.h (cpp_create_reader): New line_maps pointer parameter.
46087169689Skan	* cppinit.c (cpp_create_reader): Handle new parameter.
46088169689Skan	(cpp_destroy): Don't free line_maps - that's no longer our job.
46089169689Skan	* input.h (line_table): New variable.
46090169689Skan	* toplev.c (line_table): Declare variable.
46091169689Skan	(general_init): Initialize line_table.
46092169689Skan	* c-opts.c (c_common_init_options): Pass line_table to
46093169689Skan	cpp_create_reader.
46094169689Skan	* fix-header.c (read_scan_file): New local variable line_table.
46095169689Skan	Initialize, and pass it to cpp_create_reader.
46096169689Skan	* Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
46097169689Skan	(C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
46098169689Skan
46099169689Skan2004-01-19  Per Bothner  <per@bothner.com>
46100169689Skan
46101169689Skan	Implement a cache for linemap_lookup.
46102169689Skan	* line-map.h (struct_line_maps): Add cache field.
46103169689Skan	* line-map.c (linemap_init): Zero cache field.
46104169689Skan	(linemap_add): Set cache field to offset of newly allocated map.
46105169689Skan	(linemap_lookup): Use and set cache field.
46106169689Skan
46107169689Skan2004-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
46108169689Skan
46109169689Skan	PR optimization/13567
46110169689Skan	* cse.c (cse_basic_block): Call cse_insn with a non-null
46111169689Skan	libcall_insn for the last SET insn of a no-confilict block.
46112169689Skan
46113169689Skan2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
46114169689Skan
46115169689Skan	* Makefile.in (target_noncanonical, program_transform_name): Use
46116169689Skan	immediate define instead of deferred.
46117169689Skan	(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
46118169689Skan	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
46119169689Skan	GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
46120169689Skan	deferred backquote.
46121169689Skan
46122169689Skan2004-01-20  Joseph S. Myers  <jsm@polyomino.org.uk>
46123169689Skan
46124169689Skan	* c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
46125169689Skan	true unconditionally.
46126169689Skan	* c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
46127169689Skan	Remove.
46128169689Skan	(build_unary_op, build_modify_expr): Don't handle extended
46129169689Skan	lvalues.
46130169689Skan	(build_component_ref, build_conditional_expr): Call non_lvalue
46131169689Skan	instead of pedantic_non_lvalue.
46132169689Skan	(build_c_cast): Don't condition use of non_lvalue on pedantic.
46133169689Skan	* fold-const.c (fold): Don't check pedantic directly for
46134169689Skan	COMPOUND_EXPR.  Ensure that results for COMPOUND_EXPR are
46135169689Skan	passed to pedantic_non_lvalue.
46136169689Skan	* doc/extend.texi: Remove documentation of extended lvalues.
46137169689Skan
46138169689Skan2004-01-19  Roger Sayle  <roger@eyesopen.com>
46139169689Skan
46140169689Skan	PR optimization/5263
46141169689Skan	* simplify-rtx.c (associative_constant_p): Delete.
46142169689Skan	(simplify_associative_operation): Rewrite to linearize terms, and
46143169689Skan	attempt to simplify new term against both left and right subterms.
46144169689Skan	(simplify_binary_operation): Call swap_commutative_operands_p on
46145169689Skan	op0 and op1, not trueop0 and trueop1.  Move the initialization of
46146169689Skan	trueop0 and trueop1 down to where first needed.
46147169689Skan	(simplify_relational_operation): Likewise.
46148169689Skan	* rtlanal.c (commutative_operand_precedence): Also order constant
46149169689Skan	operands using avoid_constant_pool_reference.
46150169689Skan
46151169689Skan2004-01-19  Richard Henderson  <rth@redhat.com>
46152169689Skan
46153169689Skan	* config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
46154169689Skan	don't check memory mode.
46155169689Skan	(unaligned_memory_operand): Likewise.
46156169689Skan	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
46157169689Skan	abort for op0 not MEM.
46158169689Skan
46159169689Skan	* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
46160169689Skan	is not a reg, copy to a scratch first.
46161169689Skan	(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
46162169689Skan	unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
46163169689Skan	unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
46164169689Skan	(reload_inqi, reload_inhi): Fix mode of op0.
46165169689Skan	(reload_inqi_help, reload_inhi_help, reload_outqi_help,
46166169689Skan	reload_outhi_help): Likewise.  Use define_insn_and_split.
46167169689Skan
46168169689Skan	* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
46169169689Skan	as well as $29 dead.
46170169689Skan
46171169689Skan2004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
46172169689Skan
46173169689Skan	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
46174169689Skan	"tls_object" for thread-local objects.
46175169689Skan	* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
46176169689Skan	"#tls" for thread-local sections.
46177169689Skan	* configure.ac (thread-local checks): Specify --fatal-warnings in
46178169689Skan	every binutils-specific checks.  For sparc*-*-*, test whether the
46179169689Skan	OS is Solaris and the tools are native and act accordingly.
46180169689Skan	* configure: Rebuild.
46181169689Skan
46182169689Skan2004-01-19  Jeff Law  <law@redhat.com>
46183169689Skan
46184169689Skan	* contrib.texi: Update Paolo Carlini's entry.  New entries for
46185169689Skan	Jerry Quinn and Petur Runolfsson.
46186169689Skan
46187169689Skan2004-01-19  Roger Sayle  <roger@eyesopen.com>
46188169689Skan
46189169689Skan	* config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
46190169689Skan	size, don't use the larger zero-extending loads.
46191169689Skan
46192169689Skan2004-01-19  Richard Henderson  <rth@redhat.com>
46193169689Skan
46194169689Skan	* alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
46195169689Skan	* alpha.md (UNSPEC_NT_LDA): Remove.
46196169689Skan	(UNSPEC_CVTLQ, cvtlq): New.
46197169689Skan	(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
46198169689Skan	(extendsidi2_fix): Remove.
46199169689Skan	(extendsidi2 splitter): Use cvtlq.
46200169689Skan	(extendsidi2 fp peepholes): Remove.
46201169689Skan	(cvtql): Use SFmode instead of SImode.
46202169689Skan	(fix_trunc?fsi): Update to match.
46203169689Skan	(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
46204169689Skan	(movsi): Rename from movsi_nofix, remove f alternatives.
46205169689Skan	(movsi_nt_vms): Similarly.
46206169689Skan	(movsi_fix, movsi_nt_vms_fix): Remove.
46207169689Skan	(nt_lda): Remove.
46208169689Skan	* alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
46209169689Skan
46210169689Skan2004-01-19  Jan Hubicka  <jh@suse.cz>
46211169689Skan
46212169689Skan	* cgraph.c (cgraph_remove_node): Fix removal from linked list.
46213169689Skan	* cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
46214169689Skan	list.
46215169689Skan	(cgraph_remove_unreachable_nodes): New function
46216169689Skan	(cgraph_decide_inlining_of_small_function): Fix pasto.
46217169689Skan	(cgraph_decide_inlining_incrementally): Fix pasto.
46218169689Skan	(cgrpah_decide_inlining): Likewise; remove unreachable nodes.
46219169689Skan
46220169689Skan2004-01-19  Steven Bosscher  <stevenb@suse.de>
46221169689Skan
46222169689Skan	* gengtype.c (header_file): Make it static.
46223169689Skan	(write_types_process_field, write_enum_defn): Minor whitespace fixes.
46224169689Skan	* gengtype.h (header_file): No longer extern.
46225169689Skan
46226169689Skan2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
46227169689Skan
46228169689Skan	* defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
46229169689Skan	* expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
46230169689Skan	* stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
46231169689Skan
46232169689Skan2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
46233169689Skan
46234169689Skan	* stmt.c (HAVE_casesi): Define it not already defined.
46235169689Skan	(HAVE_tablejump): Likewise.
46236169689Skan	(expand_end_case_type): Resort to the binary tree method if
46237169689Skan	neither casesi or tablejump is available.
46238169689Skan
46239169689Skan2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
46240169689Skan
46241169689Skan	* final.c (final_scan_insn): Make non-static again.
46242169689Skan	* output.h (final_scan_insn): Re-add prototype.
46243169689Skan	* config/arc/arc.c (arc_output_function_epilogue): Add NULL
46244169689Skan	to final_scan_insn call.
46245169689Skan	* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
46246169689Skan	* config/mips/mips.c (mips_output_conditional_branch): Likewise.
46247169689Skan	* config/pa/pa.c (output_lbranch, output_call): Likewise.
46248169689Skan	* config/sh/sh.c (print_slot): Likewise.
46249169689Skan	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
46250169689Skan	(output_sibcall, sparc_flat_function_epilogue): Likewise.
46251169689Skan
46252169689Skan2004-01-18  Jan Hubicka  <jh@suse.cz>
46253169689Skan
46254169689Skan	* basic-block.h (try_redirect_by_replacing_jump): Declare.
46255169689Skan	* cfgcleanup.c (try_optimize_cfg): Use it.
46256169689Skan	* cfgrtl.c (try_redirect_by_replacing_jump): Export.
46257169689Skan	(rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
46258169689Skan	Kill hack.
46259169689Skan	(cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
46260169689Skan
46261169689Skan	Revert:
46262169689Skan	2004-01-16  Geoffrey Keating  <geoffk@apple.com>
46263169689Skan
46264169689Skan		* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
46265169689Skan		even after reload, just don't remove the actual jump tables.
46266169689Skan
46267169689Skan2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
46268169689Skan
46269169689Skan	* config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
46270169689Skan
46271169689Skan2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
46272169689Skan
46273169689Skan	* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
46274169689Skan	the size of a pointer in bytes.
46275169689Skan
46276169689Skan2004-01-18  Roger Sayle  <roger@eyesopen.com>
46277169689Skan
46278169689Skan	* builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
46279169689Skan	live "next" variable, which could lead to an infinite loop.
46280169689Skan
46281169689Skan2004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
46282169689Skan
46283169689Skan	* config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
46284169689Skan	block.
46285169689Skan
46286169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
46287169689Skan	Check for NULL in the chain and remove repeated code.
46288169689Skan
46289169689Skan2004-01-18  Jan Hubicka  <jh@suse.cz>
46290169689Skan
46291169689Skan	* coverage.c (checksum_string): Rename to ...
46292169689Skan	(coverage_checksum_string): ... this one, Use crc32_string; recognize
46293169689Skan	names containing random number and zero the number out in order to get
46294169689Skan	match.
46295169689Skan
46296169689Skan2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
46297169689Skan
46298169689Skan	* config/mips/mips.c (mips_got_alias_set): Mark for PCH.
46299169689Skan
46300169689Skan2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
46301169689Skan
46302169689Skan	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
46303169689Skan	doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
46304169689Skan	doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
46305169689Skan	doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
46306169689Skan	doc/trouble.texi: Remove trailing whitespace.
46307169689Skan
46308169689Skan2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
46309169689Skan
46310169689Skan	PR target/7618
46311169689Skan	* config/mips/mips.c: Include cfglayout.h.
46312169689Skan	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
46313169689Skan	(mips_unspec_offset_high): Add temporary register argument.
46314169689Skan	(mips_load_call_address): New function, split out from...
46315169689Skan	(mips_expand_call): ...here.
46316169689Skan	(mips_output_cplocal): New function.
46317169689Skan	(mips_output_function_prologue, mips_output_function_epilogue): Use it.
46318169689Skan	(mips_emit_loadgp): New function, split out from...
46319169689Skan	(mips_expand_prologue): ...here.
46320169689Skan	(mips_output_mi_thunk): New function.
46321169689Skan
46322169689Skan2004-01-17  Bernardo Innocenti  <bernie@develer.com>
46323169689Skan
46324169689Skan	* longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
46325169689Skan	mcpu32): Remove redundant checks for implied target predefines.
46326169689Skan
46327169689Skan2004-1-17  Andrew Pinski  <pinskia@physics.uc.edu>
46328169689Skan
46329169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
46330169689Skan	Return type is unsigned int not int.
46331169689Skan	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
46332169689Skan	Likewise.
46333169689Skan
46334169689Skan2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
46335169689Skan
46336169689Skan	* doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
46337169689Skan	doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
46338169689Skan	"GNU/Linux" and "Microsoft Windows" terminology.
46339169689Skan
46340169689Skan2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
46341169689Skan
46342169689Skan	* doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
46343169689Skan	doc/cppopts.texi, doc/extend.texi, doc/install.texi,
46344169689Skan	doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
46345169689Skan	doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
46346169689Skan	@smallexample instead of @example.
46347169689Skan
46348169689Skan2004-01-17  Ziemowit Laski  <zlaski@apple.com>
46349169689Skan
46350169689Skan	* objc/objc-act.c (build_objc_method_call): Use target
46351169689Skan	hooks instead of macros to determine if ..._stret
46352169689Skan	dispatchers should be used (NeXT runtime only).
46353169689Skan
46354169689Skan2004-01-17  Roger Sayle  <roger@eyesopen.com>
46355169689Skan
46356169689Skan	* builtins.c (expand_builtin_expect_jump): Fix mistake in my
46357169689Skan	last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
46358169689Skan
46359169689Skan2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
46360169689Skan
46361169689Skan	* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
46362169689Skan	(emit_call_insn_before_sameloc, emit_insn_after_sameloc)
46363169689Skan	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
46364169689Skan	macros.
46365169689Skan	* reload1.c (emit_reload_insns): Use them.
46366169689Skan	* emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
46367169689Skan	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
46368169689Skan	for NULL PATTERN.
46369169689Skan
46370169689Skan2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
46371169689Skan
46372169689Skan	* final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
46373169689Skan	(final_scan_insn): Update to take an additional SEEN argument.  Emit
46374169689Skan	a line note after the prologue.  Make static.
46375169689Skan	(line_note_exists): Remove.
46376169689Skan	(final): Don't initialize line_note_exists.  Update call to
46377169689Skan	final_scan_insn.
46378169689Skan	* output.h (final_scan_insn): Remove prologue.
46379169689Skan	* function.c (set_insn_locators): Update comment.
46380169689Skan	(thread_prologue_and_epilogue_insns): Add a comment.
46381169689Skan
46382169689Skan2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
46383169689Skan
46384169689Skan	PR target/10781
46385169689Skan	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
46386169689Skan	Prototype.
46387169689Skan	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
46388169689Skan	New function.
46389169689Skan	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
46390169689Skan	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
46391169689Skan	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
46392169689Skan
46393169689Skan2004-01-17  Jan Hubicka  <jh@suse.cz>
46394169689Skan
46395169689Skan	* toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
46396169689Skan	commit.
46397169689Skan
46398169689Skan	* toplev.c (HAVE_conditional_execution): Provide default.
46399169689Skan	(rest_of_handle_reorder_blocks): For conditional_execution target
46400169689Skan	update liveness once after all transformations
46401169689Skan	(rest_of_compilation): Do crossjumping before ce3.
46402169689Skan
46403169689Skan2004-01-17  Geoffrey Keating  <geoffk@apple.com>
46404169689Skan
46405169689Skan	* alias.c (new_alias_set): Mark last_alias_set for PCH.
46406169689Skan	(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
46407169689Skan	for PCH.
46408169689Skan	(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
46409169689Skan	* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
46410169689Skan	(get_TOC_alias_set): Mark 'set' for PCH.
46411169689Skan
46412169689Skan2004-01-16  Geoffrey Keating  <geoffk@apple.com>
46413169689Skan
46414169689Skan	* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
46415169689Skan	even after reload, just don't remove the actual jump tables.
46416169689Skan
46417169689Skan2004-01-17  J. Brobecker  <brobecker@gnat.com>
46418169689Skan
46419169689Skan	* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
46420169689Skan	Remove checks for is_ada() and TREE_UNSIGNED.
46421169689Skan	(subrange_type_die): Emit a byte_size attribute if the subrange
46422169689Skan	type size is different from the base type size.
46423169689Skan	(modified_type_die): Replace call to is_ada_subrange_type() by
46424169689Skan	call to is_subrange_type().
46425169689Skan
46426169689Skan2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
46427169689Skan
46428169689Skan	* config/sh/sh.c: Include ggc.h.
46429169689Skan
46430169689Skan2004-01-16  Geoffrey Keating  <geoffk@apple.com>
46431169689Skan
46432169689Skan	* Makefile.in (MD5_H): New.
46433169689Skan	(fold-const.o): Depend on md5.h.
46434169689Skan	(dwarf2out.o): Likewise.
46435169689Skan	(cppfiles.o): Likewise.
46436169689Skan	* cppfiles.c: Include md5.h.
46437169689Skan	(should_stack_file): Check against list read from PCH file.
46438169689Skan	(struct pchf_data): New.
46439169689Skan	(pchf): New variable.
46440169689Skan	(struct pchf_adder_info): New.
46441169689Skan	(pchf_adder): New.
46442169689Skan	(pchf_save_compare): New.
46443169689Skan	(_cpp_save_file_entries): New.
46444169689Skan	(_cpp_read_file_entries): New.
46445169689Skan	(struct pchf_compare_data): New.
46446169689Skan	(pchf_compare): New.
46447169689Skan	(check_file_against_entries): New.
46448169689Skan	* cpphash.h (_cpp_save_file_entries): Prototype.
46449169689Skan	(_cpp_read_file_entries): Prototype.
46450169689Skan	* cpppch.c (cpp_write_pch_state): Write the list of headers.
46451169689Skan	(cpp_read_state): Read the list of headers.
46452169689Skan
46453169689Skan2004-01-17  Jan Hubicka  <jh@suse.cz>
46454169689Skan
46455169689Skan	* c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
46456169689Skan	builtin_expect specially.
46457169689Skan	* params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
46458169689Skan	(PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
46459169689Skan	* invoke.texi (max-inline-insns-single): Set to 100.
46460169689Skan	(large-function-insns): Set to 3000.
46461169689Skan
46462169689Skan2004-01-16  Eric Christopher  <echristo@redhat.com>
46463169689Skan	    Chandrakala Chavva <cchavva@redhat.com>
46464169689Skan
46465169689Skan	* cppcharset.c (one_iso88591_to_utf8): New function.
46466169689Skan	(convert_iso88591_utf8): Ditto. Use.
46467169689Skan	(conversion_tab): Use.
46468169689Skan	(_cpp_input_to_utf8): New function.
46469169689Skan	(_cpp_init_iconv_buffer): Ditto.
46470169689Skan	(_cpp_close_iconv_buffer): Ditto.
46471169689Skan	* cpphash.h: Prototype new functions.
46472169689Skan	(cpp_buffer): Add input_cset_desc.
46473169689Skan	* cppinit.c: Add input_charset default.
46474169689Skan	* cpplib.c (cpp_push_buffer): Support init and
46475169689Skan	close of iconv.
46476169689Skan	* cpplib.h (cpp_options): Add input_charset.
46477169689Skan
46478169689Skan2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
46479169689Skan
46480169689Skan	* system.h (ASM_OUTPUT_SECTION_NAME): Poison.
46481169689Skan	* config/alpha/unicosmk.h: Remove a commented-out definition
46482169689Skan	of ASM_OUTPUT_SECTION_NAME.
46483169689Skan	* config/stormy16/stormy16.h: Likewise.
46484169689Skan
46485169689Skan2004-01-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
46486169689Skan
46487169689Skan	* fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
46488169689Skan	(alpha___extern_prefix_sys_stat): ... this.
46489169689Skan	Apply to <sys/mount.h>, too.
46490169689Skan	Tweak to match more variations.
46491169689Skan	* fixinc/tests/base/sys/stat.h: Adapt for new hackname.
46492169689Skan
46493169689Skan	* fixinc/inclhack.def (alpha___extern_prefix,
46494169689Skan	alpha___extern_prefix_standards): New hacks to obey
46495169689Skan	__PRAGMA_EXTERN_PREFIX.
46496169689Skan	* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
46497169689Skan	test.
46498169689Skan	* fixinc/tests/base/standards.h: Likewise.
46499169689Skan
46500169689Skan	* fixincl/inclhack.def (alpha_pthread): Tweak to match more
46501169689Skan	variations.
46502169689Skan	New testcase.
46503169689Skan	* fixinc/tests/base/pthread.h: Handle it.
46504169689Skan
46505169689Skan	* fixincl/inclhack.def (bad_lval): Sort file list.
46506169689Skan	Add many missing files up to Tru64 UNIX V5.1B.
46507169689Skan	* fixinc/tests/base/libgen.h: Renamed to ...
46508169689Skan	* fixinc/tests/base/dirent.h: ... this to match new file list
46509169689Skan	order.
46510169689Skan
46511169689Skan	* fixinc/fixincl.x: Regenerate.
46512169689Skan
46513169689Skan2004-01-16  Mark Mitchell  <mark@codesourcery.com>
46514169689Skan
46515169689Skan	* version.c (version_string): Change to 3.5.0.
46516169689Skan	* doc/include/gcc-common.texi (version-GCC): Likewise.
46517169689Skan
46518169689Skan2004-01-16  Jan Hubicka  <jh@suse.cz>
46519169689Skan
46520169689Skan	* i386.md (load_tp_di): Fix pasto.
46521169689Skan
46522169689Skan	PR opt/13608
46523169689Skan	* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
46524169689Skan
46525169689Skan	* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
46526169689Skan	pp_c_character_constant, pp_c_floating_constant,
46527169689Skan	pp_c_additive_expression, pp_c_shift_expression,
46528169689Skan	pp_c_equality_expression, pp_c_and_expression,
46529169689Skan	pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
46530169689Skan	pp_c_logical_and_expression): Remove inline modifier.
46531169689Skan	* dwarf2out.c (get_AT): Likewise.
46532169689Skan	* et-forest.c (et_splay): Likewise.
46533169689Skan	* ra.h (ra_alloc, ra_calloc): Likewise
46534169689Skan
46535169689Skan2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
46536169689Skan
46537169689Skan	* config/frv/frv-protos.h: Fix comment formatting.
46538169689Skan	* config/frv/frv.c: Likewise.
46539169689Skan	* config/frv/frv.h: Likewise.
46540169689Skan	* config/frv/frv.md: Likewise.
46541169689Skan	* config/frv/frvbegin.c: Likewise.
46542169689Skan	* config/frv/frvend.c: Likewise.
46543169689Skan
46544169689Skan2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
46545169689Skan
46546169689Skan	* system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
46547169689Skan	* doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
46548169689Skan	LINKER_DOES_NOT_WORK_WITH_DWARF2.
46549169689Skan	(LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
46550169689Skan
46551169689Skan2004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
46552169689Skan
46553169689Skan	PR 11864
46554169689Skan	* postreload.c (reload_cse_simplify_operands): Don't remove
46555169689Skan	implicit extension from LOAD_EXTEND_OP.
46556169689Skan
46557169689Skan2004-01-16  Jan Hubicka  <jh@suse.cz>
46558169689Skan
46559169689Skan	PR opt/11350
46560169689Skan	* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
46561169689Skan	after reload.
46562169689Skan	* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
46563169689Skan	rtl_try_redirect_by_replacing_branch): Likewise.
46564169689Skan
46565169689Skan2004-01-15  Geoffrey Keating  <geoffk@apple.com>
46566169689Skan
46567169689Skan	PR pch/13689
46568169689Skan	* alias.c (struct alias_set_entry): Mark for GC.
46569169689Skan	(alias_sets): Make static, mark for GC.
46570169689Skan	(record_alias_subset): Use GC to allocate alias structures.
46571169689Skan	* varray.c (element): Make generic varrays GCed.
46572169689Skan
46573169689Skan	PR pch/13361
46574169689Skan	* c-typeck.c (constructor_asmspec): Delete.
46575169689Skan	(struct initializer_stack): Delete field 'asmspec'.
46576169689Skan	(start_init): Delete saving of asmspec.
46577169689Skan	(finish_init): Don't update constructor_asmspec.
46578169689Skan	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
46579169689Skan	* stmt.c (expand_asm): Duplicate strings from tree.
46580169689Skan	(expand_asm_operands): Likewise.
46581169689Skan	* tree.c (tree_size): Update computation of size of STRING_CST.
46582169689Skan	(make_node): Don't make STRING_CST nodes.
46583169689Skan	(build_string): Allocate string with tree node.
46584169689Skan	* tree.def (STRING_CST): Update comment.
46585169689Skan	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
46586169689Skan	(tree_string): Place contents of string in tree node.
46587169689Skan	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
46588169689Skan	from tree.
46589169689Skan
46590169689Skan	* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
46591169689Skan	altivec operands.
46592169689Skan
46593169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46594169689Skan
46595169689Skan	* c-common.h: Fix comment formatting.
46596169689Skan	* c-cppbuiltin.c: Likewise.
46597169689Skan	* c-pragma.c: Likewise.
46598169689Skan	* calls.c: Likewise.
46599169689Skan	* collect2.c: Likewise.
46600169689Skan	* cppcharset.c: Likewise.
46601169689Skan	* cpptrad.c: Likewise.
46602169689Skan	* dbxout.c: Likewise.
46603169689Skan	* defaults.h: Likewise.
46604169689Skan	* dwarf2out.c: Likewise.
46605169689Skan	* fold-const.c: Likewise.
46606169689Skan	* genautomata.c: Likewise.
46607169689Skan	* genconditions.c: Likewise.
46608169689Skan	* genflags.c: Likewise.
46609169689Skan	* gengtype.c: Likewise.
46610169689Skan	* integrate.c: Likewise.
46611169689Skan	* loop.c: Likewise.
46612169689Skan	* predict.c: Likewise.
46613169689Skan	* sdbout.c: Likewise.
46614169689Skan
46615169689Skan2004-01-15  Zack Weinberg  <zack@codesourcery.com>
46616169689Skan
46617169689Skan	* config/ia64/ia64.md (*movti_internal): C output template
46618169689Skan	extracted to ia64.c.
46619169689Skan	(*movti_internal_reg): Delete.
46620169689Skan	(reload_inti, reload_outti): Use the correct mode on operand 2
46621169689Skan	in the first place, don't fix it up in the output template.
46622169689Skan	(movtf, reload_ointf, reload_outtf): New expanders.
46623169689Skan	(*movtf_internal): New define_insn_and_split.
46624169689Skan	* config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
46625169689Skan	make static; do not hand TFmode CONST_DOUBLEs to split_double.
46626169689Skan	(ia64_split_tmode_move): New function, body mostly pulled
46627169689Skan	from ia64.md:*movti_internal.
46628169689Skan	(ia64_function_arg_words): New function, extracted common
46629169689Skan	logic from ia64_function_arg et seq.
46630169689Skan	(ia64_function_arg_offset): Likewise.  Handle correctly the
46631169689Skan	case of a scalar quantity 16 bytes wide with only 8-byte alignment.
46632169689Skan	(ia64_function_arg, ia64_function_arg_partial_nregs)
46633169689Skan	(ia64_function_arg_advance): Use ia64_function_arg_words and
46634169689Skan	ia64_function_arg_offset.
46635169689Skan	(ia64_function_value): TCmode does not go in float regs.
46636169689Skan	(ia64_secondary_reload_class): Also handle TFmode.
46637169689Skan	* config/ia64/ia64-protos.h: Remove prototype for
46638169689Skan	ia64_split_timode; add prototype for ia64_split_tmode_move.
46639169689Skan
46640169689Skan2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
46641169689Skan
46642169689Skan	* Makefile.in (MAINT): Make it an immediate assignment.
46643169689Skan
46644169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46645169689Skan
46646169689Skan	* config/m32r/m32r.md: Remove useless calls to gen_lowpart.
46647169689Skan
46648169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46649169689Skan
46650169689Skan	* config/h8300/coff.h: Replace Hitachi with Renesas.
46651169689Skan	* config/h8300/elf.h: Likewise.
46652169689Skan	* config/h8300/h8300-protos.h: Likewise.
46653169689Skan	* config/h8300/h8300.c: Likewise.
46654169689Skan	* config/h8300/h8300.h: Likewise.
46655169689Skan	* config/h8300/h8300.md: Likewise.
46656169689Skan	* config/h8300/lib1funcs.asm: Likewise.
46657169689Skan
46658169689Skan2004-01-15  Andrew Pinski  <apinski@apple.com>
46659169689Skan
46660169689Skan	* config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
46661169689Skan	around it.
46662169689Skan
46663169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46664169689Skan
46665169689Skan	* config/h8300/h8300.c (h8300_return_in_memory): New.
46666169689Skan	(TARGET_STRUCT_VALUE_RTX): Likewise.
46667169689Skan	(TARGET_RETURN_IN_MEMORY): Likewise.
46668169689Skan	* config/h8300/h8300.h (STRUCT_VALUE): Remove.
46669169689Skan	(RETURN_IN_MEMORY): Likewise.
46670169689Skan
46671169689Skan2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
46672169689Skan
46673169689Skan	PR optimization/13375
46674169689Skan	* gcse.c (handle_avail_expr): Just return if the source is not a
46675169689Skan	single set.
46676169689Skan
46677169689Skan2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
46678169689Skan	    Daniel Jacobowitz  <drow@mvista.com>
46679169689Skan
46680169689Skan	* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
46681169689Skan	(EQUIV): Define.
46682169689Skan	(ARM_FUNC_ALIAS): New macro.
46683169689Skan	* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
46684169689Skan	* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
46685169689Skan
46686169689Skan2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
46687169689Skan
46688169689Skan	PR optimization/12372
46689169689Skan	* calls.c (expand_call): Add call_fusage data for stack arguments in
46690169689Skan	constant calls.
46691169689Skan
46692169689Skan2004-01-15  Alan Modra  <amodra@bigpond.net.au>
46693169689Skan
46694169689Skan	* config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
46695169689Skan	(rs6000_elf_declare_function_name): Formatting.
46696169689Skan	* config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
46697169689Skan
46698169689Skan2004-01-15  Jan Hubicka  <jh@suse.cz>
46699169689Skan
46700169689Skan	PR bootstrap/13692
46701169689Skan	* sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
46702169689Skan	previous patch.
46703169689Skan
46704169689Skan2004-01-15  Richard Henderson  <rth@redhat.com>
46705169689Skan
46706169689Skan	* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
46707169689Skan	integer regs of the same call-savedness.
46708169689Skan
46709169689Skan2004-01-15  Andreas Schwab  <schwab@suse.de>
46710169689Skan
46711169689Skan	PR bootstrap/13562
46712169689Skan	* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
46713169689Skan	status for NOTB/NOTW/NEGW methods.
46714169689Skan
46715169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46716169689Skan
46717169689Skan	* doc/invoke.texi: Update dump file names.  Fix a typo.
46718169689Skan
46719169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46720169689Skan
46721169689Skan	* builtins.c (expand_builtin_va_end): Don't use
46722169689Skan	EXPAND_BUILTIN_VA_END.
46723169689Skan	* system.h (EXPAND_BUILTIN_VA_END): Poison.
46724169689Skan	* config/d30v/d30v.h: Remove a commented-out definition of
46725169689Skan	EXPAND_BUILTIN_VA_END.
46726169689Skan	* config/stormy16/stormy16.h: Likewise.
46727169689Skan
46728169689Skan2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
46729169689Skan
46730169689Skan	* system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
46731169689Skan	* targhooks.c (default_struct_value_rtx): Don't use
46732169689Skan	STRUCT_VALUE_INCOMING_REGNUM.
46733169689Skan
46734169689Skan2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
46735169689Skan
46736169689Skan	PR bootstrap/12744
46737169689Skan	* configure.in: Revamp enable-generated-files-in-srcdir rule to define
46738169689Skan	GENINSRC and not parsedir.  Define srcextra as a langhook.
46739169689Skan	* configure: Regenerate.
46740169689Skan	* Makefile.in: Suppress default .l.c rule.  Don't substitute
46741169689Skan	parsedir and delete all references throughout.  Conditionally define
46742169689Skan	rule for srcextra dependent on GENINSRC.
46743169689Skan	(stmp-docobjdir): Delete.
46744169689Skan	(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
46745169689Skan	(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
46746169689Skan	and gengtype-yacc.h back to source directory.
46747169689Skan	(maintainer-clean): Delete all parse files in source directory.
46748169689Skan	(distclean): Delete generated files.
46749169689Skan
46750169689Skan	* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
46751169689Skan	(objc-parse.c, objc-parse.y): Don't use parsedir.
46752169689Skan	(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
46753169689Skan	directory if requested.
46754169689Skan	(po-generated): Don't use parsedir.
46755169689Skan	(objc.maintainer-clean): Delete above files from source directory.
46756169689Skan
46757169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46758169689Skan
46759169689Skan	* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
46760169689Skan
46761169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46762169689Skan
46763169689Skan	* doc/tm.texi: Replace RETURN_IN_MEMORY with
46764169689Skan	TARGET_RETURN_IN_MEMORY.
46765169689Skan
46766169689Skan2004-01-15  Jan Hubicka  <jh@suse.cz>
46767169689Skan
46768169689Skan	* builtins.c (std_expand_builtin_va_arg): Align operand when needed.
46769169689Skan	* i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
46770169689Skan	functions accepting SSE arguments
46771169689Skan	(function_arg): Warn only when asked to warn.
46772169689Skan	* i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
46773169689Skan
46774169689Skan2004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
46775169689Skan
46776169689Skan	* c-parse.in (stmts_and_decls): Make label at end of compound
46777169689Skan	statement a hard error.
46778169689Skan
46779169689Skan2004-01-14  Jan Hubicka  <jh@suse.cz>
46780169689Skan
46781169689Skan	* cgraph.c (create_edge): Use local.redefined_extern_inline.
46782169689Skan	* cgraph.h (cgraph_local_info): Sort fields by size; add
46783169689Skan	redefined_extern_inline
46784169689Skan	(cgraph_global_info): Sort fields by size.
46785169689Skan	(cgraph_node): Likewise.
46786169689Skan	* cgraphunit.c (cgraph_finalize_function): Se
46787169689Skan	local.redefined_extern_inline on redefinition.
46788169689Skan	(cgraph_analyze_function): Use it; fix formating.
46789169689Skan
46790169689Skan2004-01-14  Jan Hubicka  <jh@suse.cz>
46791169689Skan
46792169689Skan	PR c++/10776
46793169689Skan	* sched-deps.c (trye_dependency_cache, anti_dependency_cache,
46794169689Skan	outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
46795169689Skan	bitmaps
46796169689Skan	(cache_size): New variable
46797169689Skan	(add_dependence): Update use; canonize early memory locations
46798169689Skan	(sched_analyze_1): Likewise.
46799169689Skan	(sched_analyze_2): Likewise.
46800169689Skan	(init_dependency_caches): Initialize bitmaps.
46801169689Skan	(free_dependency_caches): Free bitmaps
46802169689Skan
46803169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46804169689Skan
46805169689Skan	* calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
46806169689Skan	targetm.calls.strict_argument_naming().
46807169689Skan	* target.h: Likewise.
46808169689Skan
46809169689Skan2004-01-14  Richard Henderson  <rth@redhat.com>
46810169689Skan
46811169689Skan	PR debug/13231
46812169689Skan	* dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
46813169689Skan	instructions.
46814169689Skan
46815169689Skan2004-01-14  Richard Henderson  <rth@redhat.com>
46816169689Skan
46817169689Skan	PR c++/12491
46818169689Skan	* except.c (struct eh_region): Add u.fixup.resolved.
46819169689Skan	(resolve_one_fixup_region): Split out from ...
46820169689Skan	(resolve_fixup_regions): ... here.
46821169689Skan
46822169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46823169689Skan
46824169689Skan	* config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
46825169689Skan
46826169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46827169689Skan
46828169689Skan	* config/alpha/alpha.h (STRUCT_VALUE): Remove.
46829169689Skan	* config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
46830169689Skan	(STRUCT_VALUE): Remove.
46831169689Skan
46832169689Skan2004-01-14  Steven Bosscher  <stevenb@suse.de>
46833169689Skan
46834169689Skan	* system.h: Poison PROMOTED_MODE
46835169689Skan	* integrate.c (expand_inline_function): Don't mention the
46836169689Skan	PROMOTED_MODE.
46837169689Skan	* loop.c (update_giv_derive): Same.
46838169689Skan	* tree.h (DECL_RTL): Same.
46839169689Skan
46840169689Skan2004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
46841169689Skan
46842169689Skan	PR target/9365
46843169689Skan	* sh.c (gen_block_redirect): Add special handling of RETURN.
46844169689Skan	(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
46845169689Skan	far branch target (i.e. it's a return).
46846169689Skan
46847169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46848169689Skan
46849169689Skan	* regrename.c (find_oldest_value_reg): Fix a warning.
46850169689Skan
46851169689Skan2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
46852169689Skan
46853169689Skan	PR bootstrap/12527
46854169689Skan	* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
46855169689Skan	Move linux-gas.h and linux-elf.h before aout.h.
46856169689Skan	* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
46857169689Skan	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
46858169689Skan
46859169689Skan2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
46860169689Skan
46861169689Skan	* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
46862169689Skan	(CONST_INT, VOIDmode, ...).
46863169689Skan
46864169689Skan2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
46865169689Skan
46866169689Skan	* regrename.c (find_oldest_value_reg): If the replacement uses
46867169689Skan	multiple hard registers, check that all of them are in CLASS.
46868169689Skan
46869169689Skan2004-01-14  Jan Hubicka  <jh@suse.cz>
46870169689Skan
46871169689Skan	* alias.c (get_alias_set): Initialize alias set to 0 when subset is
46872169689Skan	impossible.
46873169689Skan
46874169689Skan2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
46875169689Skan
46876169689Skan	* Makefile.in: Define MAINT from --enable-maintainer-mode.
46877169689Skan
46878169689Skan2004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
46879169689Skan
46880169689Skan	* config/rs6000/rs6000.c (rs6000_stack_info)
46881169689Skan	Calculate always vrsave_mask if TARGET_ALTIVEC.
46882169689Skan	(rs6000_emit_prologue): Emit code for vrsave
46883169689Skan	only if TARGET_ALTIVEC_VRSAVE.
46884169689Skan	(rs6000_emit_epilogue): Likewise.
46885169689Skan
46886169689Skan2004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
46887169689Skan
46888169689Skan	* config/sparc/sparc.md (tie_add32): Fix pasto.
46889169689Skan	(tie_add64): Likewise.
46890169689Skan
46891169689Skan2004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
46892169689Skan
46893169689Skan	* config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
46894169689Skan
46895169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46896169689Skan
46897169689Skan	* config/iq2000/iq2000-protos.h: Fix comment formatting.
46898169689Skan	* config/iq2000/iq2000.c: Likewise.
46899169689Skan	* config/iq2000/iq2000.md: Likewise.
46900169689Skan
46901169689Skan2004-01-14  J. Brobecker  <brobecker@gnat.com>
46902169689Skan
46903169689Skan	* dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
46904169689Skan	(subrange_type_die): Add handle for nameless subrange types.
46905169689Skan
46906169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46907169689Skan
46908169689Skan	* config/h8300/h8300-protos.h: Replace do_movsi with
46909169689Skan	h8300_expand_movsi.
46910169689Skan	* config/h8300/h8300.c (do_movsi): Change to
46911169689Skan	h8300_expand_movsi.
46912169689Skan	* config/h8300/h8300.md (movsi): Replace do_movsi with
46913169689Skan	h8300_expand_movsi.
46914169689Skan	(movsf): Likewise.
46915169689Skan
46916169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46917169689Skan
46918169689Skan	* config/h8300/h8300.c (dosize): Change to
46919169689Skan	h8300_emit_stack_adjustment.  Update callers.
46920169689Skan
46921169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46922169689Skan
46923169689Skan	* config/h8300/h8300.md (movstrictqi): Add an alternative with
46924169689Skan	the source being post_inc.  Tighten the predicate for the
46925169689Skan	destination to register_operand.
46926169689Skan	(movstricthi): Likewise.
46927169689Skan
46928169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46929169689Skan
46930169689Skan	* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
46931169689Skan	* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
46932169689Skan	* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
46933169689Skan
46934169689Skan2004-01-14  Jan Hubicka  <jh@suse.cz>
46935169689Skan
46936169689Skan	Partial fix PR c++/12850
46937169689Skan	* cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
46938169689Skan	at zero nest level.
46939169689Skan
46940169689Skan2004-01-13  Bernardo Innocenti  <bernie@develer.com>
46941169689Skan
46942169689Skan	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
46943169689Skan	pseudo-register.
46944169689Skan
46945169689Skan2004-01-13  Devang Patel <dpatel@apple.com
46946169689Skan
46947169689Skan	PR debug/7078
46948169689Skan	* dbxout.c (dbxout_symbol_name): Emit mangled names for
46949169689Skan	NAMESPACE_DECL memebers.
46950169689Skan
46951169689Skan2004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
46952169689Skan
46953169689Skan	PR c++/12709
46954169689Skan	* c-common.c (finish_fname_decls): Use the chain only if the
46955169689Skan	tree is an expr_stmt.
46956169689Skan
46957169689Skan2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
46958169689Skan
46959169689Skan	* rtl.def: Add comment about new option in automata_option.
46960169689Skan
46961169689Skan	* genautomata.c (PROGRESS_OPTION): New macro.
46962169689Skan	(progress_flag): New global variable.
46963169689Skan	(gen_automata_option): Process `progress'.
46964169689Skan	(transform_insn_regexps, check_unit_distributions_to_automata,
46965169689Skan	make_automaton, NDFA_to_DFA, build_automaton, create_automata,
46966169689Skan	expand_automata, write_automata): Print about the progress only if
46967169689Skan	progress_flag.  Remove fflush.
46968169689Skan	(initiate_automaton_gen): Process command line flag `-progress'.
46969169689Skan
46970169689Skan	* doc/md.texi: Describe the new option.
46971169689Skan
46972169689Skan2004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
46973169689Skan
46974169689Skan	* cfg.c (dump_bb): Dump entry edges.
46975169689Skan
46976169689Skan2004-01-13  Richard Earnshaw  <rearnsha@arm.com>
46977169689Skan
46978169689Skan	* arm.c (thumb_legitimate_address_p): Only allow constant pool
46979169689Skan	references from SImode.
46980169689Skan	* arm.md (thumb_movhi_insn): Don't allow minipool references.
46981169689Skan
46982169689Skan2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
46983169689Skan
46984169689Skan	* system.h (TEXT_SECTION): Poison.
46985169689Skan	* varasm.c (text_section): Don't use TEXT_SECTION.
46986169689Skan	* config/sh/sh.c (sh_file_start): Fix a comment typo.
46987169689Skan	* doc/tm.texi (TEXT_SECTION): Remove.
46988169689Skan
46989169689Skan2004-01-13  Ben Elliston  <bje@wasabisystems.com>
46990169689Skan
46991169689Skan	* doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
46992169689Skan
46993169689Skan2004-01-12  James E Wilson  <wilson@specifixinc.com>
46994169689Skan
46995169689Skan	* unwind-libunwind.c: Delete.
46996169689Skan
46997169689Skan2004-01-12  Zack Weinberg  <zack@codesourcery.com>
46998169689Skan
46999169689Skan	PR 13656
47000169689Skan	* c-decl.c (diagnose_mismatched_decls): Whenever newtype or
47001169689Skan	oldtype is set, set *newtypep or *oldtypep too.  Do not set
47002169689Skan	them at the very end.
47003169689Skan	(validate_proto_after_old_defn): Restructure for comprehensibility;
47004169689Skan	make error messages clearer.
47005169689Skan
47006169689Skan2004-01-12  Zack Weinberg  <zack@codesourcery.com>
47007169689Skan
47008169689Skan	* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
47009169689Skan	(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
47010169689Skan	* varray.c: No need to prototype error.
47011169689Skan	(varray_check_failed): Wrap long string onto two lines.
47012169689Skan	(varray_underflow): New function.
47013169689Skan
47014169689Skan2004-01-13  Steven Bosscher  <stevenb@suse.de>
47015169689Skan
47016169689Skan	PR c++/13376
47017169689Skan	* function.h (struct function): Kill `name' field.
47018169689Skan	(current_function_name): Make it an extern function.
47019169689Skan	* function.c (current_function_name): New function.
47020169689Skan	* graph.c: Update all uses of current_function_name.
47021169689Skan	* gcse.c: Likewise.
47022169689Skan	* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
47023169689Skan	config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
47024169689Skan	* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
47025169689Skan	instead of a strcmp with "main".
47026169689Skan
47027169689Skan2004-01-13  Jan Hubicka  <jh@suse.cz>
47028169689Skan
47029169689Skan	* c-decl.c (diagnose_mismatched_decls): Fix warning calls.
47030169689Skan
47031169689Skan	* cgraphunit.c (cgraph_optimize_function): Always do
47032169689Skan	optimize_inline_calls when there is always_inline callee.
47033169689Skan	(cgraph_decide_inlining): Fix formating.
47034169689Skan	* tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
47035169689Skan	functions.
47036169689Skan	(expand_call_inline): Likewise.
47037169689Skan	* toplev.h (sorry): Fix prototype.
47038169689Skan
47039169689Skan2004-01-12  Roger Sayle  <roger@eyesopen.com>
47040169689Skan
47041169689Skan	* builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
47042169689Skan	conditional jumps that drop through to unconditional jumps or the
47043169689Skan	end of the sequence.
47044169689Skan
47045169689Skan2004-01-13  Jan Hubicka  <jh@suse.cz>
47046169689Skan
47047169689Skan	* alias.c (new_alias_set): Construct the alias_set varray.
47048169689Skan	(init_alias_once): Don't do it here.
47049169689Skan
47050169689Skan2004-01-12  Marc Espie <espie@openbsd.org>
47051169689Skan
47052169689Skan	* system.h: handle YYBYACC like YYBISON.
47053169689Skan
47054169689Skan2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
47055169689Skan
47056169689Skan	PR target/10847
47057169689Skan	* config.gcc: No longer includes conflicting header sparc/sol2.h when
47058169689Skan	building on sparc64-*-openbsd*.
47059169689Skan
47060169689Skan2004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
47061169689Skan
47062169689Skan	PR debug/13539
47063169689Skan	* dbxout.c (dbxout_type): Protected inheritance is not
47064169689Skan	private but protected.
47065169689Skan
47066169689Skan2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
47067169689Skan
47068169689Skan	* config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
47069169689Skan
47070169689Skan2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
47071169689Skan
47072169689Skan	PR optimization/12508.
47073169689Skan	* combine.c (try_combine): Remove a dead set in a parallel
47074169689Skan	even if its destination is a subreg.
47075169689Skan
47076169689Skan	Revert:
47077169689Skan	2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
47078169689Skan	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
47079169689Skan	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
47080169689Skan
47081169689Skan2004-01-12  Geoffrey Keating  <geoffk@apple.com>
47082169689Skan
47083169689Skan	* real.c: Update copyright date.
47084169689Skan	* emit-rtl.c: Likewise.
47085169689Skan	* rtl.h: Likewise.
47086169689Skan	* dwarf2out.c: Likewise.
47087169689Skan	* config/rs6000/darwin-ldouble.c: Likewise.
47088169689Skan	* config/rs6000/rs6000.md: Likewise.
47089169689Skan
47090169689Skan2004-01-12  David Edelsohn  <edelsohn@gnu.org>
47091169689Skan
47092169689Skan	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
47093169689Skan	TFmode to SImode libfuncs.
47094169689Skan
47095169689Skan2004-01-12  Roger Sayle  <roger@eyesopen.com>
47096169689Skan
47097169689Skan	PR middle-end/11397
47098169689Skan	* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
47099169689Skan
47100169689Skan2004-01-12  Jan Hubicka  <jh@suse.cz>
47101169689Skan
47102169689Skan	PR opt/12826
47103169689Skan	* loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
47104169689Skan	stored.
47105169689Skan
47106169689Skan	PR opt/12863
47107169689Skan	* cfgcleanup.c (label_is_jump_target_p): Move to...
47108169689Skan	* rtlanal.c (label_is_jump_target_p): ... here.
47109169689Skan	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
47110169689Skan	edges unified with branch edges.
47111169689Skan
47112169689Skan2004-01-12  Richard Earnshaw  <rearnsha@arm.com>
47113169689Skan
47114169689Skan	* simplify-rtx.c (simplify_immed_subreg): Correctly extract the
47115169689Skan	high word of an integral CONST_DOUBLE.
47116169689Skan
47117169689Skan2004-01-12  Paul Brook  <paul@codesourcery.com>
47118169689Skan
47119169689Skan	* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
47120169689Skan
47121169689Skan2004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
47122169689Skan
47123169689Skan	PR target/13585
47124169689Skan	* sh-protos.h (check_use_sfunc_addr): Declare.
47125169689Skan	* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
47126169689Skan	* sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
47127169689Skan
47128169689Skan2004-01-12  Jan Hubicka  <jh@suse.cz>
47129169689Skan
47130169689Skan	* alias.c: Invlude varray.h
47131169689Skan	(alias_sets): Turn into varray.
47132169689Skan	(get_alias_set_entry): Use VARRAY; mark inline.
47133169689Skan	(mems_in_disjoint_alias_sets_p): Mark inline.
47134169689Skan	(record_alias_subset): Use varray.
47135169689Skan	(init_alias_once): Initialize varray.
47136169689Skan	(new_alias_set): Grow array.
47137169689Skan	* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
47138169689Skan
47139169689Skan2004-01-12  Jan Hubicka  <jh@suse.cz>
47140169689Skan
47141169689Skan	Partial fix for PR opt/10776 II
47142169689Skan	* cselib.c: Include params.h
47143169689Skan	(cselib_invalidate_mem): Limit amount of nonconflicting memory
47144169689Skan	locations.
47145169689Skan	* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
47146169689Skan	* Makefile.in (cselib.o): Depend on params.h
47147169689Skan
47148169689Skan2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
47149169689Skan
47150169689Skan	* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
47151169689Skan	simplify_unary_operation if the operand has a known mode.
47152169689Skan
47153169689Skan2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
47154169689Skan
47155169689Skan	PR target/13534
47156169689Skan	* config/rs6000/rs6000.c (word_offset_memref_operand): New
47157169689Skan	predicate to handle 'ld' conform addresses.
47158169689Skan	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
47159169689Skan	contraint.
47160169689Skan	(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
47161169689Skan	are memory contraints.
47162169689Skan	* config/rs6000/rs6000-protos.h (word_offset_memref_operand):
47163169689Skan	New prototype.
47164169689Skan	* config/rs6000/rs6000.md (*movdf_hardfloat64):
47165169689Skan	Change 'o' to 'Y' constraint.
47166169689Skan	(*movdf_softfloat64): Ditto.
47167169689Skan
47168169689Skan2004-01-12  Bernardo Innocenti  <bernie@develer.com>
47169169689Skan
47170169689Skan	* config/m68k/m68k.md: Switch from the "*..." syntax to the
47171169689Skan	brace-enclosed syntax in all C output statements.
47172169689Skan
47173169689Skan2004-01-12  David Edelsohn  <edelsohn@gnu.org>
47174169689Skan
47175169689Skan	PR target/13401
47176169689Skan	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
47177169689Skan	Objective-C language type value is 14.
47178169689Skan
47179169689Skan2004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
47180169689Skan
47181169689Skan	PR c/12148
47182169689Skan	* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
47183169689Skan	`int' in a number of places to make sure we always have a SImode
47184169689Skan	and not a HImode.  Add a 'L' suffix to a number of constants.
47185169689Skan
47186169689Skan2004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
47187169689Skan
47188169689Skan	* pa.c: Don't include obstack.h.
47189169689Skan
47190169689Skan	* pa.md: Correct constraint in pattern for loading PIC label address.
47191169689Skan
47192169689Skan2004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
47193169689Skan
47194169689Skan	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
47195169689Skan	 before defining.
47196169689Skan
47197169689Skan2004-01-11  Steven Bosscher  <stevenb@suse.de>
47198169689Skan
47199169689Skan	PR fortran/9972
47200169689Skan	* toplev.c (rest_of_handle_inline): Also consider functions
47201169689Skan	for deferral if the language is GNU F77.
47202169689Skan
47203169689Skan2004-01-11  Zack Weinberg  <zack@codesourcery.com>
47204169689Skan
47205169689Skan	* c-decl.c (diagnose_arglist_conflict): Add missing space to
47206169689Skan	diagnostic messages.
47207169689Skan
47208169689Skan2004-01-11  Jakub Jelinek  <jakub@redhat.com>
47209169689Skan
47210169689Skan	PR middle-end/13392
47211169689Skan	* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
47212169689Skan	to drop through label.  Don't fall back to SCC even when conditional
47213169689Skan	jump has not been found.
47214169689Skan
47215169689Skan2004-01-11  Jan Hubicka  <jh@suse.cz>
47216169689Skan
47217169689Skan	* invoke.texi: Fix syntax error in previous patch.
47218169689Skan
47219169689Skan	Partial fix for PR opt/10776
47220169689Skan	* Makefile.in (reload.o): Include param.h
47221169689Skan	* params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
47222169689Skan	* reload.c: Include params.h.
47223169689Skan	(find_equiv_reg): Work limiting check.
47224169689Skan	* invoke.texi: Document.
47225169689Skan
47226169689Skan2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
47227169689Skan
47228169689Skan	* config/mips/mips.c (mips_symbolic_constant_p): Don't allow
47229169689Skan	out-of-bounds accesses to string constants.  Simplify mips16
47230169689Skan	case accordingly.
47231169689Skan
47232169689Skan2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
47233169689Skan
47234169689Skan	PR optimization/13469
47235169689Skan	* toplev.c (rest_of_compilation): Call purge_all_dead_edges after
47236169689Skan	reload_cse_regs (-fnon-call-exceptions only).
47237169689Skan
47238169689Skan2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
47239169689Skan
47240169689Skan	* config/mcore/lib1.asm: Fix comment formatting.
47241169689Skan	* config/mcore/mcore-elf.h: Likewise.
47242169689Skan	* config/mcore/mcore.c: Likewise.
47243169689Skan	* config/mcore/mcore.h: Likewise.
47244169689Skan	* config/mcore/mcore.md: Likewise.
47245169689Skan
47246169689Skan2004-01-10  Zack Weinberg  <zack@codesourcery.com>
47247169689Skan
47248169689Skan	* c-decl.c (duplicate_decls): Break apart into...
47249169689Skan	(diagnose_arglist_conflict, validate_proto_after_old_defn)
47250169689Skan	(locate_old_defn, diagnose_mismatched_decls, merge_decls):
47251169689Skan	... these new functions.  Restructure for comprehensibility.
47252169689Skan	Remove various archaic special cases.  Always report the
47253169689Skan	location of the previous declaration when a diagnostic is issued.
47254169689Skan	(redeclaration_error_message): Fold into diagnose_mismatched_decls.
47255169689Skan	(match_builtin_function_types): Delete unnecessary forward declaration.
47256169689Skan
47257169689Skan2004-01-10  Zack Weinberg  <zack@codesourcery.com>
47258169689Skan
47259169689Skan	* genautomata.c (make_automaton, NDFA_to_DFA):
47260169689Skan	Print progress bars with '.' characters instead of '*'.
47261169689Skan	(build_automaton): Change notes to match.
47262169689Skan
47263169689Skan2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
47264169689Skan
47265169689Skan	* config/m32r/m32r.md: Use define_constants for unspec and
47266169689Skan	unspec_volatile.
47267169689Skan
47268169689Skan2004-01-10  Jan Hubicka  <jh@suse.cz>
47269169689Skan
47270169689Skan	PR opt/11635
47271169689Skan	* expr.c (expand_expr_real): More curefully expand union casts.
47272169689Skan
47273169689Skan2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
47274169689Skan
47275169689Skan	* config/m32r/m32r.md (flush_icache): Use 1 for
47276169689Skan	unspec_volatile.
47277169689Skan
47278169689Skan2004-01-10  David Edelsohn  <edelsohn@gnu.org>
47279169689Skan	    James E Wilson  <wilson@specifixinc.com>
47280169689Skan
47281169689Skan	PR debug/12860
47282169689Skan	* dbxout.c (dbxout_symbol): Remove initialization of
47283169689Skan	current_sym_code, current_sym_value, and current_sym_addr.
47284169689Skan	(dbxout_symbol_location): Same.
47285169689Skan	(dbxout_prepare_symbol): Zero current_sym_code,
47286169689Skan	current_sym_value, and current_sym_addr.
47287169689Skan
47288169689Skan2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
47289169689Skan
47290169689Skan	* tree.c (get_unwidened): Reorder conditions so that the null pointer
47291169689Skan	check is done first.
47292169689Skan
47293169689Skan2004-01-09  Eric Christopher  <echristo@redhat.com>
47294169689Skan
47295169689Skan	* toplev.c (rest_of_handle_cfg): Add reg_scan pass
47296169689Skan	if we're running mark_constant_function.
47297169689Skan
47298169689Skan2004-01-09  Jeff Bailey  <jbailey@nisa.net>
47299169689Skan
47300169689Skan	PR target/12561
47301169689Skan	* config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
47302169689Skan
47303169689Skan2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
47304169689Skan
47305169689Skan	PR debug/11231
47306169689Skan	* dbxout.c (dbxout_type_fields): Return if any item is
47307169689Skan	error_mark_node or the type is error_mark_node.
47308169689Skan
47309169689Skan2004-01-09  Geoffrey Keating  <geoffk@apple.com>
47310169689Skan
47311169689Skan	* config/rs6000/darwin-ldouble.c: Add big comment explaining
47312169689Skan	exactly what is expected as a 'long double'.
47313169689Skan	(_xlqadd): When a value to be returned is representable as a
47314169689Skan	'double', just return it directly, do not construct it using a union.
47315169689Skan	Also, correct final fixup.
47316169689Skan	(_xlqmul): Likewise.
47317169689Skan	(_xlqdiv): Likewise.
47318169689Skan	* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
47319169689Skan
47320169689Skan	* config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
47321169689Skan
47322169689Skan2004-01-09  Richard Henderson  <rth@redhat.com>
47323169689Skan
47324169689Skan	* recog.c (constrain_operands): Validate mem operands.
47325169689Skan
47326169689Skan2004-01-09   James E Wilson  <wilson@specifixinc.com>
47327169689Skan
47328169689Skan	* gcc.c (init_spec): Remove -lunwind from shared case.
47329169689Skan	* conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
47330169689Skan
47331169689Skan2004-01-09  Steve Ellcey  <sje@cup.hp.com>
47332169689Skan
47333169689Skan	* configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
47334169689Skan	* configure: Regenerate
47335169689Skan
47336169689Skan2004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
47337169689Skan
47338169689Skan	PR c/11234
47339169689Skan	* c-typeck.c (build_c_cast): If pedantic, warn for conversions
47340169689Skan	between function and object pointers.
47341169689Skan	(digest_init): When comparing a pointer to function type to the
47342169689Skan	target type, only apply TREE_TYPE once to the pointer to function
47343169689Skan	type.
47344169689Skan	* except.c (for_each_eh_label_1): Treat data as a pointer to a
47345169689Skan	function pointer rather than casting it to a function pointer.
47346169689Skan	(for_each_eh_label): Update caller.
47347169689Skan	* recog.h (struct insn_data): Use a struct or union for output.
47348169689Skan	* genoutput.c (output_insn_data): Update.
47349169689Skan	* final.c (get_insn_template): Update.
47350169689Skan
47351169689Skan2004-01-09  Mark Mitchell  <mark@codesourcery.com>
47352169689Skan
47353169689Skan	* expr.h (expand_expr): Make it a macro, not a function.
47354169689Skan	(expand_expr_real): New function.
47355169689Skan	* expr.c (store_expr): Adjust logic for deciding whether or not to
47356169689Skan	copy the value returned by expand_expr.
47357169689Skan	(expand_expr): Rename to ...
47358169689Skan	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
47359169689Skan	calls to language hooks.
47360169689Skan	* c-common.h (c_expand_expr): Adjust prototype.
47361169689Skan	* c-common.c (c_expand_expr): Add alt_rtl parameter.
47362169689Skan	* langhooks-def.h (lhd_expand_expr): Change prototype.
47363169689Skan	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
47364169689Skan	* langhooks.h (lang_hooks): Change type of expand_expr.
47365169689Skan	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
47366169689Skan	(last_expr_alt_rtl): Likewise.
47367169689Skan	(expand_expr_stmt_value): Set last_expr_alt_rtl.
47368169689Skan	(clear_last_expr): Clear it.
47369169689Skan	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
47370169689Skan	(expand_end_bindings): Save and restor last_expr_alt_rtl.
47371169689Skan	* tree.def (RTL_EXPR): Give it an additional operand.
47372169689Skan	* tree.h (RTL_EXPR_ALT_RTL): New macro.
47373169689Skan
47374169689Skan2004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
47375169689Skan
47376169689Skan	* config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
47377169689Skan	* config/m32r/m32r.c (call26_operand): Allow in PIC mode.
47378169689Skan
47379169689Skan2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
47380169689Skan
47381169689Skan	PR target/13380.
47382169689Skan	* config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
47383169689Skan	or (ne:SI (reg:CC 17) (const_int 0)).
47384169689Skan	Be specific about modes wherever possible.
47385169689Skan
47386169689Skan2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
47387169689Skan
47388169689Skan	* config/m32r/m32r.c (m32r_expand_block_move): Call
47389169689Skan	gen_movestrsi_internal with two more arguments.
47390169689Skan	(m32r_output_block_move): Adjust operand numbers.
47391169689Skan	Properly update the source and destination pointers.
47392169689Skan	* config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
47393169689Skan	'r+'.  Change the set detinations to match_operand.
47394169689Skan
47395169689Skan2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
47396169689Skan
47397169689Skan	* final.c (FIRST_INSN_ADDRESS): Remove.
47398169689Skan	(shorten_branches): Don't use FIRST_INSN_ADDRESS.
47399169689Skan	* system.h (FIRST_INSN_ADDRESS): Poison.
47400169689Skan	* config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
47401169689Skan	* config/m32r/m32r-protos.h: Remove the prototype for
47402169689Skan	m32r_first_insn_address.
47403169689Skan	* config/m32r/m32r.c (m32r_first_insn_address): Remove.
47404169689Skan	* config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
47405169689Skan	* doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
47406169689Skan
47407169689Skan2004-01-09  J. Brobecker  <brobecker@gnat.com>
47408169689Skan
47409169689Skan	* dwarf2out.c (gen_enumeration_type_die): Return the DIE that
47410169689Skan	we just created.
47411169689Skan	(is_ada_subrange_type): DIEs for enumeration subtypes should be
47412169689Skan	emitted as subrange types too.
47413169689Skan	(subrange_type_die): Add handling of enumeration subtypes.
47414169689Skan
47415169689Skan2004-01-08  Richard Henderson  <rth@redhat.com>
47416169689Skan
47417169689Skan	PR opt/12441
47418169689Skan	Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
47419169689Skan	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
47420169689Skan	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
47421169689Skan	(ix86_address_cost): Be prepared for SUBREGed registers.
47422169689Skan	(legitimate_address_p): Accept SUBREGed registers.
47423169689Skan
47424169689Skan2004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
47425169689Skan
47426169689Skan	* Makefile.in: Rename configure.in to configure.ac
47427169689Skan	* doc/sourcebuild.texi: Likewise.
47428169689Skan	* configure: Regenerate.
47429169689Skan	* config.in: Regenerate.
47430169689Skan
47431169689Skan2004-01-08  Stuart Hastings  <stuart@apple.com>
47432169689Skan
47433169689Skan	* config/i386/i386.md: Typos in MMX/SSE immediate shifts.
47434169689Skan
47435169689Skan2004-01-08  Jan Hubicka  <jh@suse.cz>
47436169689Skan
47437169689Skan	* cgraphunit.c (cgraph_decide_inlining): Fix typo.
47438169689Skan
47439169689Skan2004-01-08  Geoffrey Keating  <geoffk@apple.com>
47440169689Skan
47441169689Skan	* config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
47442169689Skan	(UNSPEC_FIX_TRUNC_TF): New constant.
47443169689Skan	(movtf_internal): Make splitter active only when insn is active.
47444169689Skan	(extenddftf2): Rewrite to properly load zero into low part.
47445169689Skan	(extenddftf2_internal): New.
47446169689Skan	(extendsftf2): Rewrite.
47447169689Skan	(truncdftf2): Correct length.
47448169689Skan	(floatditf2): Delete.
47449169689Skan	(fix_trunc_helper): New.
47450169689Skan	(fix_trunctfdi2): Use fix_trunc_helper.
47451169689Skan	(fix_trunctfsi2): Likewise.fix_trunc
47452169689Skan	(fix_trunctfsi2_internal): New.
47453169689Skan
47454169689Skan	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
47455169689Skan	addresses are legitimate on Darwin even when flag_pic.
47456169689Skan	(rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
47457169689Skan	non-offsettable addresses for loads of TFmode constants.
47458169689Skan
47459169689Skan2004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
47460169689Skan
47461169689Skan	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
47462169689Skan	variables in the appropriate bss section.
47463169689Skan
47464169689Skan2004-01-09  Alan Modra  <amodra@bigpond.net.au>
47465169689Skan
47466169689Skan	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
47467169689Skan	target_flags has MASK_POWERPC64 when -m64.
47468169689Skan	* config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
47469169689Skan	to 620, 630, power3, power4 and rs64a entries.
47470169689Skan	* config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
47471169689Skan
47472169689Skan2004-01-08  Richard Sandiford  <rsandifo@redhat.com>
47473169689Skan
47474169689Skan	* simplify-rtx.c (simplify_immed_subreg): Fix construction of
47475169689Skan	floating-point constants.
47476169689Skan
47477169689Skan2004-01-08  J. Brobecker  <brobecker@gnat.com>
47478169689Skan
47479169689Skan	* dwarf2out.c (subrange_type_die): Add context_die parameter.
47480169689Skan	Create the subrange_type DIE using the given context DIE.
47481169689Skan	(modified_type_die): Update call to subrange_type_die.
47482169689Skan
47483169689Skan2004-01-08  Zack Weinberg  <zack@codesourcery.com>
47484169689Skan
47485169689Skan	* dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
47486169689Skan	Add multiple-include guard.
47487169689Skan
47488169689Skan2004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
47489169689Skan
47490169689Skan	* config/rs6000/rs6000.c (easy_vector_constant): Accept
47491169689Skan	all vector constant loadable by vsplt*.
47492169689Skan	(output_vec_const_move): Likewise.
47493169689Skan
47494169689Skan2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
47495169689Skan
47496169689Skan	PR c/6024
47497169689Skan	* c-typeck.c (comptypes): Only treat enumerated types in the same
47498169689Skan	translation unit as compatible with each other when they are the
47499169689Skan	same type.
47500169689Skan	* doc/extend.texi: Update.
47501169689Skan
47502169689Skan2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
47503169689Skan
47504169689Skan	PR c/12165
47505169689Skan	* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
47506169689Skan	array type from the array element type.
47507169689Skan
47508169689Skan2004-01-07  Alan Modra  <amodra@bigpond.net.au>
47509169689Skan
47510169689Skan	* config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
47511169689Skan	* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
47512169689Skan	* config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
47513169689Skan	(DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
47514169689Skan	* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
47515169689Skan
47516169689Skan2004-01-06  Eric Christopher  <echristo@redhat.com>
47517169689Skan
47518169689Skan	* config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
47519169689Skan	(DWARF2_DEBUGGING_INFO): Define.
47520169689Skan	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
47521169689Skan	* config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
47522169689Skan	* config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
47523169689Skan	for irix as.
47524169689Skan	(SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
47525169689Skan	* config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
47526169689Skan	* config/mips/iris5gas.h: Ditto.
47527169689Skan	(DBX_DEBUGGING_INFO): Remove.
47528169689Skan	(DWARF2_DEBUGGING_INFO): Ditto.
47529169689Skan	(MIPS_DEBUGGING_INFO): Ditto.
47530169689Skan	(PREFERRED_DEBUGGING_TYPE): Ditto.
47531169689Skan	* config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
47532169689Skan	(PREFERRED_DEBUGGING_TYPE): Ditto.
47533169689Skan	(SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
47534169689Skan	* config/mips/elf64.h: Ditto.
47535169689Skan
47536169689Skan2004-01-06  Jan Hubicka  <jh@suse.cz>
47537169689Skan
47538169689Skan	* Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
47539169689Skan	(STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
47540169689Skan
47541169689Skan2004-01-06  Geoffrey Keating  <geoffk@apple.com>
47542169689Skan
47543169689Skan	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
47544169689Skan	(TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
47545169689Skan	* config/rs6000/darwin-ldouble.c: New.
47546169689Skan
47547169689Skan	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
47548169689Skan	for constants.
47549169689Skan	(constant_subword): Delete.
47550169689Skan	* rtl.h (constant_subword): Delete prototype.
47551169689Skan	(immed_double_const): Is not in varasm.c.
47552169689Skan	* simplify-rtx.c (simplify_immed_subreg): New.
47553169689Skan	(simplify_subreg): Use simplify_immed_subreg.
47554169689Skan
47555169689Skan	* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
47556169689Skan	than trying to generate RTL directly.
47557169689Skan	(fix_trunctfsi2): Use expand_fix rather than trying to generate
47558169689Skan	RTL directly.
47559169689Skan
47560169689Skan	* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
47561169689Skan
47562169689Skan2004-01-06  David Edelsohn  <edelsohn@gnu.org>
47563169689Skan
47564169689Skan	* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
47565169689Skan	function into a separate macro.
47566169689Skan	(read_only_data_section): Add void argument.
47567169689Skan	(private_data_section): Same.
47568169689Skan	(read_only_private_data_section): Same.
47569169689Skan	(toc_section): Same.
47570169689Skan
47571169689Skan2004-01-06  Jan Hubicka  <jh@suse.cz>
47572169689Skan
47573169689Skan	* invoke.texi: Remove typo in last change.
47574169689Skan
47575169689Skan	PR target/10301
47576169689Skan	* config.gcc: Accept opteron and athlon-64 as variants
47577169689Skan	of k8.
47578169689Skan	* i386.c (override_options): Likewise.
47579169689Skan	* invoke.texi (i386 -mtune): Expand documentation.
47580169689Skan
47581169689Skan2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
47582169689Skan
47583169689Skan	* alias.c: Fix comment typos.
47584169689Skan	* builtins.c: Likewise.
47585169689Skan	* cfg.c: Likewise.
47586169689Skan	* df.c: Likewise.
47587169689Skan	* dominance.c: Likewise.
47588169689Skan	* dwarf2out.c: Likewise.
47589169689Skan	* emit-rtl.c: Likewise.
47590169689Skan	* expr.c: Likewise.
47591169689Skan	* final.c: Likewise.
47592169689Skan	* fold-const.c: Likewise.
47593169689Skan	* gcse.c: Likewise.
47594169689Skan	* genattrtab.c: Likewise.
47595169689Skan	* genrecog.c: Likewise.
47596169689Skan	* gensupport.c: Likewise.
47597169689Skan	* ggc-zone.c: Likewise.
47598169689Skan	* integrate.c: Likewise.
47599169689Skan	* local-alloc.c: Likewise.
47600169689Skan	* loop.c: Likewise.
47601169689Skan	* recog.c: Likewise.
47602169689Skan	* regmove.c: Likewise.
47603169689Skan	* reg-stack.c: Likewise.
47604169689Skan	* reorg.c: Likewise.
47605169689Skan	* rtlanal.c: Likewise.
47606169689Skan	* rtl.h: Likewise.
47607169689Skan	* sched-ebb.c: Likewise.
47608169689Skan	* simplify-rtx.c: Likewise.
47609169689Skan	* toplev.c: Likewise.
47610169689Skan	* varasm.c: Likewise.
47611169689Skan
47612169689Skan2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
47613169689Skan
47614169689Skan	* doc/install.texi: Fix typos.
47615169689Skan	* doc/invoke.texi: Likewise.
47616169689Skan	* doc/md.texi: Likewise.
47617169689Skan
47618169689Skan2004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
47619169689Skan
47620169689Skan	* config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
47621169689Skan
47622169689Skan2004-01-06  Jan Hubicka  <jh@suse.cz>
47623169689Skan
47624169689Skan	* i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
47625169689Skan	(function_arg_advance): Do not pass aggregates in SSE; deal handling
47626169689Skan	of MMX_REGPARM.
47627169689Skan	(function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
47628169689Skan	add MMX_REGPARM.
47629169689Skan	* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
47630169689Skan	(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
47631169689Skan	(MMX_REGPARM_MAX): Similarly for -mmmx.
47632169689Skan
47633169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47634169689Skan
47635169689Skan	* config/sh/linux.h: Fix comment formatting.
47636169689Skan	* config/sh/netbsd-elf.h: Likewise.
47637169689Skan	* config/sh/sh.c: Likewise.
47638169689Skan	* config/sh/sh.h: Likewise.
47639169689Skan	* config/sh/vxworks.h: Likewise.
47640169689Skan
47641169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47642169689Skan
47643169689Skan	* system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
47644169689Skan	* toplev.c (output_file_directive): Don't use
47645169689Skan	ASM_OUTPUT_MAIN_SOURCE_FILENAME.
47646169689Skan
47647169689Skan2004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
47648169689Skan
47649169689Skan	* toplev.c: Fix broken checkin of 2003-12-30.
47650169689Skan
47651169689Skan2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
47652169689Skan
47653169689Skan	* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
47654169689Skan	(USING_MMAP): We don't support non-mmap.
47655169689Skan	(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
47656169689Skan	large objects.
47657169689Skan	(struct page_entry): Remove bytes_free.
47658169689Skan	(struct page_table_chain): Remove.
47659169689Skan	(struct globals): Remove page_table member.
47660169689Skan	(loookup_page_table_entry): Function deleted.
47661169689Skan	(set_page_table_entry): Ditto.
47662169689Skan	(ggc_allocated_p): No longer need page table lookups.
47663169689Skan	(ggc_marked_p): Ditto.
47664169689Skan	(alloc_small_page): Don't care about bytes_free anymore.
47665169689Skan	(alloc_large_page): Round up size.
47666169689Skan	(ggc_alloc_zone_1): Mark large objects as such, and calculate
47667169689Skan	their size the new way.
47668169689Skan	Remove page table lookups and setting.
47669169689Skan	(ggc_get_size): Calculate large object size the new way.
47670169689Skan	(sweep_pages): Redo to account for fact that we no longer have
47671169689Skan	bytes_free.
47672169689Skan	(ggc_collect): No longer need to reincrement bytes_free.
47673169689Skan	(ggc_pch_alloc_object): Handle new large objects properly.
47674169689Skan	(ggc_pch_read): Put PCH stuff into it's own uncollected zone.
47675169689Skan
47676169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47677169689Skan
47678169689Skan	* doc/invoke.texi: Remove a page break.
47679169689Skan
47680169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47681169689Skan
47682169689Skan	* config/avr/avr.c (avr_output_function_prologue): Remove an
47683169689Skan	extra pair of curly braces.
47684169689Skan
47685169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47686169689Skan
47687169689Skan	* config/mn10300/mn10300.c: Fix comment formatting.
47688169689Skan	* config/mn10300/mn10300.h: Likewise.
47689169689Skan
47690169689Skan2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
47691169689Skan
47692169689Skan	* tree.h: Update documentation on nothrow_flag.
47693169689Skan	* print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
47694169689Skan	types.
47695169689Skan
47696169689Skan2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
47697169689Skan
47698169689Skan	* doc/invoke.texi: Remove traces of dead ports.
47699169689Skan
47700169689Skan2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
47701169689Skan
47702169689Skan	* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
47703169689Skan	option.
47704169689Skan
47705169689Skan2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
47706169689Skan
47707169689Skan	PR target/12945
47708169689Skan	* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
47709169689Skan	counter labels.
47710169689Skan	* config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
47711169689Skan	(mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
47712169689Skan	string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
47713169689Skan	the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
47714169689Skan	(mips_symbol_insns): Don't trust the local/global classification.
47715169689Skan	(m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
47716169689Skan	(override_options): Make -mabicalls -fno-unit-at-a-time imply
47717169689Skan	-mno-explicit-relocs.
47718169689Skan	(mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
47719169689Skan	between local and global symbols.
47720169689Skan
47721169689Skan2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
47722169689Skan
47723169689Skan	* config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
47724169689Skan	(mips_preferred_reload_class): Declare.
47725169689Skan	* config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
47726169689Skan	(EXTRA_CONSTRAINT): Update accordingly.
47727169689Skan	(PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
47728169689Skan	* config/mips/mips.c (mips_dangerous_for_la25_p): New function.
47729169689Skan	(mips_preferred_reload_class): New function.  Prefer LEA_REGS if
47730169689Skan	mips_dangerous_for_la25_p.
47731169689Skan	(mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
47732169689Skan	if mips_dangerous_for_la25_p.
47733169689Skan
47734169689Skan2004-01-05  Bernardo Innocenti  <bernie@develer.com>
47735169689Skan
47736169689Skan	* config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
47737169689Skan	warning.
47738169689Skan
47739169689Skan2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
47740169689Skan
47741169689Skan	* configure.ac: Use AC_PROG_CPP_WERROR.
47742169689Skan	* configure: Regenerate.
47743169689Skan
47744169689Skan2004-01-04  Zack Weinberg  <zack@codesourcery.com>
47745169689Skan
47746169689Skan	* .cvsignore: Add autom4te.cache.
47747169689Skan
47748169689Skan2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
47749169689Skan
47750169689Skan	* doc/invoke.texi: Revamp documentation of MIPS options.  Remove
47751169689Skan	-mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
47752169689Skan	-m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
47753169689Skan	then architecture options, then ABI options.  General rewording.
47754169689Skan
47755169689Skan2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
47756169689Skan
47757169689Skan	PR c/3414
47758169689Skan	* doc/extend.texi: Clarify definition of malloc attribute.
47759169689Skan
47760169689Skan2004-01-04  Jan Hubicka  <jh@suse.cz>
47761169689Skan
47762169689Skan	* Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
47763169689Skan	* cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
47764169689Skan	* cgraph.h (cgraph_edge): Replace inline_call by inline_failed
47765169689Skan	(cgraph_inline_p): Add extra argument reason.
47766169689Skan	* cgraphunit.c: Minor formating fixes.
47767169689Skan	cgraph_first_inlined_callee): New functions.
47768169689Skan	(record_call_1): Record builtins too.
47769169689Skan	(cgraph_analyze_function): Update inline_failed messages.
47770169689Skan	(cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
47771169689Skan	cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
47772169689Skan	(cgraph_check_inline_limits): Likewise; Add argument reason.
47773169689Skan	(cgraph_set_inline_failed): New static function.
47774169689Skan	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
47775169689Skan	reasons.
47776169689Skan	(cgraph_inline_p): Add new argument reason.
47777169689Skan	* tree-inline.c (expand_call_inline): Update warning.
47778169689Skan
47779169689Skan2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
47780169689Skan
47781169689Skan	* configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
47782169689Skan	with modern equivalents.
47783169689Skan	* configure: Regenerate.
47784169689Skan
47785169689Skan	* configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
47786169689Skan	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
47787169689Skan	* configure: Regenerate.
47788169689Skan
47789169689Skan	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
47790169689Skan
47791169689Skan	* configure.in: Rename to configure.ac.
47792169689Skan	* configure.ac: Renamed from configure.in; make minimum necessary
47793169689Skan	changes for autoconf 2.5x.
47794169689Skan	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
47795169689Skan	* configure: Regenerate with autoconf 2.57.
47796169689Skan
47797169689Skan2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
47798169689Skan
47799169689Skan	* config/mips/linux.h: Fix comment formatting.
47800169689Skan	* config/mips/mips.c: Likewise.
47801169689Skan	* config/mips/mips.h: Likewise.
47802169689Skan	* config/mips/mips.md: Likewise.
47803169689Skan	* config/mips/netbsd.h: Likewise.
47804169689Skan	* config/mips/windiss.h: Likewise.
47805169689Skan
47806169689Skan2004-01-02  Richard Henderson  <rth@redhat.com>
47807169689Skan
47808169689Skan	* config/i386/i386.md (fp constant pool splitter): Reorg suppression
47809169689Skan	for sse and 387; add suppression for mmx.
47810169689Skan
47811169689Skan2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
47812169689Skan
47813169689Skan	* loop.c (loop_optimize): Free all loops_info's mems.
47814169689Skan
47815169689Skan	* c-typeck.c (finish_init): Free spelling_base before
47816169689Skan	setting it again.
47817169689Skan
47818169689Skan	* cfgloop.c (flow_loops_find): Always free the sbitmap
47819169689Skan	headers.
47820169689Skan
47821169689Skan	* predict.c (estimate_probability): Free bbs after being
47822169689Skan	done with it.
47823169689Skan
47824169689Skan2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
47825169689Skan
47826169689Skan	* config/mn10300/mn10300.h (PREDICATE_CODES): Add
47827169689Skan	const_8bit_operand and call_address_operand.
47828169689Skan
47829169689Skan2004-01-02  Jan Hubicka  <jh@suse.cz>
47830169689Skan
47831169689Skan	* cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
47832169689Skan	when there is nothing to inline but warnings are requested.
47833169689Skan	(cgraph_decide_inlining): Fix memory leak.
47834169689Skan
47835169689Skan2004-01-02  Jan Hubicka  <jh@suse.cz>
47836169689Skan
47837169689Skan	* expr.c (store_constructor): Fix pasto in previous patch.
47838169689Skan
47839169689Skan2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
47840169689Skan
47841169689Skan	* config/i386/cygming.h: Fix comment formatting.
47842169689Skan	* config/i386/djgpp.h: Likewise.
47843169689Skan	* config/i386/gthr-win32.c: Likewise.
47844169689Skan	* config/i386/i386-interix.h: Likewise.
47845169689Skan	* config/i386/i386.c: Likewise.
47846169689Skan	* config/i386/i386.h: Likewise.
47847169689Skan	* config/i386/openbsd.h: Likewise.
47848169689Skan	* config/i386/winnt.c: Likewise.
47849169689Skan	* config/i386/xm-mingw32.h: Likewise.
47850169689Skan
47851169689Skan2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
47852169689Skan
47853169689Skan	* doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
47854169689Skan	copyright and last modification dates.
47855169689Skan
47856169689Skan2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
47857169689Skan
47858169689Skan	* doc/install.texi (Specific): Mention x86_64.
47859169689Skan
47860169689Skan2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
47861169689Skan
47862169689Skan	* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
47863169689Skan	Call force_operand on plus_constant result.
47864169689Skan
47865169689Skan2004-01-01  Jan Hubicka  <jh@suse.cz>
47866169689Skan
47867169689Skan	* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
47868169689Skan	* expr.c (store_constructor): Use vec_init pattern.
47869169689Skan	* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
47870169689Skan	* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
47871169689Skan	(vec_set_optab, vec_extract_optab, vec_init_optab): New.
47872169689Skan	* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
47873169689Skan	New patterns.
47874169689Skan	(sse2_unpc?pd): Fix pattern.
47875169689Skan	(sse2_movlpd): Kill.
47876169689Skan	(sse2_movsd): Deal with movlpd too.
47877169689Skan	* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
47878169689Skan	(ix86_expand_vector_init): New.
47879169689Skan	* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
47880169689Skan	* md.texi (vec_set, vec_extract): Document
47881