OSDN Git Service

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