OSDN Git Service

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