OSDN Git Service

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