OSDN Git Service

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