OSDN Git Service

4b2fceabf84fb4599ed90d1f2df47d809161d45b
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
2
3         * Makefile.in (CATALOGS): Add po/ prefix.
4         * configure: Regenerated.
5
6 2006-05-31  Richard Earnshaw  <richard.earnshaw@arm.com>
7
8         PR target/27829
9         * arm.c (arm_print_operand case 'S'): Validate that the operand is
10         a shift operand before calling shift_op.  Avoid redundant call of
11         shift_op.
12
13 2006-05-30  Naveen.H.S  <naveenh@kpitcummins.com>
14             DJ Delorie  <dj@redhat.com>
15
16         * config/m32c/m32c.c (m32c_expand_insv): Check that the value
17         we're inserting is a singlt-bit constant.
18
19 2006-05-30  Roger Sayle  <roger@eyesopen.com>
20
21         * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
22         width to HOST_WIDE_INT to avoid comparison warnings on some targets.
23
24 2006-05-30  Roger Sayle  <roger@eyesopen.com>
25
26         PR tree-optimization/23452
27         * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
28         to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
29         (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
30         complex values and with -ffast-math for FP complex values.
31
32 2006-05-30  Kazu Hirata  <kazu@codesourcery.com>
33
34         * c-common.h: Remove the prototype for yyparse.
35         * rtl.h: Remove the prototype for init_loop.
36
37 2006-05-30  Andreas Krebbel  <krebbel1@de.ibm.com>
38
39         * cse.c (validate_canon_reg, cse_insn): Don't change insns without
40         calling recog.
41
42 2006-05-30  Roger Sayle  <roger@eyesopen.com>
43
44         * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
45         and rotate cases.
46         <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
47         log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
48
49 2006-05-30  Dirk Mueller  <dmueller@suse.de>
50
51         PR c/27273
52         * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
53         for CONSTANT_CLASS_P expresisons.
54
55 2006-05-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
56
57         PR c/27718
58         * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
59
60 2006-05-30  Zdenek Dvorak <dvorakz@suse.cz>
61
62         PR tree-optimization/27779
63         * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
64         initial_condition instead of CHREC_LEFT.
65
66 2006-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>
67
68         * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
69         * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
70         Make prototypes ISO C90.
71
72 2006-05-30  Mircea Namolaru  <namolaru@il.ibm.com>
73             Leehod Baruch    <leehod.baruch@weizmann.ac.il>
74
75         * see.c (see_analyze_one_def): Correct check.
76         (see_get_extension_data): Check if extension is parallel.
77         (see_get_extension_reg): Likewise.
78
79 2006-05-30  Uros Bizjak  <uros@kss-loka.si>
80
81         PR target/27790
82         * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
83         into register for (code == GTU).
84
85 2006-05-29  Roger Sayle  <roger@eyesopen.com>
86
87         PR tree-optimization/24964
88         * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
89         <MULT>: Minor clean-up.  Don't convert x*-1.0 into -x if we honor
90         signaling NaNs.  Optimize -x*-x as x*x for all float modes, and
91         abs(x)*abs(x) as x*x for scalar floating point modes.
92
93 2006-05-29  Sebastian Pop  <pop@cri.ensmp.fr>
94
95         PR middle-end/27745
96         * lambda-code.c (perfect_nestify): Don't copy statements
97         in the inner loop: move them to the inner loop header.
98
99 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
100
101         PR 26237
102         * c-tree.texi: Document OpenMP directives and clauses.
103
104 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
105
106         * varasm.c (globalize_decl): Fix indentation.
107
108 2006-05-29  Diego Novillo  <dnovillo@redhat.com>
109
110         PR 26242
111         * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
112         pass_fre, pass_store_ccp, pass_copy_prop,
113         pass_store_copy_prop, pass_merge_phi, pass_nrv,
114         pass_return_slot, pass_object_size, pass_lim,
115         pass_linear_transform, pass_empty_loop, pass_complete_unroll,
116         pass_loop_prefetch and pass_stdarg.
117
118 2005-05-29  Bernd Schmidt  <bernd.schmidt@analog.com>
119
120         * config/bfin/bfin.opt (mfdpic): New option.
121         * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
122         (EXTRA_MULTILIB_PARTS): Likewise.
123         (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
124         (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
125         multilib.
126         * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
127         (CRT_CALL_STATIC_FUNCTION): New.
128         * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
129         -shared.
130         (CRT_CALL_STATIC_FUNCTION): New.
131         * config/bfin/bfin.c (legitimize_pic_address): Now static.  Handle
132         FD-PIC moves.
133         (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
134         (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
135         (initialize_trampoline): Changed to handle FD-PIC code generation.
136         (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
137         (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
138         (override_options): Disallow -mid-shared-library -mfdpic combination.
139         Can't do unaligned ops if FD-PIC.
140         Turn off flag_pic if trying to generate non-id-shared-library
141         non-fdpic code, since it's not supported.
142         (bfin_assemble_integer): New function.
143         (TARGET_ASM_INTEGER): Define.
144         * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
145         __BFIN_FDPIC__.
146         * config/bfin/crtn.s: Restore them.
147         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
148         if TARGET_FDPIC.
149         (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
150         LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
151         (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
152         (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
153         (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
154         call-used.
155         (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
156         FDPIC_REGS and FDPIC_FPTR_REGS.
157         (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
158         * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
159         UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
160         (load_funcdescsi): New pattern.
161         (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
162         sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
163         call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
164
165 2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
166
167         * gcse.c, rtlanal.c: Remove obsolete comments associated with
168         loop.c.
169
170         * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
171
172         * tree-flow.h: Remove the prototype for add_type_alias.
173         * tree-ssa-alias.c (add_type_alias): Remove.
174
175 2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
176
177         * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
178         config/fr30/fr30.md, config/i386/i386-interix.h,
179         config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
180         config/sh/superh64.h, config/v850/v850.c, df-core.c,
181         df-problems.c, df.h, except.c, final.c, haifa-sched.c,
182         lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
183         reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
184         tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
185         Follow spelling conventions.
186         * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
187         Follow spelling conventions.
188
189 2006-05-27  Richard Guenther  <rguenther@suse.de>
190
191         PR middle-end/27773
192         * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
193         to produce a constant of value 1 of generic type.
194
195 2006-05-27  Dirk Mueller  <dmueller@suse.de>
196
197         * cgraphunit.c (decide_is_function_needed): Fix wrong
198         PR reference.
199
200 2006-05-26  Ulrich Weigand  <uweigand@de.ibm.com>
201
202         PR rtl-optimization/27661
203         * reload.c (find_reloads): When reloading a VOIDmode constant
204         as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
205         use Pmode as mode of the reload register.
206
207 2006-05-26  Eric Botcazou  <ebotcazou@adacore.com>
208
209         * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
210         is enabled at -O and above.
211
212 2006-05-26  Steven Bosscher  <steven@gcc.gnu.org>
213
214         PR target/27571
215         * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
216         table data.
217
218 2006-05-25  Mark Mitchell  <mark@codesourcery.com>
219
220         PR c++/20103
221         * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
222         for anonymous variables explicitly declared by front ends. 
223
224 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
225
226         * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
227         (struct alias_info): Add new field ref_all_symbol_mem_tag.
228         * tree-ssa-alias.c (compute_may_aliases): If the program contains
229         ref-all pointers, run a finalization pass for them.
230         (compute_flow_insensitive_aliasing): Skip ref-all pointers.
231         (finalize_ref_all_pointers): New function.
232         (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
233         regular pointer type to a ref-all pointer type.
234         (get_tmt_for): Return the special memory tag for ref-all pointers.
235
236 2006-05-25  Richard Guenther  <rguenther@suse.de>
237
238         PR middle-end/27743
239         * fold-const.c (fold_binary): Do not look at the stripped
240         op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
241
242 2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
243
244         * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
245         for LT and GT if the computed range is effectively empty.
246
247 2006-05-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
248
249         PR target/27627
250         * pa/pa-modes.def: Use mips_single_format, mips_double_format and
251         mips_quad_format formats instead of ieee_single_format,
252         ieee_double_format and ieee_quad_format formats, respectively.
253
254 2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
255
256         PR tree-optimization/27639
257         PR tree-optimization/26719
258         * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
259         call to scev_probably_wraps_p.
260         * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
261         used_in_pointer_arithmetic_p, convert_step): Removed.
262         (nowrap_type_p): New function.
263         (scev_probably_wraps_p): Rewritten.
264         * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
265         chrec_convert if chrec_convert_aggressive might have been used.
266         * tree-chrec.c (convert_affine_scev, chrec_convert_1,
267         scev_direction): New functions.
268         (chrec_convert): Changed to a wrapper over chrec_convert_1.
269         * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
270         instead of convert_step.
271         * tree-flow.h (scev_probably_wraps_p): Declaration changed.
272         (convert_step): Declaration removed.
273         (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
274
275 2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
276
277         * df-core.c: Added to header comments.
278         * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
279         df_ur_bb_info, df_urec_bb_info): Added comments.
280         * df-problems (df_ref_bitmap, ru, rd, lr, ur, 
281         urec, ri problems): Fixed header comments.
282         (df_ru_transfer_function): Fixed in-out set dyslexia when copying 
283         code from df_rd_transfer_function.
284         
285 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
286
287         * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
288         (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
289         MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
290
291 2006-05-23  Joseph Myers  <joseph@codesourcery.com>
292
293         * expr.c (undefined_operand_subword_p): New.
294         (emit_move_multi_word): Do not generate move from undefined bits
295         of a paradoxical subreg.
296
297 2006-05-23  Richard Sandiford  <richard@codesourcery.com>
298
299         PR rtl-optimization/27736
300         * combine.c (replaced_rhs_value): New variable.
301         (combine_instructions): Set it.
302         (distribute_notes): When distributing a note in replaced_rhs_insn,
303         check whether the value was used in replaced_rhs_value.
304
305 2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
306
307         PR c++/26757
308         * tree-ssa-loop-im.c (determine_invariantness_stmt): Use 
309         add_referenced_var instead of add_referenced_tmp_var.
310         * tree-complex.c (create_one_component_var): Use add_referenced_var.
311         * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
312         add_referenced_var.
313         * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
314         tree_optimize_tail_calls_1): Use add_referenced_var.
315         * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
316         * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
317         Use add_referenced_var.
318         * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
319         * gimplify.c (force_gimple_operand): Use add_referenced_var.
320         * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
321         Use add_referenced_var.
322         * tree-dfa.c (struct walk_state): Remove.
323         (find_referenced_vars): Remove walk state and vars_found hash table.
324         (make_rename_temp): Use add_referenced_var.
325         (find_vars_r): Pass less parameters to add_referenced_var.
326         (referenced_var_p): New.  Is var in referenced_var hash table.
327         (referenced_var_insert): Assert var isn't already in hash table.
328         (add_referenced_var): Don't need walk_state parameter.  Add var if it
329         isn't already in the hash table.
330         (add_referenced_tmp_var): Remove.
331         (find_new_referenced_vars_1): Use add_referenced_var.
332         * tree-ssa-pre.c (create_expression_by_pieces, 
333         insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
334         Use add_referenced_var.
335         * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
336         * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
337         lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use 
338         add_referenced_var.
339         * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
340         vect_create_data_ref_ptr, vect_create_destination_var,
341         vect_init_vector, vect_build_loop_niters, 
342         vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
343         vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
344         Use add_referenced_var.
345         * tree-outof-ssa.c (create_temp): Use add_referenced_var.
346         * tree-flow.h (add_referenced_tmp_var): Remove prototype
347         (add_referenced_var): Add prototype.
348         * tree-ssa-structalias.c (get_constraint_for, 
349         intra_create_variable_infos): Use add_referenced_var.
350
351 2006-05-23  Alexandre Oliva  <aoliva@redhat.com>
352
353         * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
354         big-endian paradoxical subregs.
355         * var-tracking.c (struct micro_operation_def): Document that,
356         for modify micro operations, insn is the subsequent instruction.
357         (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
358         (var_reg_set, var_mem_set): ... new functions.
359         (add_stores): Record subsequent insn.
360         (compute_bb_dataflow): Use new functions for MO_USE.
361         (emit_notes_in_bb): Use new functions for MO_USE.  Emit use
362         notes after the insn, and modify notes before the insn known
363         to be the subsequent one.
364         (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
365
366 2006-05-23  Kazu Hirata  <kazu@codesourcery.com>
367
368         PR target/27696
369         * config/i386/i386.c (ix86_expand_builtin): Use
370         gen_sse3_monitor64 for TARGET_64BIT.
371
372 2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
373
374         PR rtl-optimization/26375
375         PR rtl-optimization/26855
376         * df-problems (df_ru_bb_local_compute_process_def): Removed update
377         to gen set.
378         (df_ru_bb_local_compute): Reversed statements and removed bogus
379         comment explaining why they should be in wrong order.
380         (df_ru_dump, df_rd_dump): Enhanced debug info.     
381         * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
382         debug info.       
383         * ddg.c (add_deps_for_def): Converted use of reaching defs to
384         reaching uses and fixed space problem.
385
386 2006-05-23  Jan Hubicka  <jh@suse.cz>
387
388         * cgraphunit.c (decide_is_function_needed): Also nested functions
389         and functions declared inline can be optimized out at -O0.
390
391 2006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
392
393         * doc/install.texi (Configuration): Remove reference to CrossGCC
394         FAQ which was hijacked.
395         (Building): Ditto.
396
397 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
398
399         PR target/27266
400         * config/i386/i386.c (ix86_expand_branch): Jump to simple if
401         ix86_compare_emitted is non-NULL.
402
403 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
404
405         PR c++/27451
406         * stmt.c (expand_asm_operands): Skip asm statement with erroneous
407         clobbers.
408
409 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
410
411         PR rtl-optimization/25514
412         * combine.c (replaced_rhs_insn): New variable.
413         (combine_instructions): Set replaced_rhs_insn when trying to replace
414         a SET_SRC with a REG_EQUAL note.
415         (distribute_notes): Use replaced_rhs_insn when determining the live
416         range of a REG_DEAD register.
417
418 2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
419             Anatoly Sokolov <aesok@post.ru>
420
421         * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
422         attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
423         attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, 
424         atmega164p, atmega324p, atmega644p, atmega644, atmega329, 
425         atmega3290, atmega649, atmega6490, atmega406, atmega640, 
426         atmega1280, atmega1281, at90can32, at90can64, at90usb646, 
427         at90usb647, at90usb1286 and at90usb1287 devices.  
428         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
429         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
430
431 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
432
433         * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
434
435 2006-05-22  Richard Guenther  <rguenther@suse.de>
436
437         Revert
438         2006-01-31  Richard Guenther  <rguenther@suse.de>
439         Paolo Bonzini  <bonzini@gnu.org>
440
441         * doc/install.texi (--disable-libgcc-math): Document.
442
443 2006-05-22  Richard Guenther  <rguenther@suse.de>
444
445         Revert
446         2006-01-31  Richard Guenther  <rguenther@suse.de>
447
448         * doc/invoke.texi (-msselibm): Document.
449         * target.h (expand_library_builtin): New target hook.
450         * builtins.c (expand_builtin): Use expand_library_builtin.
451         (default_expand_library_builtin): New function.
452         * gcc.c (LINK_GCC_MATH_SPEC): Define.
453         (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
454         (link_gcc_math_spec): Declare.
455         (static_specs): Add link_gcc_math_spec.
456         * expr.h (default_expand_library_builtin): Declare.
457         * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
458         (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
459         * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
460         * config/i386/i386.opt (msselibm): New target option.
461         * config/i386/i386.c (ix86_builtin_function_variants): New array.
462         (ix86_init_sse_abi_builtins): New function.
463         (ix86_expand_library_builtin): Likewise.
464         (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
465         (override_options): Handle error conditions wrt -msselibm.
466         (ix86_builtins): Add function codes for SSE2 ABI builtins.
467         (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
468         * doc/extend.texi (__builtin_sse2_*): Document new target specific
469         builtins.
470
471 2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
472
473         PR c/27420
474         * c-common.c (self_promoting_args_p): Skip erroneous args.
475
476         PR c/26818
477         * c-decl.c (finish_struct): Skip erroneous fields.
478
479 2006-05-22  Nick Clifton  <nickc@redhat.com>
480
481         * config/cris/cris.opt (march): Remove VarExists attribute.
482         (max-stackframe=): Likewise.
483
484 2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
485
486         * doc/rtl.texi: Fix a typo.
487         * see.c: Fix comment typos.
488
489         * tree-ssa-structalias.h (alias_info): Remove num_references.
490
491 2006-05-21  Mike Stump  <mrs@apple.com>
492
493         * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
494         (BAD2): Add.
495         (darwin_pragma_options): Use BAD instead.
496         (darwin_pragma_unused): Likewise.
497         (darwin_pragma_ms_struct): Likewise.
498
499 2006-05-21  David Edelsohn  <edelsohn@gnu.org>
500
501         * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
502
503 2006-05-21  Kazu Hirata  <kazu@codesourcery.com>
504
505         PR rtl-optimization/27671
506         * simplify-rtx.c (simplify_relational_operation_1): Fix
507         simplifications of (eq/ne (xor x y) y) and
508         (eq/ne (xor x y) x).
509
510         PR tree-optimization/26622.
511         * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
512         on arg1.
513
514 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
515
516         * tree-cfg.c: Prune whitespace.
517         (debug_tree_cfg): Point to correct header containing the
518         TDF_* defines.
519
520 2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
521
522         PR middle-end/25776
523         * cgraphunit.c (verify_cgraph_node): Typo in error message.
524
525 2006-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
526
527         PR middle-end/25776
528         * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
529         or sorry count is non zero.
530
531 2006-05-20  Andreas Schwab  <schwab@suse.de>
532
533         * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
534
535 2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
536             Kenneth Zadeck <zadeck@naturalbridge.com>
537
538         PR rtl-optimization/26855
539
540         * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
541         multiword refs.
542         (df_scan_alloc): Added code to properly handle multiword hard
543         registers and add all_blocks parameter.
544         (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
545         code to properly handle multiword hard registers.
546         (df_rescan_blocks): Added code to remove deleted blocks from
547         bitmap.
548         (df_ref_create_structure, df_ref_record): Added code to properly
549         handle subregs.
550         (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
551         and set DF_REF_PARTIAL.
552         (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
553         (df_uses_record): Added DF_REF_PARTIAL for subreg. 
554         (df_scan_add_problem): Added flags parameter.
555         (df_ref_create_structure): Changed switching structure.
556         (df_bb_refs_record): Fixed case where duplicate artificial refs
557         were created.  Changed location of flags.
558         (df_record_entry_block_defs): Added code to make stack pointer
559         live in entry block.  Refined cases where frame pointer is needed.
560         Changed location of flags.
561         (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
562         (df_set_state): Removed function.
563         (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
564         df_insn_create_insn_record, df_insn_refs_delete, 
565         df_ref_create_structure): Formatting changes.  
566         * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
567         df_delete_basic_block): New function.
568         (df_init): Changed location of flags.
569         (df_add_problem): Added flags parameter and the way flags are
570         processed.
571         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
572         debug_df_chain): Improved debugging output.
573         (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
574         (df_refs_chain_dump): Removed df parameter.
575         (df_iterative_dataflow): Added consistency check.
576         (df_prune_to_subcfg): Made public.
577         (df_analyze_problem): Added blocks_to_init parameter and made
578         public.
579         (df_ref_record, df_bb_refs_record, df_mark_reg, 
580          df_record_exit_block_uses): Whitespace changes.
581         (df_dump): Whitespace changes.
582         * df.h: Some reordering to remove forward references.
583         (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
584         DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
585         (df_ref_flags.DF_REF_CLOBBER): Deleted field.
586         (dataflow.flags): New field.
587         (df.flag): Deleted field.
588         (df_alloc_function): Added additional bitmap parameter.
589         (df_dependent_problem_function): New type.
590         (df_problem.changeable_flags): New field.
591         (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
592         DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
593         (df_mw_hardreg): New struct.
594         (DF_INSN_UID_MWS): New macro.
595         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
596         parameter.
597         (df_add_problem, df_ru_add_problem, df_rd_add_problem,
598         df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
599         df_ri_add_problem, df_scan_add_problem): Added flags parameter.
600         (df_set_state): Removed function.
601         (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
602         * df-problems.c (df_chain_dump): Removed df parameter.
603         (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
604         df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
605         parameter.
606         (df_ru_alloc, df_rd_alloc): Now resets all blocks.
607         (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
608         df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
609         Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
610         DF_REF_MUST_CLOBBER cases.
611         (df_ru_bb_local_compute_process_def,
612         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
613         df_lr_bb_local_compute, df_ur_bb_local_compute,
614         df_chain_create_bb): Made subreg aware.
615         (df_ru_bb_local_compute, df_rd_bb_local_compute,
616         df_lr_bb_local_compute, df_lr_bb_local_compute,
617         df_chain_create_bb): Cleanup to use proper macros.
618         (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
619         code to fixup bitvectors.
620         (df_ri_alloc): Cleared lifetime.
621         (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
622         df_create_unused_note): New function.
623         (df_ri_bb_compute, df_ri_compute): Added code to create/update
624         REG_DEAD and REG_UNUSED notes as well as register information.
625         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
626         df_chains_dump): Fixed crash if problem was never run.
627         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
628         df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
629         df_ri_add_problem): Processes flags in uniform manner.
630         (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
631         df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
632         df_rd_dump, df_urec_free_bb_info): Formatting changes.
633         (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
634         df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
635         df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
636         df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
637         df_ur_dump, df_urec_free_bb_info, df_urec_dump,
638         df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
639         * modulo-sched.c (sms_schedule): Added flag parameter to calls.
640         * see.c (see_initialize_data): Ditto.
641         * final.c (rest_of_clean_state) Added regstack_completed.
642         * rtl.h (regstack_completed): Ditto.
643         * reg-stack.c (regstack_completed): Ditto.
644
645 2006-05-19  Mike Stump  <mrs@apple.com>
646
647         * c-tree.h (default_conversion): Remove.
648         * c-common.h (default_conversion): Add.
649
650 2006-05-19  Zdenek Dvorak <dvorakz@suse.cz>
651
652         * tree-vrp.c (valid_value_p): New function.
653         (adjust_range_with_scev): Fail if the value of bound is not
654         simple.
655
656 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
657
658         * config/mips/linux-unwind.h: Include <asm/unistd.h>
659         (mips_fallback_frame_state): Use syscall numbers to determine
660         the appropriate li instruction for the current ABI.  Only use
661         __NR_sigreturn for o32.
662
663 2006-05-19  Nicolas Setton  <setton@adacore.com>
664
665         * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
666         * langhooks.c (lhd_dwarf_name): New function.
667         * langhooks-def.h (lhd_dwarf_name): Declare.
668         (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
669         * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
670         * ada/misc.c (gnat_dwarf_name): New function.
671         (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
672         
673 2006-05-19  Richard Sandiford  <richard@codesourcery.com>
674
675         * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
676         libgcc2.h.
677         (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
678         MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
679         LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
680         * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
681         Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
682         determine the size of Wtype, etc.
683         * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
684         (swfloatfuncs): New variable.
685         (dwfloatfuncs): Likewise.
686         (lib2funcs): Remove floating-point conversion functions from
687         initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
688         the set of conversion routines needed.  Allow entries to specify
689         an object name, filename and word size.  Update users accordingly.
690         * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
691         * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
692
693         Revert:
694
695         2006-02-08  Roger Sayle  <roger@eyesopen.com>
696
697         PR target/22209
698         * config/fixtfdi.c: New libgcc source file.
699         * config/fixunstfdi.c: New source file.
700         * config/floatditf.c: New source file.
701         * config/floatunditf.c: New souce file.
702         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
703         files above instead of config/mips/_tilib.c.
704         * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
705
706 2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
707
708         * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
709         * pa/pa-hpux11.h (LIB_SPEC): Update comment.
710
711 2006-05-18  Mike Stump  <mrs@apple.com>
712
713         Fix up vla, vm and [*] sematics.
714
715         PR c/18740
716         PR c/7948
717         PR c/25802
718         PR c/27673
719         * c-tree.h (struct c_arg_info): Add had_vla_unspec.
720         (c_vla_unspec_p): Add.
721         (c_vla_type_p): Add.
722         * c-decl.c (struct c_scope): Add had_vla_unspec.
723         (build_array_declarator): Add support for [*].
724         (grokdeclarator): Likewise.
725         (grokparms): Likewise.
726         (get_parm_info): Likewise.
727         * c-objc-common.c (c_vla_unspec_p): Likewise.
728         * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
729         * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
730         typeof when argument is a variably modified type not inside sizeof or alignof.
731         (c_parser_direct_declarator_inner): Propagate errors.
732         (c_parser_sizeof_expression): Add support for [*].
733         (c_parser_parms_declarator): Initialize had_vla_unspec.
734         (c_parser_parms_list_declarator): Likewise.
735         * c-typeck.c (c_vla_type_p): Add.
736         (composite_type): Add support for vla compositing.
737         (comptypes_internal): Add support for vla compatibility.
738         (c_expr_sizeof_expr): Evaluate vla arguments.
739         * tree.c (variably_modified_type_p): Update comment for [*].
740
741 2006-05-18  Michael Matz  <matz@suse.de>
742
743         PR target/27599
744         * config.host: Make assignments to host_xmake_file cumulative.
745         * config.host (*-darwin*): Test $host, not $target.
746
747 2006-05-12  Stuart Hastings  <stuart@apple.com>
748
749         * config/i386/i386.opt (-mstackrealign): New flag.
750         * config/i386/i386.c (force_align_arg_pointer): New attribute.
751         (ix86_handle_cconv_attribute): Emit error when
752         force_align_arg_pointer attribute collides with too many regparms.
753         (ix86_function_regparm): Limit regparms when used with
754         force_align_arg_pointer attribute.  (ix86_internal_arg_pointer):
755         Support stack-realigning prologue in non-main functions.  Emit
756         warning for nested functions under -mstackrealign, emit error for
757         nested functions with force_align_arg_pointer attribute.
758         * doc/extend.texi (force_align_arg_pointer): Document it.
759         * doc/invoke.texi (-mstackrealign): Document it.
760
761 2006-05-17  Kazu Hirata  <kazu@codesourcery.com>
762
763         PR rtl-optimization/27477
764         * combine.c (try_combine): Don't split a parallel consisting
765         of two sets into two individual sets if both sets reference
766         cc0.
767
768 2006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
769
770         * config/arm/arm.opt (target_fpe_name): Remove VarExists.
771         * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
772
773         * doc/options.texi (VarExists): Updated.
774
775 2006-05-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
776
777         * unwind-dw2.c: Add declarations for uw_update_context and
778         uw_frame_state_for.
779         * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
780         detected, advance frame state and context once to skip over stub.
781
782 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
783
784         PR middle-end/20256
785         PR middle-end/26435
786         * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
787         Call rewrite_into_loop_closed_ssa only when something changed.
788         * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
789         * lambda-code.c (can_convert_to_perfect_nest): Declared.
790         (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
791         Test for perfect_nest_p here.  Fix formating.
792         (replace_uses_equiv_to_x_with_y): Fix formating.
793         (stmt_uses_op): Removed.
794         (can_convert_to_perfect_nest): Removed loopivs parameter.
795         Complete the test by checking the scalar dependences.
796         (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
797         Fix formating.
798
799 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
800
801         PR bootstrap/22541
802         From Dan Kegel <dank@kegel.com>:
803         * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
804
805 2006-05-17  Eric Botcazou  <ebotcazou@adacore.com>
806
807         * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
808         if the element type is variably modified without recursing.
809
810 2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
811
812         PR middle-end/27332
813         * tree-loop-linear.c (try_interchange_loops): Test for
814         no data dependences.
815
816 2006-05-17  Zdenek Dvorak <dvorakz@suse.cz>
817
818         PR tree-optimization/27548
819         * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
820         range of ssa names that appear on abnormal edges.
821         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
822         * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
823
824 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
825
826         PR middle-end/27620
827         * expr.c (safe_from_p): Handle CONSTRUCTOR again.
828
829 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
830
831         PR middle-end/27415
832         * tree.h (OMP_PARALLEL_COMBINED): Define.
833         * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
834         (new_omp_context): Add is_combined_parallel argument.
835         (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
836         new_omp_context caller.
837         (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
838         Adjust gimplify_scan_omp_clauses callers.
839         (omp_is_private): Issue errors if iteration variable is firstprivate
840         or reduction in the current context.
841         * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
842         on combined parallel workshare constructs.
843
844 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
845
846         * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
847         (gcc-options.o): New rule.
848
849         * optc-gen.awk: Protect variables for gcc-options.o with
850         #ifdef GCC_DRIVER/#endif.
851
852 2006-05-16  Daniel Berlin <dberlin@dberlin.org>
853
854         Fix PR tree-optimization/27373
855         * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
856          (forward_propagate_addr_expr): Update call.
857
858 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
859
860         * doc/options.texi: Move the Negative option.
861
862 2006-05-16  Richard Guenther  <rguenther@suse.de>
863
864         PR tree-optimization/22303
865         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
866         from STRING_CSTs.
867         (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
868         ccp_fold did not simplify the statement.
869
870 2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
871
872         PR driver/26885
873         * Makefile.in (GCC_OBJS): New.
874         (OBJS-common): Add opts-common.o.
875         (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
876         (cpp$(exeext)): Likewise.
877         (gcc.o): Also depend on opts.h.
878         (opts-common.o): New.
879
880         * common.opt (gcoff): Add Negative(gdwarf-2).
881         (gdwarf-2): Add Negative(gstabs).
882         (gstabs): Add Negative(gstabs+).
883         (gstabs+): Add Negative(gvms).
884         (gvms): Add Negative(gxcoff).
885         (gxcoff): Add Negative(gxcoff+).
886         (gxcoff+): Add Negative(gcoff).
887         * config/i386/i386.opt (m32): Add Negative(m64).
888         (m64): Add Negative(m32).
889
890         * doc/options.texi: Document the Negative option.
891
892         * gcc.c: Include "opts.h".
893         (main): Call prune_options after expandargv.
894
895         * optc-gen.awk: Generate common declarations for all flag
896         variables in options.c. Output the neg_index field.
897
898         * opts.c (find_opt): Moved to ...
899         * opts-common.c: Here. New file.
900
901         * opts.h (cl_option): Add a neg_index field.
902         (find_opt): New.
903         (prune_options): Likewise.
904
905 2006-05-16  Jakub Jelinek  <jakub@redhat.com>
906
907         PR middle-end/27573
908         * omp-low.c (expand_omp_parallel): Don't assert
909         .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
910         instead search for it.
911
912         PR c/27499
913         * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
914         is signed.
915
916 2006-05-16  Andreas Schwab  <schwab@suse.de>
917
918         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
919         defmac.
920
921 2006-05-15  Roger Sayle  <roger@eyesopen.com>
922
923         PR target/26600
924         * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
925         integer constants other than zero are only legitimate on TARGET_64BIT.
926         <CONST_VECTOR> Only zero vectors are legitimate.
927         (ix86_cannot_force_const_mem): Integral and vector constants can
928         always be put in the constant pool.
929
930 2006-05-16  DJ Delorie  <dj@redhat.com>
931
932         * crtstuff.c (__dso_handle): Set section from
933         TARGET_LBIGCC_SDATA_SECTION if defined.
934         * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
935         * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
936
937 2006-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
938
939         PR target/27599
940         * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
941         host_xmake_file.
942
943 2006-05-16  Ben Elliston  <bje@au.ibm.com>
944
945         * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
946
947 2006-05-15  Per Bothner  <per@bothner.com>
948
949         * tree.c: (last_annotated_node): Use sources_locus typedef.
950         This permits bootstrapping with --enable-mapped-location.
951
952 2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>
953
954         PR tree-optimization/26830
955         * tree-into-ssa.c (struct ssa_name_info): Add age field.
956         (info_for_ssa_name, current_info_for_ssa_name_age,
957         blocks_to_update): New variables.
958         (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
959         (clear_ssa_name_info, initialize_flags_in_bb,
960         mark_block_for_update): New functions.
961         (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
962         (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
963         prepare_def_site_for): Use mark_block_for_update.
964         (mark_def_interesting): Assert that the processed block is marked in
965         blocks_to_update.  Do not take blocks argument.
966         (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
967         argument.
968         (rewrite_update_init_block, rewrite_update_stmt): Only process
969         blocks with statements to rewrite.
970         (delete_update_ssa): Do not clear SSA_NAME_AUX.
971         (update_ssa): Initialize and free blocks_to_update.  Do not
972         clear flags on statements.  Do not use blocks bitmap.
973         * tree.h (SSA_NAME_AUX): Removed.
974         (struct tree_ssa_name): Removed aux field.
975         * print-tree.c (print_node): Do not print SSA_NAME_AUX.
976
977 2006-05-15  Richard Guenther  <rguenther@suse.de>
978
979         PR tree-optimization/27603
980         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
981         Do computations in original type.
982
983 2006-05-15  Mircea Namolaru  <namolaru@il.ibm.com>
984
985         * see.c: Code style changes such as redundant paranthesis,
986         redundant intialization of local variables etc.
987         (see_main): Declared now as static.
988         * doc/invoke.texi: Update that -fsee is not enabled by
989         default at -O3.
990
991 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
992
993         * omp-low.c (check_omp_nesting_restrictions): New function.
994         (scan_omp_1): Call it.
995
996         PR middle-end/27416
997         * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
998         construct, return *VAR.
999
1000 2006-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1001
1002         PR rtl-optimization/27406
1003         * bt-load.c (migrate_btr_def): Skip the block having abnormal
1004         edges.
1005
1006 2006-05-14  Roger Sayle  <roger@eyesopen.com>
1007
1008         PR rtl-optimization/27538
1009         * combine.c (expand_compound_operation): Call gen_lowpart
1010         before calling simplify_shift_const.
1011
1012 2006-05-14  Roger Sayle  <roger@eyesopen.com>
1013
1014         PR rtl-optimization/22563
1015         * expmed.c (store_fixed_bit_field): When using AND and IOR to store
1016         a fixed width bitfield, always force the intermediates into psuedos.
1017
1018 2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>
1019
1020         PR 27501
1021         * mkconfig.sh: Use operator = instead of == for test.
1022
1023 2006-05-13  Nick Clifton  <nickc@redhat.com>
1024
1025         * dwarf2out.c (dbx_reg_number): Check return value from
1026         LEAF_REG_REMAP and only use it if it is valid.
1027         (multiple_reg_loc_descriptor): Likewise.
1028
1029 2006-05-13  Richard Guenther  <rguenther@suse.de>
1030
1031         * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
1032         host_xmake_file.
1033
1034 2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
1035
1036         * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
1037         information attached to non-INSNs such as NOTEs.
1038         (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
1039
1040 2006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
1041
1042         * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
1043         On contraint.
1044         * config/s390/s390.md: Adjust comment describing On constraint.
1045
1046 2006-05-11  Jan Hubicka  <jh@suse.cz>
1047
1048         * cgraphunit.c (decide_is_function_needed): Don't force always_inline
1049         to be output at -O0.
1050
1051 2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1052
1053         PR middle-end/27384
1054         * fold-const.c (size_binop): Move sanity check for arguments to
1055         the beginning of the function.
1056
1057         PR middle-end/27488
1058         * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
1059         expression.
1060
1061 2006-05-11  Richard Guenther  <rguenther@suse.de>
1062
1063         PR middle-end/27529
1064         * fold-const.c (fold_unary): Handle intermediate conversion
1065         to a pointer type like intermediate conversion to an integer
1066         type in folding of (T1)(T2)var to var.
1067         Match the code to the comment in the final conversion for
1068         (T1)(T2)var to (T1)var regarding to type precision.  Rather
1069         than disallow T1 being of pointer type, assert that both T1
1070         and var are of pointer type or not.  Make sure not to fall
1071         over the frontends lazyness wrt array to pointer decay though.
1072
1073 2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
1074
1075         * arm.c (arm_struct_value_rtx): Delete.
1076         (TARGET_STRUCT_VALUE_RTX): Use the default definition.
1077         (arm_init_cumulative_args): Always initialize nregs to zero.
1078
1079 2006-05-10  Richard Guenther  <rguenther@suse.de>
1080
1081         PR tree-optimization/27532
1082         * tree-object-size.c (plus_expr_object_size): Fix typo.
1083
1084 2006-05-10  Kazu Hirata  <kazu@codesourcery.com>
1085
1086         PR target/24949
1087         * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
1088         ashrdi_const, ashrdi3): Use a scratch register.
1089
1090 2006-05-10  Richard Guenther  <rguenther@suse.de>
1091
1092         PR tree-optimization/27302
1093         * fold-const.c (operand_equal_p): For two comparisons,
1094         try comparison of one comparison code swapped if that yields
1095         the same code.
1096
1097 2006-05-10  Ben Elliston  <bje@au.ibm.com>
1098
1099         * tree-pretty-print.c (pretty_print_string): No need to handle
1100         '\0' as a special character.
1101
1102         * tree.h: Include "hashtab.h".
1103         (iterative_hash_expr): Use hashval_t in its prototype.
1104         * Makefile.in (TREE_H): Add $(HASHTAB_H).
1105
1106 2006-05-09  Steve Ellcey  <sje@cup.hp.com>
1107
1108         PR bootstrap/26872
1109         * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
1110         (hppa*64*-*-hpux11*): Ditto.
1111         (hppa[12]*-*-hpux11*): Ditto.
1112
1113 2006-05-09  David Edelsohn  <edelsohn@gnu.org>
1114
1115         PR target/26545
1116         * config/rs6000/aix41.h (TARGET_64BIT): Define.
1117
1118 2006-05-09  Michael Matz  <matz@suse.de>
1119
1120         * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
1121         host_extra_gcc_objs and host_xmake_file.
1122         (<*-*-linux*>): Don't overwrite host_xmake_file.
1123         * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
1124         * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
1125         (host_detect_local_cpu): Declare.
1126         (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
1127         * config/i386/i386.c (override_options): Handle -mtune=native
1128         as -mtune=generic.
1129         * config/i386/x-i386: New file.
1130         * config/i386/driver-i386.c: New file.
1131         * doc/invoke.texi (<i386 and x86-64 Options>): Describe
1132         cpu-type "native".
1133
1134 2006-05-09  Dirk Mueller  <dmueller@suse.de>
1135         Richard Guenther  <rguenther@suse.de>
1136
1137         PR middle-end/27498
1138         * fold-const.c (fold_read_from_constant_string): Relax check
1139         for matching types to matching modes.
1140
1141 2006-05-09  Zdenek Dvorak <dvorakz@suse.cz>
1142
1143         PR rtl-optimization/27335
1144         * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
1145         loops.
1146
1147 2006-05-08  Chao-ying Fu  <fu@mips.com>
1148             Richard Sandiford  <richard@codesourcery.com>
1149
1150         * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
1151         (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
1152         * config/mips/mips.md (UNSPEC_SCC): New constant.
1153         * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
1154         * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
1155         (mips_emit_compare): Use it.
1156         (mips_expand_vcondv2sf): New function.
1157
1158 2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
1159
1160         Fix PR tree-optimization/27093
1161         * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
1162         renaming when they become not-used_alone.
1163
1164 2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1165
1166         * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
1167         relocation and relocation stubs.
1168
1169 2006-05-08  Eric Christopher  <echristo@apple.com>
1170
1171         * unwind-dw2-fde-darwin.c (examine_objects): Only check data
1172         section for ppc.
1173
1174 2006-05-08  Jan Hubicka  <jh@suse.cz>
1175
1176         PR middle-end/24561
1177         * cgraphunit.c (decide_is_function_needed): When not optimizing even
1178         unused static functions are needed.
1179
1180 2006-05-08  Roger Sayle  <roger@eyesopen.com>
1181
1182         PR target/27158
1183         * reload.c (find_reloads_toplev): Only return the simplified SUBREG
1184         of a reg_equiv_constant if the result is a legitimate constant.
1185
1186 2006-05-08  Uros Bizjak  <uros@kss-loka.si>
1187
1188         PR target/27277
1189         * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
1190         standard 80387 constants, raise the cost to prevent
1191         compress_float_constant() to generate load from memory.
1192
1193 2006-05-08  Kazu Hirata  <kazu@codesourcery.com>
1194
1195         * config/arm/constraints.md (c): Fix a typo.
1196
1197         * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
1198         typos.
1199
1200 2006-05-07  H.J. Lu  <hongjiu.lu@intel.com>
1201
1202         PR target/24879
1203         * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
1204         inline function.
1205         (_mm_mwait): Likewise.
1206
1207         * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
1208         "mwait".
1209         (sse3_monitor): Make it 32bit only.
1210         (sse3_monitor64): New. 64bit monitor.
1211
1212 2006-05-07  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1213
1214         PR target/27421
1215         * config/i386/i386.c (classify_argument): Skip fields with invalid
1216         types.
1217
1218 2006-05-07  Richard Guenther  <rguenther@suse.de>
1219
1220         PR tree-optimization/27409
1221         * tree-ssa-structalias.c (get_constraint_for_component_ref):
1222         Do not try to find zero-sized subvars.
1223
1224 2006-05-07  Richard Guenther  <rguenther@suse.de>
1225
1226         PR tree-optimization/27136
1227         * tree-ssa-loop-niter.c (get_val_for): Correct function
1228         comment, assert requirements.
1229         (loop_niter_by_eval): Stop processing if the iterated
1230         value did not simplify.
1231
1232 2006-05-07  Mircea Namolaru  <namolaru@il.ibm.com>
1233
1234         * opts.c (flag_see): remove its setting at -O3.
1235
1236 2006-05-07  Richard Earnshaw  <rearnsha@arm.com>
1237
1238         * genpeep.c (main): Make insn-peep.c depend on flags.h.
1239         * arm/constraints.md: New file.
1240         * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
1241         (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
1242         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
1243         (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
1244         (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
1245         (EXTRA_MEMORY_CONSTRAINT): Likewise.
1246         * arm.md: Include constraints.md.
1247         (thumb_movsi_insn): Use satisfies_constraint_J.
1248         (movhi, movqi): Use satisfies_constraint_I.
1249
1250 2006-04-29 Anatoly Sokolov <aesok@post.ru>
1251
1252         * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
1253         for atmeg a645 device.
1254
1255 2006-05-06   Richard Guenther  <rguenther@suse.de>
1256
1257         PR tree-optimization/27151
1258         * tree-vect-transform.c (vectorizable_condition): Punt on
1259         values that have a different type than the condition.
1260
1261 2006-05-03  Aldy Hernandez  <aldyh@redhat.com>
1262
1263         PR/21391
1264         * c-parser.c (c_parser_cast_expression): Only insert casts into
1265         hash table if pointer.
1266         * function.c (used_types_insert_helper): Rename from
1267         used_types_insert.
1268         (used_types_insert): Call used_types_insert_helper.
1269         * function.h (used_types_insert): Accept only one argument.
1270
1271 2006-05-05  David Edelsohn  <edesohn@gnu.org>
1272
1273         * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
1274         scratch with output modifier.
1275
1276 2006-05-04  David Edelsohn  <edelsohn@gnu.org>
1277
1278         PR target/26481
1279         * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
1280         with output modifier.
1281
1282 2006-05-04  Richard Sandiford  <richard@codesourcery.com>
1283
1284         PR target/26765
1285         * config/mips/mips.c (mips_symbolic_address_p): Return true
1286         for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
1287         SYMBOL_GOTTPREL, and SYMBOL_TLS.
1288
1289 2006-05-04  Richard Guenther  <rguenther@suse.de>
1290
1291         PR tree-optimization/14287
1292         PR tree-optimization/14844
1293         PR tree-optimization/19792
1294         PR tree-optimization/21608
1295         PR tree-optimization/27090
1296         * tree-ssa-pre.c (try_combine_conversion): New function.
1297         (compute_avail): After constructing the value-handle
1298         expression, use try_combine_conversion to combine NOP_EXPRs
1299         with previous value-handle expressions and use the result if it
1300         is available.
1301
1302 2006-05-04  Joseph S. Myers  <joseph@codesourcery.com>
1303
1304         * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
1305
1306 2006-05-04  Jan Hubicka  <jh@suse.cz>
1307
1308         PR middle-end/25962
1309         * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
1310
1311 2006-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
1312
1313         * config/bfin/predicates.md (const01_rtx): Tell generator programs
1314         that this only matches CONST_INTs.  All users changed to VOIDmode
1315         operands.
1316
1317         * config/bfin/bfin.c: Include "optabs.h".
1318         (bfin_rtx_costs): Some costs for vector operations, to allow combine
1319         to do more work.
1320         (enum bfin_builtins): Add a number of fractional and vector builtins.
1321         (bfin_init_builtins): Likewise.
1322         (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
1323         (safe_vector_operand, bfin_expand_binop_builtin,
1324         bfin_expand_unop_builtin): New functions.
1325         (bfin_expand_builtin): Handle the new builtins.
1326         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1327         __ADSPBLACKFIN__.
1328
1329 2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
1330
1331         * see.c: New file.
1332         * Makefile.in (OBJS-common): Add see.o.
1333         (see.o): Add dependencies.
1334         * common.opt (fsee): New flag for the see optimization was added.
1335         * opts.c (flag_see): Initialized.
1336         * passes.c (init_optimization_passes, pass_see): New pass.
1337         * rtl.h (see_main): Declaration as extern.
1338         * timevar.def (TV_SEE): New.
1339         * tree-pass.h (pass_see): Declaration as extern.
1340         * invoke.texi (-fsee): Document.
1341         * recog.c (validate_simplify_insn): New function.
1342         * recog.h (validate_simplify_insn): Declaration as extern.
1343         * df-problems.c (df_chain_dump): Check for NULL.
1344
1345 2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
1346             Daniel Berlin  <dberlin@dberlin.org>
1347
1348         * cfgrtl.c (insert_insn_bb_end_new): New function.
1349         * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
1350
1351 2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
1352
1353         * df.h (struct web_entry): Moved from web.c.
1354         (union_defs): Declaration as extern.
1355         (unionfind_root): Likewise.
1356         (unionfind_union): Likewise.
1357         * web.c (struct web_entry): Moved to df.h.
1358         (unionfind_root): Remove static declaration.
1359         (unionfind_union): Likewise.
1360         (union_defs): Likewise and generalize to use callback function.
1361         (web_main): Update arguments for union_defs function call.
1362
1363 2006-05-04  Richard Guenther  <rguenther@suse.de>
1364
1365         PR tree-optimization/26447
1366         * tree-ssa-pre.c (realify_fake_stores): For necessary loads
1367         produce SSA_NAME copies before the store stmt to avoid
1368         breaking exception handling.
1369
1370 2006-05-04  Jakub Jelinek  <jakub@redhat.com>
1371
1372         PR middle-end/27388
1373         * gimplify.c (omp_is_private): If var is shared in some outer context,
1374         return false instead of true.  Stop searching on parallel context
1375         boundary.
1376
1377 2006-05-03  Alexandre Oliva  <aoliva@redhat.com>
1378
1379         PR java/8260
1380         * coverage.c: Use get_gcov_unsigned_t() instead of
1381         unsigned_type_node all over.
1382
1383 2006-05-02  Andrew MacLeod  <amacleod@redhat.com>
1384
1385         PR tree-optimization/27381
1386         * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
1387         maintain the same immediate_use links.
1388         * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
1389         node rather than segfaulting.
1390
1391 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
1392
1393         PR fortran/27395
1394         * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
1395         rather than TREE_CODE to OMP_CLAUSE_REDUCTION.  Set also GOVD_SEEN
1396         bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
1397
1398 2006-05-02  Daniel Berlin  <dberlin@dberlin.org>
1399
1400         Fix PR tree-optimization/26626
1401         * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
1402         always.
1403         * tree-ssa-operands.c (access_can_touch_variable): Allow
1404         typecasting through union pointers.
1405
1406 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
1407
1408         PR c++/26943
1409         * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
1410         (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
1411         to find if var will be a global variable even in the nested context.
1412         (omp_copy_decl): Only check for global variable at the end, it might
1413         be overridden in outer contexts.
1414         (scan_sharing_clauses): For global variables don't create a field.
1415         (lower_rec_input_clauses): Do nothing for global shared variables.
1416         Emit a barrier at the end of ILIST if there were any decls in both
1417         firstprivate and lastprivate clauses.
1418         (lower_send_clauses): Do nothing for global variables except for
1419         COPYIN.
1420
1421 2006-05-02  Zdenek Dvorak <dvorakz@suse.cz>
1422
1423         * tree.c (unsigned_type_for, signed_type_for): Make sure a type
1424         of the correct signedness is returned.
1425
1426 2006-05-02  Jeff Law  <law@redhat.com>
1427
1428         PR tree-optimization/27364
1429         * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
1430         multiply expressions.
1431
1432 2006-05-02  Tom Tromey  <tromey@redhat.com>
1433
1434         * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
1435
1436 2006-05-02  Kazu Hirata  <kazu@codesourcery.com>
1437
1438         PR target/27387
1439         * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
1440         -mthumb -fPIC are used.
1441
1442 2006-05-02  Stanislaw Skowronek  <skylark@linux-mips.org>
1443             Joshua Kinard  <kumba@gentoo.org>
1444
1445         PR target/25871
1446         * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
1447         with 64-bit pointers.
1448
1449 2006-05-02  Paul Brook  <paul@codesourcery.com>
1450
1451         * config/arm/arm.c (add_minipool_forward_ref): Check if insn
1452         and pool overlap.
1453         (create_fix_barrier): Check that a suitable barrier location is
1454         found.
1455         (arm_reorg): Include ftmp->address in allowable range of addresses.
1456
1457 2006-05-02  David Billinghurst <David.Billinghurst@riotinto.com>
1458
1459         PR ada/27366
1460         * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
1461         on Cygwin.
1462
1463 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
1464
1465         PR middle-end/27337
1466         * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
1467         around RESULT_DECL for result passed by reference.
1468         (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
1469         * omp-low.c (use_pointer_for_field): Don't look at
1470         DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
1471         (scan_omp_1): Call remap_decl on RESULT_DECLs.
1472         (lower_rec_input_clauses): Don't allocate VLA memory for the second
1473         time or var for passing by reference for
1474         OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses.  Allow creation of
1475         TREE_ADDRESSABLE variables when passing by reference.
1476
1477         * omp-low.c (dump_omp_region): Fix output formatting.
1478
1479         PR middle-end/27328
1480         * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
1481         (expand_omp_parallel): Likewise.
1482         * tree-cfg.c (move_sese_region_to_fn): Likewise.
1483
1484         PR middle-end/27325
1485         * omp-low.c (lower_omp_sections): Call maybe_catch_exception
1486         on statement list containing also constructors and destructors.
1487         (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
1488
1489         PR middle-end/27310
1490         * except.c (duplicate_eh_regions): Fix clearing of
1491         cfun->eh->region_array entries.
1492
1493 2006-05-01  DJ Delorie  <dj@redhat.com>
1494
1495         * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
1496         build!=host.
1497         (gcc_cv_objdump): Likewise.
1498         * configure: Regenerated.
1499
1500 2006-05-01  Kazu Hirata  <kazu@codesourcery.com>
1501
1502         PR target/27374
1503         * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
1504         templates for case 3 and 4.
1505
1506 2006-05-01  DJ Delorie  <dj@redhat.com>
1507
1508         * vec.c: Include bconfig.h when appropriate.
1509         * Makefile.in (build/vec.o): Adjust dependencies.
1510         * mkconfig.sh: Make sure config.h isn't used for build machine
1511         compiles.
1512
1513 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1514
1515         * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
1516         variables.
1517         (mark_phi_for_rewrite): New function.
1518         (insert_phi_nodes_for, mark_use_interesting): Call
1519         mark_phi_for_rewrite.
1520         (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
1521         (update_ssa): Initialize and free phis_to_rewrite.
1522
1523 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1524
1525         PR rtl-optimization/27291
1526         * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
1527         folded to a constant.
1528
1529 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1530
1531         PR tree-optimization/27283
1532         * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
1533         not whole # of iteration descriptions.
1534         (niter_for_exit): Return just # of iterations.  Fail if # of iterations
1535         uses abnormal ssa name.
1536         (niter_for_single_dom_exit): Ditto.
1537         (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
1538         return just the number of iterations.
1539
1540 2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
1541
1542         PR tree-optimization/27144
1543         * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
1544         (record_estimate): Only record constant upper bound.
1545         (infer_loop_bounds_from_undefined): Call
1546         compute_estimated_nb_iterations just once.
1547         (proved_non_wrapping_p): Renamed to ...
1548         (n_of_executions_at_most): ... this.  Expect bound to be a constant.
1549         (convert_step_widening, scev_probably_wraps_p): Call
1550         n_of_executions_at_most instead of proved_non_wrapping_p.
1551         (substitute_in_loop_info): Do not replace values in bounds.
1552         * cfgloop.h (struct nb_iter_bound): Remove "additional" field.  Update
1553         comments.
1554
1555 2006-05-01  Richard Henderson  <rth@redhat.com>
1556
1557         PR c/27358
1558         * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
1559         c_parser_skip_to_pragma_eol.  Convert to switch statement.  Handle
1560         CPP_PRAGMA.
1561
1562 2006-05-01  Roger Sayle  <roger@eyesopen.com>
1563
1564         * c-typeck.c (parser_build_binary_op): Don't call the function
1565         unsigned_conversion_warning to spot operand/result type overflow.
1566         (build_binary_op): Instead, call convert_and_check instead of
1567         convert to report the problem when the operands are promoted.
1568         * c-common.c (unsigned_conversion_warning): Make static.
1569         * c-common.h (unsigned_conversion_warning): Delete prototype.
1570
1571 2006-05-01  Richard Guenther  <rguenther@suse.de>
1572
1573         PR tree-optimization/26726
1574         * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
1575         problem ...
1576         (find_interesting_uses_address): ... we work around here
1577         by folding INDIRECT_REFs in the substituted base.
1578
1579 2006-05-01  Diego Novillo  <dnovillo@redhat.com>
1580
1581         * omp-low.c (dump_omp_region): Add newlines.
1582
1583 2006-04-30  Roger Sayle  <roger@eyesopen.com>
1584
1585         * common.opt (Woverflow): New command line option.
1586         * c-common.c (constant_expression_warning): Check warn_overflow.
1587         (overflow_waring): Pass OPT_Woverflow to warning.
1588         (unsigned_conversion_warning): Likewise.
1589         (convert_and_check): Likewise.
1590         * doc/invoke.texi: Document new command line option.
1591
1592 2006-04-30  David Edelsohn  <edelsohn@gnu.org>
1593
1594         * config/rs6000/rs6000.c (rs6000_override_options): Enable
1595         TARGET_NO_FP_IN_TOC for section anchors.
1596         (optimization_options): Enable section anchors for all
1597         non-"Objective" languages.
1598
1599 2006-04-28  Eric Christopher  <echristo@apple.com>
1600
1601         * config/darwin-c.c (darwin_ms_struct): Move this
1602         (darwin_set_default_type_attributes): and this...
1603         * config/darwin.c: ... here.
1604         * config/darwin.h (darwin_ms_struct): Declare.
1605
1606 2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
1607
1608         * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
1609
1610 2006-04-28  Roger Sayle  <roger@eyesopen.com>
1611
1612         PR c/25309
1613         * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
1614         (push_array_bounds): Delete prototype.  Change BOUNDS argument to
1615         an unsigned HOST_WIDE_INT.
1616         (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
1617         array index.
1618         (really_start_incremental_init): No need to call convert because
1619         bitsize_zero_node is already of type bitsizetype.
1620         (push_init_level): Extract the value of constructor_index as an
1621         unsigned HOST_WIDE_INT quantity, using tree_low_cst.
1622         (process_init_element): Likewise.
1623
1624 2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
1625
1626         * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
1627         value before passing to make_relative_prefix.
1628
1629 2006-04-28  Alan Modra  <amodra@bigpond.net.au>
1630
1631         PR middle-end/27260
1632         * builtins.c (expand_builtin_memset): Expand val in original mode.
1633
1634 2006-04-27  Eric Christopher  <echristo@apple.com>
1635
1636         * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
1637         with #ifndef/#endif.
1638         * config/darwin-c.c (darwin_ms_struct): New.
1639         (darwin_pragma_ms_struct): Ditto.
1640         (darwin_set_default_type_attributes): Ditto.
1641         * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
1642         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
1643         Register ms_struct pragma.
1644         * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
1645         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
1646         * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
1647         darwin_set_default_type_attributes if TARGET_MACHO.
1648
1649 2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
1650
1651         PR tree-optimization/26854
1652         * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
1653         * doc/tree-ssa.texi: Update immuse iterator documentation.
1654         * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
1655         * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
1656         * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
1657         first_safe_imm_use, next_safe_imm_use): Remove.
1658         (end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
1659         (end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
1660         (move_use_after_head): New.  Helper function to sort immuses in a stmt.
1661         (link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
1662         (first_imm_use_stmt): New.  Get first stmt in an immuse list.
1663         (next_imm_use_stmt): New.  Get next stmt in an immuse list.
1664         (first_imm_use_on_stmt): New.  Get first immuse on a stmt.
1665         (end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
1666         (next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
1667         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
1668         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
1669         (perfect_nestify): Use new iterator.
1670         * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
1671         iterator.
1672         * tree-flow.h (struct immediate_use_iterator_d): Add comments.
1673         (next_imm_name): New field in struct immediate_use_iterator_d.
1674         (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
1675         (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
1676         FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
1677         * tree-cfg.c (replace_uses_by): Use new iterator.
1678         * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
1679         * tree-ssa-operands.c (correct_use_link): Remove.
1680         (finalize_ssa_use_ops): No longer call correct_use_link.
1681
1682 2006-04-27  Stuart Hastings  <stuart@apple.com>
1683
1684         * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
1685         * config/t-darwin (crt3.o): Use it.
1686         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
1687         'pmode', use Pmode instead of SImode for SYMBOL_REF.
1688         * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
1689         call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
1690         call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
1691         support.
1692
1693 2006-04-27  Roger Sayle  <roger@eyesopen.com>
1694
1695         * expmed.c (store_fixed_bit_field): If we're not optimizing for
1696         size, force the intermediate into a new pseudo rather instead of
1697         performing both a bitwise AND and a bitwise IOR in memory.
1698
1699 2006-04-27  Richard Guenther  <rguenther@suse.de>
1700
1701         PR rtl-optimization/26685
1702         * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
1703         this one "max-flow-memory-locations".
1704
1705 2006-04-27  Richard Guenther  <rguenther@suse.de>
1706
1707         PR tree-optimization/25148
1708         * tree-vrp.c (compare_values): Remove code dealing with
1709         comparisons against type min/max value.  Honour overflow
1710         and negative constants in code dealing with comparisons
1711         of plus and minus expressions.
1712         (value_inside_range): Use fold_binary with LE_EXPR and
1713         GE_EXPR rather than compare_values.
1714
1715 2006-04-27  Dirk Mueller  <dmueller@suse.de>
1716
1717         * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
1718         prototype for SSE.
1719
1720 2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
1721
1722         * basic-block.h (safe_insert_insn_on_edge): Removed.
1723         * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
1724
1725 2006-04-26  David Edelsohn  <edelsohn@gnu.org>
1726             Paolo Bonzini  <bonzini@gnu.org>
1727
1728         PR middle-end/27282
1729         * combine.c (simplify_and_const_int_1): Use gen_int_mode.
1730         (simplify_and_const_int): Same.
1731
1732 2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
1733
1734         * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
1735
1736 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
1737
1738         PR c/26171
1739         * cgraph.c (cgraph_varpool_finalize_decl): Don't call
1740         cgraph_varpool_assemble_pending_decls if -fopenmp, unless
1741         cgraph_global_info_ready.
1742
1743         PR middle-end/26913
1744         * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
1745
1746         PR c/25996
1747         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
1748         either decl or init is error_mark_node.
1749
1750         PR middle-end/25989
1751         * tree-flow.h (struct omp_region): Add sched_kind.
1752         * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
1753         instead of extracting omp for data.
1754         (expand_omp_for): Save extracted sched_kind.
1755
1756 2006-04-25  Roger Sayle  <roger@eyesopen.com>
1757
1758         * expmed.c (store_bit_field): Also check whether the bitsize is
1759         valid for the machine's "insv" instruction before moving the
1760         target into a pseudo for use with the insv.
1761         * config/i386/predicates.md (const8_operand): New predicate.
1762         * config/i386/i386.md (extv, extzv, insv): Use the new
1763         const8_operand predicate where appropriate.
1764
1765 2006-04-25  DJ Delorie  <dj@redhat.com>
1766
1767         * doc/install.texi (Specific): Clarify that this is not a list of
1768         supported hosts or targets.
1769
1770 2006-04-25  Richard Sandiford  <richard@codesourcery.com>
1771
1772         PR rtl-optimization/26725
1773         * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
1774         block's BB_DIRTY flag.
1775
1776 2006-04-25  Geoffrey Keating  <geoffk@apple.com>
1777
1778         * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
1779         are no branches.
1780
1781         * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
1782         to print an integer.
1783
1784 2006-04-25  David Edelsohn  <edelsohn@gnu.org>
1785
1786         * varasm.c (align_variable): New function.
1787         (get_block_for_decl): Apply align_variable to DECL before
1788         calculating section information.
1789         (assemble_variable): Split out alignment computation.
1790
1791 2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
1792
1793         * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
1794         machines.
1795
1796 2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
1797
1798         * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
1799         MODE_PARTIAL_INT mode.
1800         * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
1801         * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
1802         for CONST_INTs.
1803         (hard_regno_mode_ok): V2PDImode is ok for accumulators.
1804         * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
1805         V2PDImode.
1806         * config/bfin/predicates.md (const01_operand, vec_shift_operand):
1807         New predicates.
1808         * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
1809         New constants.
1810         (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
1811         MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
1812         MACFLAG_IH): Likewise.
1813         (movstricthi_1): Renamed from "*movstricthi".
1814         (load_accumulator, load_accumulator_pair, movsi_insv, insv,
1815         ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
1816         abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
1817         movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
1818         movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
1819         movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
1820         addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
1821         sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
1822         addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
1823         mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
1824         ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
1825         flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
1826         flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
1827         flag_macv2hi_parts, flag_macv2hi_parts_acconly,
1828         flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
1829
1830         * doc/rtl.texi (ss_ashift): Improve wording.
1831
1832 2006-04-24  Geoffrey Keating  <geoffk@apple.com>
1833
1834         * dwarf2out.c (verify_marks_clear): New.
1835         (prune_unused_types): Call verify_marks_clear initially, not
1836         prune_unmark_dies.
1837
1838 2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
1839
1840         * rtl.def (SS_ASHIFT, SS_NEG): New codes.
1841         * doc/rtl.texi: Document them.
1842         * simplify-rtx.c (simplify_unary_operation,
1843         simplify_binary_operation_1): Don't abort when we see them.
1844
1845 2006-04-24  Mark Mitchell  <mark@codesourcery.com>
1846
1847         Revert:
1848         2006-04-23  Mark Mitchell  <mark@codesourcery.com>
1849         * configure.ac: Completely disregard languages that are not
1850         enabled.
1851         * configure: Regenerated.
1852
1853 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
1854         Richard Guenther  <rguenther@suse.de>
1855
1856         PR tree-optimization/27236
1857         * tree-inline.c (copy_body_r): Make sure to copy
1858         TREE_THIS_VOLATILE flag.
1859
1860 2006-04-24  Richard Guenther  <rguenther@suse.de>
1861
1862         PR middle-end/26869
1863         * tree-complex.c (update_parameter_components): Don't handle
1864         unused parameters which have no default def.
1865
1866 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
1867         Richard Guenther  <rguenther@suse.de>
1868
1869         PR tree-optimization/27218
1870         * tree-inline.c (expand_call_inline): Strip useless type
1871         conversions for the return slot address.
1872
1873 2006-04-24  Richard Guenther  <rguenther@suse.de>
1874
1875         * cfgloop.h (struct loops): Remove unused field array.  Reorder
1876         state after num.
1877         (LOOP_PREFETCH): Remove.
1878
1879 2006-04-24  Richard Guenther  <rguenther@suse.de>
1880
1881         PR tree-optimization/22525
1882         * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
1883         variable, adjust types of generated expressions.
1884
1885 2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
1886
1887         * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
1888         (tree-vect-patterns.o): Likewise.
1889         (jump.o): Likewise.
1890         (cselib.o): Likewise.
1891         (loop-doloop.o): Likewise.
1892         (regclass.o): Likewise.
1893         (reload1.o): Likewise.
1894         (explow.o): Replace target.h with $(TARGET_H).
1895         (ipa-prop.o): Likewise.
1896         (ipa-cp.o): Likewise.
1897         (ipa-inline.o): Likewise.
1898         (reorg.o): Likewise.
1899         (reg-stack.o): Likewise.
1900
1901 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1902
1903         * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
1904
1905 2006-04-23  Mark Mitchell  <mark@codesourcery.com>
1906
1907         * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
1908
1909         * configure.ac: Completely disregard languages that are not
1910         enabled.
1911         * configure: Regenerated.
1912
1913         PR c++/26534
1914         * c-common.h (c_build_bitfield_integer_type): Declare.
1915         * c-decl.c (c_build_bitfield_integer_type): Move to ...
1916         * c-common.c (c_build_bitfield_integer_type): ... here.
1917
1918 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1919
1920         PR target/21283
1921         * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
1922         a SImode SUBREG of a floating point register after no_new_pseudos.
1923
1924 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1925
1926         * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
1927         identify potentially eliminable registers to additionally catch
1928         VIRTUAL_INCOMING_ARGS_REGNUM.
1929         (addsi3): Update the conditions on when to use addsi_small_int.
1930
1931 2006-04-23  Roger Sayle  <roger@eyesopen.com>
1932
1933         PR target/16641
1934         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
1935         STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
1936         rtx to stack_pointer_rtx or frame_pointer_rtx directly.
1937
1938 2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1939
1940         * fold-const.c (range_predecessor): Use operand_equal_p
1941         as the predicate for equality.
1942         (range_successor): Likewise.
1943
1944 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
1945
1946         Revert:
1947         * config/soft-fp/op-common.h: Fix a typo.
1948
1949 2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
1950
1951         PR libmudflap/26864
1952         * common.opt (flag_mudflap_threads): Overload flag_mudflap.
1953         * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
1954
1955 2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
1956
1957         * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
1958         Fix comment typos.
1959         * doc/tm.texi: Fix a typo.
1960
1961 2006-04-21  Geoffrey Keating  <geoffk@apple.com>
1962
1963         * dwarf2out.c (struct die_struct): Document that die_sib makes
1964         a circular linked list.
1965         (FOR_EACH_CHILD): New.
1966         (reverse_die_lists): Delete.
1967         (reverse_all_dies): Delete.
1968         (add_dwarf_attr): Correct documentation.
1969         (remove_child_with_prev): New.
1970         (remove_child_TAG): Update for change to die_struct, use
1971         remove_child_with_prev.
1972         (add_child_die): Update for change to die_struct.
1973         (splice_child_die): Use remove_child_with_prev and add_child_die.
1974         (print_die): Use FOR_EACH_CHILD.
1975         (die_checksum): Likewise.
1976         (assign_symbol_names): Likewise.
1977         (output_location_lists): Likewise.
1978         (build_abbrev_table): Likewise.
1979         (calc_die_sizes): Likewise.
1980         (mark_dies): Likewise.
1981         (unmark_dies): Likewise.
1982         (unmark_all_dies): Likewise.
1983         (output_die): Likewise.
1984         (prune_unused_types_mark): Likewise.
1985         (prune_unused_types_walk): Likewise.
1986         (same_die_p): Update for change to die_struct.
1987         (break_out_includes): Likewise.
1988         (prune_unused_types_prune): Likewise.
1989         (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
1990         (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
1991         it's already clear.
1992         (dwarf2out_finish): Don't call reverse_all_dies.
1993
1994 2006-04-21  Eric Christopher  <echristo@apple.com>
1995
1996         * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
1997         in comments and function names.
1998
1999 2006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2000
2001         PR c/25875
2002         * c-typeck.c (digest_init): Robustify.
2003
2004         * c-typeck.c (pop_init_level): Simplify.
2005
2006 2006-04-21  Steve Ellcey  <sje@cup.hp.com>
2007
2008         * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
2009
2010 2006-04-21  Paul Brook  <paul@codesourcery.com>
2011
2012         * config/arm/arm.c (arm_override_options): Error on iWMMXt and
2013         hardware floating point.
2014
2015 2006-04-21  David Edelsohn  <edelsohn@gnu.org>
2016
2017         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
2018         NON_FLOAT_REGS.
2019
2020 2006-04-21  Nick Clifton  <nickc@redhat.com>
2021
2022         * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
2023         OPT_EXTRA_PARTS.
2024
2025 2006-04-21  Alan Modra  <amodra@bigpond.net.au>
2026
2027         PR target/27230
2028         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
2029         C++ lang type in traceback table for Objective-C++.
2030
2031         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
2032
2033 2006-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2034
2035         * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
2036
2037 2006-04-20  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2038
2039         PR mudflap/26789
2040         * tree-mudflap.c (mudflap_finish_file): Skip function when there
2041         were errors.  Remove check for erroneous objects.
2042
2043 2006-04-20  Jeff Law  <law@redhat.com>
2044
2045         PR tree-optimization/26854
2046         * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
2047         checking for zero or one use.
2048         * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
2049         * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
2050         * tree-ssa-reassoc.c (negate_value): Similarly.
2051         (reassociate_bb): Similarly.
2052
2053 2006-04-20  Jakub Jelinek  <jakub@redhat.com>
2054
2055         * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
2056         TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
2057         than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
2058
2059 2006-04-20  Alan Modra  <amodra@bigpond.net.au>
2060
2061         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
2062         fp regs if the last fp arg doesn't fit in regs.
2063
2064 2006-04-20  Kaz Kojima  <kkojima@gcc.gnu.org>
2065
2066         PR target/27182
2067         * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
2068         that the last insn has the REG_INC note.
2069
2070 2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
2071             Nathan Sidwell  <nathan@codesourcery.com>
2072
2073         PR c/26774
2074         * stor-layout.c (update_alignment_for_field): Do not align
2075         ERROR_MARK nodes.
2076         (place_union_field): Place union field at the start of the union.
2077         (place_field): Move ERROR_MARK check later, and use the current
2078         allocation position to maintain monotonicity.
2079
2080 2006-04-19  Zdenek Dvorak <dvorakz@suse.cz>
2081
2082         * dominance.c: Include timevar.h.
2083         (calculate_dominance_info): Use TV_DOMINANCE.
2084         * timevar.def (TV_DOMINANCE): New timevar.
2085         * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
2086
2087 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2088
2089         PR rtl-optimization/14261
2090         * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
2091         move would be an INSV insn.
2092         (noce_process_if_block): Don't optimize if the destination is a
2093         ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
2094
2095 2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2096
2097         * config/s390/s390.md: Add comments with the instructions emitted
2098         by an insn pattern if macros are used.
2099
2100 2006-04-19  Alan Modra  <amodra@bigpond.net.au>
2101
2102         PR rtl-optimization/26026
2103         * fold-const.c (fold_binary): Optimize div and mod where the divisor
2104         is a known power of two shifted left a variable amount.
2105
2106 2006-04-18  Geoffrey Keating  <geoffk@apple.com>
2107
2108         * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
2109         to hash table twice when the debug_str section has SECTION_MERGE.
2110
2111 2006-04-18  Joseph S. Myers  <joseph@codesourcery.com>
2112
2113         * config/soft-fp: New directory.  From glibc.
2114         * config/soft-fp/t-softfp: New.
2115         * config/soft-fp/README: New.
2116         * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
2117         * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
2118         (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
2119         (LIBGCC_DEPS): Add $(SFP_MACHINE).
2120         * config.gcc: Use rs6000/t-fprules-fpbit or
2121         rs6000/t-fprules-softfp and soft-fp/t-softfp together with
2122         rs6000/t-fprules.
2123         * config/rs6000/sfp-machine.h: New.  Based on glibc.
2124         * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
2125         New.
2126         * config/rs6000/t-fprules: Remove fp-bit rules.
2127         * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
2128         * config/rs6000/t-linux64: Likewise.  Remove duplicates from
2129         LIB2FUNCS_EXTRA.  Remove fp-bit rules.
2130         (softfp_wrap_start, softfp_wrap_end): New.
2131
2132 2006-04-18  DJ Delorie  <dj@redhat.com>
2133
2134         * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
2135
2136 2006-04-18  Devang Patel  <dpatel@apple.com>
2137
2138         * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
2139
2140 2006-04-18  Nick Clifton  <nickc@redhat.com>
2141
2142         * config/sh/t-symbian: Add rule to build sh-c.o
2143         * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
2144         of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
2145         (sh_symbian_encode_section_info): Likewise.
2146
2147 2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
2148
2149         * builtins.c (expand_builtin_strcmp): Cover label definition of
2150         do_libcall with HAVE_cmpstrnsi.
2151
2152 2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
2153
2154         * function.c (temp_slots_at_level, max_slot_level): Use VEC
2155         instead of VARRAY.
2156         * function.h (temp_slot_p): New.
2157         (function): Change the type of x_used_temp_slots to
2158         VEC(temp_slot_p,gc) *.
2159
2160 2006-04-18  Nick Clifton  <nickc@redhat.com>
2161
2162         * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
2163         flag_strength_reduce.
2164
2165         * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
2166
2167 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
2168
2169         PR target/27117
2170
2171         Partial revert of revision 112637
2172         2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
2173                     Dale Johannesen  <dalej@apple.com>
2174
2175         PR target/19653
2176         * regclass.c (struct reg_pref): Update documentation.
2177         (regclass): Set prefclass to NO_REGS if memory is the best option.
2178         (record_reg_classes): Cope with a prefclass set to NO_REGS.
2179
2180 2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
2181
2182         PR tree-optimization/26821
2183         * tree-ssa-math-opts.c (get_constant_one): New.
2184         (insert_reciprocals): Use it.
2185
2186 2006-04-17  Geoffrey Keating  <geoffk@apple.com>
2187
2188         * dwarf2out.c (free_AT): Delete.
2189         (remove_AT): Update string ref counts.
2190         (remove_child_TAG): Don't call free_die.
2191         (free_die): Delete.
2192         (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
2193         or DW_TAG_GNU_EINCL.
2194         (prune_unused_types_walk_attribs): Reset string refcounts.
2195         (prune_unused_types_update_strings): New.
2196         (prune_unused_types_prune): Don't make unnecessary stores.  Don't
2197         call free_die.  Do call prune_unused_types_update_strings.
2198         (prune_unused_types): Empty debug_str_hash.
2199
2200 2006-04-17  Roger Sayle  <roger@eyesopen.com>
2201
2202         * expr.c (expand_assignment): Optimize away no-op moves where the
2203         source and destination are equal and have no side-effects.
2204
2205 2006-04-17  Richard Guenther  <rguenther@suse.de>
2206
2207         PR target/26826
2208         * reload.c (push_reload): Guard calls to get_secondary_mem
2209         for memory subregs.
2210
2211 2006-04-16  Kazu Hirata  <kazu@codesourcery.com>
2212
2213         * alias.c (reg_base_value, old_reg_base_value): Change the
2214         type to VEC(rtx,gc) *.
2215         (REG_BASE_VALUE, find_base_value, record_set,
2216         init_alias_analysis): Use VEC instead of VARRAY.
2217
2218         * alias.c (alias_sets): Change the type to
2219         VEC(alias_set_entry,gc) *.
2220         (get_alias_set_entry, new_alias_set, record_alias_subset): Use
2221         VEC instead of VARRAY.
2222         (last_alias_set): Remove.
2223
2224         * cgraph.h (cgraph_edge_p): New.
2225         Update the prototype of cgraph_function_versioning.
2226         * cgraphunit.c (cgraph_copy_node_for_versioning,
2227         cgraph_function_versioning): Use VEC instead of VARRAY.
2228         * ipa-cp.c (ipcp_insert_stage): Likewise.
2229
2230 2006-04-16  Roger Sayle  <roger@eyesopen.com>
2231
2232         PR target/26961
2233         * fold-const.c (fold_ternary): When converting "A ? B : C" into either
2234         "A op B" or "A op C", we may need to convert A to the type of B and C.
2235
2236 2006-04-16  Adam Nemet  <anemet@caviumnetworks.com>
2237
2238         * target.h (struct gcc_target): Add mode_rep_extended.
2239         * rtlanal.c (num_sign_bit_copies_in_rep): New global.
2240         (init_num_sign_bit_copies_in_rep): Initialize it using
2241         mode_rep_extended.
2242         (truncate_to_mode): Use it.
2243         (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
2244         * targhooks.h (default_mode_rep_extended): Declare it.
2245         * targhooks.c (default_mode_rep_extended): Define it.
2246         * target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
2247         default_mode_rep_extended.
2248         (TARGET_INITIALIZER): Include it.
2249         * doc/tm.texi (Misc): Document it.
2250         * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
2251         (mips_truncated_to_mode): New function.
2252
2253 2006-04-16  Roger Sayle  <roger@eyesopen.com>
2254
2255         PR middle-end/25474
2256         * expr.c (compress_float_constant): Copy the narrow constant into
2257         a new pseudo before extending it to its final width.
2258
2259 2006-04-16  Roger Sayle  <roger@eyesopen.com>
2260             Andrew Pinski  <pinskia@gcc.gnu.org>
2261             Dale Johannesen  <dalej@apple.com>
2262
2263         PR target/24076
2264         * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
2265         special case code to implement V8HImode and V16QImode with SSE2.
2266
2267 2006-04-15  Roger Sayle  <roger@eyesopen.com>
2268
2269         * config/i386/i386.c (ix86_va_start): Ensure all integer constant
2270         trees are constructed with a suitable tree type.
2271
2272 2006-04-15  Roger Sayle  <roger@eyesopen.com>
2273
2274         * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
2275         (integer_onep): Likewise.
2276         (integer_all_onesp): Likewise.
2277         (integer_pow2p): Likewise.
2278         (integer_nonzerop): Likewise.
2279         (real_zerop): Likewise.
2280         (real_onep): Likewise.
2281         (real_twop): Likewise.
2282         (real_minus_onep): Likewise.
2283         (int_size_in_bytes): Likewise.
2284         (host_integerp): Likewise.
2285
2286 2006-04-15  Kazu Hirata  <kazu@codesourcery.com>
2287
2288         * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
2289         jump.c, mips-tfile.c, omp-low.c, sched-int.h,
2290         tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
2291
2292         * tree-ssa-structalias.h (alias_info): Remove num_references.
2293
2294 2006-04-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2295
2296         * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
2297         (output_bvb patterns): Likewise.
2298         * pa.c (output_bb): Use 'bb' insn for long branch case.
2299         (output_bvb): Likewise use '{bvb|bb}' for long branch case.
2300         (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
2301         1.  Correct length operand for alternatives 1 and 2.
2302         (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
2303         1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.
2304
2305 2006-04-14  Roger Sayle  <roger@eyesopen.com>
2306
2307         * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
2308         is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
2309         were accidentally reverted by r112959.
2310
2311 2006-04-15  Jakub Jelinek  <jakub@redhat.com>
2312
2313         PR middle-end/26823
2314         * except.h (eh_region_outermost): New prototype.
2315         * except.c (eh_region_outermost): New function.
2316         * tree-cfg.c (find_outermost_region_in_block): Use it.
2317
2318 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
2319
2320         * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
2321         of VARRAY.
2322         * reload1.c (reg_equiv_memory_loc_varray): Rename to
2323         reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
2324         (init_reload, reload): Use VEC instead of VARRAY.
2325         * reload.h: Update the prototype for
2326         reg_equiv_memory_loc_varray.
2327
2328 2006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2329             Eric Botcazou  <ebotcazou@libertysurf.fr>
2330
2331         * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
2332         register save area.
2333
2334 2005-04-13  Uros Bizjak  <uros@kss-loka.si>
2335
2336         PR middle-end/27134
2337         * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
2338         to expand fallback builtin function call.
2339
2340 2006-04-14  Alan Modra  <amodra@bigpond.net.au>
2341
2342         PR middle-end/27095
2343         * builtins.c: (expand_builtin_memset): Stabilize args before expansion
2344         and emit libcall here in case the builtin fails.
2345         (expand_builtin_strcmp): Always emit the libcall here on failure.
2346
2347 2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
2348
2349         * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
2350         * flow.c (reg_n_info): Change the type to
2351         VEC(reg_info_p,heap) *.
2352         * regclass.c (allocate_reg_info, free_reg_info): Use VEC
2353         instead of VARRAY.
2354         * regs.h (reg_info_p): New.
2355         (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
2356         REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
2357         REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
2358         instead of VARRAY.
2359
2360 2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
2361
2362         * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
2363         defaulting to 100.
2364         * params.h (MAX_SCHED_READY_INSNS): New macro.
2365         * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
2366         past MAX_SCHED_READY_INSNS during the first scheduling pass.
2367         (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
2368         the ready list for 1 cycle during the first scheduling pass.
2369         * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
2370
2371 2006-04-13  Richard Henderson  <rth@redhat.com>
2372
2373         PR libgomp/26651
2374         * gimple-low.c (lower_omp_directive): Remove dead code.
2375         (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
2376         * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
2377         * omp-low.c (struct omp_region): Move to tree-flow.h.
2378         (root_omp_region): Export.
2379         (omp_regions, lookup_omp_region): Remove.
2380         (determine_parallel_type): Update for struct omp_region changes.
2381         (dump_omp_region): Dump regions with block numbers.
2382         (new_omp_region): Take type and block instead of stmt; malloc
2383         instead of ggc.
2384         (free_omp_region_1, free_omp_regions): New.
2385         (expand_parallel_call): Take entry_stmt as argument; update for
2386         changes to omp_region.
2387         (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
2388         (remove_exit_barriers): New.
2389         (expand_omp_parallel): Update for struct omp_region changes.
2390         (expand_omp_synch): Likewise.
2391         (expand_omp): Likewise.
2392         (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
2393         (expand_omp_for_static_chunk): Likewise.
2394         (expand_omp_for): Likewise.
2395         (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
2396         (expand_omp_sections): Similarly, with GOMP_sections_end.
2397         (expand_omp_single): New.
2398         (build_omp_regions_1): Update for OMP_CONTINUE.
2399         (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
2400         (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
2401         OMP_SECTIONS_SECTIONS.
2402         (lower_omp_single_simple): Don't emit barrier here.
2403         (lower_omp_single_copy): Likewise.
2404         (lower_omp_single): Fix bindings, and lower to straightline now.
2405         (lower_omp_master, lower_omp_ordered): Likewise.
2406         (lower_omp_critical): Likewise.
2407         (lower_omp_for): Likewise.  Emit OMP_CONTINUE.
2408         * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
2409         omp edges, free it afterward.
2410         (make_omp_sections_edges): Remove.
2411         (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
2412         (move_stmt_r): Handle OMP_CONTINUE.
2413         * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch
2414         statement pointers to basic blocks.  Add type member.
2415         (root_omp_region, new_omp_region, free_omp_regions): Declare.
2416         * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
2417         * tree-inline.c (estimate_num_insns_1): Likewise.
2418         * tree-pretty-print.c (dump_generic_node): Likewise.
2419         * tree-ssa-operands.c (get_expr_operands): Likewise.
2420         * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
2421         (OMP_RETURN): Rename from OMP_RETURN_EXPR.
2422         (OMP_CONTINUE): New.
2423         * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
2424         (OMP_SECTIONS_SECTIONS): Remove.
2425         (OMP_SECTION_LAST): New.
2426         (OMP_RETURN_NOWAIT): New.
2427
2428 2006-04-13  Roger Sayle  <roger@eyesopen.com>
2429
2430         * fold-const.c (native_encode_vector, native_interpret_real):
2431         Correct obvious mistakes in the previous check-in.
2432
2433 2006-04-13  Roger Sayle  <roger@eyesopen.com>
2434
2435         * fold-const.c (native_encode_expr): New function to encode
2436         the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
2437         or VECTOR_CST into a specified buffer.
2438         (native_encode_int): New function.
2439         (native_encode_real): New function.
2440         (native_encode_complex): New function.
2441         (native_encode_vector): New function.
2442         (native_interpret_expr): Inverse of native_encode_expr to convert
2443         a target representation into an INTEGER_CST, REAL_CST etc...
2444         (native_interpret_int): New function.
2445         (native_interpret_real): New function.
2446         (native_interpret_complex): New function.
2447         (native_interpret_vector): New function.
2448         (fold_view_convert_expr): New function to constant fold/evaluate
2449         a VIEW_CONVERT_EXPR of a suitable constant expression.
2450         (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
2451         Change call of build1 to fold_build1 when constructing a
2452         VIEW_CONVERT_EXPR.
2453
2454 2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
2455             Ulrich Weigand  <uweigand@de.ibm.com>
2456
2457         PR target/27006
2458         * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
2459         to be even.
2460
2461 2006-04-13  Alan Modra  <amodra@bigpond.net.au>
2462
2463         PR target/26459
2464         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
2465         optimize to lo_sum for DFmode if !TARGET_FPRS.
2466
2467 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
2468
2469         * tree-ssa-alias.c (set_initial_properties, init_alias_info,
2470         delete_alias_info, compute_flow_sensitive_aliasing,
2471         group_aliases): Use VEC instead of VARRAY.
2472         * tree-ssa-structalias.c (update_alias_info): Likewise.
2473         * tree-ssa-structalias.h (alias_info): Change the type of
2474         processed_ptrs to VEC(tree,heap) *.
2475
2476 2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
2477
2478         PR target/27060
2479         * config/sh/lib1funcs.h: New file, broken out of:
2480         * config/sh/lib1funcs.asm.
2481         * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
2482         New macros.
2483         * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
2484         * config/sh/lib1funcs-Os-4-200.asm: New file.
2485         * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
2486         * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
2487         (EXTRA_MULTILIB_PARTS): Include it.
2488         ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
2489         ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
2490         * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
2491         * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
2492         TARGET_SH2.
2493
2494 2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
2495
2496         * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
2497         * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
2498         tpa_compact, root_var_init, type_var_init): Use VEC instead of
2499         VARRAY.
2500         * tree-ssa-live.h: Include vecprim.h.
2501         (tree_partition_associator_d): Change the type of
2502         first_partition to VEC(int,heap) *.
2503         (tpa_first_partition): Use VEC instead of VARRAY.
2504
2505         * Makefile.in (GTFILES): Move functions.h after tree.h.
2506         * function.c (reset_block_changes, record_block_change,
2507         check_block_change, free_block_changes): Use VEC instead of
2508         VARRAY.
2509         * function.h (function): Change the type of
2510         ib_boundaries_block to VEC(tree,gc) *.
2511         * tree-inline.c (copy_cfg_body): Initialize
2512         ib_boundaries_block to NULL instead of (varray_type) 0.
2513
2514 2006-04-12  Roger Sayle  <roger@eyesopen.com>
2515
2516         * expr.c (emit_group_store): Correct operand order in call to
2517         subreg_lowpart_offset.  Always create paradoxical SUBREGs with
2518         a SUBREG_BYTE of zero.
2519
2520 2006-04-12  Richard Guenther  <rguenther@suse.de>
2521
2522         * profile.c (compute_branch_probabilities): Remove code
2523         encapsulated in !ir_type (), which are remanents of the
2524         removed RTL profiling code.
2525         * rtl-profile.c: Remove.
2526
2527 2006-04-12  Alan Modra  <amodra@bigpond.net.au>
2528
2529         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
2530         magic NULL_RTX comment.
2531         (function_arg): Store entire fp arg to mem if any part should go
2532         on stack.
2533         (rs6000_arg_partial_bytes): Adjust for above change.
2534
2535 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2536
2537         * dwarf2out.c (output_call_frame_info): Create debug_frame_section
2538         if it hasn't been initialized by dwarf2out_init.
2539
2540 2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
2541
2542         * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
2543         symbolic constants in branch patterns.
2544
2545 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2546
2547         * caller-save.c: #include "addresses.h" after #include "tm_p.h".
2548
2549 2006-04-11  Richard Sandiford  <richard@codesourcery.com>
2550
2551         PR rtl-optimization/27073
2552         * gcse.c (try_replace_reg): Revert last change.  Continue to search
2553         for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
2554         on the former.
2555
2556 2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2557
2558         * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
2559         aggregate types other than record and union types.
2560         (function_arg): Likewise.
2561         (function_arg_pass_by_reference): In 64-bit mode, return 0 for
2562         small arrays.
2563         (function_value): In 64-bit mode, return objects that require it
2564         in FP registers.
2565
2566 2006-04-11  Roger Sayle  <roger@eyesopen.com>
2567
2568         * dwarf2out.c (premark_used_types): Remove problematic prototype.
2569
2570 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
2571
2572         * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
2573
2574 2006-04-03  Jeff Law  <law@redhat.com>
2575
2576         PR/27087
2577         * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
2578         alias information too.
2579
2580 2006-04-10  Mike Frysinger  <vapier@gentoo.org>
2581
2582         * Makefile.in (gcc-cross): Add $(exeext) to target name.
2583
2584 2006-04-10  Aldy Hernandez  <aldyh@redhat.com>
2585
2586         PR/21391
2587         * dwarf2out.c (struct die_struct): Add die_perennial_p field.
2588         (premark_used_types_helper): New.
2589         (premark_used_types): New.
2590         (gen_subprogram_die): Call premark_used_types.
2591         (prune_unused_types_walk): Do not prune perennial dies.
2592         * function.c (used_types_insert): New.
2593         * function.h (struct function): Add used_types_hash field.
2594         (used_types_insert): Add prototype.
2595         * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
2596         * c-parser.c (c_parser_cast_expression): Save casted types in used
2597         types hash table.
2598
2599 2006-04-11  Mark Mitchell  <mark@codesourcery.com>
2600
2601         PR target/26459
2602         * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
2603         rs6000_explicit_options.float_gprs.
2604
2605 2006-04-10  Roger Sayle  <roger@eyesopen.com>
2606
2607         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
2608         from ix86_expand_vector_init_low_nonzero.  Take an additional
2609         one_var argument indicating which element is non-zero.  Support
2610         one_var != 0 for V4SFmode and V4SImode by permuting the result.
2611         (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
2612         with one_var instead of ix86_expand_vector_init_low_nonzero.
2613
2614 2006-04-10  Kazu Hirata  <kazu@codesourcery.com>
2615
2616         * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
2617         tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
2618         global.o, cfglayout.o, lambda-code.o, reg-stack.o,
2619         build/genextract.o): Depend on vecprim.h.
2620         * cfglayout.c, df-problems.c, function.c, genextract.c,
2621         global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
2622         tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
2623         vecprim.h.
2624         * vecprim.h: New.
2625
2626 2006-04-10  Geoffrey Keating  <geoffk@apple.com>
2627
2628         * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
2629         Declare VECs of this type.
2630         (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
2631         (remove_children): Delete.
2632         (add_dwarf_attr): Use VEC routines.
2633         (add_AT_flag): Update for changes to add_dwarf_attr.
2634         (add_AT_int): Likewise.
2635         (add_AT_unsigned): Likewise.
2636         (add_AT_long_long): Likewise.
2637         (add_AT_vec): Likewise.
2638         (add_AT_string): Likewise.
2639         (add_AT_die_ref): Likewise.
2640         (add_AT_fde_ref): Likewise.
2641         (add_AT_loc): Likewise.
2642         (add_AT_loc_list): Likewise.
2643         (add_AT_addr): Likewise.
2644         (add_AT_lbl_id): Likewise.
2645         (add_AT_lineptr): Likewise.
2646         (add_AT_macptr): Likewise.
2647         (add_AT_offset): Likewise.
2648         (add_AT_range_list): Likewise.
2649         (get_AT): Use VEC_iterate.
2650         (remove_AT): Use VEC_ordered_remove.
2651         (free_die): Fold remove_children into here; have it use VEC_iterate.
2652         (print_die): Use VEC_iterate on attrs.
2653         (reverse_die_lists): Don't reverse attr lists.
2654         (die_checksum): Use VEC_iterate on attrs.
2655         (same_die_p): Likewise.
2656         (output_location_lists): Likewise.
2657         (build_abbrev_table): Likewise.
2658         (size_of_die): Likewise.
2659         (unmark_all_dies): Likewise.
2660         (output_abbrev_section): Likewise.
2661         (output_die): Likewise.
2662         (prune_unused_types_walk_attribs): Likewise.
2663
2664 2006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2665
2666         * doc/install.texi (*-*-solaris2*): Point to the configure page.
2667
2668 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
2669
2670         PR debug/27057
2671         * dwarf2out.c (is_symbol_die): Return true also for namespaces.
2672
2673 2006-04-09  Roger Sayle  <roger@eyesopen.com>
2674
2675         * expr.c (store_constructor): Don't bother clearing target if
2676         we're about to assign a vector to it using vec_init_optab.
2677
2678 2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
2679
2680         * tree-ssa-alias.c (lhs_may_store_to): New function.
2681         (recalculate_used_alone): Handle LHS of calls.
2682
2683 2006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2684
2685         PR target/27034
2686         PR target/26508
2687         * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
2688         * pa64-hpux.h (LIB_SPEC): Correct typo.  Don't append milli.a.
2689         (LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
2690         (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
2691         (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
2692         (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
2693         section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
2694         stubs.  Add ".align 8" directives before all ".dword" directives.
2695         (GTHREAD_USE_WEAK): Revise comment.
2696         (TARGET_ATTRIBUTE_WEAK): Define.
2697         * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
2698         dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
2699         * stublib.c: New file.
2700
2701         PR target/26743
2702         PR target/11254
2703         PR target/10274
2704         * pa.md (cbranch patterns): Revise arguments used in calls to
2705         output_cbranch, output_bb and output_bvd.  Add long branch length
2706         attributes.
2707         (fbranch patterns): Handle long branches.
2708         (jump): Revise length check.  Revise arguments for output_lbranch call.
2709         Add long branch length attributes.
2710         (decrement_and_branch_until_zero): Add long branch length attributes.
2711         (output_movb, output_parallel_addb and output_parallel_movb patterns):
2712         Likewise.  Revise arguments for output_parallel_addb and
2713         output_parallel_movb calls.
2714         * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
2715         output_parallel_movb and output_parallel_addb): Update prototypes.
2716         * pa.c (output_cbranch): Revise arguments.  Correct handling of
2717         nullification in long branches.
2718         (output_lbranch): Add new argument to control extraction of delay
2719         instruction.
2720         (output_bb): Handle long branches.
2721         (output_bvb, output_dbra, output_movb, output_parallel_movb,
2722         output_parallel_addb): Likewise.
2723
2724 2006-04-09  Richard Sandiford  <richard@codesourcery.com>
2725
2726         PR rtl-optimization/27073
2727         * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
2728         not REG_EQUIVs.
2729
2730 2006-04-08  Daniel Berlin  <dberlin@dberlin.org>
2731
2732         * tree.h (tree_memory_tag): Add old_used_alone.
2733         (SMT_OLD_USED_ALONE): New macro.
2734         * tree-ssa-alias.c (recalculate_used_alone): Stop
2735         marking things for renaming unnecessarily.
2736
2737 2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
2738
2739         * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
2740         config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
2741         config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
2742         haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
2743         sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
2744         tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
2745         tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
2746         spelling convensions.
2747         * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
2748         doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
2749         typos.  Follow spelling conventions.
2750
2751 2006-04-07  DJ Delorie  <dj@redhat.com>
2752
2753         * config/m32c/m32c.c (m32c_function_arg): Structures are always
2754         passed on the stack.
2755         (m32c_init_cumulative_args): When a function returns a structure,
2756         always pass the pointer to that return area on the stack.
2757         (m32c_function_arg_advance): Don't increment the parameter number
2758         if we're processing the returned structure pointer.
2759         (pushm_info): Reverse order of registers.
2760
2761 2006-04-07  Sebastian Pop  <pop@cri.ensmp.fr>
2762
2763         * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
2764         assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
2765         number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
2766         estimate_numbers_of_iterations_loop): Use build_int_cst instead of
2767         build_int_cst_type.
2768         * tree-chrec.c (chrec_fold_multiply_poly_poly,
2769         chrec_fold_multiply): Same.
2770         * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
2771         force_expr_to_var_cost): Same.
2772         * tree-mudflap.c (mf_xform_derefs_1): Same.
2773         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
2774
2775 2006-04-07  David Edelsohn  <edelsohn@gnu.org>
2776
2777         * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
2778         treat CONST_DOUBLE as INTVAL.  and64_2_operands require an extra
2779         insn.
2780
2781 2006-04-07  Jan Hubicka  <jh@suse.cz>
2782
2783         * ipa-inline.c (cgraph_early_inlining): Collect garbage.
2784
2785 2006-04-07  Richard Guenther  <rguenther@suse.de>
2786
2787         PR tree-optimization/26135
2788         * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
2789         loads for store copy-prop.
2790         (copy_prop_visit_stmt): Likewise.
2791
2792 2006-04-05  Robert Millan  <robertmh@gnu.org>
2793
2794         * config/i386/linux.h: Add a comment to mark macros that are
2795         being overriden in config/k*bsd-gnu.h.
2796         * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
2797         DYNAMIC_LINKER.
2798         * config/knetbsd-gnu.h: Ditto.
2799
2800 2006-04-06  Jan Hubicka  <jh@suse.cz>
2801
2802         PR profile/20815
2803         PR profile/26399
2804         * coverage.c (coverage_checksum_string): Reorganize loop to not read
2805         after buffer.
2806
2807 2006-04-06  Mike Stump  <mrs@apple.com>
2808
2809         * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
2810         for HAVE_nonlocal_goto to be consistent.
2811         (expand_builtin_nonlocal_goto): Likewise.
2812         (expand_builtin_strcmp): Use #ifdef instead of #if
2813         for HAVE_cmpstrnsi to be consistent.
2814
2815 2006-04-05  DJ Delorie  <dj@redhat.com>
2816
2817         * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
2818         vs m32c.
2819
2820 2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2821
2822         * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
2823         got-relative addressing for anything but SImode.
2824
2825         * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
2826         even if the calling function doesn't modify them.
2827
2828 2006-04-05  Richard Guenther  <rguenther@suse.de>
2829
2830         PR tree-optimization/26919
2831         * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
2832         to cgraph_estimate_size_after_inlining.
2833
2834 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
2835
2836         * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
2837
2838 2006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
2839
2840         PR tree-optimization/26996
2841         * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
2842         VECTOR_TYPE variables.
2843
2844 2006-04-05  Richard Guenther  <rguenther@suse.de>
2845
2846         PR tree-optimization/26763
2847         * fold-const.c (fold_comparison): Move folding of
2848         PTR + CST CMP PTR + CST ...
2849         (fold_binary): ... here.  Fold only for EQ_EXPR and NE_EXPR.
2850
2851 2006-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
2852
2853         * doc/install.texi (Prerequisites): Refine some wording on
2854         bootstrapping and ksh.
2855         Move the version numbers of DejaGnu here from the testing section
2856         and fix casing of names.
2857         Fix markup and clarify wording for autogen requirements.
2858         Refer to GCJ instead of just java.
2859         Refer to SVN instead of CVS.
2860         Describe diffutils as useful instead of necessary.
2861         (Downloading the source): Refer to SVN instead of CVS.
2862         Adjust a link to our web site accordingly.
2863         (Configuration): Fix casing of Bison.
2864         (Building): Refer to SVN instead of CVS.
2865         Fix a sentence on the use of Bison and remove duplicate (and
2866         incorrect) version number of Bison requirement.
2867         Remove one redundant list of packages needed for building.
2868         (Specific): Avoid reference to CVS.
2869
2870 2006-04-04  Eric Christopher  <echristo@apple.com>
2871
2872         * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
2873         (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
2874         (rs6000_handle_struct_attribute): New.
2875         (rs6000_ms_bitfield_layout_p): Ditto.
2876
2877 2006-04-04  Geoffrey Keating  <geoffk@apple.com>
2878
2879         * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
2880         NULL for dso parameter to atexit_common.
2881
2882 2006-04-04  Eric Christopher  <echristo@apple.com>
2883
2884         * config/i386/i386.c (machopic_output_stub): Output \t
2885         between instructions and operands.
2886
2887 2006-04-04  David Edelsohn  <edelsohn@gnu.org>
2888
2889         * config/rs6000/rs6000.c (num_insns_constant_wide): Change
2890         satisfies_constraint_[IL] to explicit tests on value.
2891
2892 2006-04-04  Sebastian Pop  <pop@cri.ensmp.fr>
2893
2894         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2895         set_nb_iterations_in_loop): Use build_int_cst instead of
2896         build_int_cst_type.
2897         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
2898         build_int_cst instead of convert.
2899
2900 2006-04-04  Carlos O'Donell  <carlos@codesourcery.com>
2901
2902         * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
2903         new value 2 for incoming.
2904         * function.c (expand_function_start): Call struct_value_rtx
2905         with incoming as 2.
2906         * config/sparc/sparc.md: Comment updated_return.
2907         * config/sparc/sparc.opt: Add -mstd-struct-return option.
2908         * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
2909         struct return if sparc_std_struct_return and incoming is 2.
2910         (print_operand): Do not adjust return if
2911         sparc_std_struct_return.
2912
2913 2006-04-04  Roger Sayle  <roger@eyesopen.com>
2914
2915         * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
2916         convert in the middle-end.
2917         * expr.c (store_expr, store_constructor, get_inner_reference,
2918         expand_expr_real_1, string_constant, try_casesi, try_tablejump):
2919         Likewise.
2920         * tree.c (build_range_type): Likewise.
2921
2922 2006-04-04  Tom Tromey  <tromey@redhat.com>
2923
2924         * doc/install.texi (Prerequisites): Mention jar.
2925
2926 2006-04-04  Daniel Berlin  <dberlin@dberlin.org>
2927
2928         * doc/tree-ssa.texi (Preserving the virtual ssa form): New
2929         subsection.
2930
2931 2006-04-04  Matthias Klose  <doko@debian.org>
2932
2933         * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
2934         * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
2935         strings.
2936
2937 2006-04-03  Geoffrey Keating  <geoffk@apple.com>
2938
2939         * doc/extend.texi (Function Attributes): Rewrite visibility
2940         attribute documentation.
2941         * doc/invoke.texi (C++ Dialect Options): Rewrite
2942         -fvisibility-inlines-hidden documentation to describe something
2943         entirely different, although in practise compatible.
2944         (Code Gen Options): Warn about system headers in -fvisibility=
2945         documentation.
2946
2947         * doc/extend.texi (Other Builtins): Document that
2948         __builtin_nan is a compile-time constant only when its argument
2949         is valid.
2950
2951 2006-04-03  Adam Nemet  <anemet@caviumnetworks.com>
2952
2953         * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
2954         trying to remove TRUNCATE check if all bits outside the new mode
2955         are identical to the sign bit.
2956
2957 2006-04-03  Jeff Law  <law@redhat.com>
2958
2959         * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
2960         and operand scanning in some common cases.
2961
2962 2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
2963             Dale Johannesen  <dalej@apple.com>
2964
2965         PR target/19653
2966         * regclass.c (struct reg_pref): Update documentation.
2967         (regclass): Set prefclass to NO_REGS if memory is the best option.
2968         (record_reg_classes): Cope with a prefclass set to NO_REGS.
2969         * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
2970         into account.  For non-registers, equate an empty preferred
2971         reload class to a `!' in the constraint; move the if clause to
2972         do so after those that reject the insn.
2973         (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
2974         return NO_REGS.
2975         (find_dummy_reload): Likewise.
2976         * doc/tm.texi (Register Classes): Document what it means
2977         if PREFERRED_*_RELOAD_CLASS return NO_REGS.
2978         * config/i386/i386.c (ix86_preferred_reload_class): Force
2979         using SSE registers (and return NO_REGS for floating-point
2980         constants) if math is done with SSE.
2981         (ix86_preferred_output_reload_class): New.
2982         * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
2983         * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
2984         * config/i386/i386.md: Remove # register preferences.
2985
2986 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
2987
2988         PR bootstrap/26992
2989         * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2990         chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
2991         the type of nb_iter.
2992         (instantiate_parameters_1): Convert the operands before calling
2993         chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
2994         * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
2995
2996 2006-04-02  Roger Sayle  <roger@eyesopen.com>
2997
2998         * builtins.c (dummy_object): Use build_int_cst instead of convert.
2999         * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
3000         instead of convert.
3001         * dojump.c (do_jump): Likewise.
3002         * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
3003         * gimplify.c (gimple_boolify, gimplify_init_constructor,
3004         gimplify_boolean_expr): Likewise.
3005         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3006         * varasm.c (array_size_for_constructor): Likewise.
3007         * tree-object-size.c (compute_object_offset): Likewise.
3008
3009 2006-04-02  Roger Sayle  <roger@eyesopen.com>
3010
3011         PR middle-end/26977
3012         * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
3013         NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
3014
3015 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3016
3017         PR tree-optimization/26939
3018         * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
3019
3020 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3021
3022         * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
3023         at_stmt.  Convert the type of operands before calling
3024         build_polynomial_chrec.
3025         (add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
3026         add_to_evolution_1.
3027         (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
3028         (instantiate_parameters_1): Convert the type of operands before calling
3029         build_polynomial_chrec.
3030         * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
3031         chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
3032         reset_evolution_in_loop): Insert asserts to check the types of the
3033         operands.
3034         (chrec_type): Moved...
3035         (eq_evolutions_p): Use operand_equal_p.
3036         * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
3037         the types of the operands.
3038         (chrec_type): ...here.
3039         * tree-data-ref.c (create_data_ref): Convert the operands before
3040         calling chrec_replace_initial_condition.
3041         (same_access_functions, analyze_subscript_affine_affine,
3042         analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
3043         (compute_subscript_distance, analyze_ziv_subscript,
3044         analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
3045         analyze_miv_subscript): Convert the operands before calling
3046         chrec_fold_minus or chrec_fold_plus.
3047
3048 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
3049
3050         * tree-data-ref.c (compute_all_dependences): Use a pointer to
3051         the dependence_relations vector.
3052         (compute_data_dependences_for_loop): Adjust call to
3053         compute_all_dependences.
3054
3055 2006-04-01  Roger Sayle  <roger@eyesopen.com>
3056             Richard Henderson  <rth@redhat.com>
3057
3058         * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
3059         gimple_boolify on the condition before calling gimplify_expr.
3060
3061 2006-03-31  Bob Wilson  <bob.wilson@acm.org>
3062
3063         * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
3064         to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
3065         the frame size.  Update to use the new macros.
3066         * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
3067         * config/xtensa/ieee754-df.S: Likewise.
3068
3069 2006-03-31  Richard Henderson  <rth@redhat.com>
3070
3071         * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
3072         (make_edges): ... here.  Control fallthru creation with a local
3073         variable.  Do not play with fake edges.
3074         (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
3075         (make_goto_expr_edges): Don't play with fake edges.  Make for_call
3076         a boolean.
3077
3078 2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
3079
3080         * dwarf2.h (DW64_CIE_ID): Define.
3081         * dwarf2out.c (DWARF_CIE_ID): Define.
3082         (output_call_frame_info): Output 0xffffffff before standard 8-byte
3083         length header.  Use DWARF_CIE_ID.
3084         (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
3085         dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
3086
3087 2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
3088
3089         * config/sh/linux-atomic.asm: New file.
3090         * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
3091
3092 2006-03-31  DJ Delorie  <dj@redhat.com>
3093
3094         * config/m32c/cond.md: Set condition flags properly throughout.
3095         * config/m32c/minmax.md: Likewise.
3096         * config/m32c/prologue.md: Likewise.
3097         * config/m32c/bitops.md: Likewise.
3098         * config/m32c/muldiv.md: Likewise.
3099         * config/m32c/mov.md: Likewise.
3100         * config/m32c/addsub.md: Likewise.
3101         * config/m32c/m32c.md: Likewise.
3102         * config/m32c/jump.md: Likewise.
3103         * config/m32c/shift.md: Likewise.
3104
3105         * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
3106         conditionally output the pattern for this.
3107         * config/m32c/m32c.c (flags_needed_for_conditional): New.
3108         (m32c_compare_redundant): New.
3109         (m32c_output_compare): New.
3110         * config/m32c/m32c-protos.h (m32c_output_compare): New.
3111
3112         * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
3113         dest, not src.  Allow other 4-byte modes.
3114
3115 2006-03-30  Denis Chertykov  <denisc@overta.ru>
3116
3117         * doc/md.texi: Refer to avr/constraints.md instead of
3118         avr/avr.h.
3119
3120 2006-03-30  Roger Sayle  <roger@eyesopen.com>
3121
3122         * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
3123         signed vs. unsigned comparison failures on some hosts.
3124
3125 2006-03-31  Alan Modra  <amodra@bigpond.net.au>
3126
3127         PR target/26459
3128         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
3129         change to FLOAT_REGS.
3130
3131         * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
3132         (rs6000_override_options): Use it.
3133         (rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
3134         only for -mabi=spe/no-spe and -mabi=altivec.
3135
3136 2006-03-30  Geoffrey Keating  <geoffk@apple.com>
3137
3138         * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
3139         !Zdynamiclib.
3140
3141 2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
3142
3143         * Makefile.in: Rename docdir to gcc_docdir.
3144
3145 2006-03-30  Roger Sayle  <roger@eyesopen.com>
3146
3147         PR target/17959
3148         * expr.c (emit_group_store): Optimize group stores into a pseudo
3149         register by using a paradoxical subreg to initialize the destination
3150         if the first or last member of the group specifies a "low part".
3151
3152 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3153
3154         PR target/26734
3155         * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
3156         * target.h (struct gcc_target.speculate_insn): Change type of the
3157         second parameter to 'int'.
3158         * lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
3159         the second operand of the DEPS_LIST.
3160         (copy_DEPS_LIST_list): Update reference to the second operand of the
3161         DEPS_LIST.
3162         * rtl.h (alloc_DEPS_LIST): Update signature.
3163         * sched-int.h (ds_t): Change typedef to 'int'.
3164         (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
3165
3166 2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3167
3168         * haifa-sched.c (try_ready): Change condition to restore
3169         non-speculative pattern of the instruction.
3170         (process_insn_depend_be_in_spec): Code to keep probability of the
3171         speculative dependence non-decreasing.
3172
3173 2006-03-30  Jie Zhang  <jie.zhang@analog.com>
3174
3175         * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
3176         (single_move_for_movmem): ... this. Also change all uses.
3177         (bfin_expand_strmov): Renamed to...
3178         (bfin_expand_movmem): ... this. Also change all uses.
3179         * config/bfin/bfin.md (movstrsi): Renamed to...
3180         (movstrsi): ...this.
3181
3182 2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
3183
3184         PR tree-optimization/26830
3185
3186         * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
3187         (copy_prop_visit_stmt): Remove write-only variable ann.
3188         (init_copy_prop): Check variable loop depth here.  Do not simulate
3189         memory-tag and virtual operand PHIs except for store copy prop.
3190
3191 2006-03-30  Richard Guenther  <rguenther@suse.de>
3192
3193         * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
3194         variants with double arguments.
3195
3196 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
3197
3198         * genpreds.c (write_tm_constrs_h): Delete variable p.
3199         * genconditions.c (write_header): Add tm-constrs.h to included
3200         headers.
3201         * genpeep.c (main): Add toplev.h to included headers.
3202         * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
3203         (build/genpeep.o): Add toplev.h dependency.
3204         * config/rs6000/constraints.md: Add "W" constraint.
3205
3206 2006-03-29  Roger Sayle  <roger@eyesopen.com>
3207
3208         * stor-layout.c (mode_for_size_tree): Remove restiction on type
3209         sizes by correctly testing whether the size fits a host integer.
3210         (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
3211         to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
3212         SImode range for the default sizetype and bitsizetype.
3213
3214 2006-03-29  Roger Sayle  <roger@eyesopen.com>
3215
3216         * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
3217         and TREE_CONSTANT_OVERFLOW bits of the argument.  Return
3218         quickly if the argument is already of the correct type.
3219         Call fold_build1 instead of build1.  Tidy up blank lines.
3220
3221 2006-03-29  David Edelsohn  <edelsohn@gnu.org>
3222
3223         * genemit.c (main): Add tm-constrs.h to included headers.
3224         * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
3225         * genpeep.c (main): Add tm-constrs.h to included headers.
3226         * genpreds.c (write_satisfies_constraint_fns): Rename to ...
3227         (write_tm_constrs_h): this and write complete file.
3228         (write_tm_preds_h): Do not emit satisfies_constraint fns.
3229         (write_insn_preds_c): Add tm-constrs.h to included headers.
3230         (gen_constrs): New variable.
3231         (parse_option): Parse "-c".
3232         (main): Invoke write_tm_constrs_h.
3233         * genrecog.c (write_header): Add tm-constrs.h to included headers.
3234         * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
3235         (object_out_file): Add tm-constrs.h dependency.
3236         (insn-emit.o): Same.
3237         (insn-output.o): Same.
3238         (insn-peep.o): Same.
3239         (insn-preds.o): Same.
3240         (insn-recog.o): Same.
3241         (tm-constsr.h): New target.
3242         (s-constrs-h): New target.
3243
3244         * config/rs6000/constraints.md: New file.
3245         * config/rs6000/rs6000.c: Include tm-constrs.h.
3246         (num_insn_constant_wide): Convert to satisfies_constraint.
3247         (rs6000_rtx_costs): Convert to satisfies_constraint.
3248         * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
3249         (CONST_OK_FOR_LETTER_P): Delete.
3250         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3251         (EXTRA_CONSTRAINT): Delete.
3252         (EXTRA_MEMORY_CONSTRAINT): Delete.
3253         (EXTRA_ADDRESS_CONSTRAINT): Delete.
3254         * config/rs6000/predicates.md: Convert to satisfies_constraint.
3255         * config/rs6000/rs6000.md: Include constraints.md.  Convert to
3256         satisfies_constraint.
3257
3258         * config/i386/i386.c: Include tm-constrs.h.
3259
3260 2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
3261
3262         * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
3263         * tree-data-ref.c (find_data_references_in_loop,
3264         compute_data_dependences_for_loop): Use pointers to VEC.
3265         (analyze_all_data_dependences): Adjust calls.
3266         * tree-data-ref.h (find_data_references_in_loop,
3267         compute_data_dependences_for_loop): Adjust declarations.
3268         * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
3269         compute_data_dependences_for_loop.
3270
3271 2006-03-29  Paul Brook  <paul@codesourcery.com>
3272
3273         * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
3274         (movdf_vfp): Ditto.
3275
3276 2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
3277
3278         PR tree-optimization/26859
3279         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
3280         division by zero.
3281         (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
3282         for the step after fold_convert.
3283
3284 2006-03-29  Paul Brook  <paul@codesourcery.com>
3285
3286         * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
3287         (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
3288
3289 2006-03-29  Paul Brook  <paul@codesourcery.com>
3290
3291         PR middle-end/23623
3292         * targhooks.c (default_narrow_bitfield): New fuction.
3293         * targhooks.h (default_narrow_bitfield): add prototype.
3294         * target.h (gcc_target): Add narrow_volatile_bitfield.
3295         * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
3296         * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
3297         * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
3298         * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
3299
3300 2006-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
3301
3302         * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
3303         tmake_file.
3304         * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
3305         (NR_C_MODES): Add TDmode, DDmode and SDmode.
3306         (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
3307         (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
3308         (s390_function_arg_float): Allow SDmode and DDmode values to be
3309         passed in floating point registers.
3310         (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
3311         check with SCALAR_FLOAT_MODE_P.
3312         (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
3313
3314 2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
3315
3316         PR tree-optimization/25985
3317         * tree-ssa-loop-niter.c (number_of_iterations_le,
3318         number_of_iterations_ne): Make comments more precise.
3319         (number_of_iterations_cond): Add only_exit argument.  Use the
3320         fact that signed variables do not overflow only when only_exit
3321         is true.
3322         (loop_only_exit_p): New.
3323         (number_of_iterations_exit): Pass result of loop_only_exit_p to
3324         number_of_iterations_cond.
3325
3326 2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
3327
3328         PR tree-optimization/26643
3329         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
3330         bit_field_refs.
3331
3332 2006-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3333
3334         * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
3335         (divsi3_i4_int): Likewise.
3336
3337 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3338
3339         * expr.c (emit_group_store): Only create a new pseudo reg if the
3340         quantity it needs to hold isn't already a suitable pseudo.
3341
3342 2006-03-28  Jeff Law  <law@redhat.com>
3343
3344         * timevar.def (TV_TREE_PHI_CPROP): New timevar.
3345         * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
3346
3347 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3348
3349         * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
3350         the equivalent ~X & Y, and the symmetry related transformations.
3351         (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
3352         ~X & Y, and symmetry related transforms.
3353
3354 2006-03-28  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3355
3356         Revert my 2006-03-27 patches.
3357
3358 2006-03-28  Roger Sayle  <roger@eyesopen.com>
3359
3360         * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
3361         ~(T1)X, when T1 and T2 are integer types of the same precision
3362         and (T2)X isn't an extension.
3363
3364 2006-03-28  Jeff Law  <law@redhat.com>
3365
3366         PR tree-optimization/26796
3367         * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
3368         need EH edge cleanups rather than purging them immediately.
3369         (eliminate_degenerate_phis): Handle queued EH cleanups.
3370
3371 2006-03-28  Daniel Berlin  <dberlin@dberlin.org>
3372
3373         * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
3374         from parent_var.
3375
3376 2006-03-27  Roger Sayle  <roger@eyesopen.com>
3377
3378         PR middle-end/22524
3379         * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
3380         cast BIT_NOT_EXPR operand to the correct type.
3381
3382 2006-03-27  Sebastian Pop  <pop@cri.ensmp.fr>
3383
3384         * tree-loop-linear.c: Don't include varray.h.
3385         (gather_interchange_stats, try_interchange_loops,
3386         linear_transform_loops): Use VEC instead of VARRAY.
3387         * lambda-mat.c: Don't include varray.h.
3388         * tree-chrec.c: Same.
3389         * lambda-trans.c: Same.
3390         * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
3391         VEC instead of VARRAY.
3392         * tree-vectorizer.h: Idem.
3393         * tree-data-ref.c (dump_data_references,
3394         dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
3395         initialize_data_dependence_relation, finalize_ddr_dependent,
3396         compute_all_dependences, find_data_references_in_loop,
3397         compute_data_dependences_for_loop, analyze_all_data_dependences,
3398         free_dependence_relation, free_dependence_relations,
3399         free_data_refs): Idem.
3400         * tree-data-ref.h (data_reference_p, subscript_p): New.
3401         (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
3402         VEC instead of VARRAY.
3403         (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
3404         (find_data_references_in_loop, compute_data_dependences_for_loop,
3405         dump_ddrs, dump_dist_dir_vectors, dump_data_references,
3406         dump_data_dependence_relations, free_dependence_relations,
3407         free_data_refs): Adjust declaration.
3408         (lambda_transform_legal_p): Move declaration here...
3409         * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
3410         vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
3411         vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
3412         vect_analyze_data_refs): Use VEC instead of VARRAY.
3413         * lambda.h (lambda_transform_legal_p): ...from here.
3414         * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
3415         * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
3416         * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
3417         tree-chrec.o): Don't depend on VARRAY_H.
3418
3419 2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3420
3421         * rtl.def (Copyright): Update date.
3422         (DEPS_LIST): Change type of the second operand to 'int'.
3423         * target.h (Copyright): Update date.
3424         (struct gcc_target.speculate_insn): Change type of the second parameter
3425         to 'int'.
3426         * lists.c (Copyright): Update date.
3427         (alloc_DEPS_LIST): Change signature.  Update reference to the second
3428         operand of the DEPS_LIST.
3429         (copy_DEPS_LIST_list): Update reference to the second operand of the
3430         DEPS_LIST.
3431         * rtl.h (Copyright): Update date.
3432         (alloc_DEPS_LIST): Update signature.
3433         * sched-int.h (Copyright): Update date.
3434         (ds_t): Change typedef to 'int'.
3435         (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
3436
3437 2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
3438
3439         * haifa-sched.c (Copyright): Update date.
3440         (try_ready): Change condition to restore non-speculative pattern
3441         of the instruction.
3442         (process_insn_depend_be_in_spec): Code to keep probability of the
3443         speculative dependence non-decreasing.
3444
3445 2006-03-27  Bernd Schmidt  <bernd.schmidt@analog.com>
3446
3447         * regrename.c (replace_oldest_value_addr): Initialize a variable to
3448         shut up the compiler.
3449
3450 2006-03-27  J"orn Rennecke <joern.rennecke@st.com>
3451
3452         * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
3453         to use lib prefix for target.
3454         ($(T)libic_invalidate_array_4-200.a): Likewise.
3455         ($(T)libic_invalidate_array_4a.a): Likewise.
3456
3457 2006-03-27  Andrew Stubbs <andrew.stubbs@st.com>
3458             J"orn Rennecke <joern.rennecke@st.com>
3459
3460         * superh.opt: New file.
3461         * sh.c (boardtype, osruntime): Remove.
3462         * superh.h (SUBTARGET_OPTIONS): Remove.
3463         * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
3464
3465         * config.gcc (sh*-*-*): Don't use c-c ranges for tr.  Quote sed
3466         arguments with ^ and/or [].
3467
3468         * config.gcc (sh-*-*): Add quoting to account for quirk of
3469         Solaris /bin/sh.
3470         Replace == with = in enable_incomplete_targets test.