OSDN Git Service

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