OSDN Git Service

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