OSDN Git Service

* global.c (regclass_intersect): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2004-12-30  Steven Bosscher  <stevenb@suse.de>
2
3         * global.c (regclass_intersect): Remove.
4         (mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead.
5
6 2004-12-30  Richard Henderson  <rth@redhat.com>
7
8         * config/ia64/ia64.c (ia64_function_value): Use PARALLEL for 
9         aggregates with XF/XCmode.
10
11 2004-12-29  Richard Henderson  <rth@redhat.com>
12
13         * target.h (targetm.calls.arg_partial_bytes): New.
14         * target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
15         * calls.c (store_unaligned_arguments_into_pseudos): Update for
16         partial in bytes.
17         (load_register_parameters): Likewise.
18         (store_one_arg): Likewise.
19         (initialize_argument_information): Use targetm.calls.arg_partial_bytes.
20         (emit_library_call_value_1): Likewise.
21         * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
22         (emit_push_insn): Update for partial in bytes.
23         * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
24         * function.c (assign_parm_find_entry_rtl): Use
25         targetm.calls.arg_partial_bytes.  Update for result in bytes.
26         (locate_and_pad_parm): Update for partial in bytes.
27         * system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
28         * targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
29         * targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
30         * doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
31         FUNCTION_ARG_PARTIAL_NREGS.
32
33         * config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
34         config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
35         config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, 
36         config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
37
38         * config/alpha/alpha.c (alpha_arg_partial_bytes): New.
39         (TARGET_ARG_PARTIAL_BYTES): New.
40         * config/alpha/alpha.h, config/alpha/unicosmk.h,
41         config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
42
43         * config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
44         * config/arm/arm.c (arm_arg_partial_bytes): ... here.
45         (TARGET_ARG_PARTIAL_BYTES): New.
46
47         * config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
48         * config/cris/cris.c (cris_arg_partial_bytes): ... here.
49         (TARGET_ARG_PARTIAL_BYTES): New.
50
51         * config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
52         * config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
53         fr30_function_arg_partial_nregs.  Adjust to return bytes.
54         (TARGET_ARG_PARTIAL_BYTES): New.
55         * config/fr30/fr30-protos.h: Update.
56
57         * config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
58         * config/frv/frv.c (frv_arg_partial_bytes): Rename from 
59         frv_function_arg_partial_nregs.  Adjust to return bytes.
60         (TARGET_ARG_PARTIAL_BYTES): New.
61         * config/frv/frv-protos.h: Update.
62
63         * config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
64         * config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
65         ia64_function_arg_partial_nregs.  Adjust to return bytes.
66         (TARGET_ARG_PARTIAL_BYTES): New.
67         * config/ia64/ia64-protos.h: Update.
68
69         * config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
70         * config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
71         function_arg_partial_nregs.  Adjust to return bytes.
72         (TARGET_ARG_PARTIAL_BYTES): New.
73         * config/iq2000/iq2000-protos.h: Update.
74
75         * config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
76         * config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
77         function_arg_partial_nregs.  Adjust to return bytes.
78         (TARGET_ARG_PARTIAL_BYTES): New.
79         * config/m32r/m32r-protos.h: Update.
80
81         * config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
82         * config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
83         mcore_function_arg_partial_nregs.  Adjust to return bytes.
84         (TARGET_ARG_PARTIAL_BYTES): New.
85         * config/mcore/mcore-protos.h: Update.
86
87         * config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
88         * config/mips/mips.c (mips_arg_partial_bytes): Rename from
89         function_arg_partial_nregs.  Adjust to return bytes.
90         (TARGET_ARG_PARTIAL_BYTES): New.
91         * config/mips/mips-protos.h: Update.
92
93         * config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
94         * config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from     
95         function_arg_partial_nregs.  Adjust to return bytes.
96         (TARGET_ARG_PARTIAL_BYTES): New.
97         * config/mn10300/mn10300-protos.h: Update.
98
99         * config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
100         * config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
101         (TARGET_ARG_PARTIAL_BYTES): New.
102
103         * config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
104         * config/pa/pa.c (pa_arg_partial_bytes): Rename from 
105         function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
106         (TARGET_ARG_PARTIAL_BYTES): New.
107         * config/pa/pa-protos.h: Update.
108
109         * config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
110         * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from 
111         function_arg_partial_nregs.  Adjust to return bytes.
112         (TARGET_ARG_PARTIAL_BYTES): New.
113         * config/rs6000/rs6000-protos.h: Update.
114
115         * config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
116         * config/sh/sh.c (sh_arg_partial_bytes): ... here.
117         (TARGET_ARG_PARTIAL_BYTES): New.
118
119         * config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
120         * config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
121         function_arg_partial_nregs.  Adjust to return bytes.
122         (TARGET_ARG_PARTIAL_BYTES): New.
123         * config/sparc/sparc-protos.h: Update.
124
125         * config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
126         * config/v850/v850.c (v850_arg_partial_bytes): Rename from
127         function_arg_partial_nregs.  Adjust to return bytes.
128         (TARGET_ARG_PARTIAL_BYTES): New.
129         * config/v850/v850-protos.h: Update.
130
131 2004-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
132
133         * config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
134         * config/mmix/mmix.c (mmix_asm_output_internal_label): New
135         function.
136         * config/mmix/mmix-protos.h (mmix_asm_output_internal_label):
137         Prototype.
138
139 2003-12-29  Richard Henderson  <rth@redhat.com>
140
141         * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
142
143 2004-12-29  Jeff Law  <law@redhat.com>
144
145         * tree-outof-ssa.c (insert_backedge_copies): New function.
146         (rewrite_out_of_ssa): Use it.
147
148 2004-12-29  Ira Rosen  <irar@il.ibm.com>
149
150         PR tree-optimization/18179
151         * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
152         and vect_analyze_offset_expr.
153         (vect_create_addr_base_for_vector_ref): Build address_base by combining 
154         base and initial_offset fields of vect_stmt_info.
155         (vect_update_inits_of_dr): Update offset of data-ref instead of its
156         access-fn. Remove argument.
157         (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
158         arguments.
159         (vect_compute_data_ref_alignment): Check misalignment info in 
160         vect_stmt_info. Remove argument.
161         (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
162         with correct argument.
163         (vect_analyze_data_ref_access): Check access info in vect_stmt_info.
164         (vect_analyze_pointer_ref_access): Update step and initial_offset fields
165         of vect_stmt_info.
166         (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the 
167         fields of stmt_vec_info.
168         (vect_analyze_data_refs): Find vectype and pass it to 
169         vect_get_memtag_and_dr.
170         (vect_get_first_index): Remove.
171         (vect_compute_array_base_alignment): Remove.
172         (vect_compute_array_ref_alignment): Remove
173         (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
174         (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead 
175         host_integerp.
176         (vectorizable_load): Use size arithmetics.
177
178 2004-12-29  Ira Rosen  <irar@il.ibm.com>
179
180         PR tree-optimization/18179
181         * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name
182         vect_get_base_and_bit_offset).
183         (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr).
184
185 2004-12-29  Ira Rosen  <irar@il.ibm.com>
186
187         PR tree-optimization/18179
188         * tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
189         initial_offset, step, misalignment and base_aligned_p and macros
190         to access them.
191         * tree-vectorizer.c (vect_analyze_offset_expr): New function.
192         (new_stmt_vec_info): Initialize the new fields of stmt_vec_info.
193
194         (vect_create_data_ref_ptr): Fix printings.
195
196 2004-12-29  Ira Rosen  <irar@il.ibm.com>
197
198         PR tree-optimization/18179
199         * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag 
200         retrieval.
201         (vect_analyze_data_refs): Remove memtag retrieval.
202
203 2004-12-28  Richard Henderson  <rth@redhat.com>
204
205         PR inline-asm/15740
206         * gimplify.c (gimplify_asm_expr): Move resolve asm names ...
207         * c-typeck.c (build_asm_expr): ... here.  Validate input
208         constraints.  Mark memory inputs addressable.
209
210 2004-12-28  Hans-Peter Nilsson  <hp@bitrange.com>
211
212         PR target/18321
213         * config/mmix/mmix.c (mmix_expand_epilogue): Change type of
214         variable offset to HOST_WIDE_INT.  Remove obsolete comment.  Fix
215         spacing.
216
217 2004-12-28  Andrew Pinski  <pinskia@physics.uc.edu>
218
219         * fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
220         we only need a cleanup point expression when the expression on the
221         left hand side of the MODIFIY_EXPR inside the return has side
222         effects.
223
224 2004-12-28  Dorit Naishlos  <dorit@il.ibm.com>
225
226         * tree-vectorizer.c (vect_mark_relevant) First argument changed from
227         varray_type to varray_type*.
228         (vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
229         when calling vect_mark_relevant.
230
231 2004-12-28  Alan Modra  <amodra@bigpond.net.au>
232
233         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
234         generate non-offsettable DImode lo_sum addresses.
235
236 2004-12-28  Zdenek Dvorak  <dvorakz@suse.cz>
237
238         PR rtl-optimization/19103
239         * loop-iv.c (iv_number_of_iterations): Fix typo.
240
241 2004-12-28  Andreas Jaeger  <aj@suse.de>
242
243         * genrecog.c (compute_predicate_codes): Avoid warning.
244
245 2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
246
247         * vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
248         (vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
249
250 2004-12-27  Jeff Law  <law@redhat.com>
251
252         * tree-ssa-dom.c (thread_across_edge): Remove broken code to
253         avoid threading into a loop.
254
255 2004-12-27  Richard Henderson  <rth@redhat.com>
256
257         PR target/17406
258         * config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
259         note for allocate_stack_worker insn.
260
261 2004-12-27  Jason Merrill  <jason@redhat.com>
262
263         * doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
264         * target.h (struct gcc_target): Add relaxed_ordering field.
265         * target-def.h (TARGET_RELAXED_ORDERING): Define default.
266         (TARGET_INITIALIZER): Add it.
267         * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
268         * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
269         * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
270         * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
271
272 2004-12-27  Roger Sayle  <roger@eyesopen.com>
273
274         PR driver/16118
275         * doc/invoke.texi: Document the interaction between -save-temps
276         and -x.
277
278 2004-12-27  David Edelsohn  <edelsohn@gnu.org>
279
280         * config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
281         Do not break apart constant pool addresses.
282         (rs6000_emit_move): Only force source into REG if target is MEM.
283
284 2004-12-27  Mark Mitchell  <mark@codesourcery.com>
285
286         PR c++/19148
287         * gimplify.c (gimplify_cond_expr): Add post_p parameter.
288         (gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
289         (gimplify_expr): Likewise.
290
291 2004-12-27  Richard Henderson  <rth@redhat.com>
292
293         * config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
294
295 2004-12-26  Richard Henderson  <rth@redhat.com>
296
297         * config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
298         of type_natural_mode to examine_argument.
299
300         * config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
301         (movv2sf_internal_rex64): New.
302         (mov<MMXMODEI>_internal): Use no register preferences at all.
303         (movv2sf_internal): Likewise.
304
305 2004-12-26  Richard Henderson  <rth@redhat.com>
306
307         * simplify-rtx.c (simplify_relational_operation_1): Don't simplify
308         plus/minus across EQ for floating-point.
309
310 2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
311
312         PR target/17643
313         * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
314         generating code for the portable runtime.
315
316 2004-12-25  Richard Henderson  <rth@redhat.com>
317
318         * expr.c (clear_storage): Validate CONST0_RTX extant.  Special case
319         complex modes.
320
321 2004-12-25  Zdenek Dvorak  <dvorakz@suse.cz>
322
323         PR rtl-optimization/19078
324         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic,
325         determine_use_iv_cost_outer): Fix computing of cost for the original
326         bivs.
327         (dump_use): Handle case related_cands == NULL.
328
329 2004-12-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
330
331         PR target/19059
332         * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4
333         to avr2.
334         * config/avr/avr.h (LINK_SPEC): Ditto.
335         * config/avr/t-avr (MULTILIB_MATCHES): Ditto.
336
337 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
338
339         PR target/19137
340         * config/rs6000/rs6000.md (movti_power, movti_string): Relax
341         operand[1] predicate to input_operand, and add r<-n alternative.
342         Move TImode const_double_operand splitter to where it belongs.
343
344 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
345
346         PR target/19147
347         * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
348
349 2004-12-24  Uros Bizjak  <uros@kss-loka.si>
350
351         * config/i386/i386.md (*fix_trunc{d,s,h}i_1):
352         Rename to *fix_trunc{d,s,h}i_i387.
353         (fix_trunc{d,s}fdi2): Reorder tests.
354
355 2004-12-24  Daniel Berlin  <dberlin@dberlin.org>
356
357         Fix PR debug/14638
358
359         * tree.h (DECL_DEBUG_ALIAS_OF): New macro.
360         * var-tracking.c (track_expr_p): Don't disqualify tracking of variables
361         that are aliases of variables we want to track, unless the
362         original variable is also ignored for debugging purposes.
363         (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic.
364         * tree-outof-ssa.c (create_temp): Note who we are a debug alias of.
365         * dwarf2out.c (dwarf2out_var_location): Add us to the location of
366         the decl we are an alias of.
367
368 2004-12-24  Alan Modra  <amodra@bigpond.net.au>
369
370         PR target/19142
371         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
372         DFmode for 32-bit again.
373
374 2004-12-23  Roger Sayle  <roger@eyesopen.com>
375
376         * reload.c (regno_clobbered_p): Add a gcc_assert that regno
377         refers to a hard register.
378
379 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
380
381         * gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
382
383 2004-12-23  DJ Delorie  <dj@redhat.com>
384
385         * genrecog.c (did_you_mean_codes): New.
386         (compute_predicate_codes): Fail unmatched codes.
387
388 2004-12-23  Eric Christopher  <echristo@redhat.com>
389
390         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add
391         assert for machine=mips for !TARGET_IRIX.
392         * config/mips/linux.h: Remove machine=mips assert.
393         * config/mips/netbsd.h: Ditto.
394         * config/mips/openbsd.h: Ditto.
395
396 2004-12-23  Dale Johannesen  <dalej@apple.com>
397
398         * tree.c (iterative_hash_expr):  Canonicalize builtins.
399
400 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
401
402         PR target/16819
403         * calls.c (load_register_parameters): Don't call use_regs when
404         nregs is zero.
405
406 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
407
408         PR middle-end/17746
409         * expr.c (get_inner_reference): Add 'keep_aligning' parameter.
410         Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
411         platforms only if keep_aligning is true.
412         (expand_assignment): Adjust call to get_inner_reference.
413         (expand_expr_addr_expr_1): Likewise.
414         (expand_expr_real_1): Likewise.
415         * dojump.c (do_jump): Likewise.
416         * dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
417         * fold-const.c (optimize_bit_field_compare): Likewise.
418         (decode_field_reference): Likewise.
419         (split_address_to_core_and_offset): Likewise.
420         * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
421         * tree.h (get_inner_reference): Adjust prototype.
422
423 2004-12-23  Richard Henderson  <rth@redhat.com>
424
425         * config/i386/i386.c (override_options): Revert last change
426         wrt fancy 387 math.
427
428 2004-12-23  Richard Henderson  <rth@redhat.com>
429
430         * config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
431         ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
432         vector operate patterns.
433
434 2004-12-23  Richard Henderson  <rth@redhat.com>
435
436         * config/i386/i386.c (ix86_expand_vector_move): Tidy.
437         (ix86_expand_vector_move_misalign): New.
438         (ix86_misaligned_mem_ok): Remove.
439         (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
440         * config/i386/i386-protos.h: Update.
441         * config/i386/i386.md (SSEMODEI): Rename from SSEINT16.
442         (MMXMODEI): Rename from MMXINT8.
443         (SSEMODE, MMXMODE, movmisalign<mode>): New.
444
445 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
446
447         PR c++/16405
448         * gimplify.c (gimplify_modify_expr_rhs): Handle
449         INDIRECT_REF/ADDR_EXPR combinations.
450
451 2004-12-22  Richard Henderson  <rth@redhat.com>
452
453         * config/alpha/alpha.c (alpha_expand_mov): Split out ...
454         (alpha_expand_movmisalign): ... misaligned vector support.
455         (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
456         * config/alpha/alpha-protos.h: Update.
457         * config/alpha/alpha.md (VEC): New macro.
458         (movv8qi, movv4hi, movv2si): Compress with VEC.
459         (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise.
460         (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise.
461         (movmisalign<mode>): New.
462
463 2004-12-22  Richard Henderson  <rth@redhat.com>
464
465         * optabs.h (OTI_movmisalign, movmisalign_optab): New.
466         * optabs.c (init_optabs): Create it.
467         * genopinit.c (optabs): Initialize it.
468         * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it.
469         * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
470         * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
471         * target.h (vectorize.misaligned_mem_ok): Remove.
472         * targhooks.c (default_vect_misaligned_mem_ok): Remove.
473         * doc/md.texi (movmisalign): New.
474         * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
475
476 2004-12-22  Richard Henderson  <rth@redhat.com>
477
478         * config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg
479         to __v2si.
480         (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise.
481         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or
482         const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
483         __builtin_ia32_storehpd, __builtin_ia32_storelpd.
484         (ix86_expand_builtin): Update to match.
485         (ix86_expand_vector_init): Use sse2_loadlpd.
486         * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd.
487         (vec_extractv2df): Use sse2_storelpd, sse2_storehpd.
488         (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New.
489         (sse2_movhpd): Remove.
490
491 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
492
493         PR target/18751
494         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return
495         false for anything larger than 32 bits in 32-bit code.
496
497 2004-12-22  Richard Henderson  <rth@redhat.com>
498
499         * config/i386/i386.md (btsq, btrq, btcq): Fix modes.
500         (bt peepholes): Likewise.
501
502         * varasm.c (force_const_mem): Call set_mem_align.
503
504 2004-12-22  Richard Henderson  <rth@redhat.com>
505
506         * config/i386/predicates.md (sse_comparison_operator): Fix
507         typo in ieee test.
508         (arith_or_logical_operator): Downcase codes.
509
510 2004-12-23  Kaz Kojima  <kkojima@gcc.gnu.org>
511
512         PR target/18511
513         * reload1.c (emit_output_reload_insns): Check if OLD is a hard
514         register before calling regno_clobbered_p.
515         * reload.c: Update comment for regno_clobbered_p.
516
517 2004-12-22  Richard Henderson  <rth@redhat.com>
518
519         * config/i386/i386.c (override_options): Respect user disable of
520         fancy 387 math, sse, mmx.
521         (construct_container): Generate error if we need an sse regster
522         and sse has been disabled.
523         * config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
524         later sse generations.  Disabling mmx also disables 3dnow.
525
526 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
527
528         * tree-inline.c (struct inline_data): Remove inlined_fns.
529         (expand_call_inline): Remove dead code setting
530         inlined_fns.
531         (optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
532         * tree.h (struct tree_decl): Remove inlined_fns.
533
534 2004-12-22  Roger Sayle  <roger@eyesopen.com>
535
536         * tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
537
538 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
539
540         PR target/18896
541         * function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P
542         for real and imaginary parts if the parm is addressable.
543         (assign_parms_unsplit_complex): If parm addressable, save real
544         and imaginary parts to a stack temp.  Pass assign_parm_data_all.
545         (assign_parms): Adjust assign_parms_unsplit_complex call.
546
547 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
548
549         * tree.h (DECL_PTA_ALIASVAR): Dead.
550         (struct tree_decl): Remove alias_var field.
551
552 2004-12-22  Nathan Sidwell  <nathan@codesourcery.com>
553
554         * system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
555         * tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.
556
557 2004-12-22  Richard Henderson  <rth@redhat.com>
558             Uros Bizjak  <uros@kss-loka.si>
559
560         * config/i386/i386.md (truncdfsf2): Don't create stack temp when
561         using sse math only.  Use truncdfsf2_with_temp.
562         (truncdfsf2_with_temp): New.
563         (truncdfsf_fast_i387): Rename from truncdfsf2_noop.  Add memory
564         output alternative.
565         (truncdfsf_mixed): Rename from truncdfsf2_1_sse.  Compress duplicate
566         alternatives.
567         (truncdfsf_fast_sse): Rename from truncdfsf2_2.  Remove f alternative.
568         (truncdfsf2_3, truncdfsf2_sse_only): Remove.
569         (truncdfsf_i387): Rename from truncdfsf2_1.  Compress duplicates.
570         (truncdfsf_fast_mixed): New.
571         (truncdfsf splitters): Remove all except the 387 load/store split.
572         (truncxfsf2_1, truncxfdf2_1): Unify enable constraint with
573         respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and
574         TARGET_MIX_SSE_I387.
575         (*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed.
576         (truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop.
577         (*truncxf{s,d}f2_i387): New patterns.
578         (*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1.
579         (truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2,
580         rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2,
581         nearbyint{s,d}f2): Use renamed patterns.
582
583 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
584
585         * tree.h (TYPE_SIZES_GIMPLIFIED): New.
586         * function.c (gimplify_parm_type): Don't gimplify type if already done.
587         * gimplify.c (gimplify_decl_expr): Likewise.
588         (gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED.  Examine nested
589         array types.
590
591 2004-12-22  Richard Henderson  <rth@redhat.com>
592
593         * gimplify.c (eval_save_expr): Remove.
594         (gimplify_one_sizepos): Unshare expr before gimplifying.
595         * stor-layout.c (variable_size): Revert 2004-12-19 change.
596         (layout_decl): Revert 2004-12-18 change.
597         (layout_type): Revert 2004-12-21 change.
598
599 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
600
601         * tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
602
603 2004-12-22  Mark Mitchell  <mark@codesourcery.com>
604
605         * Makefile.in (install-common): Remove special-case code for when
606         SPECS is defined.
607
608 2004-12-22  Jan Beulich  <jbeulich@novell.com>
609
610         * config.gcc: Add dbxelf.h to NetWare's tm_file.
611         * config/i386/netware-crt0.c: Prototype __init_environment and
612         __deinit_environment prior to their definition.
613         (__init_environment): Correct invokation of constructor function.
614         * config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
615         builtin_define_std rather than builtin_define on IAPX386.
616         * config/i386/nwld.h: Disable stabs debugging info with the linker
617         this file supports.
618         * config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
619         the output. Add -posix to the options as that is the more compatible
620         mode.
621         * gthr-nks.h: Formatting.
622         (__gthread_mutex_init_function): Kill the dubious use of
623         NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
624         were not meant to be recursive.
625         (__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
626         __gthread_recursive_mutex_init_function,
627         __gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
628         __gthread_recursive_mutex_unlock): New.
629
630 2004-12-22  Alexandre Oliva  <aoliva@redhat.com>
631
632         * config/mips/t-linux64: Remove code that messed with $(SPECS).
633         (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move
634         n32 to the front.
635         (MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
636         Removed.
637         * config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle
638         -mabi-fake-default.
639         (SUBTARGET_TARGET_SWITCHES): Likewise.
640
641 2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
642
643         PR c++/18984
644         * pointer-set.c (pointer_set_contains): Add back.
645         * pointer-set.h (pointer_set_contains): Add back.
646
647 2004-12-21  Richard Henderson  <rth@redhat.com>
648
649         * gimplify.c (eval_save_expr): New.
650         (gimplify_one_sizepos): Use it.
651         * stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
652
653 2004-12-21  Nathan Sidwell  <nathan@codesourcery.com>
654
655         * system.c (IN_RANGE): Use plain unsigned, not unsigned
656         HOST_WIDE_INT.
657         * tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
658         VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
659         POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
660         FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
661         QUAL_UNION_TYPE): Reorder for better code efficiency.
662         (CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
663         (INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
664         * tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
665         (IS_EXPR_CODE_CLASS): Use IN_RANGE.
666         (INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
667         optimization.
668
669 2004-12-21  David O'Brien  <obrien@FreeBSD.org>
670
671         * config/freebsd-spec.h:  Use KSE pthread lib for -pthread.
672
673 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
674
675         PR c/18963
676         * c-decl.c (pushdecl): Remove block trying to merge static function
677         declarations at block scope to file scope declarations.
678
679 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
680
681         PR c/18596
682         * c-parse.in (initdcl): Don't process a declaration if start_decl fails.
683         (notype_initdcl):  Don't process a declaration if start_decl fails.
684         * c-decl.c (start_decl): Fail if grokdeclarator fails.
685         (grokdeclarator): Fail if a function definition has an invalid storage
686         class.
687         * c-typeck.c (start_init): Treat error_mark_node the same as 0.
688
689 2004-12-21  Richard Henderson  <rth@redhat.com>
690
691         * config/i386/i386.c (x86_sse_split_regs): Rename from
692         x86_sse_partial_regs.
693         * config/i386/i386.h (x86_sse_split_regs): Likewise.
694         (TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS.
695         * config/i386/i386.md (*): Update to match.  Remove two
696         floatsisf splitters that use it.
697
698         * config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove.
699
700         * config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
701         * config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove.
702         * config/i386/i386.md (truncdfsf2_1_sse): Don't test it.
703         (truncdfsf2_2, truncdfsf2_sse_only): Likewise.
704         (truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove.
705         (truncdfsf2_sse_only_nooverlap): Remove.
706
707         * config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.
708
709 2004-12-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
710
711         * expr.c (emit_group_load_1): Return the source if the move
712         is a regular move between complex values.
713
714 2004-12-20  Roger Sayle  <roger@eyesopen.com>
715
716         PR middle-end/18683
717         * config/rs6000/rs6000.c (current_file_function_operand): Only check
718         current_function_decl's DECL_RTL if it has already been set.
719
720 2004-12-20  Roger Sayle  <roger@eyesopen.com>
721
722         PR middle-end/18683
723         * function.c (pop_function_context_from): Don't reset reg_renumber.
724
725 2004-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
726
727         PR middle-end/18776
728         * expr.c (write_complex_part): Use a subreg if the original object
729         is a hard reg that spans an even number of regs or a MEM.
730         (read_complex_part): Likewise.
731
732 2004-12-20  Mark Mitchell  <mark@codesourcery.com>
733
734         * Makefile.in (install-common): Do not install the specs file
735         unless SPECS is defined.
736
737 2004-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
738
739         PR rtl-optimization/18942
740         * simplify-rtx.c (simplify_relational_operation_1): Simplify
741         x + cst1 == cst2 to x == cst2 - cst1.  Made static.
742
743 2004-12-20  Matt Austern  <austern@apple.com>
744
745         PR c++/19044
746         * c-common.c (set_builtin_user_assembler_name): New.
747         * c-common.h (set_builtin_user_assembler_name): Declare.
748         * c-decl.c (finish_decl): Use set_builtin_user_assembler_name
749
750 2004-12-20  Diego Novillo  <dnovillo@redhat.com>
751
752         PR tree-optimization/19080
753
754         Merge from tree-cleanup-branch
755
756         * tree-flow-inline.h (clear_call_clobbered): New function.
757         * tree-ssa-alias.c (init_alias_info): Call it.
758
759 2004-12-20  Richard Henderson  <rth@redhat.com>
760
761         * config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok
762         check.
763
764 2004-12-20  Steven Bosscher  <stevenb@suse.de>
765             Andrew Pinski  <pinskia@physics.uc.edu>
766
767         PR middle-end/18191
768         PR middle-end/18965
769         PR middle-end/18999
770         * expr.c (categorize_ctor_elements_1): Count the total number
771         of elements in the constructor.
772         (categorize_ctor_elements): Return it in a new argument.
773         * tree.h (categorize_ctor_elements): Adjust prototype.
774         * gimplify.c (gimplify_init_ctor_eval_range): New.
775         (gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
776         (gimplify_init_constructor): Block clear the object if the
777         constructor has fewer elements than the object type.  Only try
778         to add assignments to individual elements when we have to.
779
780 2004-12-20  Richard Henderson  <rth@redhat.com>
781
782         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
783         long_long_integer_type_node in building V2DI_type_node.
784
785         * config/i386/emmintrin.h: Use __vector_size__ instead of vector_size.
786         * config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise.
787
788 2004-12-20  Ben Elliston  <bje@au.ibm.com>
789
790         * doc/md.texi (Expander Definitions): Use @emph instead of @strong
791         around Note: text to workaround a limitation of the Info format.
792         * doc/cpp.texi (Invocation): Likewise.
793         * doc/cppopts.texi: Likewise.
794
795 2004-12-19  Dale Johannesen  <dalej@apple.com>
796
797         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p):  Don't
798         reference operand 1 of ADDR_EXPRs.
799
800 2004-12-19  Mark Mitchell  <mark@codesourcery.com>
801
802         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
803         * output.h (assemble_name_raw): Declare it.
804         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it.
805         * varasm.c (assemble_name_raw): New function.
806         (assemble_name): Use it.
807         (default_internal_label): Likewise.
808         * config/darwin.c (darwin_asm_output_dwarf_delta): Likewise.
809         * doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document.
810
811 2004-12-19  Richard Henderson  <rth@redhat.com>
812
813         PR 18067
814         * stor-layout.c (variable_size): Force creation of a SAVE_EXPR.
815
816 2003-12-19  Steven Bosscher  <stevenb@suse.de>
817
818         * config/i386/i386.c (ix86_split_to_parts): Use an array with
819         four elements for decoding a CONST_DOUBLE on 64 bits targets.
820
821 2004-12-19  Bernardo Innocenti  <bernie@develer.com>
822
823         * config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant
824         definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS.
825
826 2004-12-18  Daniel Berlin  <dberlin@dberlin.org>
827
828         * lambda-code.c (can_convert_to_perfect_nest): Make checking
829         match up with what perfect_nestify can actually handle.
830         (perfect_nestify): Don't return false in the phi node loop.
831
832 2004-12-18  Richard Henderson  <rth@redhat.com>
833
834         * config/i386/i386.md (SSEINT16): New.
835         (movv16qi, movv8hi, movv4si, movv2di): Compress via macros.
836         (movv16qi_internal, movv8hi_internal, movv4si_internal,
837         movv2di_internal): Compress via macros.  Add SSE zero alternative.
838         Fix pure SSE alternatives to use 'x' instead of 'Y'.
839         (MMXINT8): New.
840         (movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal,
841         movv2si_internal): Compress via macros.
842         (SSEPUSH, MMXPUSH): New.
843         (pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df,
844         pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros.
845
846 2004-12-18  Richard Henderson  <rth@redhat.com>
847
848         PR middle-end/16417
849         * c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
850         comment.
851         * c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
852         checks.
853         * c-tree.h (struct lang_decl): Remove pending_sizes.
854         * function.c: Include tree-gimple.h
855         (assign_parm_setup_reg): Remove callee-copies code.
856         (gimplify_parm_type, gimplify_parameters): New functions.
857         (expand_pending_sizes): Remove.
858         (expand_function_start): Don't call it.
859         * gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
860         (gimplify_body): Add do_parms argument.  Use gimplify_parameters.
861         (gimplify_function_tree): Setup cfun.  Update gimplify_body call.
862         * tree-gimple.h (gimplify_body): Update decl.
863         * tree-inline.c (initialize_inlined_parameters): Update gimplify_body
864         call.
865         * tree.h (gimplify_parameters): Declare.
866         * Makefile.in (function.o): Depend on TREE_GIMPLE_H.
867
868 2004-12-18  Richard Henderson  <rth@redhat.com>
869
870         * c-decl.c (finish_struct): Add DECL_EXPR for variable sized
871         structures seen inside functions.
872
873 2004-12-18  Richard Henderson  <rth@redhat.com>
874
875         * c-decl.c (grokdeclarator): Save variable array size before
876         subtracting 1, rather than after.
877
878 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
879
880         PR middle-end/15486
881         * varasm.c (asm_emit_uninitialised): Return early if
882         a custom section is requested.
883         (assemble_variable): Revert 2002-03-15 patch.
884
885 2004-12-18  Richard Henderson  <rth@redhat.com>
886
887         * stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr.
888
889 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
890
891         PR tree-optimization/18800
892         * params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
893         * tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
894         (ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
895         (iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
896         (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
897         New functions.
898         (iv_ca_extend): Return number of candidates in the set.
899         (try_add_cand_for): Add argument to iv_ca_extend calls.
900         (try_improve_iv_set): Use iv_ca_prune.
901         * doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
902
903 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
904
905         PR rtl-optimization/19001
906         * loop-iv.c (iv_number_of_iterations): Record assumptions for loops
907         with power of two step to 'infinite' field.
908
909 2004-12-18  Roger Sayle  <roger@eyesopen.com>
910
911         * Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
912         (tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h.
913         (tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h.
914         (tree-mudflap.o): Depend upon gt-tree-mudflap.h.
915         (expr.o): Depend upon gt-expr.h.
916         (regclass.o): Depend upon gt-regclass.h.
917         (bitmap.o): Depend upon gt-bitmap.h.
918         (lists.o): Depend upon gt-lists.h.
919
920         (cfgexpand.o): Don't depend upon gt-tree-cfg.h.
921
922         (GTFILES): Remove fold-const.c.
923         (gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h):
924         Remove rules.
925
926 2004-12-18  Richard Henderson  <rth@redhat.com>
927
928         * stor-layout.c (layout_decl): Unshare size expressions copied
929         from the type.
930
931         * fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when
932         BOTTOM is a power of two.
933
934 2004-12-18  Richard Henderson  <rth@redhat.com>
935
936         * tree-nested.c (save_tmp_var): New.
937         (struct walk_stmt_info): Add is_lhs.
938         (walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of
939         val_only; set is_lhs.
940         (convert_nonlocal_reference): Use save_tmp_var when is_lhs;
941         clear is_lhs when appropriate.
942         (convert_local_reference): Likewise.
943
944 2004-12-18  Richard Earnshaw  <rearnsha@arm.com>
945
946         * arm/ieee754-sf.S (floatdisf): Fix label definition in FPA
947         compatibility code.
948
949 2004-12-18  Roger Sayle  <roger@eyesopen.com>
950
951         * ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
952         Take a max_cost argument to avoid scanning large blocks, by returning
953         a Boolean instead of a total.  Include the cost of a "fstp %st(0)"
954         instruction required to pop dead values off of a register stack.
955
956 2004-12-18  Roger Sayle  <roger@eyesopen.com>
957
958         PR middle-end/18548
959         * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
960         and op1 are all registers (or constants) before expanding the RTL
961         comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
962
963 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
964
965         PR rtl-optimization/16968
966         * loop.c (scan_loop): Stop scanning the loop for movable
967         insns as soon as an optimization barrier is encountered.
968
969 2004-12-17  Zack Weinberg  <zack@codesourcery.com>
970
971         PR 18897
972         * toplev.c (compile_file): Call process_pending_assemble_externals
973         just before targetm.asm_out.file_end.
974
975 2004-12-17  Diego Novillo  <dnovillo@redhat.com>
976
977         tree-optimization/18501
978         * tree-optimize.c (init_tree_optimization_passes): Run
979         pass_late_warn_uninitialized before the last DCE run.
980
981 2004-12-17  Richard Henderson  <rth@redhat.com>
982
983         * config/i386/i386.c (x86_64_reg_class_name): Re-indent.
984         (classify_argument, examine_argument, construct_container,
985         merge_classes): Remove prototypes.
986         (type_natural_mode): Split out from ...
987         (function_arg): ... here.
988         (gen_reg_or_parallel): Remove alt_mode argument.  Update callers.
989         Use orig_mode unless it's BLKmode.
990         (construct_container): Add orig_mode argument.  Update callers.
991         Use gen_reg_or_parallel for SSE registers.
992         (ix86_function_value): Use type_natural_mode.
993         (ix86_gimplify_va_arg): Likewise.
994         (ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in
995         SSE registers; always accept all MMX, 3DNOW modes in MMX registers.
996         * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
997         VALID_MMX_REG_MODE.
998         * config/i386/i386.md (attribute mode): Add V1DF.
999         (movsi_1): Use 'x' instead of 'Y' constraints.
1000         (movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise.
1001         (movdi_1_rex64_nointerunit): Likewise.
1002         (movdf_nointeger, movdf_integer): Likewise.  Handle SSE1.
1003         (movsf_1, movsf_1_nointerunit): Line up constraint alternatives.
1004         (swapsf): Use fp_register_operand, don't disable for TARGET_SSE.
1005         (swapdf): Likewise.
1006         (swapxf): Enable only for TARGET_80387.
1007         (movv2sf, movv2sf_internal, pushv2sf): Enable for MMX.
1008         (movtf): Remove double-check for TARGET_64BIT.
1009         (movv2df_internal): Enable for SSE1.
1010         (movv8hi_internal, movv16qi_internal): Likewise.
1011         (movv2df, movv8hi, movv16qi): Likewise.
1012         (pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise.
1013         (pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal,
1014         movv8qi_internal, movv4hi_internal, movv2sf_internal,
1015         movv2df_internal, movv8hi_internal, movv16qi_internal,
1016         movti_internal): Add leading '*' to name.
1017
1018 2004-12-17  Dale Johannesen  <dalej@apple.com>
1019
1020         * c-decl.c (diagnose_mismatched_decls):  Accept mismatched
1021         function types: void with previous implicit int.
1022
1023 2004-12-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1024
1025         * config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
1026         s390_sr_alias_set.
1027
1028 2004-12-17  Jan Beulich  <jbeulich@novell.com>
1029
1030         PR target/17603
1031         * config/i386/i386.c (enum x86_64_reg_class): Define
1032         X86_64_COMPLEX_X87_CLASS.
1033         (x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
1034         (merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
1035         (classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
1036         (examine_argument): X86_64_COMPLEX_X87_CLASS requires two
1037         registers when dealing with a return value.
1038         (construct_container): Handle X86_64_COMPLEX_X87_CLASS.
1039         Eliminate impossible case of two X87/X87UP pairs (this now is
1040         being expressed by a single COMPLEX_X87).
1041         (x86_libcall_value): XCmode gets returned in st0/st1.
1042
1043 2004-12-17  Steven Bosscher  <stevenb@suse.de>
1044
1045         * tree.c (type_contains_placeholder_1): Always return false
1046         for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
1047
1048 2004-12-17  Uros Bizjak  <uros@kss-loka.si>
1049
1050         * config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
1051         *extendsfdf2_1_sse_only): Unify enable constraint with
1052         respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
1053         and TARGET_MIX_SSE_I387.
1054         (*extendsfdf2_i387): New insn pattern.
1055         (*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
1056         register constraint for operand 0.
1057         (*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
1058         (*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
1059
1060 2004-12-16  Andrew Pinski  <pinskia@physics.uc.edu>
1061
1062         PR target/19041
1063         * config/darwin.c (machopic_symbol_defined_p): Return false
1064         if the binds local and is a common symbol.
1065
1066 2004-12-16  Richard Henderson  <rth@redhat.com>
1067
1068         * config/i386/i386.md (extv, extzv, insv): Revalidate the
1069         operand with ext_register_operand.
1070
1071 2004-12-16  Kazu Hirata  <kazu@cs.umass.edu>
1072
1073         * global.c: Fix a comment typo.
1074
1075 2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
1076             Roger Sayle  <roger@eyesopen.com>
1077
1078         PR tree-optimization/18707
1079         * cfgloopmanip.c (create_preheader): Move the preheader
1080         only if the latch was falling through to the header.
1081
1082 2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
1083
1084         PR target/18997
1085         * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
1086
1087 2004-12-16  Richard Henderson  <rth@redhat.com>
1088             Aldy Hernandez  <aldyh@redhat.com>
1089
1090         * simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
1091         hard registers.
1092
1093 2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
1094
1095         PR other/18508
1096         * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
1097         to back up the existing shared library.
1098         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1099         * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1100         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1101         * config/sh/t-linux (SHLIB_LINK): Likewise.
1102         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1103         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1104         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1105         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1106
1107         * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
1108         file.
1109
1110 2004-12-16  Richard Henderson  <rth@redhat.com>
1111
1112         * Makefile.in (MD_DEPS, s-mddeps): New.
1113         (s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
1114         s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
1115         s-preds): Depend on MD_DEPS instead of md_file.
1116         (genobjnames): Add genmddeps.o
1117         (build/genmddeps, build/genmddeps.o): New.
1118         (mostlyclean): Remove mddeps.mk.
1119         * genmddeps.c: New file.
1120         * gensupport.c (include_callback): New.
1121         (process_include): Call it.
1122         * gensupport.h (include_callback): Declare.
1123
1124 2004-12-16  Nathan Sidwell  <nathan@codesourcery.com>
1125
1126         * local-alloc.c (block_alloc): Replace IN_RANGE with simple
1127         comparison.
1128
1129         * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
1130
1131 2004-12-16  Mark Dettinger  <dettinge@de.ibm.com>
1132
1133         * config/s390/s390.c (struct processor_costs): Two new fields:
1134         madbr, maebr.
1135         (s390_rtx_costs): Added handling of multipy and add in SFmode.
1136         More precise values for cost of multiply and add.
1137
1138 2004-12-15  Richard Henderson  <rth@redhat.com>
1139
1140         PR target/19028
1141         * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
1142         explicitly instead of using VALID_SSE_REG_MODE.
1143
1144 2004-12-15  Richard Henderson  <rth@redhat.com>
1145
1146         PR target/19005
1147         * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
1148         optimize_size.
1149         (swapqi_1): Rename from swapqi.  Enable only for no partial reg
1150         stall and optimize_size.
1151         (swapqi_2): New.
1152         (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
1153         (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
1154
1155 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1156
1157         * config/i386/i386.md (*floathisf2_i387, *floathidf2_i387):
1158         Also enable for TARGET_MIX_SSE_I387.
1159
1160 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1161
1162         * config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only,
1163         sqrt{s,d}f2_i387): Unify enable constraint with respect to
1164         TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387,
1165         TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1166         (sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed.
1167         (sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse.
1168         (sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387.
1169         (*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387.
1170         (*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387.
1171
1172 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
1173
1174         * config/i386/i386.md (*fop_?f_comm_{,sse,nosse},
1175         *fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable
1176         constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2,
1177         TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1178         (*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed.
1179         (*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387.
1180         (*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387.
1181
1182 2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
1183
1184         PR target/18153
1185         * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
1186         -Bstatic/-Bdynamic option.
1187         * config.in: Regenerated.
1188         * configure: Likewise.
1189
1190         * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
1191         -lunwind if possible.
1192
1193 2004-12-15  Daniel Berlin  <dberlin@dberlin.org>
1194
1195         * cfgloop.c (flow_loops_dump): Don't print out levels.
1196         (flow_loops_find): Don't set loop->levels.
1197         (flow_loops_level_compute): Make void.
1198         * cfgloop.h (struct loops): Remove levels member.
1199         Add comment about loops in parray possibly being NULL.
1200
1201 2004-12-15  Alexandre Oliva  <aoliva@redhat.com>
1202
1203         * reload.c (SMALL_REGISTER_CLASS_P): New.
1204         (push_secondary_reload, find_reusable_reload, find_reloads): Use
1205         it instead of testing only the class size.
1206
1207 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1208
1209         PR c++/17972
1210         * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
1211         on the STMT_EXPR wrapping up the inlined body.
1212
1213 2004-12-15  Vladimir Makarov  <vmakarov@redhat.com>
1214             Steven Bosscher  <stevenb@suse.de>
1215         PR middle end/17340
1216
1217         * global.c: Update comments in a few places.
1218         (check_earlyclobber): Return true if there are early clobber
1219         classes.
1220         (calculate_local_reg_bb_info): Do not try to mark earlyclobber
1221         regs if there are none.
1222         (bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
1223         make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
1224         live_pavout.
1225         (modify_bb_reg_pav): Remove.
1226         (calculate_reg_pav): Use code from modify_bb_reg_pav.
1227         (temp_bitmap): New variable.
1228         (calculate_reg_pav): Allocate/deallocate temp_bitmap.
1229
1230 2004-12-15  Richard Henderson  <rth@redhat.com>
1231
1232         PR target/19010
1233         * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
1234         for TImode vectors.
1235         (gen_reg_or_parallel): New.
1236         (function_arg): Use it.
1237         (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
1238         MMX and 3DNOW separately.
1239         (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
1240         (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
1241         * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
1242         (VALID_SSE_REG_MODE): ... here.
1243
1244 2004-12-15  David Edelsohn  <edelsohn@gnu.org>
1245
1246         * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
1247
1248 2004-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
1249
1250         * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
1251         COMPARE of MULT.
1252         * config/arm/arm.md (mulsi3_compare0): Don't check
1253         arm_arch_xscale.
1254         (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
1255         (mulsi3addsi_compare0_scratch): Likewise.
1256
1257 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1258
1259         PR other/18665
1260         * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
1261         Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
1262         * libgcc2.c (__addvsi3): Rename to __addvSI3.
1263         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1264         (__addvdi3): Rename to __addvDI3.
1265         (__subvsi3): Rename to __subvSI3.  Use word type for the result.
1266         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1267         (__subvdi3): Rename to __subvDI3.
1268         (_mulvsi3): Rename to _mulvSI3.
1269         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1270         (_mulvdi3): Rename to _mulvDI3.
1271         (__negvsi2): Rename to __negvSI2.
1272         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1273         (__negvdi2): Rename to __negvDI2.
1274         (__absvsi2): Rename to __absvSI2.
1275         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1276         (__absvdi2): Rename to __absvDI2.
1277         * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1278         (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
1279         __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
1280         symbol and declare.
1281         (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
1282         COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1283
1284 2004-12-15  Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
1285
1286         * config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
1287         Use DWARF2_DEBUG.
1288
1289         * config/m32r.c (m32r_legitimize_pic_address): Changed
1290         to support GOTOFF relocation.
1291         * config/m32r.md (UNSPEC_GOTOFF): New.
1292         (gotoff_load_addr): New.
1293
1294 2004-12-15  Richard Sandiford  <rsandifo@redhat.com>
1295
1296         * config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
1297         decide whether an argument is double-word aligned.
1298
1299 2004-12-15  Richard Henderson  <rth@redhat.com>
1300
1301         * config/i386/i386.md: Fix missing modes on cmove splitters.
1302
1303 2004-12-15 Jan Beulich  <jbeulich@novell.com>
1304
1305         * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
1306
1307 2004-12-15  Uros Bizjak  <uros@kss-loka.si>
1308
1309         * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
1310         *floatsisf2_i387, *floatsisf2_sse, floatdisf2,
1311         *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
1312         floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
1313         floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
1314         *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
1315         Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
1316         TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
1317         (*float?i?f_i387): Rename to *float?i?f2_mixed.
1318         (*float?i?f2_1): Rename to *float?i?f2_i387.
1319         (*float?i?f2_i387_only): Rename to *float?i?f2_i387.
1320         (float?ixf2): Penalize integer register operand.
1321
1322 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1323
1324         PR c++/17242
1325         * configure.ac: Add GAS check for HP-UX .nsubspa comdat.
1326         * configure, config.in: Rebuilt.
1327         * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
1328         defines.
1329         * config/pa/pa.c (pa_select_section): Allow uninitialized variables in
1330         one-only (comdat) subspaces.
1331         * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
1332         (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
1333         true.
1334         (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
1335
1336 2004-12-14  Ian Lance Taylor  <ian@wasabisystems.com>
1337
1338         * combine.c (combine_validate_cost): Consider cost of
1339         undobuf.other_insn rather than always allowing the recombination
1340         if it is set.
1341
1342 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1343
1344         * pa-host.c (MAP_FAILED): Define if not defined.
1345         (pa_gt_pch_use_address): Handle short reads.
1346
1347 2004-12-14  Richard Henderson  <rth@redhat.com>
1348
1349         PR target/17990
1350         * config/i386/i386.c (x86_use_bt): New.
1351         (ix86_expand_unary_operator): Use MEM_P.
1352         (ix86_expand_fp_absneg_operator): New.
1353         * config/i386/i386.h (x86_use_bt): Declare.
1354         (TARGET_USE_BT): New.
1355         * config/i386/i386-protos.h: Update.
1356         * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
1357         (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
1358         (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
1359         negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
1360         abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
1361         absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
1362         (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
1363         absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
1364         neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
1365         (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
1366         (btsq, btrq, btcq): New.  Add peepholes as well.
1367         (movv4sf_internal splitter): Postpone til after reload.
1368         (movv2di_internal splitter): Likewise.
1369         * config/i386/predicates.md (const_0_to_63_operand): New.
1370         (absneg_operator): New.
1371
1372 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1373
1374         * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
1375         Check register number and that reg_renumber is nonzero before using it.
1376
1377 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1378
1379         * doc/invoke.texi (IA-64 options): Add existing options that
1380         weren't already listed.
1381
1382 2004-12-14  Jeff Law  <law@redhat.com>
1383
1384         * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
1385         partition to conflict_graph_merge_regs.
1386
1387 2004-12-14  Uttam Pawar  <uttamp@us.ibm.com>
1388             Janis Johnson  <janis187@us.ibm.com>
1389
1390         * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
1391         for vector types with invalid component types.
1392
1393 2004-12-14  Jakub Jelinek  <jakub@redhat.com>
1394
1395         PR middle-end/18951
1396         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
1397         expand_builtin_mathfn_3): Avoid using arguments passed to
1398         save_expr after that call.
1399
1400         * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
1401         LOAD_EXTEND_OP is not defined.
1402         (fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.
1403
1404 2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1405
1406         * tree.def, doc/c-tree.texi: Correctly document restrictions on the
1407         shift width.
1408
1409 2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
1410
1411         * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
1412
1413 2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
1414
1415         PR target/18973
1416         arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
1417         (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
1418         property to flags.
1419
1420 2004-12-14  Diego Novillo  <dnovillo@redhat.com>
1421
1422         * tree-gimple.c (get_base_address): Update documentation.
1423
1424 2004-12-13  Richard Henderson  <rth@redhat.com>
1425
1426         PR middle-end/17930
1427         * passes.c (rest_of_clean_state): Fix computation of
1428         preferred_incoming_stack_boundary.
1429
1430 2004-12-13  Wolfgang Bangerth <bangerth@dealii.org>
1431
1432         * reload.h: Remove struct needs and its only use.
1433
1434 2004-12-13  Roger Sayle  <roger@eyesopen.com>
1435
1436         PR rtl-optimization/18928
1437         * simplify_rtx.c (plus_minus_operand_p): New function to encode
1438         the test for suitable operands for calls to simplify_plus_minus.
1439         Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
1440         (simplify_binary_operation): Use plus_minus_operand_p.
1441
1442 2004-12-13  Alexandre Oliva  <aoliva@redhat.com>
1443
1444         PR tree-opt/16951
1445         * tree-inline.c (setup_one_parameter): Don't directly map a
1446         parameter to the address of another variable of the same
1447         function.
1448
1449 2004-13-12  Steven Bosscher  <stevenb@suse.de>
1450
1451         * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
1452         can never create autoinc insns after reload.
1453
1454 2004-12-13  Jeff Law  <law@redhat.com>
1455             Kazu Hirata  <kazu@cs.umass.edu>
1456
1457         PR tree-optimization/18694
1458         * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
1459         PHI argument is set from a PHI_RESULT in the same block and the
1460         PHI argument is not the same as the PHI result.
1461
1462 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
1463
1464         * xcoffout.c (xcoffout_declare_function): Always strip storage
1465         class encoding.
1466
1467 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
1468
1469         PR target/18964
1470         * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
1471         problem, adding a space at the end of the string before concatenation.
1472
1473 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
1474
1475         * c-common.c (fname_as_string): Free namep if we are returning
1476         cstr.text.
1477
1478         * tree-ssa-dom.c (record_edge_info): Fix memory leak.
1479
1480 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
1481
1482         * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
1483
1484 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
1485
1486         * tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
1487         doing a pointer comparison.
1488
1489         * tree-ssa-dom.c (record_equivalences_from_phis): Add a
1490         comment.
1491
1492         * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
1493         typos.
1494
1495 2004-12-13  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1496
1497         * config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
1498         the list rather than replacing the existing value.
1499
1500 2004-12-13  Richard Henderson  <rth@redhat.com>
1501
1502         * cfg.c (dump_flow_info): Don't dump pseudo info after reload.
1503
1504 2004-12-13  Richard Henderson  <rth@redhat.com>
1505
1506         * Makefile.in (insn-preds.o): Depend on REGS_H.
1507         * genpreds.c (write_insn_preds_c): Include regs.h.
1508         * config/i386/predicates.md (index_register_operand): Use
1509         REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
1510
1511         * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
1512         * config/i386/i386.md (lea_general_1, lea_general_1_zext,
1513         lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
1514         adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
1515         ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
1516         ashlqi3_1_lea): Use 'l' for index register operand.
1517         (ashldi3_1_rex64 splitter): Use index_register_operand.
1518         (ashlsi3_1 splitter): Be more careful with modes.
1519
1520 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
1521
1522         PR target/18459
1523         * defaults.h (TARGET_USE_JCR_SECTION): New macro.
1524         * doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
1525         * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
1526         default.
1527
1528 2004-12-13 Uros Bizjak <uros@kss-loka.si>
1529
1530         PR target/14941
1531         PR target/18503
1532         * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
1533         Fix wrong vec_merge selector bitmask.
1534
1535 2004-12-12  Richard Henderson  <rth@redhat.com>
1536
1537         PR rtl-opt/17186
1538         * reg-stack.c (move_nan_for_stack_reg): New.
1539         (subst_stack_regs_pat): Use it.
1540         (move_for_stack_reg): Handle source register not live with a nan.
1541
1542 2004-12-12  Richard Henderson  <rth@redhat.com>
1543
1544         * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
1545         errors across operations.
1546
1547 2004-12-12  Di-an Jan  <dianj@freeshell.org>
1548
1549         * doc/passes.texi (Pass Manager): Correct list of source files.
1550
1551 2004-12-12  Richard Henderson  <rth@redhat.com>
1552
1553         * expr.c (emit_move_change_mode): New.
1554         (emit_move_via_alt_mode): Use it.
1555
1556 2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1557             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1558
1559         PR middle-end/17564
1560         * dojump.c (do_compare_and_jump): Only canonicalize function pointers
1561         in a comparison if both sides are function pointers.
1562
1563 2004-12-12  Richard Henderson  <rth@redhat.com>
1564
1565         PR target/18932
1566         * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
1567         and compare_operator to propagate the input CC mode to the output.
1568         * config/i386/predicates.md (compare_operator): New.
1569
1570 2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
1571
1572         PR tree-opt/18040
1573         * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
1574         CONVERT_EXPR cases.
1575         (handled_component_p): Likewise.
1576
1577 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1578
1579         * reg-stack.c (convert_regs_2): Free stack.
1580
1581         * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
1582         comment typos.
1583
1584 2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
1585
1586         * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
1587         * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
1588         inner loop.
1589
1590 2004-12-12  Diego Novillo  <dnovillo@redhat.com>
1591
1592         * tree-gimple.c (get_base_address): Update documentation.
1593
1594 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1595
1596         * lcm.c (optimize_mode_switching): Free ptr even when mode_set
1597         is NULL_RTX.
1598
1599 2004-12-12  Roger Sayle  <roger@eyesopen.com>
1600
1601         * reg-stack.c (change_stack): Avoid placing the new top-of-stack in
1602         its correct location during popping if we need to permute the stack
1603         afterwards.  Attempt to preserve the original stack ordering.
1604
1605 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
1606
1607         * lcm.c (optimize_mode_switching): Free insert and delete in
1608         the "for" loop.
1609
1610 2004-12-11  David Edelsohn  <edelsohn@gnu.org>
1611             Ulrich Weigand  <uweigand@de.ibm.com>
1612
1613         PR target/18641
1614         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
1615         constants into all register classes intersecting with FLOAT_REGS
1616         via memory.
1617         * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
1618         * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
1619         choosing register preferences.
1620         (movdi_internal64): Same.
1621
1622 2004-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1623
1624         * tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
1625         before we release an SSA_NAME.
1626
1627 2004-12-11  Roger Sayle  <roger@eyesopen.com>
1628
1629         PR middle-end/18921
1630         * fold-const.c (fold_unwidened_comparison): Use omit_one_operand
1631         instead of constant_boolean_node as arg0 may have side-effects.
1632
1633 2004-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1634
1635         * pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
1636         file to anonymous private map.
1637
1638 2004-12-10  Roger Sayle  <roger@eyesopen.com>
1639
1640         PR target/18002
1641         PR middle-end/18424
1642         * dojump.c (do_jump): When attempting to reverse the effects of
1643         fold_single_bit_test, we need to STRIP_NOPS and narrowing type
1644         conversions, and handle BIT_XOR_EXPR that's used to invert the
1645         sense of the single bit test.
1646
1647 2004-12-10  Devang Patel  <dpatel@apple.com>
1648
1649         PR 18732
1650         * gcc.c (main): Do not break out of loop when error is reported while
1651         processing one source file.
1652
1653 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
1654
1655         * tree-into-ssa.c (REWRITE_THIS_STMT): Define.
1656         (mark_def_sites): Clear REWRITE_THIS_STMT for statements that
1657         don't need any operands rewritten.
1658         (rewrite_stmt): Ignore statements that don't need to be
1659         rewritten.
1660         (rewrite_operand): Validate that an existing SSA_NAME is
1661         identical to the current reaching definition of the operand.
1662
1663 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
1664
1665         * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
1666         * tree-vectorizer.c (vectorizable_load): Call it.
1667         * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
1668         * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
1669
1670 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1671
1672         * regmove.c (combine_stack_adjustments_for_block): Free
1673         memlist if it hasn't been freed.
1674
1675 2004-12-10  Ziemowit Laski  <zlaski@apple.com>
1676
1677         * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
1678         pointer field is set before dereferencing it.
1679
1680 2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>
1681
1682         PR middle-end/18903
1683         * tree-cfg.c (remove_bb): Put the moved label at the beginning
1684         of the basic block.
1685
1686 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1687
1688         * tree-data-ref.c (free_data_refs): Free each data_reference
1689         object.
1690
1691         * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
1692         call to is_gimple_min_invariant if we know the result.
1693
1694 2004-12-10  Jeff Law  <law@redhat.com>
1695
1696         * tree-ssa-alias.c (setup_pointers_and_addressables): Remove
1697         redundant test of v_ann->mem_tag_kind.
1698
1699         * tree-ssa-operands.c (get_indirect_ref_operands): Remove
1700         redundant conditional clearing opf_kill_def.
1701
1702 2004-12-10  Richard Sandiford  <rsandifo@redhat.com>
1703
1704         * config/frv/frv-modes.def: Fix comment typos.
1705         (CC_NZ): Define new mode.
1706         * config/frv/frv-protos.h (frv_select_cc_mode): Declare.
1707         (condexec_intop_cmp_operator): Delete.
1708         * config/frv/frv.c (comparison_string): New function.
1709         (frv_print_operand): Use it to handle 'c' and 'C'.
1710         (relational_operator): Redefine in terms of integer_relational_operator
1711         and float_relational_operator.
1712         (signed_relational_operator, unsigned_relational_operator): Delete.
1713         (integer_relational_operator): New predicate, combining the above.
1714         Check the mode of the first operand but leave frv.md to check the rest.
1715         (float_relational_operator): Just check the mode of the first operand
1716         and leave frv.md to check the rest.
1717         (intop_compare_operator): Assume the result is compared with zero
1718         in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
1719         the operand predicates.
1720         (condexec_intop_cmp_operator): Delete.
1721         (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
1722         (frv_hard_regno_mode_ok): Handle CC_NZmode.
1723         (frv_select_cc_mode): New function.
1724         * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
1725         (REVERSIBLE_CC_MODE): Include CC_NZmode.
1726         (PREDICATE_CODES): Replace entries for signed_relational_operand and
1727         unsigned_relational_operator with one for integer_relational_operator.
1728         Delete entry for condexec_intop_cmp_operator.
1729         * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
1730         (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
1731         (*combo_intop_compare2, *combo_intop_compare4): Delete.
1732         (*combo_intop_compare1): Change mode to CC_NZ.
1733         (*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
1734         (branch_{un,}signed_true, branch_{un,}signed_false)
1735         (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
1736         (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
1737         (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
1738         (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
1739         (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
1740         (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
1741         pattern pairs.  Use integer_relational_operator.  Remove mode from
1742         icc_operand.
1743
1744 2004-12-10  Mark Dettinger  <dettinge@de.ibm.com>
1745
1746         * config/s390/s390.c (struct processor_costs): New fields ml,
1747         sqdbr, sqebr.
1748         (s390_rtx_costs): Added the missing handling of multiply & add,
1749         square root, and umulsidi.
1750
1751 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
1752
1753         * expmed.c (synth_mult): Initialize new_limit.latency before
1754         making a recursive call.
1755
1756 2004-12-10  Nick Clifton  <nickc@redhat.com>
1757
1758         * config/mn10300/mn10300.c (legitimate_address_p): Reject address
1759         whose index is itself the sum of two other parts.
1760
1761 2004-12-10  Alan Modra  <amodra@bigpond.net.au>
1762
1763         * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
1764
1765 2004-12-10  Uros Bizjak  <uros@kss-loka.si>
1766
1767         * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
1768
1769 2004-12-09  Richard Henderson  <rth@redhat.com>
1770
1771         PR c/18282
1772         * attribs.c (decl_attributes): Use relayout_decl.
1773         * c-common.c (handle_mode_attribute): Copy all relevant type
1774         parameters from the new underlying integral type.
1775
1776 2004-12-09  Richard Henderson  <rth@redhat.com>
1777
1778         * c-common.c (shorten_compare): Don't special-case min/maxval
1779         for C enumerations.
1780
1781 2004-12-09  Richard Sandiford  <rsandifo@redhat.com>
1782
1783         * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
1784         the request subreg is entirely contained in the requested component.
1785         (simplify_gen_subreg): Return null for CONCATs that are rejected
1786         by simplify_subreg.
1787         * expmed.c (store_bit_field): Create a temporary when changing the
1788         value to an integer mode.
1789
1790 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
1791
1792         * real.c (ibm_extended): Correct comment.
1793
1794 2004-12-09  Stan Shebs  <shebs@apple.com>
1795
1796         * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
1797         formerly in darwin-tramp.asm.
1798         * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
1799         * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
1800         * config/rs6000/t-darwin: Add dependencies.
1801
1802 2004-12-09  Richard Henderson  <rth@redhat.com>
1803
1804         PR target/17025
1805         * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
1806         (test_qi_1, andqi_2): Do not promote to simode.
1807
1808 2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>
1809
1810         PR tree-opt/18904
1811         * tree-chrec.c (chrec_convert): Use fold_convert
1812         instead of convert.
1813
1814 2004-12-09  Matt Rice  <ratmice@yahoo.com>
1815
1816         PR preprocessor/18102
1817         * c-incpath.c (remove_duplicates): Check for construct
1818         equality.
1819
1820 2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>
1821
1822         * genopinit.c (vec_realign_store_optab): Initialization removed.
1823         * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
1824         * optabs.h (optab_index): OTI_vec_realign_store Removed.
1825         (vec_realign_store_optab): Removed.
1826         * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
1827         * target.h (builtin_mask_for_store): Removed.
1828         * tree.def (REALIGN_STORE_EXPR): Removed.
1829         * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
1830         (altivec_builtin_mask_for_store): Removed.
1831         (altivec_init_builtins): Removed initialization of
1832         altivec_builtin_mask_for_store.
1833
1834         * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
1835         (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
1836
1837 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1838
1839         * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
1840
1841         * tree.def (SET_TYPE): Remove.
1842         (CONSTRUCTOR): Update description.
1843         * builtins.c (type_to_class) Remove SET_TYPE case.
1844         * dbxout.c (dbxout_type): Likewise.
1845         * dwarf2out.c (is_base_type): Likewise.
1846         (gen_set_type_die): Remove.
1847         (gen_type_die): Remove SET_TYPE case.
1848         * expr.c (count_type_elements): Likewise.
1849         (mostly_zeroes_p): Likewise.
1850         (store_constructor): Likewise.
1851         * print_tree.c (print_node): Likewise.
1852         * stor-layout.c (layout_type): Likewise.
1853         * tree-browser.c (browse_tree): Likewise.
1854         * tree-inline.c (remap_type): Likewise.
1855         * tree-pretty-print.c (dump_generic_node): Likewise.
1856         * tree.c (type_contains_plaeholder_1, type_hash_eq,
1857         variably_modified_type_p, initializer_zerop): Likewise.
1858         * tree.h (SET_OR_ARRAY_CHECK): Remove.
1859         (AGGREGATE_TYPE_P): Remove SET_TYPE check.
1860         (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
1861         * typeclass.h (enum type_class): Remove set_type_class.
1862         * varasm.c (const_hash_1): Remove SET_TYPE case.
1863         (compare_constant, copy_constant, output_constant): Likewise.
1864         * config/i386/i386.c (classify_argument): Likewise.
1865         * config/ia64/ia64.c (hfa_element_mode): Likewise.
1866         * config/sparc/sparc.c (sparc_type_code): Likewise.
1867
1868         PR c++/16681
1869         * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
1870
1871 2004-12-08  Richard Henderson  <rth@redhat.com>
1872
1873         * config/i386/i386.md: Use FLAGS_REG everywhere.
1874
1875 2004-12-08  Eric Christopher  <echristo@redhat.com>
1876
1877         * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
1878         to avoid call to default function.
1879
1880 2004-12-08  Zack Weinberg  <zack@codesourcery.com>
1881
1882         PR 17982
1883         * varasm.c (pending_assemble_externals): New static.
1884         (assemble_external_real): Meat of assemble_external split out
1885         to this new function.
1886         (process_pending_assemble_externals): New function.
1887         (assemble_external): Use gcc_assert.  If flag_unit_at_a_time
1888         is true and the basic test passes, merely cons the decl onto
1889         the pending list to be handled later.
1890         * tree.h: Declare process_pending_assemble_externals.
1891         * cgraphunit.c (cgraph_optimize): Call it.
1892
1893         * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
1894
1895 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
1896
1897         * cfgloopmanip.c (create_preheader): Speed up by "unrolling"
1898         and simplifying FOR_EACH_EDGE.
1899
1900 2004-12-08  Richard Sandiford  <rsandifo@redhat.com>
1901
1902         * config/frv/frv.c (frv_sort_insn_group): Always initialize
1903         packet_group->nop.
1904
1905 2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
1906
1907         PR c++/18672
1908         * gimplify.c (canonicalize_addr_expr): Cope with array of
1909         incomplete type.
1910         (gimplify_conversion): Remove redundant checks.
1911
1912         * doc/trouble.texi (Non-bugs): Clarify empty loop removal.
1913
1914 2004-12-08  Uros Bizjak  <uros@kss-loka.si>
1915
1916         * config/i386/i386.c (output_387_binary_op,
1917         ix86_prepare_fp_compare_args): Fix is_sse condition.
1918
1919 2004-12-07  Uros Bizjak  <uros@kss-loka.si>
1920
1921         * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
1922         argument.
1923
1924         * config/i386/i386.c (output_fp_compare): Fix is_sse condition.
1925         Use EFLAGS_P only when fcomi insn should be used. Fix handling
1926         of eflags_p variable. Change alt table accordingly. For non-fcomi
1927         compare insn always use trailing fnstsw insn. Fix intmode
1928         calculation for ficom insn.
1929         (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
1930         ix86_free_from_memory when "pushed" is specified.
1931         (ix86_expand_branch): Change call to ix86_split_fp_branch.
1932
1933         * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
1934         Change eflags_p parameter in call to output_fp_compare.
1935         (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
1936         (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
1937         *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.  Change eflags_p
1938         parameter in call to output_fp_compare.
1939         (*cmpfp_2_u): Remove.
1940         (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
1941         in call to output_fp_compare.
1942         (*ficom_1): Remove insn definition and corresponding define_split.
1943         (*cmpfp_si): New insn definition.
1944         (*fp_jcc_8): New insn definition. Add new splitters for
1945         "memory_operand" and "register_operand".
1946         (define_split): Add new parameter in call to ix86_split_fp_branch.
1947
1948         config/i386/predicates.md (float_operator): New predicate.
1949
1950 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
1951
1952         * c-common.c (verify_tree): Don't check code length if we know
1953         we are handling tcc_unary.
1954         * print_tree.c (print_node): Remove code to handle RTL
1955         appearing as a part of a tree node.
1956         * tree-gimple.c (recalculate_side_effects): Rename fro as len.
1957         * tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
1958         (PROCESS_ARG): Don't refer to fro.
1959         (build2_stat, build3_stat, build4_stat): Don't compute fro.
1960
1961 2004-12-07  Roger Sayle  <roger@eyesopen.com>
1962
1963         PR middle-end/18293
1964         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
1965         (expand_mult): Special case powers of two to avoid synth_mult.
1966         * loop.c (product_cheap_p): Handle case where expand_mult does
1967         require/generate any instructions (i.e. multiplication by zero).
1968
1969 2004-12-07  Richard Henderson  <rth@redhat.com>
1970
1971         * tree-pretty-print.c (dump_array_domain): Split out from
1972         dump_generic_node; fix off-by-one error on zero-based array bounds.
1973         (dump_generic_node): Use it.
1974         (print_declaration): Likewise.
1975
1976 2004-12-08  Richard Guenther <richard.guenther@uni-tuebingen.de>
1977
1978         * doc/invoke.texi: Adjust default values for
1979         large-function-growth and inline-unit-growth to match
1980         params.def.  Clarify used algorithm.
1981
1982 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
1983
1984         PR target/18443
1985         * config/ia64/ia64.c (ia64_assemble_integer): Add support for
1986         emitting unaligned pointer-sized integers.
1987
1988 2004-12-07  Steven Bosscher  <stevenb@suse.de>
1989
1990         PR c/18867
1991         * c-typeck.c (c_start_case): Set orig_type to error_mark_node
1992         when the type of the controlling expression is not a valid type.
1993
1994 2004-12-07  Steven Bosscher  <stevenb@suse.de>
1995
1996         PR tree-optimization/17340
1997         * tree-ssa-pre.c (compute_antic): Fix comment.
1998         (compute_avail): Do not recurse, instead do a DFS using a stack
1999         and a loop.
2000         (execute_pre): Adjust.
2001
2002 2004-12-07  Ziemowit Laski  <zlaski@apple.com>
2003
2004         * c-tree.h (struct lang_type): Rename 'objc_protocols' field
2005         to 'objc_info'.
2006
2007 2004-12-07  Eric Christopher  <echristo@redhat.com>
2008
2009         PR target/16317
2010         * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
2011
2012 2004-12-07  Eric Christopher  <echristo@redhat.com>
2013
2014         * config/mips/mips-protos.h (mips_valid_pointer_mode): Move
2015         prototype...
2016         * config/mips/mips.c: ... here. Make static.
2017
2018 2004-12-07  Eric Christopher  <echristo@redhat.com>
2019
2020         PR target/18442
2021         * config/mips/mips.c (mips_vector_mode_supported_p): New function.
2022         (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
2023
2024 2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
2025
2026         * c-common.c, expr.c, fold-const.c, print-tree.c,
2027         tree-gimple.c, tree-inline.c, tree-pretty-print.c,
2028         tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
2029         first_rtl_op with TREE_CODE_LENGTH.
2030         * tree.c (first_rtl_op): Remove.
2031         Replace uses of first_rtl_op with TREE_CODE_LENGTH.
2032         * tree.h: Remove the prototype for first_rtl_op.
2033
2034 2004-12-07  David Edelsohn  <edelsohn@gnu.org>
2035
2036         * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
2037         Revert 2004-12-01 change.
2038
2039 2004-12-06  Ziemowit Laski  <zlaski@apple.com>
2040
2041         * c-tree.h (struct lang_type): Add 'objc_protocols' field.
2042
2043 2004-12-06  DJ Delorie  <dj@redhat.com>
2044
2045         * reload.c (find_valid_class): Fix logic to test inner mode as well.
2046         (push_reload): Pass inner mode.
2047
2048 2004-12-06  Eric Christopher  <echristo@redhat.com>
2049
2050         * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
2051
2052 2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
2053
2054         * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
2055
2056 2004-12-06  Zdenek Dvorak  <dvorakz@suse.cz>
2057             Kazu Hirata  <kazu@cs.umass.edu>
2058
2059         PR tree-optimization/18601
2060         * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
2061         (tree_forwarder_block_p): Do not consider blocks that are its own
2062         successors forwarders.
2063         (cleanup_forwarder_blocks, remove_forwarder_block): New functions.
2064         (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
2065         thread_jumps.
2066         * tree-flow.h (bb_ann_d): Remove forwardable.
2067
2068 2004-12-06  Kazu Hirata  <kazu@cs.umass.edu>
2069
2070         * expr.c (expand_expr_real_1): Remove an "if" whose condition
2071         is always false.
2072
2073 2004-12-06  Roger Sayle  <roger@eyesopen.com>
2074
2075         * c-gimplify.c (gimplify_c_loop): Improve initial implementations
2076         for loops whose conditions are known at compile-time.
2077         * gimplify.c (append_to_statement_list_1): Remove side_effects
2078         parameter, this function should never be called if its false.
2079         (append_to_statement_list): Only call append_to_statement_list_1
2080         if t is non-NULL tree with side-effects.
2081         (append_to_statement_list_force):  Likewise, if t is not NULL.
2082
2083 2004-12-06  J"orn Rennecke <joern.rennecke@st.com>
2084
2085         * bt-load.c (btr_def_s): New member own_end;
2086         (add_btr_to_live_range): Add second parameter.  Changed caller.
2087         (clear_btr_from_live_range): Clear btrs_live_at_end bit
2088         for the register its definition basic block if own_end is set.
2089         (augment_live_range): Also take btrs_live_at_end into account.
2090         (combine_btr_defs): Don't bother with
2091         other_def->other_btr_uses_after_use if it pertains to a different
2092         register.
2093         (move_btr_def): Set def->other_btr_uses_before_def after
2094         calling combine_btr_defs."
2095
2096         * bt-load.c (augment_live_range): New argument full_range.
2097         Changed all callers.
2098
2099         * bt-load.c (move_tr_def): Set other_tr_uses_before_def
2100         taking new btr assignment into account.
2101
2102 2004-12-05  Daniel Berlin <dberlin@dberlin.org>
2103
2104         * tree-ssa-alias.c (create_global_var): Use void_type_node,
2105         not size_type_node.
2106
2107 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
2108
2109         * expr.c (expand_expr_real_1): Abort on COND_EXPR of
2110         VOID_TYPE.
2111
2112 2004-12-05  Richard Henderson  <rth@redhat.com>
2113
2114         PR target/18841
2115         * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
2116         (builtin_setjmp_receiver_er_sl_1): Use it.
2117         (builtin_setjmp_receiver_er_1): Likewise.
2118         (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
2119         (builtin_setjmp_receiver): Don't split for explicit relocs until
2120         after reload.
2121         (exception_receiver): Likewise.
2122
2123 2004-12-05  Andrew Pinski  <pinskia@physics.uc.edu>
2124
2125         * mklibgcc.in (vis_hide): Add the prototype for the test.
2126
2127 2004-12-05  Roger Sayle  <roger@eyesopen.com>
2128
2129         * c-typeck.c (c_finish_loop): Improve initial implementations
2130         for loops whose conditions are known at compile-time.
2131
2132 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * builtins.c: Fix comment typos.
2135
2136 2004-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2137
2138         PR middle-end/18730
2139         * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
2140         the first/last insn is a sequence, return the first/last insn of the
2141         sequence.
2142
2143         PR bootstrap/18804
2144         * mklibgcc.in (vis_hide): Use implementation instead of declaration
2145         for test function.
2146
2147 2004-12-04  Richard Henderson  <rth@redhat.com>
2148
2149         * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
2150         use ofs in BWX two byte special case.
2151         (alpha_expand_unaligned_store): Likewise.
2152
2153 2004-12-04  Kazu Hirata  <kazu@cs.umass.edu>
2154
2155         * gcse.c (gcse_main): Add a comment.
2156
2157 2004-12-04  Andrew  Pinski  <pinskia@physics.uc.edu>
2158
2159         PR middle-end/17909
2160         * builtins.c (fold_builtin_next_arg): Export and return true
2161         when there is a warning or an error.
2162         (expand_builtin_va_start): When fold_builtin_next_arg returns true,
2163         return const0_rtx.
2164         (expand_builtin): Likewise.
2165         * gimplify.c (gimplify_call_expr): Error out if there is not
2166         enough arguments to va_start. Call fold_builtin_next_arg also
2167         on the second argument.
2168         * tree.h (fold_builtin_next_arg): Prototype.
2169
2170 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
2171
2172         * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
2173         Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
2174         SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
2175         * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
2176         shlib_dir and shlib_so_name.
2177         * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
2178         * config/t-libunwind-elf (SHLIB_NAME): Likewise.
2179         * config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
2180         * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
2181         * config/t-slibgcc-sld (SHLIB_NAME): Likewise.
2182         (SHLIB_LINK): Don't use shlib_dir when creating symlink.
2183
2184 2004-12-03  Roger Sayle  <roger@eyesopen.com>
2185
2186         * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
2187
2188 2004-12-03  Richard Henderson  <rth@redhat.com>
2189
2190         * alias.c (component_uses_parent_alias_set): Rename from
2191         can_address_p.  Return bool.  Reverse the sense of the result.
2192         Reinstate the check for alias set zero.
2193         (get_alias_set): Update to match.
2194         * alias.h (component_uses_parent_alias_set): Likewise.
2195         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2196         * expr.c (expand_assignment): Likewise.
2197         * expr.h: Remove commented out prototypes that were moved to alias.h.
2198
2199 2004-12-03  Richard Henderson  <rth@redhat.com>
2200
2201         * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
2202         (TARGET_CANNOT_FORCE_CONST_MEM): New.
2203
2204 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
2205
2206         PR middle end/18718
2207         * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
2208         in pairs.
2209         * sched-ebb.c (schedule_ebb): Likewise.
2210
2211 2004-12-03  Andreas Schwab  <schwab@suse.de>
2212
2213         * Makefile.in (HOSTHOOKS_DEF_H): Define.
2214         (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
2215         (host-default.o): Likewise.
2216
2217 2004-12-03  Eric Christopher  <echristo@redhat.com>
2218
2219         * config/stormy16/stormy16.md (pushqi, popqi, pushhi,
2220         pophi): Add number of arguments to name so that the
2221         pattern is recognized as a named pattern.
2222
2223 2004-12-03  Janis Johnson  <janis187@us.ibm.com>
2224
2225         * doc/extend.texi (AltiVec Builtins): Fix info about signedness.
2226
2227 2004-12-03  Andreas Tobler  <a.tobler@schweiz.ch>
2228
2229         * config/rs6000/rs6000.c (rs6000_override_options): Protect
2230         darwin_one_byte_bool with #if.
2231
2232 2004-12-03  Paolo Bonzini  <bonzini@gnu.org>
2233
2234         * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
2235
2236 2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
2237
2238         * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
2239
2240 2004-12-03  Richard Sandiford  <rsandifo@redhat.com>
2241
2242         * configure.ac: Move TL_AC_GCC_VERSION into initialization section.
2243         Set libstdcxx_incdir directly.
2244         * configure: Regenerate.
2245
2246 2004-12-03  Kazu Hirata  <kazu@cs.umass.edu>
2247
2248         * tree-ssa-dom.c (record_equivalences_from_phis): Remove an
2249         "if" whose condition is always true.
2250
2251         * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
2252         INSN_P.
2253
2254 2004-12-02  Stan Shebs  <shebs@apple.com>
2255
2256         * config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
2257         Darwin default to one-byte bools.
2258
2259 2004-12-02  Richard Henderson  <rth@redhat.com>
2260
2261         PR 18774
2262         * simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
2263
2264 2004-12-03  Ben Elliston  <bje@au.ibm.com>
2265
2266         * doc/cfg.texi (Edges): Update. Document the edge_iterator data
2267         type and its methods.
2268
2269 2004-12-02  Richard Henderson  <rth@redhat.com>
2270
2271         * expr.c (write_complex_part): Use simplify_gen_subreg when the
2272         submode is at least as large as a word.
2273         (read_complex_part): Likewise.
2274
2275 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
2276
2277         PR bootstrap/18532
2278         * mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
2279         multilib at a time. Don't build the default set. Don't add
2280         EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
2281         filter for shared libunwind and libgcc.
2282
2283 2004-12-02  Roger Sayle  <roger@eyesopen.com>
2284
2285         PR target/18759
2286         * config/i386/i386.c (override_options): If -fomit-frame-pointer has
2287         already been specified, ignore the -momit-leaf-frame-pointer option.
2288
2289 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
2290
2291         * varasm.c (make_decl_rtl): Add the missing `;'.
2292
2293 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
2294
2295         * tree.c (is_attribute_p): Split out to ..
2296         (is_attribute_with_length_p): Here.  Use IDENTIFIER_LENGTH instead
2297         of strlen and compare the string lengths before calling strcmp.
2298         (lookup_attribute): Call is_attribute_with_length_p instead of
2299         is_attribute_p.
2300
2301 2004-12-02  Devang Patel  <dpatel@apple.com>
2302
2303         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
2304         * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
2305         * config/i386/darwin.h (CC1_SPEC): Same.
2306
2307 2004-12-02  Richard Henderson  <rth@redhat.com>
2308
2309         * optabs.c (lowpart_subreg_maybe_copy): New.
2310         (expand_unop, expand_abs_nojump): Use it.
2311
2312 2004-12-02  J"orn Rennecke <joern.rennecke@st.com>
2313
2314         * sh.md (extv, extzv): Add pattern predicate.
2315
2316 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2317
2318         * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
2319         is not null.
2320
2321         * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
2322         is not null.
2323
2324         * tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
2325
2326 2004-12-02  Jeff Law  <law@redhat.com>
2327
2328         * tree-eh.c: Revert yesterday's change.
2329
2330 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
2331
2332         * varasm.c (decode_reg_name): Revert change to check for zero
2333         length strings.
2334         (make_decl_rtl): Make sure that we call decode_reg_name only
2335         when needed.
2336
2337 2004-12-02  Dorit Naishlos  <dorit@il.ibm.com>
2338
2339         PR tree-opt/18716
2340         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
2341         then and else labels.
2342
2343 2004-12-02  Andreas Schwab  <schwab@suse.de>
2344
2345         * Makefile.in (WERROR_FLAGS): Renamed from WERROR.
2346         (STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
2347         (STAGE2_FLAGS_TO_PASS): Likewise.
2348
2349         * config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
2350
2351 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
2352
2353         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.  Remove
2354         now-redundant AC_SUBSTs.
2355         * aclocal.m4: Include ../config/gcc-version.m4.
2356         * configure: Regenerate.
2357
2358 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
2359
2360         * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
2361         #ifdef RELOCATABLE_NEEDS_FIXUP.
2362
2363 2004-12-01  Roger Sayle  <roger@eyesopen.com>
2364
2365         PR target/9908
2366         * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
2367         Intel assembler syntax by using %A1 instead of %*%1.
2368
2369 2004-12-01  Richard Henderson  <rth@redhat.com>
2370
2371         * expr.c (expand_assignment): Handle CONCAT both as a final
2372         destination and as a middle point.
2373
2374 2004-12-01  Jeff Law  <law@redhat.com>
2375
2376         * tree-eh.c (save_eptr, save_filt): Now file scoped statics.
2377         (honor_protect_cleanup_actions): Only create save_eptr and
2378         save_filt if they do not already exist.
2379         (lower_eh_constructs): Wipe all knowledge of save_eptr and
2380         save_filt before returning.
2381
2382 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
2383
2384         * tree-phinodes.c (remove_phi_arg_num): Fix a comment.
2385
2386 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
2387
2388         PR target/16952
2389         * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
2390         #ifdef RELOCATABLE_NEEDS_FIXUP with if.
2391         * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
2392         of target_flags_explicit.
2393         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
2394         case.  Define as 0 for non-biarch.
2395
2396 2004-12-01  Zack Weinberg  <zack@codesourcery.com>
2397
2398         * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
2399         Change temporary file tag from a prefix to an infix.
2400
2401 2004-12-02  Andreas Schwab  <schwab@suse.de>
2402
2403         * gcc.c (struct option_map): Add entry for "--pass-exit-codes".
2404
2405 2004-12-01  Andrew Pinski  <pinskia@physics.uc.edu>
2406
2407         PR tree-opt/18763
2408         PR tree-opt/18746
2409         * tree-ssa-alias.c (init_alias_info): Get statement operands for all
2410         the statements if aliases_computed_p is true.
2411
2412 2004-12-01  Mark Mitchell  <mark@codesourcery.com>
2413
2414         * Makefile.in (WERROR): New variable.
2415         (STRICT2_WARN): Use it.
2416         (STAGE2_FLAGS_TO_PASS): Likewise.
2417         * config/i386/x-mingw32 (WERROR): Add -Wno-format.
2418
2419 2004-12-01  Richard Henderson  <rth@redhat.com>
2420
2421         * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
2422         offsetting.
2423
2424 2004-12-01  Diego Novillo  <dnovillo@redhat.com>
2425
2426         PR tree-optimization/18291
2427         * tree-ssa-copy.c (merge_alias_info): Fix merging of
2428         flow-sensitive alias information.  If the new pointer has no
2429         name tag, copy it from the original pointer.  Otherwise, make
2430         sure that the pointed-to sets have a common intersection.
2431
2432 2004-12-01  Richard Henderson  <rth@redhat.com>
2433
2434         PR rtl-opt/15289
2435         * emit-rtl.c (gen_complex_constant_part): Remove.
2436         (gen_realpart, gen_imagpart): Remove.
2437         * rtl.h (gen_realpart, gen_imagpart): Remove.
2438         * expmed.c (extract_bit_field): Remove CONCAT hack catering to
2439         gen_realpart/gen_imagpart.
2440         * expr.c (write_complex_part, read_complex_part): New.
2441         (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
2442         emit_move_complex_push, emit_move_complex, emit_move_ccmode,
2443         emit_move_multi_word): Split out from ...
2444         (emit_move_insn_1): ... here.
2445         (expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
2446         <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
2447         * function.c (assign_parm_setup_reg): Hard-code transformations
2448         instead of using gen_realpart/gen_imagpart.
2449
2450         * expr.c (optimize_bitfield_assignment_op): Split out from ...
2451         (expand_assignment): ... here.  Use handled_component_p to gate
2452         get_inner_reference code.  Simplify MEM handling.  Special case
2453         CONCAT destinations.
2454
2455         * expmed.c (store_bit_field): Use simplify_gen_subreg instead
2456         of gen_rtx_SUBREG directly.
2457
2458 2004-12-01  David Edelsohn  <edelsohn@gnu.org>
2459             Nathan Sidwell  <nathan@codesourcery.com>
2460
2461         PR target/17107
2462         * config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
2463         (sgt): Same.
2464         (sle): Same.
2465         (slt): Same.
2466
2467 2004-12-01  Nathan Sidwell  <nathan@codesourcery.com>
2468
2469         PR middle-end/18667
2470         * params.c (set_param_value): Add range check.
2471         * params.def: Add min and max values. Reformat long strings.
2472         * params.h (struct param_info): Add min and max fields.
2473         (enum compiler_param): Adjust DEFPARAM.
2474         * toplev.c (lang_independent_params): Likewise.
2475
2476 2004-12-01  Alan Modra  <amodra@bigpond.net.au>
2477
2478         PR target/12817
2479         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
2480
2481 2004-12-01  Joseph S. Myers  <joseph@codesourcery.com>
2482
2483         * doc/standards.texi: Update for C99 TC2.
2484
2485 2004-11-30  Jeff Law  <law@redhat.com>
2486
2487         * sbitmap.c (sbitmap_any_common_bits): New function.
2488         * sbitmap.h (sbitmap_any_common_bits): Prototype.
2489         * modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits
2490         No longer allocate/free "psp", "pss" sbitmaps.
2491         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for
2492         the "res" sbitmap.
2493         (group_aliases): Similarly.
2494
2495 2004-11-30  Nathan Sidwell  <nathan@codesourcery.com>
2496
2497         * tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
2498         uninitialized variable.
2499
2500 2004-11-30  Eric Christopher  <echristo@redhat.com>
2501
2502         * fold-const.c (fold_widened_comparison): Make sure that we're
2503         passing an INTEGER_TYPE to int_fits_type_p.
2504         (fold): Clean up comment.
2505
2506 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
2507
2508         * mklibgcc.in: Correct calculation of libgcc_s_soname and
2509         libunwind_soname.  Use $out, not $outS, in commands for
2510         no-shared-library case.  Move EXTRA_MULTILIB_PARTS rules above
2511         library build rules, make $libunwind_so and $libgcc_s_so
2512         depend on them in the normal fashion, and filter those objects
2513         out of @shlib_objs@.
2514
2515 2004-11-30  Janis Johnson  <janis187@us.ibm.com>
2516
2517         * config/rs6000/altivec.h (vec_step_help): Support const vector types.
2518
2519 2004-11-30  Andrew Pinski  <pinskia@physics.uc.edu>
2520
2521         PR tree-opt/18298
2522         * tree-optimize.c (init_tree_optimization_passes): Add a may_alias
2523         pass right after fold builtins.
2524
2525 2004-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
2526
2527         * config/s390/s390-modes.def: Added cc modes documentation.
2528         * config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode,
2529         s390_expand_addcc): Added cc mode comments.
2530         * config/s390/s390.md: Removed old cc mode documentation.
2531
2532 2004-11-30  Mark Dettinger  <dettinge@de.ibm.com>
2533
2534         * config/s390/s390.c (struct processor_costs): New data type.
2535         (s390_cost, z900_cost, z990_cost): New global variables.
2536         (override_options): Initialize s390_cost.
2537         (s390_rtx_costs): Reimplement.
2538
2539 2004-11-29  Daniel Berlin  <dberlin@dberlin.org>
2540
2541         Fix PR tree-optimization/18673
2542
2543         * tree-ssa-pre.c: Remove splay-tree.h include.
2544         (bitmap_value_replace_in_set): Fix to add if it does not exist.
2545         (find_or_generate_expression): Remove now-wrong condition.
2546         (create_expression_by_pieces): Fix condition and comment reason
2547         for it.
2548         (insert_aux): Fix condition and comment reasons for it.
2549         Factor insertion code from here.
2550         (insert_into_preds_of_block): To here.  Fix conditions in factored
2551         function and comment reasons for them.
2552
2553 2004-11-30  Ira Rosen  <irar@il.ibm.com>
2554
2555         PR tree-opt/18607
2556         * tree-vectorizer.c (vect_analyze_data_refs): Use temporary
2557         variable for data_reference when looking for memtag.
2558
2559 2004-11-30  Jakub Jelinek  <jakub@redhat.com>
2560
2561         * c-opts.c (check_deps_environment_vars): If spec != NULL, set
2562         deps_seen.
2563
2564 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
2565
2566         * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use
2567         tree_low_cst instead of TREE_INT_CST_LOW.
2568
2569 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
2570
2571         PR target/18173
2572         * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
2573         decls that are assembled before vectorization takes place.
2574         (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
2575
2576 2004-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
2577
2578         * passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
2579         if local_alloc modified jumps.
2580
2581 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
2582
2583         * varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL
2584         on TLS symbols.
2585         * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS
2586         check.
2587
2588 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
2589
2590         * gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
2591         * unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
2592
2593         * mklibgcc.in: Drastic restructure for comprehensibility.
2594         Remove the old hidden-directive hack.
2595         Eliminate support for .txt files in LIB2ADD etc (never used).
2596         Eliminate support for assembly source files in LIB2ADDEH* and
2597         LIBUNWIND (also never used).
2598         Build up dependency lists for libraries incrementally.
2599         If we have SHLIB_LINK, compile each file twice, once for the
2600         static and once for the shared library; also probe for
2601         -fvisibility=hidden in the generated libgcc.mk.  If found,
2602         pass that and -DHIDE_EXPORTS to the compilation of every C
2603         source file going into the static library.  If found, generate
2604         hidden-directive lists for every assembly source file going
2605         into the static library, but incorporate them with -include
2606         instead of ld -r.
2607         Write comments into generated libgcc.mk to facilitate debugging.
2608         * Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
2609         * config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
2610
2611         * config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
2612         -Zdynamiclib case.
2613
2614 2004-11-29  Richard Henderson  <rth@redhat.com>
2615
2616         * expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
2617         (handled_component_p): Likewise.
2618         * alias.c (can_address_p): Reformat and simplify.  Handle
2619         REAL/IMAGPART_EXPR.  Do not disable addressability based on
2620         alias set zero.
2621         * fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
2622         check for REAL/IMAGPART_EXPR.
2623         * gimplify.c (gimplify_compound_lval): Likewise.
2624         * tree-cfg.c (verify_expr): Likewise.
2625         * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
2626         * tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
2627         (convert_local_reference): Likewise.
2628         * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
2629
2630 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
2631
2632         * expr.c (emit_group_load_1): Don't die on const_int orig_src.
2633
2634 2004-11-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2635
2636         PR pch/14940
2637         * config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
2638         * config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
2639         and host_xmake_file using new host configuration files.
2640
2641 2004-11-29  Roger Sayle  <roger@eyesopen.com>
2642
2643         * reg-stack.c (change_stack): Improve algorithm used to pop regs
2644         off the stack to maximize ffreep usage and reduce fxch count.
2645
2646 2004-11-30  James A. Morrison  <phython@gcc.gnu.org>
2647
2648         PR middle-end/18596
2649         * c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node
2650         on errors.
2651
2652 2004-11-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2653
2654         * expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
2655         REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
2656
2657 2004-11-30  Ben Elliston  <bje@au.ibm.com>
2658
2659         * Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
2660
2661 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
2662
2663         PR c/18479
2664         * c-common.c (handle_visibility_attribute): When the type decl
2665         is really a identifier node, warn about being ignored and return.
2666
2667 2004-11-29  Richard Henderson  <rth@redhat.com>
2668
2669         * tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
2670
2671 2004-11-29  Steven Bosscher  <stevenb@suse.de>
2672
2673         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
2674         Remove CASE_DROPS_THROUGH checks, it is never defined.
2675         * cfglyout.c (fixup_reorder_chain): Likewise.
2676         * cfgrtl.c (rtl_verify_flow_info): Likewise.
2677         * stmt.c (expand_case): Likewise.
2678         * cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
2679         it is now always 0.
2680         * system.h (CASE_DROPS_THROUGH): Poison.
2681         * doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
2682         * doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
2683
2684         * config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
2685
2686 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
2687
2688         PR middle-end/18725
2689         * tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
2690         shared always.
2691
2692 2004-11-29  Diego Novillo  <dnovillo@redhat.com>
2693
2694         PR tree-optimization/18712
2695         * tree-into-ssa.c (insert_phi_nodes_for): Pass argument
2696         WORK_STACK by reference.
2697         Call VEC_safe_push instead of VEC_quick_push.
2698         Update all users.
2699
2700 2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
2701
2702         PR c/7544
2703         * Makefile.in (c-lang.o): Update dependencies.
2704         * c-lang.c: Include "c-pragma.h".
2705         (finish_file): Call maybe_apply_pending_pragma_weaks.
2706         * c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
2707         * c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
2708
2709 2004-11-29  Richard Henderson  <rth@redhat.com>
2710
2711         PR target/17224
2712         * config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
2713         outside the referenced object.
2714
2715 2004-11-29  Kazu Hirata  <kazu@cs.umass.edu>
2716
2717         * tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
2718         EDGE_PRED instead of PHI_ARG_EDGE.
2719         * tree-ssa-live.c: Likewise.
2720         * tree-ssa-loop-manip.c: Likewise.
2721         * tree-ssa.c: Likewise.
2722
2723         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
2724         simplifying edge manipulation.
2725
2726         * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
2727         EDGE_COUNT.
2728
2729         * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
2730         only when needed.
2731
2732         * cfg.c (flow_obstack): Remove.
2733         (flow_firstobj): Likewise.
2734         (init_flow): Remove all uses of flow_obstack.
2735
2736 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
2737
2738         * varasm.c (default_elf_select_section_1): Only pass DECL_P decl
2739         to named_section.
2740
2741 2004-11-29  Nathan Sidwell  <nathan@codesourcery.com>
2742
2743         * opts.c (decode_options): Do not set max-inline-insns-rtl.
2744         (common_handle_option): Likewise.
2745         * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
2746         * params.h (MAX_INLINE_INSNS_RTL): Remove.
2747         * doc/invoke.texi (max-inline-insns-rtl): Remove.
2748
2749 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
2750
2751         PR target/9571
2752         * varasm.c (default_elf_select_section_1): Pass decl to named_section.
2753
2754 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
2755
2756         PR middle-end/18164
2757         * gimplify.c (gimplify_asm_expr): If the length of an output operand
2758         is zero, do not process it, just let it go through.
2759
2760 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2761             Diego Novillo  <dnovillo@redhat.com>
2762
2763         PR/18662, also backported from tree-cleanup-branch.
2764         * tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
2765         always call maybe_clean_eh_stmt and modify_stmt.
2766
2767 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2768
2769         PR/18664
2770         * tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
2771         Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
2772         * tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
2773         add an inverse VIEW_CONVERT_EXPR to const_val.
2774
2775         PR/18657
2776         * tree-nested.c (check_for_nested_with_variably_modified): New.
2777         (create_nesting_tree): Call it.
2778
2779         * tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
2780         special code for assigning to non-pointer.
2781         (is_escape_site): If RHS is a conversion between pointer and integer
2782         types,  this is an escape site.
2783
2784         * gcse.c (insert_store): Error if try to insert store on abnormal edge.
2785         (store_motion): Don't move store if any edge we'd want to move it
2786         to is abnormal.
2787
2788         * expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
2789         non-zero lower bound.
2790
2791         * expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
2792
2793 2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
2794
2795         PR diagnostic/17594
2796         * opts.c (find_opt): Require that the input match a switch exactly
2797         or that the switch take a joined option to be interpreted as a
2798         match for another language.
2799
2800 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
2801
2802         * timevar.def (TV_TREE_REDPHI): New timevar.
2803         * tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
2804
2805 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2806
2807         PR preprocessor/17651
2808         * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
2809         flag_no_line_commands.
2810         * c-ppoutput.c (pp_file_change): Remove now-redundant check of
2811         flag_no_output.
2812
2813 2004-11-28  Theodore A. Roth  <troth@openavr.org>
2814
2815         * config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
2816         warning if the function name does not begin with "__vector" and the
2817         function has either the 'signal' or 'interrupt' attribute.
2818
2819 2004-11-28  Theodore A. Roth  <troth@openavr.org>
2820
2821         * config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
2822         atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
2823         atmega325, atmega3250, atmega645 and atmega6450.
2824         * config/avr/avr.h (LINK_SPEC): Ditto.
2825         (LIB_SPEC): Ditto.
2826         (LIBGCC_SPEC): Ditto.
2827         (CRT_BINUTILS_SPECS): Ditto.
2828         * config/avr/t-avr (MULTILIB_MATCHES): Ditto.
2829
2830 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2831
2832         PR preprocessor/17610
2833         * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
2834
2835 2004-11-28  Jeff Law  <law@redhat.com>
2836
2837         * tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
2838         (pass_maybe_create_global_var): New.
2839         * tree-pass.h (pass_maybe_create_global_var): Declare.
2840         * tree-optimize.c (init_tree_optimization_passes): Link in
2841         pass_maybe_create_global_var.
2842
2843 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2844
2845         * tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
2846
2847 2004-11-28  Ulrich Weigand  <uweigand@de.ibm.com>
2848
2849         PR rtl-optimization/18420
2850         * simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
2851
2852 2004-11-28  Steven Bosscher  <stevenb@suse.de>
2853             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2854
2855         * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
2856         * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
2857         that the case is in range, to make sure the casesi insn is always
2858         in range and never falls through.
2859         (casesi1): Add comment to explain why casesi never falls through.
2860         Remove the unnamed special case casesi pattern.
2861
2862 2004-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
2863
2864         PR target/18331
2865         * config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
2866         "*movdicc_real".  Only match reversible comparisons.
2867         ("*movdicc_real_nonreversible"): New pattern, split from
2868         "*movdicc_real".  Match only nonreversible comparisons.  Exclude
2869         reversed alternatives.
2870         ("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
2871         Similar.
2872
2873 2004-11-27  Richard Henderson  <rth@redhat.com>
2874
2875         * config/ia64/ia64.md: Move all define_predicate's ...
2876         * config/ia64/predicates.md: ... here.  New file.
2877
2878 2004-11-27  Per Bothner  <per@bothner.com>
2879
2880         PR bootstrap/18142
2881         Re-applied following, with two modifications: add a URL for the
2882         fixed cctools; only exit if $build = $target.
2883
2884         2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2885         * configure.ac (powerpc-*-darwin*): Require assembler to support
2886         .machine directive.
2887         * configure: Regenerate.
2888
2889 2004-11-28  David Edelsohn  <edelsohn@gnu.org>
2890
2891         PR target/16800
2892         * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
2893         EQ, GTU, and LTU costs.  Add costs for GT, LT, and UNORDERED.
2894         Distinguish between SImode and DImode CONST_INT.
2895
2896 2004-11-28  Andreas Fischer <a_fisch@gmx.de>
2897             Alan Modra  <amodra@bigpond.net.au>
2898
2899         PR target/16343
2900         * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
2901         functions, strings and thread-local vars.
2902
2903 2004-11-28  Alan Modra  <amodra@bigpond.net.au>
2904
2905         * config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
2906         * config/rs6000/darwin.h (WORLD_SAVE_P): Define.
2907         * config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
2908         to allow non-darwin ABIs to optimize away code.
2909         (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
2910
2911 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2912
2913         * tree.c (operand_equal_for_phi_arg_p): New.
2914         * tree.h: Add a prototype for operand_equal_for_phi_arg_p.
2915         * tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
2916         Replace operand_equal_p with operand_for_phi_arg_p
2917         appropriately.
2918
2919         * bb-reorder.c (find_traces_1_round): Speed up by using
2920         EDGE_COUNT instead of FOR_EACH_EDGE.
2921
2922         * fold-const.c, config/i386/linux64.h: Fix comment typos.
2923
2924 2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2925
2926         PR pch/14940
2927         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
2928
2929 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
2930
2931         * config/i386/linux.h: Fix a comment typo.
2932         * doc/extend.texi: Fix a typo.
2933
2934 2004-11-27  Jeff Law  <law@redhat.com>
2935
2936         * tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
2937         are merged.
2938
2939 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
2940
2941         * config/i386/linux64.h (REG_NAME): Define.
2942
2943 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
2944
2945         * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
2946         unsigned and type signed, build ABS_EXPR with signed_type (ctype)
2947         and only afterwards convert to ctype.
2948
2949 2004-11-27  Richard Sandiford  <rsandifo@redhat.com>
2950
2951         * config/mips/mips-protos.h (function_arg_boundary): Declare.
2952         * config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
2953         (STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
2954         (FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
2955         * config/mips/mips.c (function_arg_boundary): New function.
2956         Impose a maximum alignment of STACK_BOUNDARY.
2957
2958 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
2959
2960         PR rtl-optimization/17825
2961         * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
2962         or not.
2963
2964 2004-11-27  Alan Modra  <amodra@bigpond.net.au>
2965
2966         PR target/12769
2967         * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
2968         from rs6000_default_long_calls for libcalls.
2969
2970 2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2971
2972         * expmed.c (extract_bit_field): When extracting from non-integer mode,
2973         force a SUBREG into a register because we may be taking a further
2974         SUBREG of it.
2975
2976 2004-11-27  Di-an Jan  <dianj@freeshell.org>
2977
2978         * doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
2979
2980 2004-11-26  Robert Millan  <robertmh@gnu.org>
2981
2982         Changes for k*bsd-gnu support.
2983         * config/i386/linux.h: Define REG_NAME to allow overriding of
2984         register names in sc structure.
2985         * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
2986         of sc->reg.
2987         * config.gcc: Detect x86_64-k*bsd-gnu systems.
2988
2989 2004-11-26  Jeff Law  <law@redhat.com>
2990
2991         * tree-ssa.c (verify_flow_sensitive_alias_info): Don't
2992         retrieve annotations or pointer info before it's necessary.
2993         Reorder tests for early continue of the loop.  Manually CSE
2994         SSA_NAME_VAR.
2995
2996 2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
2997
2998         * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
2999         * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
3000         (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
3001         * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
3002         to a fixed reg if the source is the Return Address register.
3003         Implement new Rule 15.
3004         * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
3005         * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
3006         sparc_dwarf_handle_frame_unspec.
3007         (gen_save_register_window): New function.
3008         (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
3009         (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
3010         (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
3011         Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
3012         (sparc_asm_function_prologue): Do not emit call frame debugging info.
3013         (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
3014         (sparc_expand_epilogue): Likewise.
3015         (sparc_dwarf_handle_frame_unspec): New function.
3016         * config/sparc/sparc.md (save_register_window): Remove.
3017         (save_register_windowdi): Rewrite modelled on the callframe debug info.
3018         (save_register_windowsi): Likewise.
3019
3020 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
3021
3022         * config/frv/frv-protos.h: Guard ifcvt functions declarations with
3023         BB_HEAD, not BLOCK_HEAD.
3024
3025 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
3026
3027         * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
3028         scratch insns that set a register live at the join point.
3029
3030 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3031
3032         * cse.c, tree-ssa-operands.c: Fix comment typos.
3033
3034         * tree-cfg.c (tree_split_edge): Speed up by using find_edge.
3035
3036 2004-11-26  James A. Morrison  <phython@gcc.gnu.org>
3037
3038         PR target/18510
3039         * doc/extend.texi (SPARC VIS Built-in Functions): New section.
3040
3041 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
3042
3043         * cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
3044         check that tests if all edges go to the same destination.
3045
3046         * bitmap.c (bitmap_find_bit): Speed up by traversing from
3047         head->first if that seems profitable.
3048
3049 2004-11-25  Jeff Law  <law@redhat.com>
3050
3051         * timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
3052         * tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
3053         (pass_loop_done): Use TV_TREE_LOOP_FINI.
3054
3055 2004-11-26  Alan Modra  <amodra@bigpond.net.au>
3056
3057         PR rtl-optimization/16356
3058         * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
3059         separate output register and one less jump.  Enable for powerpc64.
3060         (floatdisf2): Adjust for above.
3061
3062 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
3063
3064         * config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
3065         (GCC_DRIVER_HOST_INITIALIZATION): Define.
3066
3067 2004-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
3068
3069         PR middle-end/17957
3070         * tree-complex.c (vector_inner_type): New variable moved from
3071         build_word_mode_vector_type.
3072         (vector_last_type): Likewise.
3073         (vector_last_nunits): Likewise.
3074         (build_word_mode_vector_type): Use the new variables.
3075         * Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
3076         (GTFILES): Add tree-complex.c.
3077         (gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
3078
3079 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
3080
3081         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
3082         __XTENSA_WINDOWED_ABI__.
3083
3084 2004-11-25  Richard Henderson  <rth@redhat.com>
3085
3086         * dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument.  Save
3087         args_size adjustments for calls even with cfa as stack pointer.
3088         Search calls for stack adjustments after the insn is issued.
3089         (dwarf2out_frame_debug): Add after_p argument; pass it on.
3090         * dwarf2out.h (dwarf2out_frame_debug): Update to match.
3091         * final.c (final_start_function, final_scan_insn): Likewise.
3092
3093 2004-11-25  Richard Henderson  <rth@redhat.com>
3094
3095         PR c++/6764
3096         * reload1.c (set_initial_eh_label_offset): New.
3097         (set_initial_label_offsets): Use it.
3098
3099 2004-11-25  Kaz Kojima  <kkojima@gcc.gnu.org>
3100
3101         * config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
3102         before calling life_analysis and release them after.
3103
3104 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
3105
3106         * tree-ssa-forwprop.c (substitute_single_use_vars): Remove
3107         duplicate code.
3108
3109 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
3110
3111         * bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
3112         BITMAP_OBSTACK_ALLOC.
3113         (BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
3114
3115 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
3116
3117         parts of PR rtl-opt/18463, rtl-opt/17647
3118         * cse.c (canon_for_address): New function.
3119         (find_best_addr): Call canon_for_address before getting the
3120         address's cost when checking if we should take that address.
3121
3122 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
3123
3124         * tree-phinodes.c (add_phi_arg): Take "tree" instead of
3125         "tree *" as the first argument.
3126         * tree-flow.h: Update the prototype of add_phi_arg.
3127         * lambda-code.c, tree-cfg.c, tree-into-ssa.c,
3128         tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
3129         tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
3130         tree-vectorizer.c: Update all call sites of add_phi_arg.
3131
3132 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3133
3134         * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
3135         * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
3136         (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
3137         (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
3138
3139 2004-11-25  Andrew MacLeod  <amacleod@redhat.com>
3140
3141         PR tree-optimization/18587
3142         * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
3143         call clobbered caches as invalid.
3144         * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
3145         indicating whether the call clobbered operand cache is valid.
3146         (ssa_ro_call_cache_valid): New.  Flag indicating whether the
3147         pure/const call operand cache is valid.
3148         (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached
3149         list of operands for cached call virtual operands.
3150         (clobbered_aliased_loads, clobbered_aliased_stores,
3151         ro_call_aliased_load): New.  flags caching whether alias bits are
3152         to be set in call stmt's.
3153         (fini_ssa_operands): Remove call operand caches if present.
3154         (get_expr_operands, get_asm_expr_operands,
3155         get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
3156         (get_call_expr_operands): Add call clobbered variables first.
3157         (add_stmt_operand): Take stmt annotation rather than stmt as a param.
3158         (add_call_clobber_ops, add_call_read_ops): Use the call operand cache
3159         if it is valid, otherise fill the cache.
3160         * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
3161         * tree-flow.h (struct var_ann_d): Add in_vuse_list and
3162         in_v_may_def_list bits.
3163         * tree-ssa-operands.c (cleanup_v_may_defs): New.  Clear the
3164         in_list bits for the v_may_def elements and empty the operand
3165         build array
3166         (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
3167         VUSES by checking the in_v_may_def_list bit.
3168         (append_v_may_def, append_vuse): Use the in_list bit rather than
3169         scanning the array for duplicates.
3170
3171 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
3172
3173         * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
3174         displacements are not short.
3175
3176 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
3177
3178         * config/s390/s390.c (legitimize_pic_address): Use s390_load_address
3179         to load addresses.
3180
3181 2004-11-25  Mark Mitchell  <mark@codesourcery.com>
3182
3183         PR c++/18001
3184         * c-common.h (lvalue_use): Move here from c-ctypeck.c.
3185         (lvalue_or_else): Declare.
3186         * c-common.c (lvalue_or_else): Move here from c-typeck.c.
3187         * c-typeck.c (lvalue_use): Remove.
3188         (lvalue_or_else): Remove.
3189
3190         PR c++/18556
3191         * toplev.c (check_global_declarations): Set DECL_IGNORED_P on
3192         unemitted variables with static storage duration.
3193
3194 2004-11-25  Gerald Pfeifer  <gerald@pfeifer.com>
3195
3196         * tree-cfg.c (tree_verify_flow_info): Do not terminate error()
3197         message with \n.
3198
3199 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3200
3201         * config/rs6000/altivec.md (VIshort): New mode macro.
3202         (altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
3203         with ...
3204         (altivec_vaddu<VI_char>s): ... this.
3205         (altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
3206         with ...
3207         (altivec_vadds<VI_char>s): ... this.
3208         (altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
3209         with ...
3210         (altivec_vsubu<VI_char>s): ... this.
3211         (altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
3212         with ...
3213         (altivec_vsubs<VI_char>s): ... this.
3214         (altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
3215         with ...
3216         (altivec_vavgu<VI_char>): ... this.
3217         (altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
3218         with ...
3219         (altivec_vavgs<VI_char>): ... this.
3220         (altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
3221         (altivec_vmsumu<VI_char>m): ... this.
3222         (altivec_vmsummbm, altivec_vmsummhm): Replace
3223         with ...
3224         (altivec_vmsumm<VI_char>m): ... this.
3225         (altivec_vandc): Remove.
3226         (*andc<mode>3): Renamed to ...
3227         (andc<mode>3): ... here. Swap operand 1 and 2 numbering.
3228         (altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
3229         with ...
3230         (altivec_vrl<VI_char>): ... this.
3231         (altivec_vslb, altivec_vslh, altivec_vslw): Replace
3232         with ...
3233         (altivec_vsl<VI_char>): ... this.
3234         (altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
3235         with ...
3236         (altivec_vsr<VI_char>): ... this.
3237         (altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
3238         with ...
3239         (altivec_vsra<VI_char>): ... this.
3240         (altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
3241         (altivec_vsum4s<VI_char>s): ... this.
3242         (altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
3243         with ...
3244         (altivec_vperm_<mode>): ... this.
3245         (altivec_vsel_4sf): Rename to ...
3246         (altivec_vsel_v4sf): ... here.
3247         (altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
3248         with ...
3249         (altivec_vsel_<mode>): ... this.
3250         (altivec_vsldoi_4si, altivec_vsldoi_8hi,
3251         altivec_vsldoi_16qi): Rename to ...
3252         (altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
3253         altivec_vsldoi_v16qi): ... here.
3254         (altivec_vsldoi_4sf): Rename to ...
3255         (altivec_vsldoi_v4sf): ... here.
3256         (altivec_predicate_v4si, altivec_predicate_v8hi,
3257         altivec_predicate_v16qi): Replace with ...
3258         (altivec_predicate_<mode>): ... this.
3259         (altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
3260         with ...
3261         (altivec_lve<VI_char>x): ... this.
3262         (altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
3263         with ...
3264         (altivec_stve<VI_char>x): ... this.
3265         (absv16qi2, absv8hi2, absv4si2): Replace
3266         with ...
3267         (abs<mode>2): ... this.
3268         (altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
3269         with ...
3270         (altivec_abss_<mode>): ... this.
3271         (vec_realign_load_v16qi, vec_realign_load_v8hi,
3272         vec_realign_load_v4si): Replace with ...
3273         (vec_realign_load_<mode>): ... this.
3274         * config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
3275         insn names.
3276         (rs6000_expand_ternop_builtin): Likewise.
3277
3278 2004-11-25  Andrew Haley  <aph@redhat.com>
3279
3280         * gcc.c (process_command): Don't supply -v to linker.
3281
3282 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
3283
3284         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
3285         instead of `%s' in diagnostic.
3286
3287 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
3288
3289         * basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
3290         (FREE_REG_SET): Adjust.
3291         * bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
3292         * bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
3293         (BITMAP_ALLOC): ... here.
3294         (BITMAP_OBSTACK_FREE): Rename to ...
3295         (BITMAP_FREE): Don't check for NULL bitmap here.
3296         * tree-ssa-pre.c (value_insert_into_set_bitmap,
3297         bitmap_set_new): Use new names.
3298
3299         * bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
3300         * df.c (df_free): Likewise.
3301         * ra-build.c (ra_build_free, ra_build_free_all): Likewise.
3302         * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
3303
3304         * basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
3305         (ALLOC_REG_SET): ... here.
3306         (FREE_REG_SET): Adjust.
3307         (XMALLOC_REG_SET, XFREE_REG_SET): Remove.
3308         * bb-reorder.c (fix_crossing_conditional_branches): Adjust.
3309         * cfglayout.c (cfg_layout_duplicate_bb): Adjust.
3310         * cfgrtl.c (rtl_split_block, rtl_split_edge,
3311         safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
3312         * flow.c (update_life_info, calculate_global_regs_live,
3313         allocate_bb_life_data, init_propagate_block_info): Adjust.
3314         * global.c (build_insn_chain): Adjust.
3315         * ifcvt.c (dead_or_predicable): Adjust.
3316         * loop-iv.c (simplify_using_initial_values): Adjust.
3317         * recog.c (peephole2_optimize): Adjust.
3318         * sched-deps.c (init_deps_global): Adjust.
3319
3320 2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
3321
3322         * config.gcc (avr-*-rtems*): Fix typo.
3323
3324 2004-11-25  J"orn Rennecke <joern.rennecke@st.com>
3325
3326         * sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
3327
3328 2004-11-24  Jeff Law  <law@redhat.com>
3329
3330         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
3331         the number of queries to random elements in the ai->written_vars
3332         bitmap.
3333
3334 2004-11-24  Roger Sayle  <roger@eyesopen.com>
3335
3336         * config/i386/i386.c (override_options): Disable x87 fancy math
3337         intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
3338
3339 2004-11-24  Roger Sayle  <roger@eyesopen.com>
3340
3341         * configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
3342         system header conflict on AIX 5.2.
3343         * configure: Regenerate.
3344
3345 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3346
3347         * tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
3348         instead of calling phi_arg_from_edge.
3349
3350         * tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
3351         with e->dest_idx.
3352
3353 2004-11-24  Ben Elliston  <bje@au.ibm.com>
3354
3355         * config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
3356         * config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
3357         * config/i386/i386-protos.h (i386_dwarf_output_addr_const):
3358         Likewise.
3359
3360 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3361
3362         * tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
3363
3364         * tree-inline.c (copy_body_r): Explicitly copy a constant if the
3365         type will be remapped.
3366
3367 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3368
3369         * c-opts.c (c_common_post_options): Don't clear
3370         flag_inline_functions.
3371         * dojump.c (clear_pending_stack_adjust): Remove check on
3372         flag_inline_functions, it's always true.
3373         * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
3374         that can never trigger.
3375         * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
3376         flag_inline_trees, now that flag_inline_functions is never
3377         cleared.
3378         * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
3379         flag_inline_functions at optimization levels greater than
3380         or equal to 3.  This is already done by default.
3381
3382 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3383
3384         * tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
3385         instead to find the PHI argument.  Do not take I as an
3386         argument.
3387         (eliminate_phi): Adjust the call to eliminate_build.  Do not
3388         take I as an argument.
3389         (rewrite_trees): Adjust the call to eliminate_phi.
3390
3391 2004-11-24  Richard Sandiford  <rsandifo@redhat.com>
3392
3393         * optabs.h (force_expand_binop): Declare.
3394         * optabs.c (force_expand_binop): Export.
3395         * stmt.c (shift_return_value): Delete.
3396         (expand_return): Don't call it.
3397         * expr.h (shift_return_value): Declare.
3398         * calls.c (shift_returned_value): Delete in favor of...
3399         (shift_return_value): ...this new function.  Leave the caller to check
3400         for non-BLKmode values passed in the msb of a register.  Take said mode
3401         and a shift direction as argument.  Operate on the hard function value,
3402         not a pseudo.
3403         (expand_call): Adjust accordingly.
3404         * function.c (expand_function_start): If a non-BLKmode return value
3405         is padded at the last significant end of the return register, use the
3406         return value's natural mode for the DECL_RESULT, not the mode of the
3407         padded register.
3408         (expand_function_end): Shift the same sort of return values left by
3409         the appropriate amount.
3410
3411 2004-11-24  Matt Austern  <austern@apple.com>
3412
3413         * recog.c (recog_memoized_1): Remove.
3414         * recog.h (recog_memoized_1): Remove declaration.
3415         (recog_memoized): Change from macro to inline function.
3416
3417 2004-11-24  Devang Patel  <dpatel@apple.com>
3418
3419         PR/18555
3420         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
3421         * config/darwin-c.c (darwin_register_frameworks): Use sysroot.
3422
3423 2004-11-24  Devang Patel  <dpatel@apple.com>
3424
3425         * gcc.c (process_command): Supply -v to linker.
3426
3427 2004-11-24  David Edelsohn  <edelsohn@gnu.org>
3428             Paolo Bonzini  <bonzini@gnu.org>
3429
3430         * config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
3431         vector modes without ALTIVEC_ABI.  Use GCC vector instead of
3432         synthetic vector.
3433         (rs6000_pass_by_reference): Split conditional into pieces.  Use
3434         GCC vector instead of synthetic vector.
3435
3436 2004-11-24  Aldy Hernandez  <aldyh@redhat.com>
3437
3438         * tree.c (recompute_tree_invarant_for_addr_expr): The address of a
3439         thread-local variable is invariant.
3440
3441 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3442
3443         * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
3444         Handle TYPE_REF_CAN_ALIAS_ALL.
3445         (print_declaration): Print array dimensions like dump_generic_node.
3446
3447         * fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
3448         ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
3449
3450 2004-11-24  Nathan Sidwell  <nathan@codesourcery.com>
3451
3452         * bitmap.c (INLINE): Do not define.
3453         (bitmap_elem_to_freelist, bitmap_element_free,
3454         bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
3455         bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
3456
3457 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
3458
3459         * tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
3460         find the index of a PHI argument.  Use e->dest_idx instead.
3461         Replace hint with index.
3462
3463         * tree-ssa-dom.c (cprop_into_successor_phis): Replace index
3464         with indx.
3465
3466 2004-11-24  Diego Novillo  <dnovillo@redhat.com>
3467
3468         * tree-ssa-alias.c (merge_pointed_to_info): Fix comment
3469         regarding PT_MALLOC.
3470
3471 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
3472
3473         * config/i386/i386.c (optimization_options): Use
3474         SUBTARGET_OPTIMIZATION_OPTIONS.
3475         * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
3476         (TARGET_SUBTARGET_DEFAULT): Don't include
3477         MASK_OMIT_LEAF_FRAME_POINTER.
3478
3479 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
3480
3481         * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
3482         Define to false.
3483
3484 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
3485
3486         * config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
3487         Use amd64 instead of 64.
3488
3489 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
3490             Joseph Myers  <joseph@codesourcery.com>
3491
3492         * crtstuff.c (IN_LIBGCC2): Define it.
3493         (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
3494         instead of HAVE_LD_RO_RW_SECTION_MIXING.
3495         * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
3496         * dwarf2out.c (named_section_eh_frame_section): Check
3497         EH_TABLES_CAN_BE_READ_ONLY.
3498         * except.c (default_exception_section): Likewise.
3499         * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
3500         * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
3501