OSDN Git Service

2005-12-05 Jan Beulich <jbeulich@novell.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-12-05  Jan Beulich  <jbeulich@novell.com>
2
3         * config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
4         16 bits. Provide insn pattern for this case.
5
6 2005-12-05  Jan Beulich  <jbeulich@novell.com>
7
8         * libgcc2.c (__popcountSI2): Don't use wide type for iterator and
9         result.
10         (__popcountDI2): Likewise.
11
12 2005-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13
14         PR target/25166
15         * pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and
16         _U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs.
17         * pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New
18         functions.
19
20 2005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
21
22         * c-typeck.c (null_pointer_constant_p): New function.
23         (build_conditional_expr, build_c_cast, convert_for_assignment,
24         build_binary_op): Use it.
25
26 2005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
27
28         * c-common.c (binary_op_error): Do not allow NOP_EXPR.
29         (c_common_truthvalue_conversion): Handle NOP_EXPR the same as
30         CONVERT_EXPR.
31         (check_function_arguments_recurse): Allow both NOP_EXPR and
32         CONVERT_EXPR but check conversions preserve precision.
33         * c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR
34         but check conversions preserve precision.
35         (build_unary_op): Don't allow NOP_EXPR.  Use gcc_unreachable () in
36         default case.
37
38 2005-12-04  Roger Sayle  <roger@eyesopen.com>
39
40         PR c/7776
41         * common.opt (Wstring-literal-comparison): New command line option.
42         * c-opts.c (c_common_handle_option): Set it with -Wall.
43         * c-typeck.c (parser_build_binary_op): Issue warning if either
44         operand of a comparison operator is a string literal, except for
45         testing equality or inequality against NULL.
46
47         * doc/invoke.texi: Document new -Wstring-literal-comparison option.
48
49 2005-12-03  Joseph S. Myers  <joseph@codesourcery.com>
50
51         * c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead
52         of building a NOP_EXPR.
53         (c_alignof_expr): Likewise.  Handle CONVERT_EXPR the same as
54         NOP_EXPR.
55         * c-convert.c (convert): Use fold_convert instead of building
56         NOP_EXPRs and CONVERT_EXPRs directly.  Don't special case
57         c_objc_common_truthvalue_conversion returning a NOP_EXPR.  Remove
58         #if 0 code.
59         * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
60         NOP_EXPR the same as CONVERT_EXPR.
61         * c-typeck.c (build_function_call): Use fold_convert instead of
62         building a NOP_EXPR directly.
63         (build_compound_expr): Handle NOP_EXPR the same as CONVERT_EXPR.
64
65 2005-12-03  Alan Modra  <amodra@bigpond.net.au>
66
67         PR rtl-optimization/25197
68         * dwarf2out.c (dwarf2out_frame_debug_expr <rule 12>): Assert we
69         have a reg.
70
71 2005-12-02  Stuart Hastings  <stuart@apple.com>
72
73         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove -fpic
74         warning.
75
76 2005-12-03  Joseph S. Myers  <joseph@codesourcery.com>
77
78         * c-typeck.c (default_function_array_conversion,
79         build_function_call): Allow for CONVERT_EXPR as well as NOP_EXPR.
80         (build_conditional_expr): Apply integer_zerop to orig_op1 and
81         orig_op2.  Don't check them for NOP_EXPR.
82         (build_c_cast, convert_for_assignment): Don't check for NOP_EXPR
83         around integer zero.
84
85 2005-12-03  Alan Modra  <amodra@bigpond.net.au>
86
87         * config/rs6000/rs6000.c (rs6000_stack_t): Remove toc_save_p,
88         toc_save_offset, toc_size, lr_size.
89         (rs6000_stack_info): Use memset rather than bss struct copy to init.
90         Test rs6000_ra_ever_killed last in condition setting lr_save_p.
91         Adjust for removal of unused rs6000_stack_t fields.
92         (debug_stack_info): Adjust.
93         (rs6000_ra_ever_killed): Expand FIND_REG_INC_NOTE.  Test for calls
94         first, and don't bother checking for set/inc of lr on sibcalls.
95         (rs6000_emit_epilogue): Tidy code restoring stack pointer.
96
97 2005-12-02  Jakub Jelinek  <jakub@redhat.com>
98
99         PR target/25199
100         * config/i386/i386.md (movqi_1): Only force imovx for alternative
101         5 if operand 1 is not aligned.  Undo previous constraint change.
102         * config/i386/predicates.md (aligned_operand): Use MEM_ALIGN.
103
104 2005-12-02  Richard Guenther  <rguenther@suse.de>
105
106         * tree.h (build): Remove prototype.
107         (build, _buildN1, _buildN2, _buildC1, _buildC2): Remove macros.
108         * tree.c (build): Remove.
109         (build0_stat): Update comment.
110
111 2005-12-02  Richard Guenther  <rguenther@suse.de>
112
113         * tree-ssa-loop-im.c (schedule_sm): Use buildN instead of build.
114         * tree-complex.c (update_complex_assignment, expand_complex_div_wide):
115         Likewise.
116         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref,
117         maybe_fold_offset_to_component_ref): Likewise.
118         * tree-ssa-dom.c (thread_across_edge,
119         simplify_rhs_and_lookup_avail_expr,
120         find_equivalent_equality_comparison, record_equivalences_from_stmt):
121         Likewise.
122         * gimple-low.c (lower_function_body, lower_return_expr): Likewise.
123         * tree-eh.c (do_return_redirection, honor_protect_cleanup_actions,
124         lower_try_finally_switch): Likewise.
125         * tree-if-conv.c (add_to_dst_predicate_list,
126         replace_phi_with_cond_modify_expr, ifc_temp_var): Likewise.
127         * gimplify.c (internal_get_tmp_var, gimple_build_eh_filter,
128         voidify_wrapper_expr, build_stack_save_restore, gimplify_bind_expr,
129         gimplify_return_expr, gimplify_decl_expr, gimplify_switch_expr,
130         gimplify_case_label_expr, gimplify_exit_expr, gimplify_self_mod_expr,
131         shortcut_cond_r, shortcut_cond_expr, gimplify_cond_expr,
132         gimplify_init_ctor_eval, gimplify_init_constructor,
133         gimplify_variable_sized_compare, gimplify_boolean_expr,
134         gimplify_cleanup_point_expr, gimple_push_cleanup, gimplify_target_expr,
135         gimplify_expr, gimplify_body, gimplify_function_tree,
136         force_gimple_operand): Likewise.
137         * tree-ssa-pre.c (create_expression_by_pieces): Likewise.
138         * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for,
139         mx_register_decls): Likewise.
140         * tree-nested.c (init_tmp_var, save_tmp_var, get_static_chain,
141         get_frame_field, finalize_nesting_tree_1): Likewise.
142         * tree-inline.c (setup_one_parameter): Likewise.
143         * tree-vect-transform.c (vectorizable_condition): Likewise.
144         * tree-outof-ssa.c (insert_copy_on_edge, insert_backedge_copies):
145         Likewise.
146         * tree-profile.c (tree_gen_edge_profiler): Likewise.
147         * tree-cfg.c (factor_computed_gotos, gimplify_val): Likewise.
148         * c-parser.c (c_parser_if_body, c_parser_switch_statement): Likewise.
149         * tree-chrec.h (build_polynomial_chrec): Likewise.
150
151 2005-12-02  Richard Guenther  <rguenther@suse.de>
152
153         * config/alpha/alpha.c (alpha_va_start, alpha_gimplify_va_arg_1i,
154         alpha_gimplify_va_arg): Use buildN and fold_buildN where applicable.
155         * config/frv/frv.c (frv_expand_builtin_va_start): Likewise.
156         * config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
157         * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
158         * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
159         * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
160         Likewise.
161         * config/sh/sh.c (sh_va_start, sh_gimplify_va_arg_expr,
162         sh_adjust_unroll_max): Likewise.
163         * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
164         * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
165         * config/xtensa/xtensa.c (xtensa_va_start, xtensa_gimplify_va_arg_expr):
166         Likewise.
167         * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
168         Likewise.
169         * config/mips/mips.c (mips_va_start, mips_gimplify_va_arg_expr):
170         Likewise.
171
172 2005-12-02  Richard Guenther  <rguenther@suse.de>
173
174         * tree-vrp.c (build_assert_expr_for, process_assert_insertions_for,
175         simplify_cond_using_ranges): Use buildN instead of build.
176         * tree-tailcall.c (adjust_accumulator_values,
177         adjust_return_value): Likewise.
178         * tree-sra.c (generate_one_element_ref, generate_copy_inout,
179         generate_element_copy, generate_element_zero,
180         generate_one_element_init): Likewise.
181         * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Likewise.
182         * lambda-code.c (gcc_loop_to_lambda_loop, lbv_to_gcc_expression,
183         lle_to_gcc_expression, lambda_loopnest_to_gcc_loopnest,
184         perfect_nestify): Likewise.
185
186 2005-12-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
187
188         * pa.c (pa_secondary_reload): Revise initialization of variable regno.
189
190 2005-12-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
191
192         * ggc.h (GGC_RESIZEVEC): New.
193
194 2005-12-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
195
196         * gcc.c (execute): Improve readability.
197
198 2005-12-02  Richard Guenther  <rguenther@suse.de>
199
200         * tree-cfg.c (mark_used_vars): New function.
201         (dump_function_to_file): Dump only used VAR_DECLs.
202
203 2005-12-02  Richard Guenther  <rguenther@suse.de>
204
205         * convert.c (convert_to_integer): Fix compare for nonpositive
206         constant to use tree_int_cst_sgn <= 0.
207
208 2005-12-02  Richard Guenther  <rguenther@suse.de>
209
210         * convert.c (convert_to_integer): Use fold_convert instead
211         of fold_build1 (NOP_EXPR, ...).  Use tree_int_cst_sgn < 0
212         instead of comparing against 0.  Use build_int_cst instead
213         of converting integer_zero_node.
214
215 2005-12-02  Richard Guenther  <rguenther@suse.de>
216
217         * tree-pretty-print.c (op_symbol): Handle LROTATE_EXPR
218         and RROTATE_EXPR.
219  
220 2005-12-02  Alan Modra  <amodra@bigpond.net.au>
221
222         PR target/21017
223         * combine.c (simplify_logical <IOR>): Simplify more patterns to
224         rotates.
225
226 2005-12-02  Alan Modra  <amodra@bigpond.net.au>
227
228         PR middle-end/25176
229         * function.c (expand_function_end): Emit blockage for unwinder
230         after return label.
231
232 2005-12-01  Roger Sayle  <roger@eyesopen.com>
233
234         * tree.h (TREE_OVERFLOW): Make this flag/predicate specific to
235         constant nodes, i.e. INTEGER_CST, REAL_CST, etc...
236         * tree-vrp.c (compare_values): Only check TREE_OVERFLOW for
237         integer constant comparisons.
238
239 2005-12-02  Jon Grimm  <jgrimm2@us.ibm.com>
240             Janis Johnson  <janis187@us.ibm.com>
241             David Edelsohn  <dje@watson.ibm.com>
242             Ben Elliston  <bje@au.ibm.com>
243
244         * dfp.h, dfp.c: New files.
245         * Makefile.in (DECNUM, DECNUMINC, LIBDECNUMBER): New variables.
246         (DECNUM_H): Likewise.
247         (LIBDEPS, LIBS, BACKEND): Append $(LIBDECNUMBER).
248         (INCLUDES): Append $(DECNUMINC).
249         (OBJS-common): Add dfp.o.
250         (dfp.o): New rule.
251         * real.h (EXP_BITS): Pinch one bit to ..
252         (struct real_value): Add decimal field.
253         (real_format): Change table size, update documentation.
254         (REAL_MODE_FORMAT): Update for to handle float, decimal float.
255         (real_from_string3): Declare.
256         (decimal_single_format): Declare.
257         (decimal_double_format): Declare.
258         (decimal_quad_format): Declare.
259         (REAL_VALUE_TO_TARGET_DECIMAL32): New.
260         (REAL_VALUE_TO_TARGET_DECIMAL64): New.
261         (REAL_VALUE_TO_TARGET_DECIMAL128): New.
262         * real.c: Include dfp.h.
263         (normalize): Early return for decimal floats.
264         (do_add): Zero decimal field.
265         (do_compare): Call do_decimal_compare for decimal floats.
266         (do_fix_trunc): Likewise, call decimal_do_fix_trunc.
267         (real_arithmetic): Call decimal_real_arithmetic for decimal
268         floating point operands.
269         (real_identical): If a and b are of differing radix, return false.
270         (real_to_integer): Call decimal_real_to_integer if the value is a
271         decimal float.
272         (real_to_integer2): Likewise, call decimal_real_to_integer2.
273         (real_to_decimal): Likewise, call decimal_real_to_decimal.
274         (real_to_hexadecimal): Place "N/A" in the return string for
275         decimal float.
276         (real_from_string3): New variant, given a mode.
277         (real_maxval): Use decimal_real_maxval for decimal floats.
278         (round_for_format): Use decimal_round_for_format for decimals.
279         (real_convert): Use decimal_real_convert where appropriate.
280         (significand_size): Handle base 10.
281         (encode_decimal_single, decode_decimal_single,
282         encode_decimal_double, decode_decimal_double, encode_decimal_quad,
283         decode_decimal_quad): New functions.
284         (decimal_single_format): New.
285         (decimal_double_format): New.
286         (decimal_quad_format): New.
287         * machmode.def: Add SD, DD and TD decimal floating point modes.
288         * machmode.h (FLOAT_MODE_P, SCALAR_FLOAT_MODE_P, MODES_WIDEN_P):
289         Include MODE_DECIMAL_FLOAT.
290         (DECIMAL_FLOAT_MODE_P): New.
291         * mode-classes.def (MODE_DECIMAL_FLOAT): New mode class.
292         * genmodes.c (struct mode_data): Add counter field.
293         (struct mode_data): Update comment for format.
294         (blank_mode): Initialise counter field.
295         (new_mode): Increment counter field for each mode defined.
296         (complete_mode): Handle MODE_DECIMAL_FLOAT, update check for mode
297         using a format.
298         (make_complex_modes): Handle modes containing `D'.
299         (DECIMAL_FLOAT_MODE, FRACTIONAL_DECIMAL_FLOAT_MODE): New.
300         (make_decimal_float_mode): New.
301         (reset_float_format): Handle MODE_DECIMAL_FLOAT.
302         (cmp_modes): Compare counter field if other characteristics
303         similar.
304         (emit_real_format_for_mode): Support formats for decimal floats.
305         * doc/rtl.texi (Machine Modes): Document SD, DD and TDmodes.
306         Document MODE_DECIMAL_FLOAT.
307
308 2005-12-02  Alan Modra  <amodra@bigpond.net.au>
309
310         * simplify-rtx.c (simplify_plus_minus): Do simplify constants.
311         Delete dead code.
312
313 2005-12-01  Richard Henderson  <rth@redhat.com>
314
315         * optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
316
317 2005-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
318
319         * builtins.def (BUILT_IN_PUTC, BUILT_IN_PUTC_UNLOCKED): New.
320
321         * config/pa/pa.c (pa_init_builtins): If we detect
322         DONT_HAVE_FPUTC_UNLOCKED, set builtin fputc_unlocked to
323         putc_unlocked.
324
325 2005-12-01  Richard Guenther  <rguenther@suse.de>
326
327         * fold-const.c (fold_binary): Use fold_build2, not
328         fold (build (...)).
329
330 2005-12-01  Nathan Sidwell  <nathan@codesourcery.com>
331
332         * config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
333
334         * vec.h (VEC_block_remove): New.
335
336 2005-12-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
337
338         PR c/13384
339         * c-common.c (lvalue_error): Fix wording.
340
341 2005-12-01  Richard Guenther  <rguenther@suse.de>
342
343         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix
344         thinko in last patch.
345
346 2005-12-01  Geoffrey Keating  <geoffk@apple.com>
347
348         * config/t-slibgcc-darwin (SHLIB_LINK): Use -single_module rather
349         than -flat_namespace.
350
351 2005-12-01  Ben Elliston  <bje@au.ibm.com>
352
353         * mklibgcc.in: Parameterise the script to build soft float
354         functions by iterating over each type, rather than cloning the
355         code for each type.
356
357 2005-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
358
359         PR middle-end/25158
360         * builtins.c (fold_builtin_fputs): Defer check for missing
361         replacement functions.
362
363 2005-11-30  Kean Johnston  <jkj@sco.com>
364
365         * config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
366         simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
367
368 2005-11-30  Richard Guenther  <rguenther@suse.de>
369
370         PR tree-optimization/22501
371         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
372         function split out from ...
373         (forward_propagate_addr_expr): ... here.  Use it to propagate
374         ADDR_EXPRs to all uses.
375
376 2005-11-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
377
378         * tree.h (CASE_FLT_FN, CASE_INT_FN): New macros.
379         * builtins.c (expand_builtin_mathfn): Use them.
380         (expand_builtin_mathfn_2): Likewise.
381         (expand_builtin_mathfn_3): Likewise.
382         (expand_builtin_int_roundingfn): Likewise.
383         (expand_builtin): Likewise.
384         (integer_valued_real_p): Likewise.
385         (fold_builtin_int_roundingfn): Likewise.
386         (fold_builtin_bitop): Likewise.
387         (fold_builtin_logarithm): Likewise.
388         (fold_builtin_1): Likewise.
389         * convert.c (convert_to_integer): Likewise.
390         * fold-const.c (negate_mathfn_p): Likewise.
391         (tree_expr_nonnegative_p): Likewise.
392
393 2005-11-30  Dale Johannesen  <dalej@apple.com>
394             Andrew Pinski  <pinskia@physics.uc.edu>
395
396         * combine.c (find_split_point):  Sign extend bitmask
397         when changing bitfield assignment to IOR of AND.
398
399 2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
400
401         * config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
402         clobber to scratch reg.
403         (*decrement_and_branch_until_zero_no_clobber): Remove.
404         (decrement_and_branch peephole): Add dummy scratch reg to pattern.
405         (mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
406         * config/ms1/ms1.opt (mmul): Remove.
407         * config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
408         (LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
409
410 2005-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
411             Bernd Schmidt  <bernd.schmidt@analog.com>
412
413         * pa/predicates.md (symbolic_operand): Add comment.
414         * pa/pa.md (reload_insi_r1, reload_indi_r1): New reload expanders.
415         * pa/pa-protos.h (pa_secondary_reload_class): Delete.
416         * pa/pa.c (TARGET_SECONDARY_RELOAD): Define.
417         (pa_secondary_reload_class): Delete.
418         (pa_secondary_reload): New function derived from SECONDARY_RELOAD_CLASS
419         and pa_secondary_reload_class.  Reorder some checks.  Update inline
420         copy of symbolic operand.
421         * pa/pa.h (SECONDARY_RELOAD_CLASS): Delete.
422
423 2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
424
425         * loop-doloop.c (add_test): Only add jump notes if we did emit a
426         jump.
427
428 2005-11-30  Jeff Law  <law@redhat.com>
429
430         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
431         handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
432
433 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
434
435         * config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
436         Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
437         (ia64_expand_move): Adjust caller.
438
439         * config/ia64/ia64.c (ia64_expand_atomic_op): Only use
440         fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
441         negate VAL.
442
443 2005-11-30  Paolo Bonzini  <bonzini@gnu.org>
444
445         * simplify-rtx.c (simplify_plus_minus): Remove final parameter.
446         Always produce an output if we can remove NEGs or canonicalize
447         (minus (minus ...)) expressions.  Provide a fast path for the
448         two-operand case.
449         (simplify_gen_binary): Do not call simplify_plus_minus.
450         (simplify_binary_operation_1): Reassociate at the end of the
451         function.
452
453 2005-11-29  Evan Cheng  <evan.cheng@apple.com>
454
455         * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
456         moves and unpack to speed up.
457
458 2005-11-29  David S. Miller  <davem@sunset.davemloft.net>
459
460         * config/sparc/sparc.c (gen_compare_reg): Kill 2nd and 3rd
461         argument, they are always sparc_compare_op0 and sparc_compare_op1.
462         (gen_v9_scc): Update callers.
463         * config/sparc/sparc.md: Likewise.
464         * config/sparc/sparc-protos.h: Update extern declaration.
465
466         * tree-into-ssa.c (rewrite_into_ssa): Fix comment typo.
467
468 2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
469
470         * fold-const.c (negate_expr) <case BIT_NOT_EXPR>: Add break after
471         the if.
472
473 2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
474
475         * fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
476         (fold_unary) <case NEGATE_EXPR>: Move -(~a) transformation to ...
477         (negate_expr): Here.
478
479 2005-11-29  Ben Elliston  <bje@au.ibm.com>
480
481         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN):
482         Fix typo in comment.
483
484 2005-11-29  Ben Elliston  <bje@au.ibm.com>
485
486         * Makefile.in (clean-target): Depend on clean-target-libgcc.
487         (clean-target-libgcc): Import rule from the top-level Makefile.in.
488
489 2005-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
490
491         PR middle-end/20109
492         PR middle-end/25120
493         * builtins.c (init_target_chars): New.
494         (expand_builtin_printf, expand_builtin_fprintf,
495         expand_builtin_sprintf, fold_builtin_sprintf,
496         maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
497         fold_builtin_snprintf_chk, fold_builtin_printf,
498         fold_builtin_fprintf): Check for matching format strings using
499         the target charset.
500
501 2005-11-29  Paul Brook  <paul@codesourcery.com>
502
503         * config.gcc: Do not use fixproto on m68k-elf.
504
505 2005-11-28  Roger Sayle  <roger@eyesopen.com>
506
507         * expmed.c (div_cost): Replace with...
508         (sdiv_cost, udiv_cost): New.
509         (init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
510         Rename the div and mod fields, used to initialize sdiv_pow2_cheap
511         and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
512         (expand_divmod): Replace use of div_cost with either sdiv_cost
513         or udiv_cost depending upon the signedness of the operation.
514
515 2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
516
517         PR libfortran/24991
518         * config/darwin.c (machopic_indirection_name,
519         machopic_output_indirection): Follow transparent alias chain.
520
521 2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
522
523         * varasm.c (ultimate_transparent_alias_target): Add comment.
524
525 2005-11-28  Kazu Hirata  <kazu@codesourcery.com>
526
527         * config/m68k/m68k.c (notice_update_cc): Use SET_DEST and
528         SET_SRC instead of XEXP where appropriate.
529
530 2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
531
532         * config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
533         __builtin_expect.
534
535 2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
536
537         * config/fp-bit.h (LSHIFT): Take shift count parameter.
538         * config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
539         bit at a time.
540
541 2005-11-28  Bernd Schmidt  <bernd.schmidt@analog.com>
542
543         * config/bfin/bfin.c (bfin_secondary_reload): Renamed from
544         secondary_input_reload_class, made static.  Adapt to new
545         infrastructure.
546         (secondary_output_reload_class): Delete.
547         (TARGET_SECONDARY_RELOAD): New macro.
548         * config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
549         SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
550
551 2005-11-28  Nathan Sidwell  <nathan@codesourcery.com>
552
553         PR c++/21166
554         * c-decl.c (finish_struct):  Only set DECL_PACKED on a field
555         when its natural alignment is > BITS_PER_UNIT.
556         * stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
557         * c-common.c (handle_packed_attribute): Ignore packing on a field
558         whose type is naturally char aligned.
559
560 2005-11-28  Richard Guenther  <rguenther@suse.de>
561
562         * c-common.c (strict_aliasing_warning): Handle all
563         component-ref like accesses.
564
565 2005-11-28  Roger Sayle  <roger@eyesopen.com>
566             Uros Bizjak  <uros@kss-loka.si>
567
568         PR middle-end/20219
569         * fold-const.c (fold binary) <RDIV_EXPR>: Optimize
570         sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
571         when flag_unsafe_math_optimizations is set and
572         we don't care about NaNs or Infinities.
573
574         Move x/expN(y) and x/pow(y,z) transformation into common
575         flag_unsafe_math_optimizations section.
576
577 2005-11-27  Mark Mitchell  <mark@codesourcery.com>
578
579         * gcc.c (main): Change type of argv to "char **".
580
581 2005-11-28  Alan Modra  <amodra@bigpond.net.au>
582
583         * doc/invoke.texi (powerpc msdata-data): Static data doesn't go in
584         small data sections.
585         * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global.
586         * config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare.
587         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to..
588         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm.  Don't
589         output locals to sbss if !rs6000_elf_in_small_data_p.
590         (ASM_OUTPUT_ALIGNED_BSS): Adjust for above.
591
592 2005-11-28  Alan Modra  <amodra@bigpond.net.au>
593
594         PR target/24997
595         * config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
596         generated by reload.
597         * config/rs6000/predicates.md (indexed_or_indirect_operand): Use
598         indexed_or_indirect_address.
599         (indexed_or_indirect_address): Don't test for base reg.  Call
600         address_operand last.  Make it a special predicate.
601
602 2005-11-27  Kazu Hirata  <kazu@codesourcery.com>
603
604         * config/m68k/m68k.c (notice_update_cc): Remove useless code.
605
606 2005-11-27  Andrew Pinski  <pinskia@physics.uc.edu>
607
608         PR middle-end/24575
609         * fold-const.c (negate_expr_p): Add case for signed divides if overflow
610         is undefined.
611         (negate_expr): Likewise.
612
613 2005-11-27  Andreas Schwab  <schwab@suse.de>
614
615         * config/m68k/m68k.c: Reindent and fix whitespace, remove
616         redundant parens.
617
618 2005-11-27  Steven Bosscher  <stevenb@suse.de>
619
620         * cfgcleanup.c (try_crossjump_to_edge): Always split SRC2 if it
621         has EH predecessor edges.
622
623 2005-11-26  Eric Christopher  <echristo@apple.com>
624
625         * config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
626         register stalls by zero extending to the full register.
627
628 2005-11-27  Joseph S. Myers  <joseph@codesourcery.com>
629
630         * config/floatunsisf.c, config/floatunsidf.c,
631         config/floatunsixf.c, config/floatunsitf.c: New files.
632         * config/ia64/t-hpux: Add floatunsitf.c.
633         * config/ia64/ia64.c (ia64_init_libfuncs): Use
634         _U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion.
635
636 2005-11-26  Richard Henderson  <rth@redhat.com>
637
638         * c-lex.c (pragma_lex): Rename from c_lex.
639         * c-pch.c: Update for pragma_lex rename.
640         * c-pragma.c, c-pragma.h, config/ia64/ia64-c.c: Likewise.
641         * config/m32c/m32c-pragma.c, config/darwin-c.c: Likewise.
642         * config/rs6000/rs6000-c.c, config/c4x/c4x-c.c: Likewise.
643         * config/sol2-c.c, config/v850/v850-c.c: Likewise.
644         * doc/tm.texi: Likewise.
645
646 2005-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
647
648         PR middle-end/23669
649         * fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
650         when overflow is undefined.
651
652 2005-11-26  Hans-Peter Nilsson  <hp@axis.com>
653
654         * doc/md.texi (Insn Canonicalizations): Refer to the
655         function commutative_operand_precedence for further rules.
656
657 2005-11-25  Roger Sayle  <roger@eyesopen.com>
658
659         PR middle-end/21309
660         * expmed.c (choose_mult_variant): Return immediately when mult_cost
661         is less than zero.  Limit mult_cost to a reasonable upper bound for
662         the synthetic multiplication sequence.
663
664 2005-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
665
666         PR middle-end/25022
667         * builtins.c (expand_builtin_printf, expand_builtin_fprintf,
668         fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
669         Lookup the explicit replacement functions for any unlocked
670         stdio builtin transformations.
671
672 2005-11-25  Hans-Peter Nilsson  <hp@axis.com>
673
674         * config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
675         earlyclobber.
676         * targhooks.c (default_secondary_reload): Don't require operand 2
677         for an input reload to be earlyclobber.
678
679 2005-11-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
680
681         * fold-const.c (negate_mathfn_p): Fix comment and add support
682         for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
683         BUILT_IN_ATANH.
684
685 2005-11-25  Joseph S. Myers  <joseph@codesourcery.com>
686
687         PR middle-end/24998
688         * config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
689         _Q_ulltoq for unsigned conversions from SImode and DImode to
690         TFmode.
691
692 2005-11-25  Alan Modra  <amodra@bigpond.net.au>
693
694         * config/rs6000/ppc64-fp.c (__floatunditf): New function.
695         (__floatundidf, __floatundisf): Likewise.
696
697 2005-11-25  David Edelsohn  <edelsohn@gnu.org>
698
699         * config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
700         (rs6000_override_options): Remove initialization of
701         rs6000_sr_alias_set.
702         (rs6000_emit_eh_reg_restore): Use gen_frame_mem.
703         (rs6000_emit_stack_tie): Same.
704         (emit_frame_save): Same.
705         (gen_frame_mem_offset): Same.
706         (rs6000_emit_prologue): Same.
707         (rs6000_emit_epilogue): Same.
708
709 2005-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
710
711         PR middle-end/24989
712         * fold-const.c (fold_build): Convert bool_var != 1 and
713         bool_var == 0 to !bool_var.
714
715 2005-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
716
717         PR middle-end/24990
718         * fold-const.c (fold_binary): Fold (~a) == C to a == ~C
719         for C being INTEGER_CST.  Likewise for !=.
720
721 2005-11-25  Joseph S. Myers  <joseph@codesourcery.com>
722
723         PR middle-end/24998
724         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
725         unsigned conversions from SImode to TFmode.
726
727 2005-11-24  Bernd Schmidt  <bernd.schmidt@analog.com>
728
729         * expr.c (expand_expr_real_1): Fix error in last change.
730
731 2005-11-24  J"orn Rennecke <joern.rennecke@st.com>
732
733         * caller-save.c: (this_insn_sets): Move into:
734         (save_call_clobbered_regs).
735         (mark_set_regs): Get this_insn_sets from data.
736
737         (save_call_clobbered_regs): Take sets of the return value by
738         sibcalls into account.
739
740 2005-11-24  J"orn Rennecke <joern.rennecke@st.com>
741         PR target/21623:
742
743         * regclass.c (FORBIDDEN_INC_DEC_CLASSES): Remove
744         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS tests.
745         (init_fake_stack_mems): Remove HAVE_SECONDARY_RELOADS test.
746         (memory_move_secondary_cost, init_reg_autoinc): Remove
747         SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_OUTPUT_RELOAD_CLASS tests.
748         Replace SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with
749         secondary_reload_class call.
750         (copy_cost): Likewise.  Add new parameter prev_sri.  Changed all
751         callers.
752         * reload.c (entire file): Remove HAVE_SECONDARY_RELOADS checks.
753         (push_secondary_reload): Use secondary_reload target hook.
754         (secondary_reload_class, scratch_reload_class): New functions.
755         (push_reload): Remove SECONDARY_INPUT_RELOAD_CLASS and
756         SECONDARY_OUTPUT_RELOAD_CLASS tests.  Replace
757         SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with secondary_reload_class call.
758         * reload.h (HAVE_SECONDARY_RELOADS): Don't define nor test.
759         (secondary_reload_class, scratch_reload_class): Declare.
760         * reload1.c: Include target.h.
761         (reload_adjust_reg_for_temp): New function.
762         (reload_adjust_reg_for_icode): Likewise.
763         (choose_reload_regs): Remove SECONDARY_INPUT_RELOAD_CLASS test.
764         Replace SECONDARY_INPUT_RELOAD_CLASS use with secondary_reload_class
765         call.
766         (emit_input_reload_insns): Likewise.  Rewrite secondary reload checks
767         for inheritance.  Support case when both secondary & tertiary reloads
768         are for intermediate registers.
769         (emit_output_reload_insns): Replace SECONDARY_OUTPUT_RELOAD_CLASS use
770         with secondary_reload_class call.  Support case when both secondary
771         & tertiary reloads are for intermediate registers.
772         * target-def.h (TARGET_SECONDARY_RELOAD): Provide default definition.
773         (TARGET_INITIALIZER) Add TARGET_SECONDARY_RELOAD.
774         * target.h (secondary_reload_info): New struct / typedef.
775         (struct gcc_target): New member secondary_reload.
776         * targhooks.c Include reload.h, optabs.h and recog.h.
777         (default_secondary_reload): New function.
778         * targhooks.h (default_secondary_reload): Declare.
779         * doc/tm.texi: Document secondary_reload target hook.  Update
780         description of SECONDARY_*RELOAD_CLASS and reload_{in,out}<mode>.
781         * doc/md.texi: Likewise.
782
783         * sh-protos.h (sh_secondary_reload): Declare.
784         * sh.c (TARGET_SECONDARY_RELOAD): Override.
785         (sh_secondary_reload): New function.
786         * sh.h (SECONDARY_INOUT_RELOAD_CLASS): Don't define.
787         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
788         (SECONDARY_INPUT_RELOAD_CLASS): Likewise.
789         (HAVE_SECONDARY_RELOADS): Define.
790         * sh.md (reload_indf): Rename to:
791         (reload_indf__frn).
792         (reload_outdf): Rename to:
793         (reload_outdf__RnFRm).
794         (reload_insf): Rename to:
795         (reload_insf__frn).
796         (reload_insi): Rename to:
797         (reload_insi__i_fpul).
798
799 2005-11-24  Uros Bizjak  <uros@kss-loka.si>
800
801         * configure.ac: Require at least texinfo 4.4.
802         * configure: Regenerate.
803
804         * doc/install.texi (Tools/packages necessary for building GCC):
805         Update required version of texinfo to at least 4.4.
806         (Installing GCC: Building): Update required version of texinfo
807         to at least 4.4.
808         (Installing GCC: Final installation): Update required version
809         of texi2dvi to at least 4.4.
810         (Host/target specific installation notes for GCC): Update required
811         version of texinfo to at least 4.4.
812
813 2005-11-24  Richard Guenther  <rguenther@suse.de>
814         Dirk Mueller <dmueller@suse.de>
815
816         PR c++/14024
817         * c-common.h (strict_aliasing_warning): Declare.
818         * c-common.c (strict_aliasing_warning): New function,
819         split out from ...
820         * c-typeck.c (build_c_cast): ... here.
821
822 2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
823
824         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
825         to order operands.
826         (swap_commutative_operands_with_target): New.
827
828 2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
829
830         * gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
831         also when doing PRE, rather than only for global CPROP.
832
833 2005-11-24  Ben Elliston  <bje@au.ibm.com>
834
835         * machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
836         * optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
837         formatting.
838         (expand_twoval_unop): Likewise.
839         (widen_clz): Likewise.
840         (expand_parity): Likewise.
841         (expand_unop): Likewise.
842         (emit_cmp_and_jmp_insn_1): Likewise.
843         (prepare_float_lib_cmp): Likewise.
844
845 2005-11-24  Ben Elliston  <bje@au.ibm.com>
846
847         * optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
848         Remove unused `class' variable.
849
850 2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
851
852         PR c++/21667
853         * c-typeck.c (build_array_ref): Avoid code duplicate.  Use common
854         C/C++ diagnostic function warn_array_subscript_with_type_char.
855         * c-common.h (warn_array_subscript_with_type_char): Declare.
856         * c-common.c (warn_array_subscript_with_type_char): Define.
857
858 2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
859
860         PR c/21668
861         * c-decl.c (grokdeclarator): Don't warn for 'extern const' when
862         compiling at the intersection of C and C++.
863
864 2005-11-23  Mark Mitchell  <mark@codesourcery.com>
865
866         * doc/invoke.texi: For man pages, include gcc-vers.texi.
867         List @file in the option summary.  Include the libiberty
868         documentation for @file.
869         * gcc.c (main): Call expandargv.
870         * Makefile.in (gcc-vers.texi): Define srcdir.
871
872 2005-11-23  Diego Novillo  <dnovillo@redhat.com>
873
874         * passes.c (init_optimization_passes): Document
875         sequencing of passes.
876
877 2005-11-23  Kazu Hirata  <kazu@codesourcery.com>
878
879         * config/m68k/predicates.md (pcrel_address, extend_operator,
880         post_inc_operand, pre_dec_operand): Remove redundant
881         conditionals.
882         (const_uint32_operand, const_sint32_operand): Use gcc_assert
883         instead of abort.
884         (valid_dbcc_comparison_p): Rewrite in the lisp style.
885
886 2005-11-23  Ben Elliston  <bje@au.ibm.com>
887
888         * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
889
890 2005-11-22  J"orn Rennecke <joern.rennecke@st.com>
891
892         Preparatory work for PR target/21623:
893         * alpha.c (secondary_reload_class): Rename to:
894         (alpha_secondary_reload_class).
895         * alpha.h, alpha-protos.h: Likewise.
896         * mn10300.c (secondary_reload_class): Rename to:
897         (mn10300_secondary_reload_class).
898         * mn10300.h, mn10300-protos.h: Likewise.
899         * pa.c (secondary_reload_class): Rename to:
900         (pa_secondary_reload_class).
901         * pa.h, pa-protos.h: Likewise.
902         * rs6000.c (secondary_reload_class): Rename to:
903         rs6000_secondary_reload_class.
904         * rs6000.h, rs6000-protos.h: Likewise.
905
906 2005-11-22  Eric Botcazou  <ebotcazou@adacore.com>
907
908         PR middle-end/22561
909         * tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
910
911 2005-11-22  Ian Lance Taylor  <ian@airs.com>
912
913         * optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
914         a mode_class.
915         (prepare_cmp_insn): Likewise.
916
917 2005-11-22  Kazu Hirata  <kazu@codesourcery.com>
918
919         PR target/23435
920         * m68k.md (zero_extendsidi2): Force operands[1] to a register
921         if both operands[0] and operands[1] are memory.
922
923 2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
924
925         PR middle-end/23606
926         * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
927         COMPARISON_CLASS_P and an integral types create create a new
928         expression with the new type and fold that.
929
930 2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
931
932         PR target/24988
933         * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
934         to SUBTARGET_OS_CPP_BUILTINS.
935
936 2005-11-22  Richard Earnshaw  <richard.earnshaw@arm.com>
937
938         * arm.c (emit_set_insn): New function.
939         (arm_split_constant): Call it.
940         (arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
941         (arm_legitimize_address): Likewise.  Use plus_constant.
942         (arm_expand_prologue): Likewise.  Use VOIDmode in SET.
943         (thumb_expand_prologue): Likewise.
944         (arm_gen_load_multiple): Use VOIDmode in SET.
945         (arm_gen_store_multiple): Likewise.
946         (vfp_emit_fstmx): Likewise.  Use plus_constant.
947         (emit_multi_reg_push): Likewise.
948         (emit_sfm): Use plus_constant.
949
950 2005-11-23  Alan Modra  <amodra@bigpond.net.au>
951
952         PR target/24954
953         * config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
954         typo last change.
955
956 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
957
958         PR middle-end/24950
959         * expmed.c (store_bit_field): Don't attempt to insv a field
960         larger than the reg.
961
962 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
963
964         PR target/24954
965         * config/rs6000/predicated.md (easy_vector_constant_add_self): Use
966         explicit sign extension, not a (char) cast.
967
968 2005-11-22  Ben Elliston  <bje@au.ibm.com>
969
970         * optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
971         GET_MODE_CLASS (x) == MODE_FLOAT.
972         * config/i386/i386.c: Likewise.
973         * config/rs6000/xcoff.h: Likewise.
974         * config/rs6000/linux64.h: Likewise.
975         * config/rs6000/rs6000.c: Likewise.
976         * config/rs6000/rs6000.h: Likewise.
977         * config/rs6000/predicates.md: Likewise.
978         * config/rs6000/sysv4.h: Likewise.
979
980 2005-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
981
982         * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
983         flag_pic is set.
984
985         * config/alpha/freebsd.h, config/alpha/linux.h,
986         config/arm/linux-elf.h, config/bfin/bfin.h,
987         config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
988         config/i386/beos-elf.h, config/i386/gnu.h,
989         config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
990         config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
991         config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
992         config/rs6000/linux64.h, config/rs6000/sysv4.h,
993         config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
994         config/sh/linux.h, config/sh/sh.h, config/sol2.h,
995         config/sparc/linux.h, config/sparc/linux64.h,
996         config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
997
998         * doc/invoke.texi: Document that the macros __pic__ and __PIC__
999         are both defined when either flag -fpic or -fPIC are used.
1000
1001 2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
1002
1003         * config/fp-bit.c (clzusi): New function.
1004         (si_to_float, usi_to_float): Use it to compute proper shift.
1005         (usi_to_float): Preserve guard bits when shifting right.
1006         * libgcc-std.ver (GCC_4.2.0): New version.
1007         * libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
1008         __floatundisf): New functions.
1009         * libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
1010         __floatundisf): Declare.
1011         * mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
1012         _floatundixf, and _floatunditf.
1013         * optabs.c (expand_float): If target does not define a pattern for
1014         signed or unsigned conversion, use an unsigned libcall instead of
1015         a signed one.
1016         (init_optabs): Initialize ufloat_optab.
1017
1018 2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
1019
1020         * config/rs6000/rs6000.opt (mmulhw): New option.
1021         * doc/invoke.texi (-mmulhw): Document.
1022         * config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
1023         for 405 and 440.
1024         * config/rs6000/rs6000.md: Add half-word multiply and
1025         multiply-accumulate instructions for 405 and 440.
1026
1027 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
1028
1029         * config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
1030         which matches behavior of gcc 4.0 and older for RTEMS targets.  The
1031         default now includes a linker group which makes the RTEMS one nest.
1032
1033 2005-11-22  Ben Elliston  <bje@au.ibm.com>
1034
1035         * cse.c (fold_rtx): Typo fix.
1036         (find_comparison_args): Pass the mode of arg1, not arg1 itself.
1037
1038 2005-11-21  Richard Henderson  <rth@redhat.com>
1039
1040         * c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
1041         langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
1042
1043         * c-tree.h (lookup_name): Move declaration ...
1044         * c-common.h (lookup_name): ... here.
1045         * config/darwin-c.c: Include c-common.h.
1046         * config/t-darwin: Update dependencies.
1047
1048 2005-11-22  Ben Elliston  <bje@au.ibm.com>
1049
1050         * optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
1051         explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
1052         * genopinit.c (gen_insn): Likewise.
1053         * reload.c (find_equiv_reg): Likewise.
1054         * loop.c (load_mems): Likewise.
1055         * rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
1056         * cse.c (find_comparison_args, fold_rtx): Likewise.
1057         * dwarf2out.c (add_const_value_attribute): Likewise.
1058         * expr.c (convert_move): Likewise.
1059         * recog.c (general_operand, register_operand): Likewise.
1060         * reg-stack.c (replace_reg): Likewise.
1061         * tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
1062         * c-common.c (handle_vector_size_attribute): Likewise.
1063         * simplify-rtx.c (simplify_const_unary_operation): Likewise.
1064         (simplify_binary_operation_1): Likewise.
1065         (simplify_const_binary_operation): Likewise.
1066         (simplify_relational_operation): Likewise.
1067         (simplify_const_relational_operation): Likewise.
1068         (simplify_immed_subreg): Likewise.
1069         * emit-rtl.c (gen_lowpart_common): Likewise.
1070         * expmed.c (expand_mult): Likewise.
1071         * stor-layout.c (layout_type): Likewise.
1072
1073 2005-11-21  Paolo Bonzini  <bonzini@gnu.org>
1074
1075         PR target/24951
1076         * config/rs6000/rs6000.c (output_vec_const_move): Load cst and
1077         cst2 only for SPE vectors.
1078
1079 2005-11-21  David Edelsohn  <edelsohn@gnu.org>
1080
1081         PR target/24953
1082         * config/rs6000/predicates.md (vrsave_operation): Check
1083         UNSPEC_VOLATILE value.
1084
1085 2005-11-21  Jan Hubicka  <jh@suse.cz>
1086
1087         PR tree-optimization/24653
1088         * tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
1089
1090 2005-11-21  Uros Bizjak  <uros@kss-loka.si>
1091
1092         * config/i386/predicates.md (ax_reg_operand): New predicate.
1093         (memory_displacement_only_operand): New predicate.
1094         * config/i386/i386.md ("modrm" attribute): Return 0 if one
1095         operand is AX register and the other operand is memory operand
1096         with displacement only.
1097
1098 2005-11-21  Uros Bizjak  <uros@kss-loka.si>
1099
1100         * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
1101         if we don't care about NaNs or Infinities.
1102
1103 2005-11-20  Ian Lance Taylor  <ian@airs.com>
1104
1105         PR rtl-optimization/24883
1106         * combine.c (combinable_i3pat): When checking whether the
1107         destination of i3 is used in i3, consider paradoxical subregs.
1108
1109 2005-11-21  Kazu Hirata  <kazu@codesourcery.com>
1110
1111         PR middle-end/20583
1112         * cse.c (cse_insn): Reject invalid forms of CONST earlier.
1113
1114 2005-11-20  Joseph S. Myers  <joseph@codesourcery.com>
1115
1116         * combine.c (try_combine): Do not run subst on i1src and i2src in
1117         the case of generating a PARALLEL for a comparison.
1118
1119 2005-11-20  Richard Henderson  <rth@redhat.com>
1120
1121         PR 24931
1122         * tree-sra.c (struct sra_elt): Add all_no_warning.
1123         (struct sra_walk_fns) <use>: Add use_all argument.
1124         (sra_walk_expr): Pass it.
1125         (sra_walk_modify_expr): Likewise.
1126         (scalarize_ldst): Likewise.
1127         (scan_use): Update for new argument.
1128         (mark_no_warning): New.
1129         (scalarize_use): Use it.
1130
1131 2005-11-20  Bernd Schmidt  <bernd.schmidt@analog.com>
1132
1133         * expr.c (expand_expr_real): Use usmul_optab for widening
1134         signed * unsigned multiplies.
1135         * genopinit.c (optabs): Add usmul_widen_optab.
1136         * optabs.c (init_optabs): Likewise.
1137         * optabs.h (enum optab_index): Add OTI_usmul_widen.
1138         (usmul_widen_optab): Define.
1139         * config/bfin/bfin.md (usmulhisi3): New pattern.
1140
1141         * doc/md.texi (usmulqihi3, usmulhisi3, usmulsidi3): Document.
1142
1143 2005-11-20  Graham Stott <btinternet.com>
1144
1145         * gensupport.c (std_preds): Fixed extraneous `false` in last change.
1146
1147 2005-11-20  Andreas Schwab  <schwab@suse.de>
1148
1149         PR target/24757
1150         * config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
1151         insn.
1152
1153 2005-11-19  Richard Henderson  <rth@redhat.com>
1154
1155         PR tree-opt/24665
1156         * tree-gimple.c (is_gimple_id): Export.
1157         * tree-gimple.h (is_gimple_id): Declare.
1158         * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
1159         (get_default_value): Use it.
1160         (maybe_fold_stmt_indirect): Likewise.
1161
1162 2005-11-19  James A. Morrison  <phython@gcc.gnu.org>
1163
1164         * tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
1165         than VR1 or vice-versa.
1166
1167 2005-11-19  Hans-Peter Nilsson  <hp@axis.com>
1168
1169         PR middle-end/24912
1170         PR middle-end/24750
1171         * reload.c (find_reloads_address_1): Mention dependency on
1172         gen_reload.
1173         * reload1.c (gen_reload): For IN with an unary operation, try
1174         moving inner expression to OUT if trivial SET is not valid.
1175         Confirm that the result is valid.  Move common code block into...
1176         (emit_insn_if_valid_for_reload): New function.
1177
1178 2005-11-19  Richard Guenther  <rguenther@suse.de>
1179
1180         * fold-const.c (fold_indirect_ref_1): Make sure we fold
1181         ARRAY_REFs of constant strings.
1182
1183 2005-11-19  Jakub Jelinek  <jakub@redhat.com>
1184
1185         * gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
1186         fatal format string.
1187
1188 2005-11-19  Joseph S. Myers  <joseph@codesourcery.com>
1189
1190         * combine.c (make_compound_operation): Swap operands of
1191         commutative operation if necessary before returning.
1192
1193 2005-11-19  Richard Guenther  <rguenther@suse.de>
1194
1195         PR middle-end/23294
1196         * fold-const.c (fold_plusminus_mult_expr): New function.
1197         (fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
1198         cases, remove now unnecessary code.
1199
1200 2005-11-19  Paolo Bonzini  <bonzini@gcc.gnu.org>
1201
1202         * gensupport.c (old_preds): Rename to std_preds, add special field.
1203         (struct old_pred_table): Rename to struct std_pred_table, add special
1204         field.
1205         (NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
1206         (NUM_OLD_SPECIAL_MODE_PREDS): Remove.
1207         (init_predicate_table): Adjust, and set along the way whether a
1208         predicate is special.
1209
1210 2005-11-18  Mark Mitchell  <mark@codesourcery.com>
1211
1212         * BASE-VER: Change to 4.2.0.
1213
1214 2005-11-18  James E Wilson  <wilson@specifix.com>
1215
1216         * builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
1217         returning it.
1218
1219 2005-11-18  Mike Stump  <mrs@apple.com>
1220
1221         * c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
1222         * config/darwin-c.c (darwin_pragma_unused): Likewise.
1223         * c-decl.c (lookup_name_two) Remove.
1224         * c-tree.h (lookup_name_two): Remove.
1225         * c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
1226         * langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
1227         (LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
1228         * langhooks.h (lang_hooks_for_decls): Add lookup_name.
1229
1230 2005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
1231
1232         PR target/24914
1233         * arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
1234         when not generating code to use that co-processor.
1235
1236 2005-11-18  James A. Morrison  <phython@gcc.gnu.org>
1237
1238         * tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
1239         add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
1240         these functions are now in tree-phinodes.c.
1241
1242 2005-11-18  Jie Zhang  <jie.zhang@analog.com>
1243
1244         * config/bfin/bfin.md (trap): New pattern.
1245
1246 2005-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1247
1248         * tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
1249         on types.
1250
1251         * expr.c (expand_expr_real): Don't call record_block_change unless
1252         ib_boundaries_block is non-null
1253
1254         * postreload.c (reload_cse_move2add): Don't try to work with BImode.
1255
1256         * fold-const.c (build_range_check): Use proper type for subtraction
1257         when merging lower bound.
1258
1259 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
1260
1261         PR rtl-optimization/24497
1262         * loop-unroll.c (apply_opt_in_copies): Do not verify equality of
1263         the copied insn.
1264
1265 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
1266
1267         * tree-scalar-evolution.c (expression_expensive_p): New function.
1268         (scev_const_prop): Use compute_overall_effect_of_inner_loop.
1269
1270 2005-11-18  Bernd Schmidt  <bernd.schmidt@analog.com>
1271
1272         * config/bfin/crtlibid.s: New file.
1273
1274 2005-11-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1275
1276         PR target/24348
1277         * config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
1278         when not using sjlj exceptions.
1279         * config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
1280         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1281         * config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
1282         * config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
1283         DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
1284         * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
1285         * config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
1286         DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
1287         ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
1288         * config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
1289         (FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
1290         DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
1291         ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
1292         defines.
1293         * config/pa/hpux-unwind.h: New file.
1294
1295 2005-11-17  Alexandre Oliva  <aoliva@redhat.com>
1296
1297         * config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
1298         * defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
1299         * varasm.c (do_assemble_alias): Adjust call.
1300         (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
1301         is defined.
1302         * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
1303
1304 2005-11-17  James E Wilson  <wilson@specifix.com>
1305
1306         * tree.def (FUNCTION_DECL): Correct typo in comment.
1307
1308 2005-11-17  Richard Henderson  <rth@redhat.com>
1309
1310         * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
1311         (lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
1312         and DW_CFA_def_cfa_sf.
1313         (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
1314         (dbx_reg_number): Don't assert particular registers here.
1315         (based_loc_descr): ... do it here instead.  Fold in ...
1316         (eliminate_reg_to_offset): ... this function.
1317         (compute_frame_pointer_to_cfa_displacement): Fold in the effects
1318         of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
1319         * unwind-dw2.c (execute_cfa_program): Apply data align factor
1320         to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
1321         * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
1322         (instantiate_virtual_regs): Likewise.
1323         * var-tracking.c (adjust_stack_reference): Likewise.
1324         * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
1325
1326 2005-11-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1327
1328         * config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
1329         * config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
1330         * config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
1331         crtlibid.o.
1332         ($(T)crtlibid.o): New rule.
1333
1334 2005-11-16  Richard Guenther  <rguenther@suse.de>
1335
1336         PR middle-end/24851
1337         * fold-const.c (extract_array_ref): Return byte offset
1338         in all cases.
1339         (fold_binary): Fold &x[a] CMP &x[b] to
1340         a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
1341         behavior.
1342
1343 2005-11-16  Richard Henderson  <rth@redhat.com>
1344
1345         PR middle-end/23497
1346         * tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
1347         parts of an SSA_NAME.
1348
1349 2005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
1350
1351         PR target/24861
1352         * arm.md (split for movsf with immediate): Restrict split to insns
1353         that set a general register.
1354
1355 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
1356
1357         * config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
1358         uw_update_context.
1359         * unwind-dw2.c (uw_advance_context): Likewise.
1360         * unwind-sjlj.c (uw_advance_context): Likewise.  Also call
1361         _Unwind_SjLj_Unregister.
1362         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
1363
1364 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
1365
1366         * unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
1367
1368 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1369
1370         * config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
1371         langhook to get a DImode integer type.
1372
1373 2005-11-16  Richard Henderson  <rth@redhat.com>
1374             J"orn Rennecke <joern.rennecke@st.com>
1375             Ulrich Weigand  <uweigand@de.ibm.com>
1376
1377         PR rtl-opt/24160
1378         PR target/24621
1379         * reload1.c (reg_equiv_invariant): New.
1380         (reload): Allocate, initialize, and free it.
1381         (calculate_needs_all_insns): Check it when skipping equivalence
1382         setting insns.
1383         (alter_reg): Likewise.
1384         (eliminate_regs_1): Rename from eliminate_regs.  Add new
1385         may_use_invariant argument; only use reg_equiv_invariant when true.
1386         (eliminate_regs): New.
1387         (eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
1388         a context for which may_use_invariant may be true.
1389
1390 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1391
1392         * fold-const.c (const_binop): Don't constant fold the operation
1393         if the result has overflowed and flag_trapping_math.
1394         * simplify-rtx.c (simplify_const_binary_operation): Likewise.
1395
1396 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
1397
1398         * config/arm/unwind-arm.c (abort): Add prototype here.
1399         (UCB_FORCED_STOP_ARG): Correct typo in macro argument.
1400         (struct phase1_vrs): Add prev_sp.
1401         (unwind_phase2_forced): Save the original core registers instead of
1402         modifying entry_vrs.  Take a new flag argument for resuming unwinding
1403         and set action flags accordingly.  Always set _US_END_OF_STACK when
1404         get_eit_entry fails.  Unwind before calling the stop function.
1405         (_Unwind_GetCFA): New function.
1406         (__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
1407         (__gnu_Unwind_Resume_or_Rethrow): Likewise.
1408         (__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
1409         just call unwind_phase2_forced.
1410         (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
1411         * config/arm/unwind-arm.h (abort): Remove prototype.
1412         (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
1413         prototypes.
1414         (_Unwind_GetCFA): New prototype.
1415         * config/arm/pr-support.c (abort): Add prototype here.
1416         * unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
1417         forced unwinding.
1418         * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
1419         not schedule the prologue with non-call exceptions and EABI.
1420
1421 2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
1422
1423         * config/arm/unwind-arm.h: Reorder interface function declarations.
1424         (_URC_END_OF_STACK): New enumeration value.
1425         (_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
1426         (struct _Unwind_Control_Block): Document reserved field use.
1427         (_Unwind_Stop_Fn): New typedef.
1428         (_Unwind_ForcedUnwind): Declare.
1429         (_Unwind_Resume_or_Rethrow): Declare.
1430         * gcc/config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
1431         argument.  Adjust.
1432         (_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
1433         * config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
1434         (UCB_FORCED_STOP_ARG): New.
1435         (search_EIT_table): Update boundary condition checks.
1436         (get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
1437         (unwind_phase2): Replace for with do..while.
1438         (unwind_phase2_forced): New.
1439         (__gnu_Unwind_RaiseException): Replace for with do..while.
1440         (__gnu_Unwind_ForcedUnwind): New.
1441         (__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
1442         Use appropriate phase2 unwinder.
1443         (__gnu_Unwind_Resume_or_Rethrow): New.
1444         (__gnu_unwind_pr_common): Cope with forced unwinding.
1445
1446 2005-11-16  David Edelsohn  <edelsohn@gnu.org>
1447
1448         PR target/24772
1449         * config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
1450
1451         * config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
1452         roundsf2): Remove "s" from mnemonic.
1453
1454 2005-11-16  Bernd Schmidt  <bernd.schmidt@analog.com>
1455
1456         * config/bfin/crti.s (__init, __fini): Use appropriate prologue if
1457         __PIC__ is defined.
1458         * config/bfin/crtn.s: Change epilogues to match.
1459         * config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
1460         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
1461         __PIC__ and __pic__.
1462
1463 2005-11-16  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1464
1465         PR 24357
1466         * doc/invoke.texi: Distinguish between free and fixed form instead of
1467         Fortran and Fortran 90/95.  Remove ratfor from the list of supported
1468         languages.
1469         * gcc.c (default_compilers): Remove double entries, add entries for
1470         suffixes '.F90' and '.F95'.
1471
1472 2005-11-16  Eric Botcazou <ebotcazou@adacore.com>
1473
1474         * config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
1475         in the stack probing loop.
1476
1477 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
1478
1479         * configure.ac: Use .machine power5 not power5x.
1480         * configure: Regenerate.
1481
1482 2005-11-15  Mike Stump  <mrs@apple.com>
1483
1484         * c-decl.c (lookup_name_two): Add.
1485         * c-tree.h (lookup_name_two): Likewise.
1486         * c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
1487         * config/darwin-c.c (darwin_pragma_unused): Likewise.
1488
1489 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
1490
1491         PR rtl-optimization/23392
1492         * regrename.c (enum scan_actions) Add mark_access.
1493         (scan_actions_name): Ditto.
1494         (scan_rtx_reg): Handle mark_access.
1495         (scan_rtx_address): Do nothing for mark_access.
1496         (build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
1497         and regs in REG_INC notes before closing chains for dead regs.
1498         Mark destination regs in REG_FRAME_RELATED_EXPR notes after
1499         opening chains for new writes.
1500
1501 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
1502
1503         * c.opt (ffixed-line-length-none): New.
1504
1505 2005-11-15  Steve Ellcey  <sje@cup.hp.com>
1506
1507         * mklibgcc.in: Change contents of eh_dummy.c.
1508
1509 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
1510
1511         * loop.c (scan_loop): Do not insert temporaries for hard registers.
1512
1513 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
1514
1515         * config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
1516         of making syscalls.
1517         * config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define.  Set r7 also.
1518
1519 2005-11-15  Jan Hubicka  <jh@suse.cz>
1520
1521         * invoke.texi (large-unit-insns): Document.
1522         * ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
1523         * params.def (large-unit-insns): New param.
1524
1525 2005-11-15  Hans-Peter Nilsson  <hp@axis.com>
1526
1527         PR target/24869
1528         * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
1529         special register for operand 3.  Reindent constraints to align
1530         them vertically.
1531
1532 2005-11-14  David Edelsohn  <edelsohn@gnu.org>
1533
1534         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
1535         -mpopcntb, -mfprnd. Add -mcpu=power5+.
1536         * configure.ac: Add test for FP rounding instructions.
1537         * configure: Regenerate.
1538         * config.in: Regenerate.
1539         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1540         _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
1541         features enabled.
1542         * config/rs6000/rs6000.opt (mfprnd): New.
1543         * config/rs6000/rs6000.c (processor_target_table): Add power5+.
1544         (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
1545         * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
1546         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
1547         (TARGET_FPRND): New.
1548         * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
1549         UNSPEC_FRIZ): New.
1550         (btrunc<mode>2): New.
1551         (ceil<mode>2): New.
1552         (floor<mode>2): New.
1553         (round<mode>2): New.
1554
1555 2005-11-14  Geoffrey Keating  <geoffk@apple.com>
1556
1557         * gcc.c (version_compare_spec_function): Use fatal() rather than
1558         abort().
1559
1560         * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
1561         (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
1562         * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
1563         as empty.
1564         * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
1565         link in crt2.o.
1566
1567         * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
1568         on -mmacosx-version-min setting.
1569
1570 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
1571
1572         PR 24840
1573         * tree-vrp.c (infer_value_range): Return false if STMT is a
1574         block terminator and its basic block has no successors.
1575
1576 2005-11-14  Mike Stump  <mrs@apple.com>
1577
1578         * config/i386/i386.c (override_options): -masm=intel isn't
1579         supported on darwin.
1580         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1581
1582 2005-11-15  Joseph S. Myers  <joseph@codesourcery.com>
1583
1584         * crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
1585         vfork after including auto-host.h.
1586
1587 2005-11-15  Alan Modra  <amodra@bigpond.net.au>
1588
1589         PR rtl-optimization/22002
1590         * combine.c (distribute_notes): Detect cases where a reg dies
1591         two or more times in a bb, including on the insn we are combining,
1592         and place the death note on the correct range.
1593
1594 2005-11-14  Dale Johannesen  <dalej@apple.com>
1595
1596         * expmed.c (store_bit_field):  Add offset unconditionally for
1597         memory targets.
1598         (extract_bit_field):  Don't force extzv or extv operand into
1599         a register if field is too big.
1600
1601 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
1602
1603         * config/arm/arm.c (pic_labelno): New.
1604         (arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
1605         LABEL_REF.  Pass only the labelno to PIC insns.
1606         (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
1607         (arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
1608         * arm.md (UNSPEC_PIC_LABEL): New constant.
1609         (pic_add_dot_plus_four, pic_add_dot_plus_eight)
1610         (tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
1611         Use the correct label prefix.
1612
1613 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
1614
1615         * config/arm/arm.c (legitimize_tls_address): Use correct rtx for
1616         REQ_EQUIV note.
1617
1618 2005-11-14  Richard Earnshaw  <richard.earnshaw@arm.com>
1619
1620         * loop-invariant.c: Include tm_p.h.
1621         * Makefile.in: Updated.
1622
1623 2005-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1624
1625         * pa.c (store_reg): Revise generation of frame notes in large frames.
1626         (set_reg_plus_d): Likewise.
1627
1628 2005-11-13  Andrew MacLeod  <amacleod@redhat.com>
1629
1630         PR tree-optimization/24709
1631         * tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
1632         loop check.
1633
1634 2005-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1635
1636         * gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
1637         and duplicate declaration of pthread_self.
1638
1639 2005-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1640             Ian Lance Taylor  <ian@airs.com>
1641
1642         PR middle-end/24003
1643         * calls.c (expand_call): If TARGET is a MEM and some part of the
1644         argument area has been saved, force TARGET to a register.
1645
1646 2005-11-13  Razya Ladelsky <razya@il.ibm.com>
1647
1648         * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
1649         checking.
1650
1651 2005-11-13  Jason Merrill  <jason@redhat.com>
1652
1653         PR c++/22489
1654         * dwarf2out.c (gen_subprogram_die): Force a declaration die for
1655         lazily declared methods.
1656         (force_decl_die): Stop if forcing out the context already make a
1657         DIE for the decl.
1658         (force_type_die): Likewise.
1659
1660 2005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
1661
1662         PR middle-end/24820
1663         * builtins.c (integer_valued_real_p): Add break in
1664         REAL_CST having TREE_OVERFLOW set.
1665
1666 2005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
1667
1668         * tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
1669         addressing modes during calculation of costs.
1670
1671 2005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1672
1673         * function.c (assign_stack_local_1): Restrict sanity check
1674         on frame size overflow to 32-bit and above platforms.
1675
1676 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
1677
1678         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1679         * config/cris/cris.c: Include reload.h.
1680         (cris_initial_elimination_offset): New function.
1681         * config/cris/cris-protos.h: (cris_initial_elimination_offset):
1682         Prototype.
1683
1684 2005-11-12  Richard Guenther  <rguenther@suse.de>
1685
1686         * gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
1687
1688 2005-11-12  Jan Hubicka  <jh@suse.cz>
1689
1690         * expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
1691         to compare against 0 when possible.
1692
1693 2005-11-12  Jie Zhang  <jie.zhang@analog.com>
1694
1695         * config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
1696         HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
1697         REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
1698         * config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
1699         in the new order.
1700
1701 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
1702
1703         * recog.c (constrain_operands) <case 'g'>: For a match, require
1704         that a non-register matches general_operand when strict >= 0.
1705
1706 2005-11-11  Steven Bosscher  <stevenb@suse.de>
1707
1708         * loop-invariant.c (move_loop_invariants): Fix a thinko in the
1709         previous checkin.
1710
1711 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
1712
1713         * tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
1714         (memory_address_same): New.
1715         (dse_optimize_stmt): Call memory_address_same.
1716
1717 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
1718
1719         PR middle-end/24750
1720         * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
1721         ZERO_EXTEND>: New cases.
1722
1723 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
1724
1725         * longlong.h (__clz_tab): Always provide.
1726
1727 2005-11-11  Steven Bosscher  <stevenb@suse.de>
1728
1729         PR 24265
1730         * loop-invariant.c (may_assign_reg_p): Make sure a hard register
1731         can be assigned to.
1732         (find_invariant_insn): Do the cheapest check, may_assign_reg_p,
1733         before check_maybe_invariant.
1734         (move_invariant_reg): Use gen_move_insn instead of replacing
1735         SET_DEST with the temporary for the invariant.
1736         (move_loop_invariants): If checking is enabled, do internal
1737         consistency checks after completing the pass.
1738
1739 2005-11-11  David Edelsohn  <edelsohn@gnu.org>
1740
1741         PR 24644
1742         * common.opt (Wvolatile-register-var): New.
1743         * varasm.c (make_decl_rtl): Only emit warning when option
1744         specified.  Clarify warning message.
1745         * doc/invoke.texi (Wvolatile-register-var): Document new option.
1746
1747         * doc/md.texi (copysign): Document standard named pattern.
1748
1749 2005-11-11  Jie Zhang  <jie.zhang@analog.com>
1750
1751         * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
1752         bytes when align is 2.
1753         * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
1754         by the first instruction of the loop.
1755
1756 2005-11-11  Jason Merrill  <jason@redhat.com>
1757
1758         PR c++/24686
1759         * gimplify.c (gimplify_cleanup_point_expr): Also save and restore
1760         the cleanup list.
1761
1762 2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
1763
1764         PR rtl-optimization/22509
1765         * local-alloc.c (memref_used_between_p): Check whether a function call
1766         could not reference the memref.
1767
1768 2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
1769
1770         * postreload.c (reload_cse_simplify_operands): Fix bug in sorting
1771         algorithm so as to choose the best, not the worst, alternative.
1772         Reset accumulated register class before processing next alternative.
1773
1774 2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1775
1776         PR target/24445
1777         * calls.c (expand_call): Copy a return value to a plain register
1778         if needed.
1779
1780 2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
1781
1782         PR target/24778
1783         * varasm.c (assemble_name): Recompute name only for transparent
1784         aliases.
1785
1786 2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
1787
1788         * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
1789
1790 2005-11-04  Jeff Law  <law@redhat.com>
1791
1792         PR middle-end/23181
1793         * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
1794         perform reassociation if the parent statement will not die as
1795         a result of the optimization.
1796
1797 2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
1798
1799         * tree-ssa-alias.c (compute_may_aliases): Remove call to
1800         delete_old_heap_vars.
1801         * tree-dfa.c (referenced_var_remove): Remove function.
1802         * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
1803         (delete_tree_ssa): Remove call to delete_old_heapvars.
1804         Add call to delete_alias_heapvars.
1805         * tree-flow.h (referenced_var_remove): Remove prototype
1806         (init_alias_heapvars): New prototype.
1807         (delete_alias_heapvars): Ditto.
1808         * Makefile.in (tree-ssa-structalias.o): Add
1809         gt-tree-ssa-structalias.o
1810         (GTFILES): Add tree-ssa-structalias.h and
1811         tree-ssa-structalias.c.
1812         (s-gtype): Add gt-tree-ssa-structalias.h.
1813         * tree-ssa-structalias.c (heapvars): Remove.
1814         (oldheapvars): Remove.
1815         (heapvar_for_stmt): New variable.
1816         (heapvar_lookup): New function.
1817         (heapvar_insert): Ditto.
1818         (get_constraint_for): See if we have an old heapvar
1819         to reuse.
1820         (init_alias_heapvars): New function.
1821         (delete_alias_heapvars): Ditto.
1822         Add include of gt-tree-ssa-structalias.h.
1823
1824 2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1825
1826         PR middle-end/22127
1827         * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
1828
1829 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1830
1831         * tree.c (int_fits_type_p): Only look at the base type
1832         if it has the same precision as the original type.
1833
1834 2005-11-10  Jakub Jelinek  <jakub@redhat.com>
1835
1836         PR other/4372
1837         * varasm.c (assemble_alias): Use %q+D in the error
1838         message instead of %J and %qD.
1839
1840 2005-11-10  Richard Guenther  <rguenther@suse.de>
1841
1842         * gcse.c (free_ldst_entry): Only free hashtable if
1843         it exists.
1844
1845 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1846
1847         * function.c (assign_stack_local_1): Issue an error message if
1848         the frame size overflows in the signed target arithmetics.
1849
1850 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1851
1852         * tree.c (build_qualified_type): Chain the new type to the original
1853         type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
1854         a POINTER_TYPE or a REFERENCE_TYPE respectively.
1855         (build_pointer_type_for_mode): Only return unqualified types.
1856         (build_reference_type_for_mode): Likewise.
1857
1858 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
1859
1860         * Makefile.in (gnucompare): Do comparison of all files using one of
1861         the chosen methods and only afterwards decide if just warning should
1862         be issued or comparison failure raised.
1863
1864 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1865
1866         * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
1867         (noce_try_abs): Negate if the comparison is reversed.
1868         Look only one instruction backwards for a REG_EQUAL note.
1869
1870 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
1871
1872         PR other/4372
1873         * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
1874         gthr-tpf.h: Define __gthrw.  For all identifiers that might
1875         be weak, introduce weakrefs or non-weak aliases with __gthrw,
1876         and prefix all uses with __ghtrw.
1877
1878 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
1879
1880         PR other/4372
1881         * tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
1882         (TREE_DEPRECATED): Adjust comment.  Check for a DECL.
1883         * c-common.c (handle_weakref_attribute): New.
1884         (c_common_attribute_table): Add weakref.
1885         * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
1886         in the assembler.
1887         * configure, config.in: Rebuilt.
1888         * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
1889         * doc/extend.texi: Document weakref attribute.
1890         * varasm.c (ultimate_transparent_alias_target): New
1891         (assemble_name): Use it.
1892         (weak_finish_1): Split out of...
1893         (weak_finish): ... and deal with weakrefs in...
1894         (weakref_targets): ... new list.
1895         (globalize_decl): Clean up weakref_targets.
1896         (do_assemble_alias): Handle weakrefs.
1897         (finish_aliases_1): Do not reject weakrefs to external symbols.
1898         (assemble_alias): Handle weakrefs.
1899
1900 2005-11-09  Richard Guenther  <rguenther@suse.de>
1901
1902         PR tree-optimization/24716
1903         * tree-scalar-evolution.c (analyze_evolution_in_loop): Use
1904         t_bool to track results from follow_ssa_edge.
1905
1906 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1907
1908         * final.c (force_source_line): New global variable.
1909         (final_scan_insn): Set it to true instead of clearing last_filename.
1910         (notice_source_line): Return true if force_source_line is true,
1911         unless source info is absent.
1912
1913 2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
1914
1915         PR c/24644
1916         * dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
1917         a linkage name for a variable if it a register variable.
1918         * c-decl.c (grokdeclarator): Global register variables
1919         should be set as PUBLIC.
1920
1921 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1922
1923         PR 24624
1924         * config/s390/s390.c (struct s390_frame_layout): New fields
1925         first_save_gpr_slot and last_save_gpr_slot.
1926         (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
1927         s390_emit_epilogue, s390_initial_elimination_offset): Replaced
1928         first_save_gpr and last_save_gpr with the _slot variants.
1929         (s390_register_info): Calculate first_save_gpr_slot and
1930         last_save_gpr_slot using regs_ever_live.
1931
1932 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1933
1934         PR 24623
1935         * config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
1936         for a function containing a landing pad.
1937
1938 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1939
1940         PR 24034
1941         * flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
1942         is live afterwards.
1943
1944 2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
1945
1946         * config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
1947         MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
1948
1949 2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
1950
1951         Add ms2 support
1952         * config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
1953         constants.
1954         (call,load,store): New insn types.
1955         (mem_access, branch_access): Adjust reservation conditions.
1956         (define_delay): Adjust condition.
1957         (decrement_and_branch_until_zero): Allow for ms2.  Set branch
1958         type.
1959         (*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
1960         (*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
1961         insn type.
1962         (call_internal, call_value_internal, return_internal,
1963         return_interrupt_internal, eh_return_internal, indirect_jump,
1964         tablejump): Set call insn type.
1965         (blockage, ei, di): Use appropriate unspec const.
1966         * config/ms1/ms1.c (ms1_flag_delayed_branch): New.
1967         (ms1_get_attr_type): Adjust to give load & store types.
1968         (ms1_final_prescan_insn): Adjust for new insn types.  Don't look
1969         backwards past a barrier.
1970         (ms1_override_options): Accept ms2 arch.  Copy and reset delayed
1971         branch scheduling.
1972         (struct branch_info, struct label_info): New.
1973         (ms1_labels): New.
1974         (ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
1975         (ms1_machine_reorg): New.
1976         (TARGET_MACHINE_DEPENDENT_REORG): Override.
1977         * config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
1978         * config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
1979         (ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
1980         (TARGET_MS2): New.
1981
1982 2005-11-09  Per Bothner  <per@bothner.com>
1983             Uros Bizjak  <uros@kss-loka.si>
1984
1985         PR c/24101
1986         * toplev.c (process_options): Initialize debug_hooks early
1987         in case lang_hooks.post_options ends up calling a debug_hook.
1988
1989 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
1990
1991         * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
1992         DBX_REGISTER_NUMBER being contiguous.
1993
1994 2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
1995             Diego Novillo  <dnovillo@redhat.com>
1996
1997         PR 23046
1998         * tree-vrp.c (register_edge_assert_for): Do not register
1999         always-false predicates.
2000
2001 2005-11-08  Devang Patel <dpatel@apple.com>
2002
2003         PR tree-optimization/23115
2004         * tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
2005         relation.
2006
2007 2005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
2008
2009         * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
2010         -mcpu=440.
2011
2012 2005-11-08  Daniel Berlin  <dberlin@dberlin.org>
2013
2014         Fix PR tree-optimization/23382
2015
2016         * tree-ssa-alias.c (compute_may_aliases): Call
2017         delete_old_heap_vars.
2018         * tree-dfa.c (referenced_var_remove): New function.
2019         * tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
2020         * tree-flow.h (referenced_var_remove): Add prototype.
2021         (delete_old_heap_vars): Ditto.
2022         * tree-ssa-structalias.c (heapvars): New variable.
2023         (oldheapvars): Ditto.
2024         (get_constraint_for): Put heap vars on heapvars list.
2025         (delete_old_heap_vars): New function.
2026
2027 2005-11-08  Jason Merrill  <jason@redhat.com>
2028
2029         * tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
2030
2031 2005-11-08  Uros Bizjak  <uros@kss-loka.si>
2032
2033         PR target/19340
2034         * reg-stack.c (reg_to_stack): Update register liveness also
2035         for flag_sched2_use_traces.
2036
2037 2005-11-08  Alan Modra  <amodra@bigpond.net.au>
2038
2039         PR target/23704
2040         * config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
2041         override prior explicit -mno-powerpc-gfxopt.
2042
2043 2005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2044
2045         * expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
2046         if the bitsize is zero.
2047         * doc/md.texi (Standard Pattern Names): Document it.
2048
2049         * config/ia64/ia64.c (ia64_pass_by_reference): Delete.
2050         (TARGET_PASS_BY_REFERENCE): Likewise.
2051
2052 2005-11-07  Ian Lance Taylor  <ian@airs.com>
2053
2054         PR rtl-optimization/24683
2055         * config/i386/i386.c (legitimize_pic_address): If constant operand
2056         to PLUS is too large, put it in a register.
2057
2058 2005-11-07  Jie Zhang  <jie.zhang@analog.com>
2059
2060         * configure.ac: Enable checking assembler dwarf2 support for bfin
2061         target.
2062         * configure: Regenerate.
2063
2064 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
2065
2066         PR target/24230
2067
2068         * config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
2069         gen_easy_vector_constant_add_self): Delete.
2070         (vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
2071         New.
2072         (output_vec_const_move): Use gen_easy_altivec_constant.
2073         (rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
2074         * config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
2075         (easy_vector_constant_add_self): Rewritten.
2076         * config/rs6000/rs6000-protos.h (easy_vector_splat_const,
2077         easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
2078         (easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
2079         * config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
2080         Macroize and adjust for the other changes.
2081
2082 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
2083
2084         PR c/24599
2085
2086         * c-typeck.c (build_c_cast): Try using a shared constant, and see
2087         if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
2088
2089 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
2090
2091         PR rtl-optimization/23567
2092         * ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
2093         (noce_process_if_block): Don't do any optimizations except
2094         if (cond) x = x; if !set_b and write into orig_x may trap
2095         or fault.  Remove the MEM_READONLY_P check.
2096
2097 2005-11-06  Diego Novillo  <dnovillo@redhat.com>
2098
2099         PR 24670
2100         * tree-vrp.c (fix_equivalence_set): New.
2101         (extract_range_from_assert): Call it.
2102
2103 2005-11-05  Ian Lance Taylor  <ian@airs.com>
2104
2105         PR target/22432
2106         * combine.c (apply_distributive_law): Don't distribute across a
2107         vector mode subreg.
2108
2109 2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
2110
2111         * c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
2112         config/ms1/ms1.h, config/rs6000/predicates.md,
2113         config/s390/s390.c, params.def, postreload-gcse.c,
2114         tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
2115         tree-vrp.c, tree.c: Fix comment typos.
2116         * doc/invoke.texi: Fix typos.
2117
2118 2005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
2119
2120         * lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
2121         for testing whether the data_dependence_relation contains distance
2122         vectors.  Iterate over all distance vectors of the ddr.
2123         * lambda.h: Define a vec of lambda_vector pointers.
2124         * tree-data-ref.c (dump_data_dependence_relation,
2125         dump_data_dependence_direction): Iterate over all distance and
2126         direction vectors of the ddr.
2127         (initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
2128         DDR_DIST_VECTS.
2129         (build_classic_dist_vector, build_classic_dir_vector): Push a set
2130         of distance/direction vectors instead of a single one.
2131         * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
2132         lambda_vectors with a vec of lambda_vectors.
2133         (DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
2134         (DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
2135         DDR_NUM_DIST_VECTS): New.
2136         * tree-loop-linear.c (gather_interchange_stats): Test for the
2137         existence of distance vectors only after having checked that there
2138         is a dependence.  Iterate over all distance vectors of the ddr.
2139         (linear_transform_loops): Use dump_data_dependence_relation.
2140         * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
2141         distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
2142         distance vectors of the ddr.
2143
2144 2005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2145
2146         * config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
2147         expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
2148         IS_INTHANDLER; all callers changed.
2149         (n_regs_saved_by_prologue): Take interrupt handler attributes into
2150         account.
2151         (do_link, do_unlink): New argument ALL; all callers changed.
2152         (expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
2153         If function isn't leaf, save and restore all registers.
2154         (bfin_function_ok_for_sibcall): Only true if not an interrupt or
2155         exception handler.
2156
2157 2005-11-05  Jan Hubicka  <jh@suse.cz>
2158
2159         PR rtl-optimization/23490
2160         * doc/invoke.texi (max-predicted-iterations, max-cse-insns,
2161         max-flow-memory-location): Document.
2162         * flow.c: Include params.h
2163         (MAX_MEM_SET_LIST_LEN): Kill.
2164         (add_to_mem_set_list): Use new param.
2165         * cse.c (cse_basic_block): Replace 1000 by new param.
2166         * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
2167         PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
2168         * predict.c (predict_loops): Use new param.
2169         * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
2170
2171         * ipa-inline.c (cgraph_decide_inlining_of_small_function,
2172         cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
2173         Do not hold memory returned by cgraph_node_name across other call.
2174
2175 2005-11-04  Hans-Peter Nilsson  <hp@axis.com>
2176
2177         PR target/23424
2178         * config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
2179         Disable.
2180
2181 2005-11-04  Jeff Law  <law@redhat.com>
2182
2183         PR/21883
2184         * doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
2185         * tree-ssa-dom.c: Include params.h.
2186         (thread_across_edge): If there are too many statements in the
2187         target block, then do not thread through it.
2188         * Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
2189         * params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
2190
2191 2005-11-03  Diego Novillo  <dnovillo@redhat.com>
2192
2193         PR 24627
2194         * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
2195         TODO_update_ssa instead of TODO_update_ssa_no_phi.
2196
2197 2005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
2198
2199         PR/18595
2200         * tree-scalar-evolution.c (instantiate_parameters_1,
2201         instantiate_parameters, resolve_mixers): Compute the size of an
2202         expression to be instantiated and give up the instantiation if the
2203         size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
2204
2205 2005-11-04  Richard Guenther  <rguenther@suse.de>
2206
2207         * tree-flow.h (ref_contains_indirect_ref): Rename to
2208         array_ref_contains_indirect_ref.
2209         * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
2210         (array_ref_contains_indirect_ref): Make comment match the code
2211         and vice-versa.
2212         (ref_contains_array_ref): Likewise.
2213         * tree-ssa-structalias.c (find_func_aliases): Remove call to
2214         ref_contains_indirect_ref.
2215         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
2216         Rename calls to ref_contains_indirect_ref.
2217
2218 2005-11-04 Paul Brook  <paul@codesourcery.com>
2219
2220         * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
2221         gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
2222         (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
2223         * config/arm/arm.md: Use match_operand in peephole input templates
2224         and match_dup in peephole output templates.
2225
2226 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
2227
2228         * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
2229         __aeabi_uidiv.
2230
2231 2005-11-04  Mark Mitchell  <mark@codesourcery.com>
2232             Daniel Jacobowitz  <dan@codesourcery.com>
2233
2234         * longlong.h (add_ssaaaa): Clobber condition code register
2235         in ARM version.
2236         (sub_ddmmss): Likewise.
2237         (umul_ppmm): Likewise.
2238
2239 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
2240             Paul Brook  <paul@codesourcery.com>
2241             Phil Blundell  <pb@reciva.com>
2242
2243         * configure.ac: Add test for ARM TLS support.
2244         * configure: Regenerated.
2245         * config/arm/arm-protos.h (legitimize_tls_address)
2246         (arm_tls_referenced_p, tls_mentioned_p)
2247         (arm_output_addr_const_extra): New prototypes.
2248         (thumb_legitimize_pic_address): Delete.
2249         * config/arm/arm.c: Include "gt-arm.h".
2250         (enum tls_reloc): New.
2251         (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
2252         (pcrel_constant_p, get_tls_get_addr, arm_load_tp)
2253         (arm_call_tls_get_addr, legitimize_tls_address)
2254         (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
2255         (arm_init_tls_builtins, arm_emit_tls_decoration)
2256         (arm_output_addr_const_extra): New functions.
2257         (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
2258         (TARGET_HAVE_TLS): Define.
2259         (target_thread_pointer): New.
2260         (arm_override_options): Handle -mtp=.
2261         (legitimize_pic_address): Ignore UNSPECs.
2262         (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
2263         relative symbols.
2264         (arm_legitimize_address, thumb_legitimize_address): Handle TLS.
2265         (tls_get_addr_libfunc): New variable.
2266         (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
2267         (arm_init_builtins): Call arm_init_tls_builtins.
2268         (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
2269         (arm_encode_section_info): Call default_encode_section_info.
2270         * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
2271         (enum arm_tp_type): New.
2272         (target_thread_pointer): Add declaration.
2273         (LEGITIMATE_CONSTANT_P): Handle TLS.
2274         (LEGITIMATE_PIC_OPERAND_P): Handle TLS.
2275         (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
2276         (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
2277         * config/arm/arm.md: Add UNSPEC_TLS.
2278         (movsi): Handle TLS.
2279         (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
2280         non-PIC.
2281         (tls_load_dot_plus_eight): New insn and a peephole to create it.
2282         (load_tp_hard, load_tp_soft): New insns.
2283         * arm.opt: Add -mtp=.
2284         * doc/invoke.texi (ARM Options): Document -mtp.
2285
2286 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
2287
2288         * config/arm/lib1funcs.asm: Don't include "libunwind.S".
2289         * config/arm/libunwind.S: Include "lib1funcs.asm".
2290         * config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
2291         (LIB2ADDEH): Add libunwind.S.
2292         (LIB2ADDEHDEP): Add lib1funcs.asm.
2293         * mklibgcc.in: Handle asm files in libgcc_eh.a.
2294
2295 2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2296
2297         PR fortran/18452
2298         * gcc/c.opt: Add a -lang-fortran option.
2299         * gcc/c-opts.c: Add a lang_fortran flag.
2300         (c_common_init_options): Handling the -lang-fortran option.
2301         (c_common_handle_option): Add a case for Fortran options in
2302         preprocessing. Remove cases for -ffixed-form and
2303         -ffixed-line-length. Add a case for -lang-fortran.
2304
2305 2005-11-03  David Edelsohn  <edelsohn@gnu.org>
2306
2307         * config/rs6000/rs6000.c: Include params.h
2308         (optimization_options): Set max-grow-copy-bb-insns default to 16.
2309         (bdesc_2arg): Delete vpkuhss and vpkuwss.
2310         * config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
2311         (UNSPEC_VPKUWSS): Delete.
2312         (altivec_vpkuhss): Delete.
2313         (altivec_vpkuwss): Delete.
2314         * config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
2315         final condition.
2316         (neg_eq0<mode>): Remove final condition.
2317         (neg_eq<mode>): Remove condition and split-condition.
2318
2319 2005-11-04  Alan Modra  <amodra@bigpond.net.au>
2320
2321         * config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
2322         Use associated print macros.
2323
2324 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
2325
2326         PR c++/17964
2327         * diagnostic.c (diagnostic_set_info_translated): New function.
2328         (diagnostic_set_info): Use it.  Add comment.
2329         * diagnostic.h (diagnostic_set_info_translated): Declare.
2330
2331 2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
2332
2333         * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
2334         On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
2335         reference only if 'public' is true.
2336         (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
2337         emit the .hidden directive only if the indirect reference is public.
2338         (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
2339         Pass it to dw2_force_const_mem.
2340         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
2341         * dwarf2out.c (output_cfi): Adjust calls to above function.
2342         (output_call_frame_info): Likewise.
2343         * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
2344         as 'public' argument to dw2_asm_output_encoded_addr_rtx.
2345
2346 2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
2347
2348         PR tree-optimization/24483
2349         * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
2350         field to elts if possible.
2351
2352 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
2353
2354         PR middle-end/23155
2355         * gimplifier.c (gimplify_expr): Create a temporary for lvalue
2356         CONSTRUCTOR.
2357
2358 2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
2359
2360         Fix PR tree-optimization/24351
2361
2362         * tree-ssa-structalias.c (struct variable_info): Add
2363         collapsed_into.
2364         (get_varinfo_fc): New function to follow collapsing.
2365         (new_var_info): Set collapsed_to to NULL.
2366         (dump_constraint): Follow collapsing.
2367         (build_constraint_graph): Handle collapsing.
2368         (do_simple_structure_copy): Return false if something bad
2369         happened.
2370         (collapse_rest_of_var): New function.
2371         (do_structure_copy): Collapse if do_simple_structure_copy returns
2372         false.
2373
2374 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
2375
2376         PR middle-end/24589
2377         * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
2378         expressions to a statement list instead of gimplifying them.
2379
2380 2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2381
2382         PR rtl-optimization/23585
2383         * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
2384         that can't trap plus a constant integer, if the mode has zero size.
2385
2386 2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
2387
2388         PR target/24620
2389         * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
2390         as operand 2.
2391         ("*insv<mode>_reg_extimm"): Likewise.
2392
2393 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
2394
2395         PR c/24329
2396         * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
2397         c_common_type_for_mode returns an unnamed type.
2398
2399 2005-11-02  Richard Henderson  <rth@redhat.com>
2400
2401         PR target/9350
2402         PR target/24374
2403         * dwarf2out.c (dwarf2out_reg_save_reg): New.
2404         (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
2405         * function.c (assign_parms): Use calls.internal_arg_pointer.
2406         (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
2407         code.
2408         * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
2409         (TARGET_CALLS): Add it.
2410         * target.h (struct gcc_target): Add calls.internal_arg_pointer.
2411         * targhooks.c (default_internal_arg_pointer): New.
2412         * targhooks.h (default_internal_arg_pointer): Declare.
2413         * tree.h (dwarf2out_reg_save_reg): Declare.
2414         * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
2415         * config/i386/i386.c (dbx_register_map): Add return column.
2416         (dbx64_register_map, svr4_dbx_register_map): Likewise.
2417         (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
2418         (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
2419         (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
2420         (ix86_save_reg): Save force_align_arg_pointer.
2421         (ix86_emit_save_regs): Make regno unsigned.
2422         (ix86_emit_save_regs_using_mov): Likewise.
2423         (ix86_expand_prologue): Handle force_align_arg_pointer.
2424         (ix86_expand_epilogue): Likewise.
2425         * config/i386/i386.h: (dbx_register_map): Update.
2426         (dbx64_register_map, svr4_dbx_register_map): Update.
2427         (struct machine_function): Add force_align_arg_pointer.
2428         * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
2429         (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
2430         (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
2431
2432 2005-11-02  Jan Hubicka  <jh@suse.cz>
2433
2434         PR target/23303
2435         * i386.md: Add peep2 for simplyfing array accesses.
2436
2437 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
2438
2439         PR target/24615
2440         * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
2441         * config/s390/s390.c (s390_decompose_shift_count): New function.
2442         (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
2443         (print_shift_count_operand): Use s390_decompose_shift_count.
2444         * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
2445         Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
2446
2447 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
2448
2449         PR target/24600
2450         * loop.c (loop_givs_rescan): Use force_operand to expand
2451         complex GIVs.
2452
2453 2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
2454
2455         PR 22429
2456         * fold-const.c (build_range_check): Use unsigned when signed
2457         overflow is undefined also.  If etype is subtype, make sure that
2458         the subtraction is in the supertype.
2459
2460 2005-11-02  Richard Henderson  <rth@redhat.com>
2461
2462         PR target/24178
2463         * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
2464         by MEM_ALIGN.
2465
2466 2005-11-01  Richard Henderson  <rth@redhat.com>
2467
2468         PR 21518
2469         * loop.c (scan_loop): Do not propagate computations to a hard
2470         register destination with SMALL_REGISTER_CLASSES.
2471
2472 2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
2473
2474         * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
2475         costs for MULT inside PLUS or MINUS.
2476
2477 2005-11-01  Bob Wilson  <bob.wilson@acm.org>
2478
2479         * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
2480         (TRAMPOLINE_SIZE): Round up to 60.
2481         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
2482
2483 2005-10-31  James E. Wilson  <wilson@specifix.com>
2484
2485         PR debug/24444
2486         * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
2487         ifdef.  Put ifdefs around call in gen_subprogram_die.
2488         (compute_frame_pointer_to_cfa_displacement): Likewise.
2489         (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
2490         not defined.
2491
2492         PR rtl-optimization/17356
2493         *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
2494         add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
2495
2496 2005-10-31  Jan Hubicka  <jh@suse.cz>
2497
2498         PR middle-end/24093
2499         * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
2500
2501         PR target/20928
2502         * i386.c (legitimize_pic_address): Deal with large immediates.
2503
2504         PR profile/20815
2505         * coverage.c (coverage_checksum_string): Fix code to stip random seeds
2506         from symbol names while computing checkup.
2507
2508         PR profile/24487
2509         * predict.c (predict_loops): Do not estimate more than
2510         MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
2511         * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
2512
2513 2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
2514
2515         PR tree-optimization/19097
2516         * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
2517
2518 2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
2519
2520         * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
2521
2522 2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
2523
2524         PR middle-end/23492
2525         * tree-inline.c (setup_one_parameter): If the init_stmt
2526         is NULL, don't insert the statement.
2527
2528 2005-10-30  Jan Hubicka  <jh@suse.cz>
2529
2530         PR tree-optimization/24172
2531         * tree-inline.c (copy_body_r): Unshare the substituted value first.
2532
2533 2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
2534
2535         * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
2536         constants for hosts with long != 32 bits.
2537
2538 2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
2539
2540         PR middle-end/24093
2541         * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
2542
2543 2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
2544
2545         * config/ms1/ms1.h (TARGET_MS1_64_001): New.
2546         (TARGET_MS1_16_002): New.
2547         (TARGET_MS1_16_003): New.
2548
2549         * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
2550         ("*decrement_and_branch_until_zero_no_clobber"): New.
2551         Add corresponding splitter for decrement_and_branch_until_zero
2552         instruction.
2553         Key all decrement_and_branch_until_zero patterns off of
2554         TARGET_MS1_16_003.
2555
2556 2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
2557
2558         PR middle-end/24362
2559         * tree-complex.c (extract_component): Treat RESULT_DECL
2560         like the rest of the decls.
2561
2562 2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
2563
2564         * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
2565         indirect call to _mcount if the function needs a static chain.
2566
2567 2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2568             Caroline Tice  <ctice@apple.com>
2569
2570         PR rtl-optimization/24460
2571         * dwarf2out.c (have_switched_text_sections): New boolean variable.
2572         (dwarf2out_switch_text_section): Set it to true instead of
2573         incrementing separate_line_info_table_in_use.
2574         (output_loc_list): Additionally test have_switched_text_sections.
2575         (output_ranges): Likewise.
2576         (dwarf2out_finish): Likewise.
2577         * varasm.c (assemble_start_function): Do not call
2578         insert_section_boundary_note.
2579         (assemble_end_function): If flag_reorder_blocks_and_partition,
2580         switch to the function's section before emitting the .size directive.
2581         * bb-reorder.c (insert_section_boundary_note): Staticify.
2582         (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
2583         * output.h (insert_section_boundary_note): Delete.
2584
2585 2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
2586
2587         PR c/23103
2588         * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
2589         instead of pointer equality when comparing types.
2590
2591 2005-10-24  James E. Wilson  <wilson@specifix.com>
2592
2593         * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
2594         add_dependence_list_and_free calls.
2595
2596 2005-10-24  Steven Bosscher  <stevenb@suse.de>
2597
2598         * contrib.texi: Add the names of the LLNL folks who donated
2599         Cray pointer support for gfortran.
2600
2601 2005-10-24  Steven Bosscher  <stevenb@suse.de>
2602
2603         PR tree-optimization/24225
2604         * profile.c (branch_prob): Look from end to start through a
2605         basic block when looking for a locus.
2606
2607 2005-10-24  Richard Henderson  <rth@redhat.com>
2608
2609         * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
2610         parallel.
2611         (hppa_expand_prologue): Likewise.
2612
2613 2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2614
2615         * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
2616         (NO_DEFERRED_PROFILE_COUNTERS): Define.
2617         * pa.h (NO_PROFILE_COUNTERS): Define.
2618         * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
2619         (funcdef_nos): New vector to hold label numbers of deferred profile
2620         counters.
2621         (output_deferred_profile_counters): New function.
2622         (hppa_profile_hook): Push label number onto funcdef_nos.
2623         (pa_hpux_file_end): Call output_deferred_profile_counters if
2624         NO_DEFERRED_PROFILE_COUNTERS is false.
2625
2626         * pa-protos.h (get_deferred_plabel): New prototype.
2627         * pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
2628         Make global.
2629         (output_call): Adjust calls.
2630
2631 2005-10-24  Alan Modra  <amodra@bigpond.net.au>
2632
2633         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
2634         peculiarity of GOT/TOC section usage.
2635
2636 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
2637
2638         PR objc/24435
2639          * c-common.c (constant_string_class_name): Add documentation.
2640
2641 2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
2642
2643         PR target/23832
2644         * recog.c (peephole2_optimize): Increment peep2_current_count
2645         only when the slot is empty.
2646
2647 2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2648
2649         PR ada/23957
2650         * except.c (output_function_exception_table): Call
2651         assemble_external_libcall if we need a personality function.
2652
2653 2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2654
2655         PR rtl-optimization/24460
2656         * bb-reorder.c (fix_crossing_unconditional_branches): Do not
2657         set the basic block for barriers.
2658
2659 2005-10-21  Janis Johnson  <janis187@us.ibm.com>
2660
2661         * var-tracking.c (vt_initialize): Initialize post.
2662
2663 2005-10-21  Devang Patel  <dpatel@apple.com>
2664
2665         PR/24220
2666         * c-common.c (vector_types_convertible_p): Check vector element type.
2667
2668 2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
2669
2670         * config/sh/sh.c (prepare_move_operands): Handle the address
2671         constant which is a tls symbolic address plus a constant.
2672
2673 2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
2674
2675         PR driver/24473
2676         * gcc.c (main): Use the correct counter for erroring out
2677         about mulitple files.
2678
2679 2005-10-21  Alan Modra  <amodra@bigpond.net.au>
2680
2681         PR target/24465
2682         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
2683         use r2 for 64-bit tls .got access.
2684
2685 2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
2686
2687         * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
2688         TRUTH_OR_EXPR.
2689
2690 2005-10-20  Steven Bosscher  <stevenb@suse.de>
2691
2692         PR tree-optimization/24307
2693         * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
2694
2695 2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
2696
2697         PR middle-end/24295
2698         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
2699         alias targets.
2700         * varasm.c (find_decl_and_mark_needed): After cgraph global info
2701         is ready, stop marking functions, but still mark variables.
2702
2703 2005-10-20  Richard Guenther  <rguenther@suse.de>
2704
2705         PR c++/24439
2706         * fold-const.c (invert_truthvalue): Handle COND_EXPR with
2707         void type operands.
2708
2709 2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2710
2711         PR rtl-optimization/23585
2712         * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
2713         (rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
2714         (may_trap_p_1): New predicate extracted from...
2715         (may_trap_p): ... here.  Invoke may_trap_p_1.
2716         (may_trap_or_fault_p): New predicate.
2717         * rtl.h (may_trap_or_fault_p): Declare it.
2718         * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
2719         instead of may_trap_p.
2720         (steal_delay_list_from_fallthrough): Likewise.
2721         (fill_simple_delay_slots): Likewise.
2722         (fill_slots_from_thread): Likewise.
2723         * function.c (pad_to_arg_alignment): Rework comment about
2724         SPARC_STACK_BOUNDARY_HACK.
2725         * config/sparc/sparc.h: Likewise.
2726
2727 2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
2728
2729         * config/s390/s390.c (s390_expand_insv): New.
2730         * config/s390/s390-protos.h (s390_expand_insv): Declare.
2731         * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
2732         ("icm_hi"): Remove mode attribute.
2733         ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
2734         Adjust all uses.
2735         ("*extracthi", "*extractqi"): Remove.
2736         (extv<mode>", "*extzv<mode>"): New.
2737         ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
2738         "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
2739
2740 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2741
2742         * cfgexpand.c (discover_nonconstant_array_refs_r,
2743         discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
2744         (tree_expand_cfg): Call discover_nonconstant_array_refs.
2745         * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
2746         discover_nonconstant_array_refs.
2747
2748 2005-10-19  Steven Bosscher  <stevenb@suse.de>
2749
2750         PR c/23228
2751         * c-decl.c (pop_scope): Don't warn about an unused variable
2752         if it is marked with TREE_NO_WARNING.
2753         (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
2754         somenow mismatch and olddecl is to be replaced.
2755
2756 2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2757
2758         PR middle-end/23199
2759         * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
2760         whether registers live on the edge can be saved/restored.
2761
2762 2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2763
2764         * config/sh/sh.c (fixup_mova): Skip notes.
2765
2766 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2767
2768         * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
2769         * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
2770         (s390_can_eliminate): Handle BASE_REGNUM elimination.
2771         (s390_initial_elimination_offset): Likewise.
2772         (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
2773         register on TARGET_ZARCH targets.
2774         * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
2775         (INITIAL_FRAME_POINTER_OFFSET): Remove.
2776         (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
2777         (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
2778
2779 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2780
2781         * config/s390/s390.md: Comment describing output modifiers updated.
2782         * config/s390/s390.c (print_operand): Likewise.
2783
2784 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
2785
2786         * config/s390/s390.c (override_options): Added check for -mstack-size
2787         64k limitation.
2788         * doc/invoke.texi: Mention that limit in the documenation.
2789
2790 2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
2791
2792         PR #19672
2793         * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
2794
2795 2005-10-18  Daniel Berlin <dberlin@dberlin.org>
2796
2797         Fix PR tree-optimization/24231
2798
2799         * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
2800         (compute_avail): Ditto.
2801
2802 2005-10-18  Richard Henderson  <rth@redhat.com>
2803
2804         PR target/24428
2805         * config/i386/i386.c (legitimate_constant_p): Check
2806         SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
2807         if LABEL_REF.
2808         (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
2809         (legitimate_pic_address_disp_p): Reorg CONST checking to make
2810         sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
2811         directly.
2812         (print_operand_address): Likewise.
2813         * config/i386/predicates.md (x86_64_immediate_operand): Test
2814         SYMBOL_REF_TLS_MODEL properly inside CONST.
2815         (x86_64_zext_immediate_operand): Likewise.
2816         (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
2817         initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
2818         * config/i386/i386-protos.h: Remove predicates.md entries.
2819
2820 2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
2821
2822         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
2823         Check that elements of TYPE_METHODS are FUNCTION_DECLs.
2824
2825 2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2826             Ian Lance Taylor <ian@airs.com>
2827
2828         PR middle-end/23522
2829         * fold-const.c (fold_widened_comparison): Do not allow range based
2830         constant folding when right operand cannot be unwidened.
2831
2832 2005-10-17  Richard Henderson  <rth@redhat.com>
2833
2834         * builtins.c (expand_builtin_synchronize): Build a new-style asm
2835         with a memory clobber.
2836
2837 2005-10-17  James E Wilson  <wilson@specifix.com>
2838
2839         PR rtl-optimization/17356
2840         * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
2841         checking for EDGE_EH.
2842
2843 2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2844
2845         * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
2846         the slot on an even boundary for any type with 16-byte alignment.
2847
2848 2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
2849
2850         PR target/23424
2851         * md.texi (Modifiers) <%>: Clarify that % doesn't work
2852         after register allocation.
2853
2854 2005-10-17  DJ Delorie  <dj@redhat.com>
2855
2856         * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
2857         as frame related.
2858
2859 2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
2860
2861         PR c++/22551
2862         * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
2863         overflow flags.
2864
2865 2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
2866
2867         * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
2868         to 2 if it's already non-zero.
2869         (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
2870         is set and warn about it if flag_schedule_insns is 1.
2871
2872 2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
2873
2874         * config/crx/crx.md: Compare-and-branch instructions need to
2875         invalidate CC.
2876
2877 2005-10-17  Uros Bizjak  <uros@kss-loka.si>
2878
2879         PR target/24315
2880         * config/i386/i386.md (*pushdi2_rex64 splitter)
2881         (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
2882         (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
2883         flow2 pass only when (optimize > 0 && flag_peephole2).
2884
2885 2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
2886
2887         PR driver/22544
2888         * gcc.c (have_c): New static variable.
2889         (have_o): Likewise.
2890         (process_command): Remove declation of have_c.
2891         Set have_o to 1 when handling -o.
2892         (main): Add a fatel error if there are multiple
2893         files specified and -o and -c/-S is passed witout
2894         -combine or multiple languages.
2895
2896 2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
2897
2898         Fix PR tree-optimization/22444
2899         * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
2900         Assert that we don't hit something with subvars.
2901         (setup_pointers_and_addressables): Don't add things with subvars,
2902         because we'll already process the subvars for aliasing purposes.
2903
2904 2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
2905
2906         PR target/23424
2907         * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
2908         ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
2909         ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
2910         ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
2911         ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
2912         swapped, alternatives for the R constraint.
2913
2914         PR middle-end/24341
2915         * builtins.c (get_builtin_sync_mode): Make unlimited
2916         mode_for_size request.
2917
2918 2005-10-15  Richard Henderson  <rth@redhat.com>
2919
2920         * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
2921         (gimplify_expr): ... here.
2922         (gimplify_compound_lval): Use it in initial scan loop.  Allow
2923         fb_lvalue in base expression.
2924
2925 2005-10-15  Richard Henderson  <rth@redhat.com>
2926
2927         PR 23714
2928         * builtins.c (expand_builtin_trap): Export.
2929         * expr.h (expand_builtin_trap): Declare.
2930         * expr.c (expand_assignment): Emit a trap for integral offsets
2931         from registers that weren't reduced to bitpos.
2932
2933         * tree-cfg.c (mark_array_ref_addressable_1): Remove.
2934         (mark_array_ref_addressable): Remove.
2935         * tree-flow.h (mark_array_ref_addressable): Remove.
2936         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
2937
2938 2005-10-15  James E Wilson  <wilson@specifix.com>
2939
2940         PR target/24232
2941         * sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
2942         (add_dependence_list_and_free): Likewise.
2943         (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
2944         call.
2945
2946 2005-10-15  Diego Novillo  <dnovillo@redhat.com>
2947
2948         PR 23141
2949         PR 23142
2950         * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
2951         sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
2952         anti-range.
2953         (vrp_visit_phi_node): Only prevent infinite iterations when
2954         the previous result and the new result are both VR_RANGEs.
2955
2956 2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
2957
2958         * tree-into-ssa.c (mark_def_sites): Correct minor typo in
2959         function comment.
2960
2961 2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2962
2963         PR c/23439
2964         * c-parser.c (c_parser_for_statement): Use location of RID_FOR
2965         to initialize loc.
2966
2967 2005-10-14  Per Bothner  <per@bothner.com>
2968
2969         PR preprocessor/21250
2970         * c-ppoutput.c (print_line): Print internal line 0 as 1.
2971
2972 2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
2973
2974         PR c++/22551
2975         * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
2976         overflow flags.  Refactor some conditionals.
2977
2978 2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
2979
2980         PR tree-opt/21304
2981         * tree-dfa.c (add_referenced_var): Only look at decls which
2982         have TREE_CONSTANT or TREE_READONLY set instead of if
2983         !TREE_PUBLIC or !TREE_CONSTANT.
2984
2985 2005-10-13  James E Wilson  <wilson@specifix.com>
2986
2987         * doc/invoke.texi: For -x, add f95-cpp-input.
2988         * doc/install.texi: For --enable-languages doc, change f95 to fortran.
2989
2990 2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
2991
2992         PR tree-optimization/24262
2993         * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
2994         in loop all the time.
2995
2996 2005-10-12  Richard Henderson  <rth@redhat.com>
2997
2998         PR c/24255
2999         * tree.h (DECL_TRANSPARENT_UNION): Remove.
3000         * function.c (assign_parm_find_data_types): Don't support it.
3001         * print-tree.c (print_node): Likewise.
3002         * c-common.c (handle_transparent_union_attribute): Likewise.
3003         Use build_duplicate_type.
3004         * tree-inline.c (remap_type_1): Split out of remap_type;
3005         properly remap aggregate fields.
3006         (build_duplicate_type): New.
3007         * doc/extend.texi (Variable Attributes): Remove documentation
3008         for transparent_union.
3009
3010 2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
3011
3012         PR target/24284
3013         * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
3014         (gen_stack_pointer_dec): Likewise.
3015
3016 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
3017
3018         PR middle-end/21275
3019         PR middle-end/21766
3020         * target.h (struct gcc_target): Add valid_dllimport_attribute_p
3021         target hook.
3022         (struct cxx): Add adjust_class_at_definition target hook.
3023         * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
3024         defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
3025         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
3026         hook_void_tree. Add to TARGET_CXX.
3027         * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
3028         dllimport_flag.
3029         (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
3030         * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
3031         instead of attribute. Check for dllexport override.  Warn if
3032         inconsistent dll linkage. Don't lose old dllimport if decl has
3033         had address referenced.   Tweak lookup of dllimport atribute.
3034         (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
3035         for target specific rules.  Don't add dllimport attribute if
3036         DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
3037         dllimport attribute.
3038         (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
3039         * varasm.c (initializer_constant_valid_p): Replace
3040         DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
3041
3042         PR target/21801
3043         PR target/23589
3044         * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
3045         'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
3046         (i[34567]86-*-mingw32*): Likewise.
3047
3048         * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
3049         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
3050
3051         * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
3052         C++-specific code. Change return value to bool.
3053         (i386_pe_dllimport_p): Likewise.
3054         (associated_type): Simplify and make language-independent
3055         (i386_pe_encode_section_info): Replace override of ambiguous
3056         dllimport symbol refs with a gcc_assert.
3057         (i386_pe_valid_dllimport_attribute_p): Define.
3058         * config/i386/winnt-cxx.c: New file. Define C++ versions of
3059         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
3060         i386_pe_adjust_class_at_definition.
3061         * config/i386/winnt-stubs.c: New file. Define stub versions of
3062         lang-specific functions.
3063         * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
3064         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
3065         i386_pe_adjust_class_at_definition.
3066         (i386_pe_valid_dllimport_attribute_p): Declare.
3067         * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
3068         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
3069         * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
3070
3071         PR target/19704
3072         * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
3073         dllimport attribute with test of DECL_DLLIMPORT_P.
3074
3075 2005-10-12  Adrian Straetling <straetling@de.ibm.com>
3076
3077         * combine.c (make_extraction): Correct offset computation.
3078
3079 2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
3080
3081         * config/cris/t-linux (LIMITS_H_TEST): Define.
3082
3083 2005-10-12  Richard Henderson  <rth@redhat.com>
3084
3085         PR rtl-opt/23324
3086         * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
3087
3088 2005-10-12  Richard Guenther  <rguenther@suse.de>
3089
3090         * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
3091
3092 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
3093
3094         PR c++/19964
3095         * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
3096         DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
3097         type.
3098
3099 2005-10-12  Richard Guenther  <rguenther@suse.de>
3100
3101         PR c++/23799
3102         * varasm.c (output_constant): Correct typo from previous
3103         patch by DJ.
3104
3105 2005-10-11  Ian Lance Taylor  <ian@airs.com>
3106
3107         PR rtl-optimization/13931
3108         * combine.c: Revert patch of 2003-05-14, and:
3109         (try_combine): Only set elim_i1 and elim_i2 if the destination is
3110         completely killed in the appropriate insn.
3111         (distribute_notes): Don't skip multiple hard register test for
3112         elim_i1 and elim_i2.
3113
3114 2005-10-11  Richard Henderson  <rth@redhat.com>
3115
3116         PR c/24255
3117         * c-typeck.c (convert_for_assignment): Use build_constructor_single
3118         to initialize a transparent union instead of a nop_expr.
3119
3120 2005-10-11  Richard Henderson  <rth@redhat.com>
3121
3122         * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
3123         * tree-ssa-dce.c: Include tree-scalar-evolution.h.
3124         (tree_ssa_dce_loop): Call scev_reset.
3125
3126         PR tree-opt/24300
3127         * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
3128         * tree-ssa-dce.c: Include cfgloop.h.
3129         (tree_ssa_dce_loop, pass_dce_loop): New.
3130         * tree-pass.h (pass_dce_loop): Declare it.
3131         * passes.c (init_optimization_passes): Use it.
3132
3133 2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
3134
3135         PR middle-end/24263
3136         * convert.c (convert_to_real): Revert 2005-10-05 patch.
3137         Only apply the optimization for rounding builtins if the inner
3138         cast is also an extension.
3139
3140 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
3141
3142         PR tree-opt/23946
3143         * tree-ssa-ccp.c (execute_fold_all_builtins): Call
3144         mark_new_vars_to_rename instead of update_stmt.
3145
3146 2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
3147
3148         * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
3149
3150 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
3151
3152         * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
3153         for setting MMX register to 0 rather than mmx.
3154
3155 2005-10-10  Steve Ellcey  <sje@cup.hp.com>
3156
3157         PR target/12098
3158         * configure.ac: Move gas check from mips specific case to common case.
3159         Do check for GNU as for mips*-*-* and *-*-hpux* targets.
3160         * configure: Regenerate
3161         * doc/install.texi: Update.
3162
3163 2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
3164
3165         PR target/24284
3166         * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
3167
3168 2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
3169
3170         * gcc.c (do_spec_1): Accept numeric characters in file name
3171         suffixes.
3172
3173 2005-10-10  Nick Clifton  <nickc@redhat.com>
3174
3175         * config/arm/arm.c: Remove extraneous whitespace.  Remove comment
3176         describing the deleted arm_gen_rotated_half_load function.
3177
3178 2005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
3179
3180         * config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
3181         __fpscr_values.
3182
3183 2005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
3184
3185         * config.gcc (arm*-*-linux*): Remove redundant extra_parts and
3186         gnu_ld assignments.
3187         * config/arm/t-linux-eabi (LIB1ASMFUNCS)
3188         (EXTRA_MULTILIB_PARTS): Define.
3189         * config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
3190         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
3191         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
3192         * config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
3193         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
3194         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
3195
3196 2005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
3197
3198         PR tree-optimization/24226
3199         * tree-cfg.c (remove_bb): Clean up unreachable loops.
3200         * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
3201         * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
3202         Export.
3203
3204 2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3205
3206         * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
3207
3208 2005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
3209
3210         PR target/24136
3211         * config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
3212         Rewrite for no need for the early clobber.
3213
3214 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
3215
3216         Merge from csl-arm-branch:
3217         2005-09-07  Paul Brook  <paul@codesourcery.com>
3218         * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
3219         space to string.
3220
3221         2005-04-30  Paul Brook  <paul@codesourcery.com>
3222         * config/arm/bpabi.h (TARGET_DEFAULT): Define.
3223         * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
3224
3225         2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
3226         * config/arm/arm.c (arm_all_abis): Add aapcs-linux.
3227         (arm_override_options): Use TARGET_AAPCS_BASED.
3228         * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
3229         (PTRDIFF_TYPE): Use int for AAPCS.
3230         (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
3231         * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
3232         (DEFAULT_SHORT_ENUMS): Delete.
3233         * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
3234
3235         2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
3236         * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
3237         * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
3238         * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
3239
3240         2004-12-03  Mark Mitchell  <mark@codesourcery.com>
3241         * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
3242
3243         2004-11-22  Mark Mitchell  <mark@codesourcery.com>
3244         * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
3245
3246         2004-11-19  Mark Mitchell  <mark@codesourcery.com>
3247         * config.gcc (arm*-*-linux-gnueabi): Add it.
3248         * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
3249         redefining it.
3250         (TARGET_OS_CPP_BUILTINS): Likeiwse.
3251         * config/arm/linux-eabi.h: New file.
3252         * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
3253         (LINUX_TARET_LINK_SPEC): Likewise.
3254         (LINK_SPEC): Use it.
3255         * config/arm/t-linux-eabi: New file.
3256
3257 2005-10-08  Steven Bosscher  <stevenb@suse.de>
3258
3259         PR other/22202
3260         * params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
3261         spaces.
3262         (PARAM_SMS_DFA_HISTORY): Likewise.
3263
3264 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
3265
3266         PR middle-end/23150
3267         * calls.c (mem_overlaps_already_clobbered_arg_p): New.
3268         (load_register_parameters): Call it.
3269         (check_sibcall_argument_overlap_1): Likewise.
3270         (store_one_arg): Likewise.
3271
3272 2005-10-07  James E. Wilson  <wilson@specifix.com>
3273
3274         * config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
3275         DImode not VECINT24 for operand 2.
3276
3277         PR target/23644
3278         * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
3279         -mtune-arch.
3280
3281         PR target/24193
3282         * config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
3283         fr_spill): Use destination_operand for operand 0.
3284
3285 2005-10-07  DJ Delorie  <dj@redhat.com>
3286
3287         * varasm.c (output_constant): Limit error to expanding
3288         conversions.
3289
3290 2005-10-07  Richard Guenther  <rguenther@suse.de>
3291
3292         PR middle-end/24227
3293         * fold-const.c (fold_binary): Fix operand types during folding
3294         of X op (A, Y).  Evaluation order of the side-effects of
3295         X and A are frontend-defined, so ensure we honour that even for
3296         tcc_comparison class operands; eased by removing duplicate code.
3297
3298 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
3299
3300         * stor-layout.c (layout_type): Do not allow alignment of array
3301         elements to be greater than their size.
3302
3303 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
3304
3305         * config.host (hppa*-*-hpux*): Change out_host_hook_obj and
3306         host_xmake_file.
3307         (hppa*-*-linux*): Ditto.
3308         (ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
3309         * config/host-hpux.c: New.
3310         * config/x-hpux: New.
3311         * config/pa/x-hpux: Remove.
3312         * config/pa/x-linux: Remove.
3313         * config/pa/pa-host.c: Remove.
3314
3315 2005-10-07  Jeff Law  <law@redhat.com>
3316
3317         * tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
3318         determine whether or not to try and thread outgoing edges.
3319
3320 2005-10-07  David Edelsohn  <edelsohn@gnu.org>
3321
3322         * config/rs6000/rs6000.md (eqsi_power): New.
3323         (neg_eq0si): Add TARGET_POWER to final condition.
3324         (neg_eqsi): Same.
3325
3326 2005-10-06  Richard Henderson  <rth@redhat.com>
3327
3328         * config/rs6000/rs6000.c: Revert last change.
3329
3330 2005-10-06  Richard Henderson  <rth@redhat.com>
3331
3332         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
3333         (TARGET_CANNOT_FORCE_CONST_MEM): Use it.
3334
3335 2005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
3336
3337         PR middle-end/22216
3338         PR middle-end/23651
3339         * cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
3340         out return_label and naked_return_label.
3341
3342 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
3343
3344         * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
3345         change.
3346
3347 2005-10-06  Richard Henderson  <rth@redhat.com>
3348
3349         PR tree-opt/22237
3350         * tree-inline.c (declare_return_variable): Handle modify_dest not
3351         being a DECL.
3352
3353 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
3354
3355         Fix PR tree-optimization/22488
3356         * tree-ssa-structalias.c (check_for_overlaps): New function.
3357         (create_variable_info_for): Use it.
3358
3359 2005-10-06  Richard Henderson  <rth@redhat.com>
3360
3361         PR debug/24070
3362         * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
3363         (dwarf2out_start_source_file): Print it.
3364
3365 2005-10-06  Geoffrey Keating  <geoffk@apple.com>
3366
3367         * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
3368
3369 2005-10-06  Richard Henderson  <rth@redhat.com>
3370
3371         PR 23706
3372         * mode-switching.c (optimize_mode_switching): Clear transp bit
3373         for block with incomming abnormal edges.
3374
3375         * config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
3376         (fpscr_set_from_mem): Use them.
3377         * config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
3378         (fpscr postinc splitters): Rewrite as peephole2+split.
3379
3380 2005-10-06  David Edelsohn  <edelsohn@gnu.org>
3381
3382         * config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
3383         (eq<mode>_compare): Same.
3384
3385 2005-10-06  Richard Guenther  <rguenther@suse.de>
3386
3387         PR tree-optimization/24238
3388         * tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
3389
3390 2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
3391
3392         * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
3393         here.  Use AC_PATH_PROG for environment variables instead of
3394         test -x.
3395         * configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
3396         objdump also.
3397         * configure: Regenerated.
3398
3399 2005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
3400
3401         PR target/23783
3402         * arm.md (call): If the address isn't a SYMBOL_REF or a register,
3403         then force it into a register.
3404         (call_value): Likewise.
3405
3406 2005-10-06  Richard Henderson  <rth@redhat.com>
3407
3408         PR 24049
3409         * passes.c (init_optimization_passes): Move pass_lower_vector_ssa
3410         under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
3411         under pass_vectorize.
3412
3413 2005-10-05  Devang Patel  <dpatel@apple.com>
3414
3415         PR Debug/23205
3416         * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
3417         handling constants. Check NAMESPACE_DECL context for constants.
3418
3419 2005-10-05  Eric Christopher  <echristo@apple.com>
3420
3421         * doc/md.texi (Standard Names): Fix name of pushm1 pattern.
3422
3423 2005-10-05  Richard Henderson  <rth@redhat.com>
3424
3425         PR 23714
3426         * tree-cfg.c (mark_array_ref_addressable_1): New.
3427         (mark_array_ref_addressable): New.
3428         * tree-flow.h (mark_array_ref_addressable): Declare.
3429         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
3430
3431 2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
3432
3433         PR middle-end/20606
3434         PR middle-end/24069
3435         * reload.c (subst_reloads): When adding a REG_LABEL to a
3436         jump instruction, also update JUMP_LABEL.
3437
3438 2005-10-05  David Edelsohn  <edelsohn@gnu.org>
3439
3440         * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
3441         * bb-reorder.c (copy_bb_p): Use it.
3442         * doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
3443
3444 2005-10-05  Richard Henderson  <rth@redhat.com>
3445
3446         PR target/23602
3447         * toplev.c (process_options): Warn about unsupported combinations
3448         of unwind tables and omit-frame-pointer.
3449         * config/i386/i386.c (override_options): Similarly.  Enable
3450         accumulate-outgoing-args if not explicitly disabled.
3451
3452 2005-10-05  Steve Ellcey  <sje@cup.hp.com>
3453
3454         * vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
3455         Handle big endian vs. small endian.
3456         (vec_initv2sf): Handle big endian vs. small endian.
3457         (*vec_extractv2sf_1): Ditto.
3458
3459 2005-10-05  Dale Johannesen  <dalej@apple.com>
3460
3461         * convert.c (convert_to_real):  Don't convert
3462         (float)floor(double d) to floorf((float)d).
3463
3464 2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
3465
3466         * config/arm/arm.md (insv): Use gen_int_mode in more places.
3467
3468 2005-10-05  Andrew MacLeod  <amacleod@redhat.com>
3469
3470         PR tree-optimization/18587
3471         * tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
3472         (build_defs, build_uses, build_v_may_defs, build_v_must_defs,
3473         build_vuses): Change to VEC type.
3474         (opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
3475         opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
3476         opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
3477         opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
3478         (get_name_decl): New.  Return DECL_UID of base variable.
3479         (operand_build_cmp): New.  qsort comparison routine.
3480         (operand_build_sort_virtual): New.  Sort virtual build vector.
3481         (init_ssa_operands, fini_ssa_operands): Use VEC routines.
3482         (FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
3483         (FINALIZE_BASE): Use get_name_decl.
3484         (finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
3485         finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
3486         (start_ssa_stmt_operands, append_def, append_use, append_vuse,
3487         append_v_may_def, append_v_must_def): Replace opbuild_* routines with
3488         direct VEC_* manipulations.
3489         (build_ssa_operands): Call operand_build_sort_virtual.
3490         (copy_virtual_operand, create_ssa_artficial_load_stmt,
3491         add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
3492         with direct VEC_* manipulations.
3493         * tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
3494         with direct VEC manipulations.
3495
3496 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
3497
3498         PR tree-optimization/21419
3499         PR tree-optimization/24146
3500         PR tree-optimization/24151
3501