OSDN Git Service

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