OSDN Git Service

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