OSDN Git Service

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