OSDN Git Service

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