OSDN Git Service

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