OSDN Git Service

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