OSDN Git Service

c983bce514cd398b2b30d9e55f3f60f83f9d1dac
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
2
3         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
4         to order operands.
5         (swap_commutative_operands_with_target): New.
6
7 2005-11-24  Paolo Bonzini  <bonzini@gnu.org>
8
9         * gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
10         also when doing PRE, rather than only for global CPROP.
11
12 2005-11-24  Ben Elliston  <bje@au.ibm.com>
13
14         * machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
15         * optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
16         formatting.
17         (expand_twoval_unop): Likewise.
18         (widen_clz): Likewise.
19         (expand_parity): Likewise.
20         (expand_unop): Likewise.
21         (emit_cmp_and_jmp_insn_1): Likewise.
22         (prepare_float_lib_cmp): Likewise.
23
24 2005-11-24  Ben Elliston  <bje@au.ibm.com>
25
26         * optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
27         Remove unused `class' variable.
28
29 2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
30
31         PR c++/21667
32         * c-typeck.c (build_array_ref): Avoid code duplicate.  Use common
33         C/C++ diagnostic function warn_array_subscript_with_type_char. 
34         * c-common.h (warn_array_subscript_with_type_char): Declare. 
35         * c-common.c (warn_array_subscript_with_type_char): Define.
36
37 2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
38
39         PR c/21668
40         * c-decl.c (grokdeclarator): Don't warn for 'extern const' when
41         compiling at the intersection of C and C++.
42
43 2005-11-23  Mark Mitchell  <mark@codesourcery.com>
44
45         * doc/invoke.texi: For man pages, include gcc-vers.texi.
46         List @file in the option summary.  Include the libiberty
47         documentation for @file.
48         * gcc.c (main): Call expandargv.
49         * Makefile.in (gcc-vers.texi): Define srcdir.
50
51 2005-11-23  Diego Novillo  <dnovillo@redhat.com>
52
53         * passes.c (init_optimization_passes): Document
54         sequencing of passes.
55
56 2005-11-23  Kazu Hirata  <kazu@codesourcery.com>
57
58         * config/m68k/predicates.md (pcrel_address, extend_operator,
59         post_inc_operand, pre_dec_operand): Remove redundant
60         conditionals.
61         (const_uint32_operand, const_sint32_operand): Use gcc_assert
62         instead of abort.
63         (valid_dbcc_comparison_p): Rewrite in the lisp style.
64
65 2005-11-23  Ben Elliston  <bje@au.ibm.com>
66
67         * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
68
69 2005-11-22  J"orn Rennecke <joern.rennecke@st.com>
70
71         Preparatory work for PR target/21623:
72         * alpha.c (secondary_reload_class): Rename to:
73         (alpha_secondary_reload_class).
74         * alpha.h, alpha-protos.h: Likewise.
75         * mn10300.c (secondary_reload_class): Rename to:
76         (mn10300_secondary_reload_class).
77         * mn10300.h, mn10300-protos.h: Likewise.
78         * pa.c (secondary_reload_class): Rename to:
79         (pa_secondary_reload_class).
80         * pa.h, pa-protos.h: Likewise.
81         * rs6000.c (secondary_reload_class): Rename to:
82         rs6000_secondary_reload_class.
83         * rs6000.h, rs6000-protos.h: Likewise.
84
85 2005-11-22  Eric Botcazou  <ebotcazou@adacore.com>
86
87         PR middle-end/22561
88         * tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
89
90 2005-11-22  Ian Lance Taylor  <ian@airs.com>
91
92         * optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
93         a mode_class.
94         (prepare_cmp_insn): Likewise.
95
96 2005-11-22  Kazu Hirata  <kazu@codesourcery.com>
97
98         PR target/23435
99         * m68k.md (zero_extendsidi2): Force operands[1] to a register
100         if both operands[0] and operands[1] are memory.
101
102 2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
103
104         PR middle-end/23606
105         * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
106         COMPARISON_CLASS_P and an integral types create create a new
107         expression with the new type and fold that.
108
109 2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
110
111         PR target/24988
112         * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
113         to SUBTARGET_OS_CPP_BUILTINS.
114         
115 2005-11-22  Richard Earnshaw  <richard.earnshaw@arm.com>
116
117         * arm.c (emit_set_insn): New function.
118         (arm_split_constant): Call it.
119         (arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
120         (arm_legitimize_address): Likewise.  Use plus_constant.
121         (arm_expand_prologue): Likewise.  Use VOIDmode in SET.
122         (thumb_expand_prologue): Likewise.
123         (arm_gen_load_multiple): Use VOIDmode in SET.
124         (arm_gen_store_multiple): Likewise.
125         (vfp_emit_fstmx): Likewise.  Use plus_constant.
126         (emit_multi_reg_push): Likewise.
127         (emit_sfm): Use plus_constant.
128         
129 2005-11-23  Alan Modra  <amodra@bigpond.net.au>
130
131         PR target/24954
132         * config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
133         typo last change.
134
135 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
136
137         PR middle-end/24950
138         * expmed.c (store_bit_field): Don't attempt to insv a field
139         larger than the reg.
140
141 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
142
143         PR target/24954
144         * config/rs6000/predicated.md (easy_vector_constant_add_self): Use
145         explicit sign extension, not a (char) cast.
146
147 2005-11-22  Ben Elliston  <bje@au.ibm.com>
148
149         * optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
150         GET_MODE_CLASS (x) == MODE_FLOAT.
151         * config/i386/i386.c: Likewise.
152         * config/rs6000/xcoff.h: Likewise.
153         * config/rs6000/linux64.h: Likewise.
154         * config/rs6000/rs6000.c: Likewise.
155         * config/rs6000/rs6000.h: Likewise.
156         * config/rs6000/predicates.md: Likewise.
157         * config/rs6000/sysv4.h: Likewise.
158
159 2005-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
160
161         * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
162         flag_pic is set.
163         
164         * config/alpha/freebsd.h, config/alpha/linux.h,
165         config/arm/linux-elf.h, config/bfin/bfin.h,
166         config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
167         config/i386/beos-elf.h, config/i386/gnu.h,
168         config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
169         config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
170         config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
171         config/rs6000/linux64.h, config/rs6000/sysv4.h,
172         config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
173         config/sh/linux.h, config/sh/sh.h, config/sol2.h,
174         config/sparc/linux.h, config/sparc/linux64.h,
175         config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
176
177         * doc/invoke.texi: Document that the macros __pic__ and __PIC__
178         are both defined when either flag -fpic or -fPIC are used.
179
180 2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
181
182         * config/fp-bit.c (clzusi): New function.
183         (si_to_float, usi_to_float): Use it to compute proper shift.
184         (usi_to_float): Preserve guard bits when shifting right.
185         * libgcc-std.ver (GCC_4.2.0): New version.
186         * libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
187         __floatundisf): New functions.
188         * libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
189         __floatundisf): Declare.
190         * mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
191         _floatundixf, and _floatunditf.
192         * optabs.c (expand_float): If target does not define a pattern for
193         signed or unsigned conversion, use an unsigned libcall instead of
194         a signed one.
195         (init_optabs): Initialize ufloat_optab.
196
197 2005-11-22  Joseph S. Myers  <joseph@codesourcery.com>
198
199         * config/rs6000/rs6000.opt (mmulhw): New option.
200         * doc/invoke.texi (-mmulhw): Document.
201         * config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
202         for 405 and 440.
203         * config/rs6000/rs6000.md: Add half-word multiply and
204         multiply-accumulate instructions for 405 and 440.
205
206 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
207
208         * config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
209         which matches behavior of gcc 4.0 and older for RTEMS targets.  The
210         default now includes a linker group which makes the RTEMS one nest.
211
212 2005-11-22  Ben Elliston  <bje@au.ibm.com>
213
214         * cse.c (fold_rtx): Typo fix.
215         (find_comparison_args): Pass the mode of arg1, not arg1 itself.
216
217 2005-11-21  Richard Henderson  <rth@redhat.com>
218
219         * c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
220         langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
221
222         * c-tree.h (lookup_name): Move declaration ...
223         * c-common.h (lookup_name): ... here.
224         * config/darwin-c.c: Include c-common.h.
225         * config/t-darwin: Update dependencies.
226
227 2005-11-22  Ben Elliston  <bje@au.ibm.com>
228
229         * optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
230         explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
231         * genopinit.c (gen_insn): Likewise.
232         * reload.c (find_equiv_reg): Likewise.
233         * loop.c (load_mems): Likewise.
234         * rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
235         * cse.c (find_comparison_args, fold_rtx): Likewise.
236         * dwarf2out.c (add_const_value_attribute): Likewise.
237         * expr.c (convert_move): Likewise.
238         * recog.c (general_operand, register_operand): Likewise.
239         * reg-stack.c (replace_reg): Likewise.
240         * tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
241         * c-common.c (handle_vector_size_attribute): Likewise.
242         * simplify-rtx.c (simplify_const_unary_operation): Likewise.
243         (simplify_binary_operation_1): Likewise.
244         (simplify_const_binary_operation): Likewise.
245         (simplify_relational_operation): Likewise.
246         (simplify_const_relational_operation): Likewise.
247         (simplify_immed_subreg): Likewise.
248         * emit-rtl.c (gen_lowpart_common): Likewise.
249         * expmed.c (expand_mult): Likewise.
250         * stor-layout.c (layout_type): Likewise.
251
252 2005-11-21  Paolo Bonzini  <bonzini@gnu.org>
253
254         PR target/24951
255         * config/rs6000/rs6000.c (output_vec_const_move): Load cst and
256         cst2 only for SPE vectors.
257
258 2005-11-21  David Edelsohn  <edelsohn@gnu.org>
259
260         PR target/24953
261         * config/rs6000/predicates.md (vrsave_operation): Check
262         UNSPEC_VOLATILE value.
263
264 2005-11-21  Jan Hubicka  <jh@suse.cz>
265
266         PR tree-optimization/24653
267         * tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
268
269 2005-11-21  Uros Bizjak  <uros@kss-loka.si>
270
271         * config/i386/predicates.md (ax_reg_operand): New predicate.
272         (memory_displacement_only_operand): New predicate.
273         * config/i386/i386.md ("modrm" attribute): Return 0 if one
274         operand is AX register and the other operand is memory operand
275         with displacement only.
276
277 2005-11-21  Uros Bizjak  <uros@kss-loka.si>
278
279         * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0 
280         if we don't care about NaNs or Infinities.
281
282 2005-11-20  Ian Lance Taylor  <ian@airs.com>
283
284         PR rtl-optimization/24883
285         * combine.c (combinable_i3pat): When checking whether the
286         destination of i3 is used in i3, consider paradoxical subregs.
287
288 2005-11-21  Kazu Hirata  <kazu@codesourcery.com>
289
290         PR middle-end/20583
291         * cse.c (cse_insn): Reject invalid forms of CONST earlier.
292
293 2005-11-20  Joseph S. Myers  <joseph@codesourcery.com>
294
295         * combine.c (try_combine): Do not run subst on i1src and i2src in
296         the case of generating a PARALLEL for a comparison.
297
298 2005-11-20  Richard Henderson  <rth@redhat.com>
299
300         PR 24931
301         * tree-sra.c (struct sra_elt): Add all_no_warning.
302         (struct sra_walk_fns) <use>: Add use_all argument.
303         (sra_walk_expr): Pass it.
304         (sra_walk_modify_expr): Likewise.
305         (scalarize_ldst): Likewise.
306         (scan_use): Update for new argument.
307         (mark_no_warning): New.
308         (scalarize_use): Use it.
309
310 2005-11-20  Bernd Schmidt  <bernd.schmidt@analog.com>
311
312         * expr.c (expand_expr_real): Use usmul_optab for widening
313         signed * unsigned multiplies.
314         * genopinit.c (optabs): Add usmul_widen_optab.
315         * optabs.c (init_optabs): Likewise.
316         * optabs.h (enum optab_index): Add OTI_usmul_widen.
317         (usmul_widen_optab): Define.
318         * config/bfin/bfin.md (usmulhisi3): New pattern.
319
320         * doc/md.texi (usmulqihi3, usmulhisi3, usmulsidi3): Document.
321
322 2005-11-20  Graham Stott <btinternet.com>
323
324         * gensupport.c (std_preds): Fixed extraneous `false` in last change.
325
326 2005-11-20  Andreas Schwab  <schwab@suse.de>
327
328         PR target/24757
329         * config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
330         insn.
331
332 2005-11-19  Richard Henderson  <rth@redhat.com>
333
334         PR tree-opt/24665
335         * tree-gimple.c (is_gimple_id): Export.
336         * tree-gimple.h (is_gimple_id): Declare.
337         * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
338         (get_default_value): Use it.
339         (maybe_fold_stmt_indirect): Likewise.
340
341 2005-11-19  James A. Morrison  <phython@gcc.gnu.org>
342
343         * tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
344         than VR1 or vice-versa.
345
346 2005-11-19  Hans-Peter Nilsson  <hp@axis.com>
347
348         PR middle-end/24912
349         PR middle-end/24750
350         * reload.c (find_reloads_address_1): Mention dependency on
351         gen_reload.
352         * reload1.c (gen_reload): For IN with an unary operation, try
353         moving inner expression to OUT if trivial SET is not valid.
354         Confirm that the result is valid.  Move common code block into...
355         (emit_insn_if_valid_for_reload): New function.
356
357 2005-11-19  Richard Guenther  <rguenther@suse.de>
358
359         * fold-const.c (fold_indirect_ref_1): Make sure we fold
360         ARRAY_REFs of constant strings.
361
362 2005-11-19  Jakub Jelinek  <jakub@redhat.com>
363
364         * gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
365         fatal format string.
366
367 2005-11-19  Joseph S. Myers  <joseph@codesourcery.com>
368
369         * combine.c (make_compound_operation): Swap operands of
370         commutative operation if necessary before returning.
371
372 2005-11-19  Richard Guenther  <rguenther@suse.de>
373
374         PR middle-end/23294
375         * fold-const.c (fold_plusminus_mult_expr): New function.
376         (fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
377         cases, remove now unnecessary code.
378
379 2005-11-19  Paolo Bonzini  <bonzini@gcc.gnu.org>
380
381         * gensupport.c (old_preds): Rename to std_preds, add special field.
382         (struct old_pred_table): Rename to struct std_pred_table, add special
383         field.
384         (NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
385         (NUM_OLD_SPECIAL_MODE_PREDS): Remove.
386         (init_predicate_table): Adjust, and set along the way whether a
387         predicate is special.
388
389 2005-11-18  Mark Mitchell  <mark@codesourcery.com>
390
391         * BASE-VER: Change to 4.2.0.
392
393 2005-11-18  James E Wilson  <wilson@specifix.com>
394
395         * builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
396         returning it.
397
398 2005-11-18  Mike Stump  <mrs@apple.com>
399
400         * c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
401         * config/darwin-c.c (darwin_pragma_unused): Likewise.
402         * c-decl.c (lookup_name_two) Remove.
403         * c-tree.h (lookup_name_two): Remove.
404         * c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
405         * langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
406         (LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
407         * langhooks.h (lang_hooks_for_decls): Add lookup_name.
408         
409 2005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
410
411         PR target/24914
412         * arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
413         when not generating code to use that co-processor.
414
415 2005-11-18  James A. Morrison  <phython@gcc.gnu.org>
416
417         * tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
418         add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
419         these functions are now in tree-phinodes.c.
420
421 2005-11-18  Jie Zhang  <jie.zhang@analog.com>
422
423         * config/bfin/bfin.md (trap): New pattern.
424
425 2005-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
426
427         * tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
428         on types.
429
430         * expr.c (expand_expr_real): Don't call record_block_change unless
431         ib_boundaries_block is non-null
432
433         * postreload.c (reload_cse_move2add): Don't try to work with BImode.
434
435         * fold-const.c (build_range_check): Use proper type for subtraction
436         when merging lower bound.
437
438 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
439
440         PR rtl-optimization/24497
441         * loop-unroll.c (apply_opt_in_copies): Do not verify equality of
442         the copied insn.
443
444 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
445
446         * tree-scalar-evolution.c (expression_expensive_p): New function.
447         (scev_const_prop): Use compute_overall_effect_of_inner_loop.
448
449 2005-11-18  Bernd Schmidt  <bernd.schmidt@analog.com>
450
451         * config/bfin/crtlibid.s: New file.
452
453 2005-11-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
454
455         PR target/24348
456         * config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
457         when not using sjlj exceptions.
458         * config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
459         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
460         * config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
461         * config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
462         DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
463         * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
464         * config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
465         DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
466         ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
467         * config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
468         (FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
469         DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
470         ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
471         defines.
472         * config/pa/hpux-unwind.h: New file.
473
474 2005-11-17  Alexandre Oliva  <aoliva@redhat.com>
475
476         * config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
477         * defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
478         * varasm.c (do_assemble_alias): Adjust call.
479         (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
480         is defined.
481         * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
482
483 2005-11-17  James E Wilson  <wilson@specifix.com>
484
485         * tree.def (FUNCTION_DECL): Correct typo in comment.
486
487 2005-11-17  Richard Henderson  <rth@redhat.com>
488
489         * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
490         (lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
491         and DW_CFA_def_cfa_sf.
492         (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
493         (dbx_reg_number): Don't assert particular registers here.
494         (based_loc_descr): ... do it here instead.  Fold in ...
495         (eliminate_reg_to_offset): ... this function.
496         (compute_frame_pointer_to_cfa_displacement): Fold in the effects
497         of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
498         * unwind-dw2.c (execute_cfa_program): Apply data align factor
499         to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
500         * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
501         (instantiate_virtual_regs): Likewise.
502         * var-tracking.c (adjust_stack_reference): Likewise.
503         * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
504
505 2005-11-17  Bernd Schmidt  <bernd.schmidt@analog.com>
506
507         * config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
508         * config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
509         * config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
510         crtlibid.o.
511         ($(T)crtlibid.o): New rule.
512
513 2005-11-16  Richard Guenther  <rguenther@suse.de>
514
515         PR middle-end/24851
516         * fold-const.c (extract_array_ref): Return byte offset
517         in all cases.
518         (fold_binary): Fold &x[a] CMP &x[b] to
519         a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
520         behavior.
521
522 2005-11-16  Richard Henderson  <rth@redhat.com>
523
524         PR middle-end/23497
525         * tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
526         parts of an SSA_NAME.
527
528 2005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
529
530         PR target/24861
531         * arm.md (split for movsf with immediate): Restrict split to insns
532         that set a general register.
533
534 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
535
536         * config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
537         uw_update_context.
538         * unwind-dw2.c (uw_advance_context): Likewise.
539         * unwind-sjlj.c (uw_advance_context): Likewise.  Also call
540         _Unwind_SjLj_Unregister.
541         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
542
543 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
544
545         * unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
546
547 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
548
549         * config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
550         langhook to get a DImode integer type.
551
552 2005-11-16  Richard Henderson  <rth@redhat.com>
553             J"orn Rennecke <joern.rennecke@st.com>
554             Ulrich Weigand  <uweigand@de.ibm.com>
555
556         PR rtl-opt/24160
557         PR target/24621
558         * reload1.c (reg_equiv_invariant): New.
559         (reload): Allocate, initialize, and free it.
560         (calculate_needs_all_insns): Check it when skipping equivalence
561         setting insns.
562         (alter_reg): Likewise.
563         (eliminate_regs_1): Rename from eliminate_regs.  Add new
564         may_use_invariant argument; only use reg_equiv_invariant when true.
565         (eliminate_regs): New.
566         (eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
567         a context for which may_use_invariant may be true.
568
569 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
570
571         * fold-const.c (const_binop): Don't constant fold the operation
572         if the result has overflowed and flag_trapping_math.
573         * simplify-rtx.c (simplify_const_binary_operation): Likewise.
574
575 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
576
577         * config/arm/unwind-arm.c (abort): Add prototype here.
578         (UCB_FORCED_STOP_ARG): Correct typo in macro argument.
579         (struct phase1_vrs): Add prev_sp.
580         (unwind_phase2_forced): Save the original core registers instead of
581         modifying entry_vrs.  Take a new flag argument for resuming unwinding
582         and set action flags accordingly.  Always set _US_END_OF_STACK when
583         get_eit_entry fails.  Unwind before calling the stop function.
584         (_Unwind_GetCFA): New function.
585         (__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
586         (__gnu_Unwind_Resume_or_Rethrow): Likewise.
587         (__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
588         just call unwind_phase2_forced.
589         (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
590         * config/arm/unwind-arm.h (abort): Remove prototype.
591         (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
592         prototypes.
593         (_Unwind_GetCFA): New prototype.
594         * config/arm/pr-support.c (abort): Add prototype here.
595         * unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
596         forced unwinding.
597         * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
598         not schedule the prologue with non-call exceptions and EABI.
599
600 2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
601
602         * config/arm/unwind-arm.h: Reorder interface function declarations.
603         (_URC_END_OF_STACK): New enumeration value.
604         (_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
605         (struct _Unwind_Control_Block): Document reserved field use.
606         (_Unwind_Stop_Fn): New typedef.
607         (_Unwind_ForcedUnwind): Declare.
608         (_Unwind_Resume_or_Rethrow): Declare.
609         * gcc/config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
610         argument.  Adjust.
611         (_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
612         * config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
613         (UCB_FORCED_STOP_ARG): New.
614         (search_EIT_table): Update boundary condition checks.
615         (get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
616         (unwind_phase2): Replace for with do..while.
617         (unwind_phase2_forced): New.
618         (__gnu_Unwind_RaiseException): Replace for with do..while.
619         (__gnu_Unwind_ForcedUnwind): New.
620         (__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
621         Use appropriate phase2 unwinder.
622         (__gnu_Unwind_Resume_or_Rethrow): New.
623         (__gnu_unwind_pr_common): Cope with forced unwinding.
624
625 2005-11-16  David Edelsohn  <edelsohn@gnu.org>
626
627         PR target/24772
628         * config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
629
630         * config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
631         roundsf2): Remove "s" from mnemonic.
632
633 2005-11-16  Bernd Schmidt  <bernd.schmidt@analog.com>
634
635         * config/bfin/crti.s (__init, __fini): Use appropriate prologue if
636         __PIC__ is defined.
637         * config/bfin/crtn.s: Change epilogues to match.
638         * config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
639         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
640         __PIC__ and __pic__.
641
642 2005-11-16  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
643
644         PR 24357
645         * doc/invoke.texi: Distinguish between free and fixed form instead of
646         Fortran and Fortran 90/95.  Remove ratfor from the list of supported
647         languages.
648         * gcc.c (default_compilers): Remove double entries, add entries for
649         suffixes '.F90' and '.F95'.
650
651 2005-11-16  Eric Botcazou <ebotcazou@adacore.com>
652
653         * config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
654         in the stack probing loop.
655
656 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
657
658         * configure.ac: Use .machine power5 not power5x.
659         * configure: Regenerate.
660
661 2005-11-15  Mike Stump  <mrs@apple.com>
662
663         * c-decl.c (lookup_name_two): Add.
664         * c-tree.h (lookup_name_two): Likewise.
665         * c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
666         * config/darwin-c.c (darwin_pragma_unused): Likewise.
667
668 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
669
670         PR rtl-optimization/23392
671         * regrename.c (enum scan_actions) Add mark_access.
672         (scan_actions_name): Ditto.
673         (scan_rtx_reg): Handle mark_access.
674         (scan_rtx_address): Do nothing for mark_access.
675         (build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
676         and regs in REG_INC notes before closing chains for dead regs.
677         Mark destination regs in REG_FRAME_RELATED_EXPR notes after
678         opening chains for new writes.
679
680 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
681
682         * c.opt (ffixed-line-length-none): New.
683
684 2005-11-15  Steve Ellcey  <sje@cup.hp.com>
685
686         * mklibgcc.in: Change contents of eh_dummy.c.
687
688 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
689
690         * loop.c (scan_loop): Do not insert temporaries for hard registers.
691
692 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
693
694         * config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
695         of making syscalls.
696         * config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define.  Set r7 also.
697
698 2005-11-15  Jan Hubicka  <jh@suse.cz>
699
700         * invoke.texi (large-unit-insns): Document.
701         * ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
702         * params.def (large-unit-insns): New param.
703
704 2005-11-15  Hans-Peter Nilsson  <hp@axis.com>
705
706         PR target/24869
707         * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
708         special register for operand 3.  Reindent constraints to align
709         them vertically.
710
711 2005-11-14  David Edelsohn  <edelsohn@gnu.org>
712
713         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
714         -mpopcntb, -mfprnd. Add -mcpu=power5+.
715         * configure.ac: Add test for FP rounding instructions.
716         * configure: Regenerate.
717         * config.in: Regenerate.
718         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
719         _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
720         features enabled.
721         * config/rs6000/rs6000.opt (mfprnd): New.
722         * config/rs6000/rs6000.c (processor_target_table): Add power5+.
723         (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
724         * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
725         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
726         (TARGET_FPRND): New.
727         * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
728         UNSPEC_FRIZ): New.
729         (btrunc<mode>2): New.
730         (ceil<mode>2): New.
731         (floor<mode>2): New.
732         (round<mode>2): New.
733
734 2005-11-14  Geoffrey Keating  <geoffk@apple.com>
735
736         * gcc.c (version_compare_spec_function): Use fatal() rather than
737         abort().
738
739         * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
740         (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
741         * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
742         as empty.
743         * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
744         link in crt2.o.
745         
746         * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
747         on -mmacosx-version-min setting.
748
749 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
750
751         PR 24840
752         * tree-vrp.c (infer_value_range): Return false if STMT is a
753         block terminator and its basic block has no successors.
754
755 2005-11-14  Mike Stump  <mrs@apple.com>
756
757         * config/i386/i386.c (override_options): -masm=intel isn't
758         supported on darwin.
759         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
760
761 2005-11-15  Joseph S. Myers  <joseph@codesourcery.com>
762
763         * crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
764         vfork after including auto-host.h.
765
766 2005-11-15  Alan Modra  <amodra@bigpond.net.au>
767
768         PR rtl-optimization/22002
769         * combine.c (distribute_notes): Detect cases where a reg dies
770         two or more times in a bb, including on the insn we are combining,
771         and place the death note on the correct range.
772
773 2005-11-14  Dale Johannesen  <dalej@apple.com>
774
775         * expmed.c (store_bit_field):  Add offset unconditionally for
776         memory targets.
777         (extract_bit_field):  Don't force extzv or extv operand into
778         a register if field is too big.
779
780 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
781
782         * config/arm/arm.c (pic_labelno): New.
783         (arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
784         LABEL_REF.  Pass only the labelno to PIC insns.
785         (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
786         (arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
787         * arm.md (UNSPEC_PIC_LABEL): New constant.
788         (pic_add_dot_plus_four, pic_add_dot_plus_eight)
789         (tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
790         Use the correct label prefix.
791
792 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
793
794         * config/arm/arm.c (legitimize_tls_address): Use correct rtx for
795         REQ_EQUIV note.
796
797 2005-11-14  Richard Earnshaw  <richard.earnshaw@arm.com>
798
799         * loop-invariant.c: Include tm_p.h.
800         * Makefile.in: Updated.
801
802 2005-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
803
804         * pa.c (store_reg): Revise generation of frame notes in large frames.
805         (set_reg_plus_d): Likewise.
806
807 2005-11-13  Andrew MacLeod  <amacleod@redhat.com>
808
809         PR tree-optimization/24709
810         * tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
811         loop check.
812
813 2005-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
814
815         * gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
816         and duplicate declaration of pthread_self.
817
818 2005-11-13  Eric Botcazou  <ebotcazou@adacore.com>
819             Ian Lance Taylor  <ian@airs.com>
820
821         PR middle-end/24003
822         * calls.c (expand_call): If TARGET is a MEM and some part of the
823         argument area has been saved, force TARGET to a register.
824
825 2005-11-13  Razya Ladelsky <razya@il.ibm.com>
826
827         * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type 
828         checking.
829
830 2005-11-13  Jason Merrill  <jason@redhat.com>
831
832         PR c++/22489
833         * dwarf2out.c (gen_subprogram_die): Force a declaration die for
834         lazily declared methods.
835         (force_decl_die): Stop if forcing out the context already make a
836         DIE for the decl.
837         (force_type_die): Likewise.
838
839 2005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
840
841         PR middle-end/24820
842         * builtins.c (integer_valued_real_p): Add break in
843         REAL_CST having TREE_OVERFLOW set.
844
845 2005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
846
847         * tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
848         addressing modes during calculation of costs.
849
850 2005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
851
852         * function.c (assign_stack_local_1): Restrict sanity check
853         on frame size overflow to 32-bit and above platforms.
854
855 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
856
857         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
858         * config/cris/cris.c: Include reload.h.
859         (cris_initial_elimination_offset): New function.
860         * config/cris/cris-protos.h: (cris_initial_elimination_offset):
861         Prototype.
862
863 2005-11-12  Richard Guenther  <rguenther@suse.de>
864
865         * gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
866
867 2005-11-12  Jan Hubicka  <jh@suse.cz>
868
869         * expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
870         to compare against 0 when possible.
871
872 2005-11-12  Jie Zhang  <jie.zhang@analog.com>
873
874         * config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
875         HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
876         REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
877         * config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
878         in the new order.
879
880 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
881
882         * recog.c (constrain_operands) <case 'g'>: For a match, require
883         that a non-register matches general_operand when strict >= 0.
884
885 2005-11-11  Steven Bosscher  <stevenb@suse.de>
886
887         * loop-invariant.c (move_loop_invariants): Fix a thinko in the
888         previous checkin.
889
890 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
891
892         * tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
893         (memory_address_same): New.
894         (dse_optimize_stmt): Call memory_address_same.
895
896 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
897
898         PR middle-end/24750
899         * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
900         ZERO_EXTEND>: New cases.
901
902 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
903
904         * longlong.h (__clz_tab): Always provide.
905
906 2005-11-11  Steven Bosscher  <stevenb@suse.de>
907
908         PR 24265
909         * loop-invariant.c (may_assign_reg_p): Make sure a hard register
910         can be assigned to.
911         (find_invariant_insn): Do the cheapest check, may_assign_reg_p,
912         before check_maybe_invariant.
913         (move_invariant_reg): Use gen_move_insn instead of replacing
914         SET_DEST with the temporary for the invariant.
915         (move_loop_invariants): If checking is enabled, do internal
916         consistency checks after completing the pass.
917
918 2005-11-11  David Edelsohn  <edelsohn@gnu.org>
919
920         PR 24644
921         * common.opt (Wvolatile-register-var): New.
922         * varasm.c (make_decl_rtl): Only emit warning when option
923         specified.  Clarify warning message.
924         * doc/invoke.texi (Wvolatile-register-var): Document new option.
925
926         * doc/md.texi (copysign): Document standard named pattern.
927
928 2005-11-11  Jie Zhang  <jie.zhang@analog.com>
929
930         * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
931         bytes when align is 2.
932         * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
933         by the first instruction of the loop.
934
935 2005-11-11  Jason Merrill  <jason@redhat.com>
936
937         PR c++/24686
938         * gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
939         the cleanup list.
940
941 2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
942
943         PR rtl-optimization/22509
944         * local-alloc.c (memref_used_between_p): Check whether a function call
945         could not reference the memref.
946
947 2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
948
949         * postreload.c (reload_cse_simplify_operands): Fix bug in sorting
950         algorithm so as to choose the best, not the worst, alternative.
951         Reset accumulated register class before processing next alternative.
952
953 2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
954
955         PR target/24445
956         * calls.c (expand_call): Copy a return value to a plain register
957         if needed.
958
959 2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
960
961         PR target/24778
962         * varasm.c (assemble_name): Recompute name only for transparent
963         aliases.
964
965 2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
966
967         * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
968
969 2005-11-04  Jeff Law  <law@redhat.com>
970
971         PR middle-end/23181
972         * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
973         perform reassociation if the parent statement will not die as
974         a result of the optimization.
975
976 2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
977
978         * tree-ssa-alias.c (compute_may_aliases): Remove call to 
979         delete_old_heap_vars.
980         * tree-dfa.c (referenced_var_remove): Remove function.
981         * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
982         (delete_tree_ssa): Remove call to delete_old_heapvars.
983         Add call to delete_alias_heapvars.
984         * tree-flow.h (referenced_var_remove): Remove prototype
985         (init_alias_heapvars): New prototype.
986         (delete_alias_heapvars): Ditto.
987         * Makefile.in (tree-ssa-structalias.o): Add
988         gt-tree-ssa-structalias.o
989         (GTFILES): Add tree-ssa-structalias.h and
990         tree-ssa-structalias.c.
991         (s-gtype): Add gt-tree-ssa-structalias.h.
992         * tree-ssa-structalias.c (heapvars): Remove.
993         (oldheapvars): Remove.
994         (heapvar_for_stmt): New variable.
995         (heapvar_lookup): New function.
996         (heapvar_insert): Ditto.
997         (get_constraint_for): See if we have an old heapvar
998         to reuse.
999         (init_alias_heapvars): New function.
1000         (delete_alias_heapvars): Ditto.
1001         Add include of gt-tree-ssa-structalias.h.
1002
1003 2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1004
1005         PR middle-end/22127
1006         * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
1007
1008 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1009
1010         * tree.c (int_fits_type_p): Only look at the base type
1011         if it has the same precision as the original type.
1012
1013 2005-11-10  Jakub Jelinek  <jakub@redhat.com>
1014
1015         PR other/4372
1016         * varasm.c (assemble_alias): Use %q+D in the error
1017         message instead of %J and %qD.
1018
1019 2005-11-10  Richard Guenther  <rguenther@suse.de>
1020
1021         * gcse.c (free_ldst_entry): Only free hashtable if
1022         it exists.
1023
1024 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1025
1026         * function.c (assign_stack_local_1): Issue an error message if
1027         the frame size overflows in the signed target arithmetics.
1028
1029 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1030
1031         * tree.c (build_qualified_type): Chain the new type to the original
1032         type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
1033         a POINTER_TYPE or a REFERENCE_TYPE respectively.
1034         (build_pointer_type_for_mode): Only return unqualified types.
1035         (build_reference_type_for_mode): Likewise.
1036
1037 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
1038
1039         * Makefile.in (gnucompare): Do comparison of all files using one of
1040         the chosen methods and only afterwards decide if just warning should
1041         be issued or comparison failure raised.
1042
1043 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1044
1045         * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
1046         (noce_try_abs): Negate if the comparison is reversed.
1047         Look only one instruction backwards for a REG_EQUAL note.
1048
1049 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
1050
1051         PR other/4372
1052         * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
1053         gthr-tpf.h: Define __gthrw.  For all identifiers that might
1054         be weak, introduce weakrefs or non-weak aliases with __gthrw,
1055         and prefix all uses with __ghtrw.
1056
1057 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
1058
1059         PR other/4372
1060         * tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
1061         (TREE_DEPRECATED): Adjust comment.  Check for a DECL.
1062         * c-common.c (handle_weakref_attribute): New.
1063         (c_common_attribute_table): Add weakref.
1064         * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
1065         in the assembler.
1066         * configure, config.in: Rebuilt.
1067         * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
1068         * doc/extend.texi: Document weakref attribute.
1069         * varasm.c (ultimate_transparent_alias_target): New
1070         (assemble_name): Use it.
1071         (weak_finish_1): Split out of...
1072         (weak_finish): ... and deal with weakrefs in...
1073         (weakref_targets): ... new list.
1074         (globalize_decl): Clean up weakref_targets.
1075         (do_assemble_alias): Handle weakrefs.
1076         (finish_aliases_1): Do not reject weakrefs to external symbols.
1077         (assemble_alias): Handle weakrefs.
1078
1079 2005-11-09  Richard Guenther  <rguenther@suse.de>
1080
1081         PR tree-optimization/24716
1082         * tree-scalar-evolution.c (analyze_evolution_in_loop): Use
1083         t_bool to track results from follow_ssa_edge.
1084
1085 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1086
1087         * final.c (force_source_line): New global variable.
1088         (final_scan_insn): Set it to true instead of clearing last_filename.
1089         (notice_source_line): Return true if force_source_line is true,
1090         unless source info is absent.
1091
1092 2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
1093
1094         PR c/24644
1095         * dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
1096         a linkage name for a variable if it a register variable.
1097         * c-decl.c (grokdeclarator): Global register variables
1098         should be set as PUBLIC.
1099
1100 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1101
1102         PR 24624
1103         * config/s390/s390.c (struct s390_frame_layout): New fields 
1104         first_save_gpr_slot and last_save_gpr_slot.
1105         (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
1106         s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
1107         first_save_gpr and last_save_gpr with the _slot variants.
1108         (s390_register_info): Calculate first_save_gpr_slot and 
1109         last_save_gpr_slot using regs_ever_live.
1110
1111 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1112
1113         PR 24623
1114         * config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
1115         for a function containing a landing pad.
1116
1117 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1118
1119         PR 24034
1120         * flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
1121         is live afterwards.
1122
1123 2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
1124
1125         * config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
1126         MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
1127
1128 2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
1129
1130         Add ms2 support
1131         * config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
1132         constants.
1133         (call,load,store): New insn types.
1134         (mem_access, branch_access): Adjust reservation conditions.
1135         (define_delay): Adjust condition.
1136         (decrement_and_branch_until_zero): Allow for ms2.  Set branch
1137         type.
1138         (*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
1139         (*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
1140         insn type.
1141         (call_internal, call_value_internal, return_internal,
1142         return_interrupt_internal, eh_return_internal, indirect_jump,
1143         tablejump): Set call insn type.
1144         (blockage, ei, di): Use appropriate unspec const.
1145         * config/ms1/ms1.c (ms1_flag_delayed_branch): New.
1146         (ms1_get_attr_type): Adjust to give load & store types.
1147         (ms1_final_prescan_insn): Adjust for new insn types.  Don't look
1148         backwards past a barrier.
1149         (ms1_override_options): Accept ms2 arch.  Copy and reset delayed
1150         branch scheduling.
1151         (struct branch_info, struct label_info): New.
1152         (ms1_labels): New.
1153         (ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
1154         (ms1_machine_reorg): New.
1155         (TARGET_MACHINE_DEPENDENT_REORG): Override.
1156         * config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
1157         * config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
1158         (ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
1159         (TARGET_MS2): New.
1160
1161 2005-11-09  Per Bothner  <per@bothner.com>
1162             Uros Bizjak  <uros@kss-loka.si>
1163         
1164         PR c/24101
1165         * toplev.c (process_options): Initialize debug_hooks early
1166         in case lang_hooks.post_options ends up calling a debug_hook.
1167
1168 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
1169
1170         * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
1171         DBX_REGISTER_NUMBER being contiguous.
1172
1173 2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
1174             Diego Novillo  <dnovillo@redhat.com>
1175
1176         PR 23046
1177         * tree-vrp.c (register_edge_assert_for): Do not register
1178         always-false predicates.
1179
1180 2005-11-08  Devang Patel <dpatel@apple.com>
1181
1182         PR tree-optimization/23115
1183         * tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
1184         relation.
1185
1186 2005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
1187
1188         * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
1189         -mcpu=440.
1190
1191 2005-11-08  Daniel Berlin  <dberlin@dberlin.org>
1192
1193         Fix PR tree-optimization/23382
1194
1195         * tree-ssa-alias.c (compute_may_aliases): Call
1196         delete_old_heap_vars.
1197         * tree-dfa.c (referenced_var_remove): New function.
1198         * tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
1199         * tree-flow.h (referenced_var_remove): Add prototype.
1200         (delete_old_heap_vars): Ditto.
1201         * tree-ssa-structalias.c (heapvars): New variable.
1202         (oldheapvars): Ditto.
1203         (get_constraint_for): Put heap vars on heapvars list.
1204         (delete_old_heap_vars): New function.
1205         
1206 2005-11-08  Jason Merrill  <jason@redhat.com>
1207
1208         * tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
1209
1210 2005-11-08  Uros Bizjak  <uros@kss-loka.si>
1211
1212         PR target/19340
1213         * reg-stack.c (reg_to_stack): Update register liveness also
1214         for flag_sched2_use_traces.
1215
1216 2005-11-08  Alan Modra  <amodra@bigpond.net.au>
1217
1218         PR target/23704
1219         * config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
1220         override prior explicit -mno-powerpc-gfxopt.
1221
1222 2005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
1223
1224         * expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
1225         if the bitsize is zero.
1226         * doc/md.texi (Standard Pattern Names): Document it.
1227
1228         * config/ia64/ia64.c (ia64_pass_by_reference): Delete.
1229         (TARGET_PASS_BY_REFERENCE): Likewise.
1230
1231 2005-11-07  Ian Lance Taylor  <ian@airs.com>
1232
1233         PR rtl-optimization/24683
1234         * config/i386/i386.c (legitimize_pic_address): If constant operand
1235         to PLUS is too large, put it in a register.
1236
1237 2005-11-07  Jie Zhang  <jie.zhang@analog.com>
1238
1239         * configure.ac: Enable checking assembler dwarf2 support for bfin
1240         target.
1241         * configure: Regenerate.
1242
1243 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
1244
1245         PR target/24230
1246
1247         * config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
1248         gen_easy_vector_constant_add_self): Delete.
1249         (vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
1250         New.
1251         (output_vec_const_move): Use gen_easy_altivec_constant.
1252         (rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
1253         * config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
1254         (easy_vector_constant_add_self): Rewritten.
1255         * config/rs6000/rs6000-protos.h (easy_vector_splat_const,
1256         easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
1257         (easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
1258         * config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
1259         Macroize and adjust for the other changes.
1260
1261 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
1262
1263         PR c/24599
1264
1265         * c-typeck.c (build_c_cast): Try using a shared constant, and see
1266         if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
1267
1268 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
1269
1270         PR rtl-optimization/23567
1271         * ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
1272         (noce_process_if_block): Don't do any optimizations except
1273         if (cond) x = x; if !set_b and write into orig_x may trap
1274         or fault.  Remove the MEM_READONLY_P check.
1275
1276 2005-11-06  Diego Novillo  <dnovillo@redhat.com>
1277
1278         PR 24670
1279         * tree-vrp.c (fix_equivalence_set): New.
1280         (extract_range_from_assert): Call it.
1281
1282 2005-11-05  Ian Lance Taylor  <ian@airs.com>
1283
1284         PR target/22432
1285         * combine.c (apply_distributive_law): Don't distribute across a
1286         vector mode subreg.
1287
1288 2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
1289
1290         * c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
1291         config/ms1/ms1.h, config/rs6000/predicates.md,
1292         config/s390/s390.c, params.def, postreload-gcse.c,
1293         tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
1294         tree-vrp.c, tree.c: Fix comment typos.
1295         * doc/invoke.texi: Fix typos.
1296
1297 2005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
1298
1299         * lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
1300         for testing whether the data_dependence_relation contains distance
1301         vectors.  Iterate over all distance vectors of the ddr.
1302         * lambda.h: Define a vec of lambda_vector pointers.
1303         * tree-data-ref.c (dump_data_dependence_relation,
1304         dump_data_dependence_direction): Iterate over all distance and
1305         direction vectors of the ddr.
1306         (initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
1307         DDR_DIST_VECTS.
1308         (build_classic_dist_vector, build_classic_dir_vector): Push a set
1309         of distance/direction vectors instead of a single one.
1310         * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist 
1311         lambda_vectors with a vec of lambda_vectors.
1312         (DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
1313         (DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
1314         DDR_NUM_DIST_VECTS): New.
1315         * tree-loop-linear.c (gather_interchange_stats): Test for the
1316         existence of distance vectors only after having checked that there
1317         is a dependence.  Iterate over all distance vectors of the ddr.
1318         (linear_transform_loops): Use dump_data_dependence_relation.
1319         * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
1320         distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
1321         distance vectors of the ddr.
1322
1323 2005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
1324
1325         * config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
1326         expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
1327         IS_INTHANDLER; all callers changed.
1328         (n_regs_saved_by_prologue): Take interrupt handler attributes into
1329         account.
1330         (do_link, do_unlink): New argument ALL; all callers changed.
1331         (expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
1332         If function isn't leaf, save and restore all registers.
1333         (bfin_function_ok_for_sibcall): Only true if not an interrupt or
1334         exception handler.
1335
1336 2005-11-05  Jan Hubicka  <jh@suse.cz>
1337
1338         PR rtl-optimization/23490
1339         * doc/invoke.texi (max-predicted-iterations, max-cse-insns,
1340         max-flow-memory-location): Document.
1341         * flow.c: Include params.h
1342         (MAX_MEM_SET_LIST_LEN): Kill.
1343         (add_to_mem_set_list): Use new param.
1344         * cse.c (cse_basic_block): Replace 1000 by new param.
1345         * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
1346         PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
1347         * predict.c (predict_loops): Use new param.
1348         * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
1349
1350         * ipa-inline.c (cgraph_decide_inlining_of_small_function, 
1351         cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
1352         Do not hold memory returned by cgraph_node_name across other call.
1353
1354 2005-11-04  Hans-Peter Nilsson  <hp@axis.com>
1355
1356         PR target/23424
1357         * config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
1358         Disable.
1359
1360 2005-11-04  Jeff Law  <law@redhat.com>
1361
1362         PR/21883
1363         * doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
1364         * tree-ssa-dom.c: Include params.h.
1365         (thread_across_edge): If there are too many statements in the
1366         target block, then do not thread through it.
1367         * Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
1368         * params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
1369
1370 2005-11-03  Diego Novillo  <dnovillo@redhat.com>
1371
1372         PR 24627
1373         * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
1374         TODO_update_ssa instead of TODO_update_ssa_no_phi.
1375
1376 2005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
1377
1378         PR/18595
1379         * tree-scalar-evolution.c (instantiate_parameters_1,
1380         instantiate_parameters, resolve_mixers): Compute the size of an
1381         expression to be instantiated and give up the instantiation if the
1382         size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
1383
1384 2005-11-04  Richard Guenther  <rguenther@suse.de>
1385
1386         * tree-flow.h (ref_contains_indirect_ref): Rename to
1387         array_ref_contains_indirect_ref.
1388         * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
1389         (array_ref_contains_indirect_ref): Make comment match the code
1390         and vice-versa.
1391         (ref_contains_array_ref): Likewise.
1392         * tree-ssa-structalias.c (find_func_aliases): Remove call to
1393         ref_contains_indirect_ref.
1394         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1395         Rename calls to ref_contains_indirect_ref.
1396
1397 2005-11-04 Paul Brook  <paul@codesourcery.com>
1398
1399         * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
1400         gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
1401         (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
1402         * config/arm/arm.md: Use match_operand in peephole input templates
1403         and match_dup in peephole output templates.
1404
1405 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
1406
1407         * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
1408         __aeabi_uidiv.
1409
1410 2005-11-04  Mark Mitchell  <mark@codesourcery.com>
1411             Daniel Jacobowitz  <dan@codesourcery.com>
1412
1413         * longlong.h (add_ssaaaa): Clobber condition code register
1414         in ARM version.
1415         (sub_ddmmss): Likewise.
1416         (umul_ppmm): Likewise.
1417
1418 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
1419             Paul Brook  <paul@codesourcery.com>
1420             Phil Blundell  <pb@reciva.com>
1421
1422         * configure.ac: Add test for ARM TLS support.
1423         * configure: Regenerated.
1424         * config/arm/arm-protos.h (legitimize_tls_address)
1425         (arm_tls_referenced_p, tls_mentioned_p)
1426         (arm_output_addr_const_extra): New prototypes.
1427         (thumb_legitimize_pic_address): Delete.
1428         * config/arm/arm.c: Include "gt-arm.h".
1429         (enum tls_reloc): New.
1430         (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
1431         (pcrel_constant_p, get_tls_get_addr, arm_load_tp)
1432         (arm_call_tls_get_addr, legitimize_tls_address)
1433         (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
1434         (arm_init_tls_builtins, arm_emit_tls_decoration)
1435         (arm_output_addr_const_extra): New functions.
1436         (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
1437         (TARGET_HAVE_TLS): Define.
1438         (target_thread_pointer): New.
1439         (arm_override_options): Handle -mtp=.
1440         (legitimize_pic_address): Ignore UNSPECs.
1441         (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
1442         relative symbols.
1443         (arm_legitimize_address, thumb_legitimize_address): Handle TLS.
1444         (tls_get_addr_libfunc): New variable.
1445         (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
1446         (arm_init_builtins): Call arm_init_tls_builtins.
1447         (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
1448         (arm_encode_section_info): Call default_encode_section_info.
1449         * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
1450         (enum arm_tp_type): New.
1451         (target_thread_pointer): Add declaration.
1452         (LEGITIMATE_CONSTANT_P): Handle TLS.
1453         (LEGITIMATE_PIC_OPERAND_P): Handle TLS.
1454         (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
1455         (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
1456         * config/arm/arm.md: Add UNSPEC_TLS.
1457         (movsi): Handle TLS.
1458         (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
1459         non-PIC.
1460         (tls_load_dot_plus_eight): New insn and a peephole to create it.
1461         (load_tp_hard, load_tp_soft): New insns.
1462         * arm.opt: Add -mtp=.
1463         * doc/invoke.texi (ARM Options): Document -mtp.
1464
1465 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
1466
1467         * config/arm/lib1funcs.asm: Don't include "libunwind.S".
1468         * config/arm/libunwind.S: Include "lib1funcs.asm".
1469         * config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
1470         (LIB2ADDEH): Add libunwind.S.
1471         (LIB2ADDEHDEP): Add lib1funcs.asm.
1472         * mklibgcc.in: Handle asm files in libgcc_eh.a.
1473
1474 2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1475
1476         PR fortran/18452
1477         * gcc/c.opt: Add a -lang-fortran option.
1478         * gcc/c-opts.c: Add a lang_fortran flag.
1479         (c_common_init_options): Handling the -lang-fortran option.
1480         (c_common_handle_option): Add a case for Fortran options in
1481         preprocessing. Remove cases for -ffixed-form and
1482         -ffixed-line-length. Add a case for -lang-fortran.
1483
1484 2005-11-03  David Edelsohn  <edelsohn@gnu.org>
1485
1486         * config/rs6000/rs6000.c: Include params.h
1487         (optimization_options): Set max-grow-copy-bb-insns default to 16.
1488         (bdesc_2arg): Delete vpkuhss and vpkuwss.
1489         * config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
1490         (UNSPEC_VPKUWSS): Delete.
1491         (altivec_vpkuhss): Delete.
1492         (altivec_vpkuwss): Delete.
1493         * config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
1494         final condition.
1495         (neg_eq0<mode>): Remove final condition.
1496         (neg_eq<mode>): Remove condition and split-condition.
1497
1498 2005-11-04  Alan Modra  <amodra@bigpond.net.au>
1499
1500         * config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
1501         Use associated print macros.
1502
1503 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
1504
1505         PR c++/17964
1506         * diagnostic.c (diagnostic_set_info_translated): New function.
1507         (diagnostic_set_info): Use it.  Add comment.
1508         * diagnostic.h (diagnostic_set_info_translated): Declare.
1509
1510 2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
1511
1512         * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
1513         On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
1514         reference only if 'public' is true.
1515         (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
1516         emit the .hidden directive only if the indirect reference is public.
1517         (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
1518         Pass it to dw2_force_const_mem.
1519         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
1520         * dwarf2out.c (output_cfi): Adjust calls to above function.
1521         (output_call_frame_info): Likewise.
1522         * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
1523         as 'public' argument to dw2_asm_output_encoded_addr_rtx.
1524
1525 2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
1526
1527         PR tree-optimization/24483
1528         * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
1529         field to elts if possible.
1530
1531 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
1532
1533         PR middle-end/23155
1534         * gimplifier.c (gimplify_expr): Create a temporary for lvalue
1535         CONSTRUCTOR.
1536
1537 2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
1538
1539         Fix PR tree-optimization/24351
1540
1541         * tree-ssa-structalias.c (struct variable_info): Add
1542         collapsed_into.
1543         (get_varinfo_fc): New function to follow collapsing.
1544         (new_var_info): Set collapsed_to to NULL.
1545         (dump_constraint): Follow collapsing.
1546         (build_constraint_graph): Handle collapsing.
1547         (do_simple_structure_copy): Return false if something bad
1548         happened.
1549         (collapse_rest_of_var): New function.
1550         (do_structure_copy): Collapse if do_simple_structure_copy returns
1551         false.
1552         
1553 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
1554
1555         PR middle-end/24589
1556         * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
1557         expressions to a statement list instead of gimplifying them.
1558
1559 2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
1560
1561         PR rtl-optimization/23585
1562         * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
1563         that can't trap plus a constant integer, if the mode has zero size.
1564
1565 2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
1566
1567         PR target/24620
1568         * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
1569         as operand 2.
1570         ("*insv<mode>_reg_extimm"): Likewise.
1571
1572 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
1573
1574         PR c/24329
1575         * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
1576         c_common_type_for_mode returns an unnamed type.
1577
1578 2005-11-02  Richard Henderson  <rth@redhat.com>
1579
1580         PR target/9350
1581         PR target/24374
1582         * dwarf2out.c (dwarf2out_reg_save_reg): New.
1583         (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
1584         * function.c (assign_parms): Use calls.internal_arg_pointer.
1585         (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
1586         code.
1587         * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
1588         (TARGET_CALLS): Add it.
1589         * target.h (struct gcc_target): Add calls.internal_arg_pointer.
1590         * targhooks.c (default_internal_arg_pointer): New.
1591         * targhooks.h (default_internal_arg_pointer): Declare.
1592         * tree.h (dwarf2out_reg_save_reg): Declare.
1593         * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
1594         * config/i386/i386.c (dbx_register_map): Add return column.
1595         (dbx64_register_map, svr4_dbx_register_map): Likewise.
1596         (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
1597         (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
1598         (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
1599         (ix86_save_reg): Save force_align_arg_pointer.
1600         (ix86_emit_save_regs): Make regno unsigned.
1601         (ix86_emit_save_regs_using_mov): Likewise.
1602         (ix86_expand_prologue): Handle force_align_arg_pointer.
1603         (ix86_expand_epilogue): Likewise.
1604         * config/i386/i386.h: (dbx_register_map): Update.
1605         (dbx64_register_map, svr4_dbx_register_map): Update.
1606         (struct machine_function): Add force_align_arg_pointer.
1607         * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
1608         (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
1609         (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
1610
1611 2005-11-02  Jan Hubicka  <jh@suse.cz>
1612
1613         PR target/23303
1614         * i386.md: Add peep2 for simplyfing array accesses.
1615
1616 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
1617
1618         PR target/24615
1619         * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
1620         * config/s390/s390.c (s390_decompose_shift_count): New function.
1621         (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
1622         (print_shift_count_operand): Use s390_decompose_shift_count.
1623         * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
1624         Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
1625
1626 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
1627
1628         PR target/24600
1629         * loop.c (loop_givs_rescan): Use force_operand to expand
1630         complex GIVs.
1631
1632 2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
1633
1634         PR 22429
1635         * fold-const.c (build_range_check): Use unsigned when signed
1636         overflow is undefined also.  If etype is subtype, make sure that
1637         the subtraction is in the supertype.
1638
1639 2005-11-02  Richard Henderson  <rth@redhat.com>
1640
1641         PR target/24178
1642         * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
1643         by MEM_ALIGN.
1644
1645 2005-11-01  Richard Henderson  <rth@redhat.com>
1646
1647         PR 21518
1648         * loop.c (scan_loop): Do not propagate computations to a hard
1649         register destination with SMALL_REGISTER_CLASSES.
1650
1651 2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
1652
1653         * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
1654         costs for MULT inside PLUS or MINUS.
1655
1656 2005-11-01  Bob Wilson  <bob.wilson@acm.org>
1657
1658         * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
1659         (TRAMPOLINE_SIZE): Round up to 60.
1660         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
1661
1662 2005-10-31  James E. Wilson  <wilson@specifix.com>
1663
1664         PR debug/24444
1665         * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
1666         ifdef.  Put ifdefs around call in gen_subprogram_die.
1667         (compute_frame_pointer_to_cfa_displacement): Likewise.
1668         (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
1669         not defined.
1670         
1671         PR rtl-optimization/17356
1672         *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
1673         add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
1674
1675 2005-10-31  Jan Hubicka  <jh@suse.cz>
1676
1677         PR middle-end/24093
1678         * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
1679
1680         PR target/20928
1681         * i386.c (legitimize_pic_address): Deal with large immediates.
1682
1683         PR profile/20815
1684         * coverage.c (coverage_checksum_string): Fix code to stip random seeds
1685         from symbol names while computing checkup.
1686
1687         PR profile/24487
1688         * predict.c (predict_loops): Do not estimate more than
1689         MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
1690         * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
1691
1692 2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
1693         
1694         PR tree-optimization/19097
1695         * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
1696
1697 2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
1698
1699         * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
1700
1701 2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
1702
1703         PR middle-end/23492
1704         * tree-inline.c (setup_one_parameter): If the init_stmt
1705         is NULL, don't insert the statement.
1706
1707 2005-10-30  Jan Hubicka  <jh@suse.cz>
1708
1709         PR tree-optimization/24172
1710         * tree-inline.c (copy_body_r): Unshare the substituted value first.
1711
1712 2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
1713
1714         * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
1715         constants for hosts with long != 32 bits.
1716
1717 2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
1718
1719         PR middle-end/24093
1720         * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
1721
1722 2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
1723
1724         * config/ms1/ms1.h (TARGET_MS1_64_001): New.
1725         (TARGET_MS1_16_002): New.
1726         (TARGET_MS1_16_003): New.
1727
1728         * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
1729         ("*decrement_and_branch_until_zero_no_clobber"): New.
1730         Add corresponding splitter for decrement_and_branch_until_zero
1731         instruction.
1732         Key all decrement_and_branch_until_zero patterns off of
1733         TARGET_MS1_16_003.
1734
1735 2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
1736
1737         PR middle-end/24362
1738         * tree-complex.c (extract_component): Treat RESULT_DECL
1739         like the rest of the decls.
1740
1741 2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1742
1743         * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
1744         indirect call to _mcount if the function needs a static chain.
1745
1746 2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1747             Caroline Tice  <ctice@apple.com>
1748
1749         PR rtl-optimization/24460
1750         * dwarf2out.c (have_switched_text_sections): New boolean variable.
1751         (dwarf2out_switch_text_section): Set it to true instead of
1752         incrementing separate_line_info_table_in_use.
1753         (output_loc_list): Additionally test have_switched_text_sections.
1754         (output_ranges): Likewise.
1755         (dwarf2out_finish): Likewise.
1756         * varasm.c (assemble_start_function): Do not call
1757         insert_section_boundary_note.
1758         (assemble_end_function): If flag_reorder_blocks_and_partition,
1759         switch to the function's section before emitting the .size directive.
1760         * bb-reorder.c (insert_section_boundary_note): Staticify.
1761         (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
1762         * output.h (insert_section_boundary_note): Delete.
1763
1764 2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
1765
1766         PR c/23103
1767         * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
1768         instead of pointer equality when comparing types.
1769
1770 2005-10-24  James E. Wilson  <wilson@specifix.com>
1771
1772         * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
1773         add_dependence_list_and_free calls.
1774
1775 2005-10-24  Steven Bosscher  <stevenb@suse.de>
1776
1777         * contrib.texi: Add the names of the LLNL folks who donated
1778         Cray pointer support for gfortran.
1779
1780 2005-10-24  Steven Bosscher  <stevenb@suse.de>
1781
1782         PR tree-optimization/24225
1783         * profile.c (branch_prob): Look from end to start through a
1784         basic block when looking for a locus.
1785
1786 2005-10-24  Richard Henderson  <rth@redhat.com>
1787
1788         * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
1789         parallel.
1790         (hppa_expand_prologue): Likewise.
1791
1792 2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1793
1794         * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
1795         (NO_DEFERRED_PROFILE_COUNTERS): Define.
1796         * pa.h (NO_PROFILE_COUNTERS): Define.
1797         * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
1798         (funcdef_nos): New vector to hold label numbers of deferred profile
1799         counters.
1800         (output_deferred_profile_counters): New function.
1801         (hppa_profile_hook): Push label number onto funcdef_nos.
1802         (pa_hpux_file_end): Call output_deferred_profile_counters if
1803         NO_DEFERRED_PROFILE_COUNTERS is false.
1804
1805         * pa-protos.h (get_deferred_plabel): New prototype.
1806         * pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
1807         Make global.
1808         (output_call): Adjust calls.
1809
1810 2005-10-24  Alan Modra  <amodra@bigpond.net.au>
1811
1812         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
1813         peculiarity of GOT/TOC section usage.
1814
1815 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1816
1817         PR objc/24435
1818          * c-common.c (constant_string_class_name): Add documentation.
1819
1820 2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
1821
1822         PR target/23832
1823         * recog.c (peephole2_optimize): Increment peep2_current_count
1824         only when the slot is empty.
1825
1826 2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1827
1828         PR ada/23957
1829         * except.c (output_function_exception_table): Call
1830         assemble_external_libcall if we need a personality function.
1831
1832 2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1833
1834         PR rtl-optimization/24460
1835         * bb-reorder.c (fix_crossing_unconditional_branches): Do not
1836         set the basic block for barriers.
1837
1838 2005-10-21  Janis Johnson  <janis187@us.ibm.com>
1839
1840         * var-tracking.c (vt_initialize): Initialize post.
1841
1842 2005-10-21  Devang Patel  <dpatel@apple.com>
1843
1844         PR/24220
1845         * c-common.c (vector_types_convertible_p): Check vector element type.
1846         
1847 2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1848
1849         * config/sh/sh.c (prepare_move_operands): Handle the address
1850         constant which is a tls symbolic address plus a constant.
1851
1852 2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
1853
1854         PR driver/24473
1855         * gcc.c (main): Use the correct counter for erroring out
1856         about mulitple files.
1857
1858 2005-10-21  Alan Modra  <amodra@bigpond.net.au>
1859
1860         PR target/24465
1861         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
1862         use r2 for 64-bit tls .got access.
1863
1864 2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
1865
1866         * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
1867         TRUTH_OR_EXPR.
1868
1869 2005-10-20  Steven Bosscher  <stevenb@suse.de>
1870
1871         PR tree-optimization/24307
1872         * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
1873
1874 2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
1875
1876         PR middle-end/24295
1877         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
1878         alias targets.
1879         * varasm.c (find_decl_and_mark_needed): After cgraph global info
1880         is ready, stop marking functions, but still mark variables.
1881
1882 2005-10-20  Richard Guenther  <rguenther@suse.de>
1883
1884         PR c++/24439
1885         * fold-const.c (invert_truthvalue): Handle COND_EXPR with
1886         void type operands.
1887
1888 2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1889
1890         PR rtl-optimization/23585
1891         * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
1892         (rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
1893         (may_trap_p_1): New predicate extracted from...
1894         (may_trap_p): ... here.  Invoke may_trap_p_1.
1895         (may_trap_or_fault_p): New predicate.
1896         * rtl.h (may_trap_or_fault_p): Declare it.
1897         * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
1898         instead of may_trap_p.
1899         (steal_delay_list_from_fallthrough): Likewise.
1900         (fill_simple_delay_slots): Likewise.
1901         (fill_slots_from_thread): Likewise.
1902         * function.c (pad_to_arg_alignment): Rework comment about
1903         SPARC_STACK_BOUNDARY_HACK.
1904         * config/sparc/sparc.h: Likewise.
1905
1906 2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
1907
1908         * config/s390/s390.c (s390_expand_insv): New.
1909         * config/s390/s390-protos.h (s390_expand_insv): Declare.
1910         * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
1911         ("icm_hi"): Remove mode attribute.
1912         ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
1913         Adjust all uses.
1914         ("*extracthi", "*extractqi"): Remove.
1915         (extv<mode>", "*extzv<mode>"): New.
1916         ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
1917         "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
1918
1919 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1920
1921         * cfgexpand.c (discover_nonconstant_array_refs_r,
1922         discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
1923         (tree_expand_cfg): Call discover_nonconstant_array_refs.
1924         * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
1925         discover_nonconstant_array_refs.
1926
1927 2005-10-19  Steven Bosscher  <stevenb@suse.de>
1928
1929         PR c/23228
1930         * c-decl.c (pop_scope): Don't warn about an unused variable
1931         if it is marked with TREE_NO_WARNING.
1932         (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
1933         somenow mismatch and olddecl is to be replaced.
1934
1935 2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1936
1937         PR middle-end/23199
1938         * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
1939         whether registers live on the edge can be saved/restored.
1940
1941 2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1942
1943         * config/sh/sh.c (fixup_mova): Skip notes.
1944
1945 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1946
1947         * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
1948         * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
1949         (s390_can_eliminate): Handle BASE_REGNUM elimination.
1950         (s390_initial_elimination_offset): Likewise.
1951         (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
1952         register on TARGET_ZARCH targets.
1953         * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
1954         (INITIAL_FRAME_POINTER_OFFSET): Remove.
1955         (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
1956         (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
1957
1958 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1959
1960         * config/s390/s390.md: Comment describing output modifiers updated.
1961         * config/s390/s390.c (print_operand): Likewise.
1962
1963 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1964
1965         * config/s390/s390.c (override_options): Added check for -mstack-size
1966         64k limitation.
1967         * doc/invoke.texi: Mention that limit in the documenation.
1968
1969 2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
1970
1971         PR #19672
1972         * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
1973
1974 2005-10-18  Daniel Berlin <dberlin@dberlin.org>
1975
1976         Fix PR tree-optimization/24231
1977
1978         * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
1979         (compute_avail): Ditto.
1980
1981 2005-10-18  Richard Henderson  <rth@redhat.com>
1982
1983         PR target/24428
1984         * config/i386/i386.c (legitimate_constant_p): Check
1985         SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
1986         if LABEL_REF.
1987         (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
1988         (legitimate_pic_address_disp_p): Reorg CONST checking to make
1989         sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
1990         directly.
1991         (print_operand_address): Likewise.
1992         * config/i386/predicates.md (x86_64_immediate_operand): Test
1993         SYMBOL_REF_TLS_MODEL properly inside CONST.
1994         (x86_64_zext_immediate_operand): Likewise.
1995         (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
1996         initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
1997         * config/i386/i386-protos.h: Remove predicates.md entries.
1998
1999 2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
2000
2001         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
2002         Check that elements of TYPE_METHODS are FUNCTION_DECLs.
2003
2004 2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2005             Ian Lance Taylor <ian@airs.com>
2006
2007         PR middle-end/23522
2008         * fold-const.c (fold_widened_comparison): Do not allow range based
2009         constant folding when right operand cannot be unwidened.
2010
2011 2005-10-17  Richard Henderson  <rth@redhat.com>
2012
2013         * builtins.c (expand_builtin_synchronize): Build a new-style asm
2014         with a memory clobber.
2015
2016 2005-10-17  James E Wilson  <wilson@specifix.com>
2017
2018         PR rtl-optimization/17356
2019         * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
2020         checking for EDGE_EH.
2021
2022 2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2023
2024         * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
2025         the slot on an even boundary for any type with 16-byte alignment.
2026
2027 2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
2028
2029         PR target/23424
2030         * md.texi (Modifiers) <%>: Clarify that % doesn't work
2031         after register allocation.
2032
2033 2005-10-17  DJ Delorie  <dj@redhat.com>
2034
2035         * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
2036         as frame related.
2037
2038 2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
2039
2040         PR c++/22551
2041         * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
2042         overflow flags.
2043
2044 2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
2045
2046         * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
2047         to 2 if it's already non-zero.
2048         (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
2049         is set and warn about it if flag_schedule_insns is 1.
2050
2051 2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
2052
2053         * config/crx/crx.md: Compare-and-branch instructions need to
2054         invalidate CC.
2055
2056 2005-10-17  Uros Bizjak  <uros@kss-loka.si>
2057
2058         PR target/24315
2059         * config/i386/i386.md (*pushdi2_rex64 splitter)
2060         (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
2061         (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
2062         flow2 pass only when (optimize > 0 && flag_peephole2).
2063
2064 2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
2065
2066         PR driver/22544
2067         * gcc.c (have_c): New static variable.
2068         (have_o): Likewise.
2069         (process_command): Remove declation of have_c.
2070         Set have_o to 1 when handling -o.
2071         (main): Add a fatel error if there are multiple
2072         files specified and -o and -c/-S is passed witout
2073         -combine or multiple languages.
2074
2075 2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
2076
2077         Fix PR tree-optimization/22444
2078         * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
2079         Assert that we don't hit something with subvars.
2080         (setup_pointers_and_addressables): Don't add things with subvars,
2081         because we'll already process the subvars for aliasing purposes.
2082
2083 2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
2084
2085         PR target/23424
2086         * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
2087         ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
2088         ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
2089         ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
2090         ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
2091         swapped, alternatives for the R constraint.
2092
2093         PR middle-end/24341
2094         * builtins.c (get_builtin_sync_mode): Make unlimited
2095         mode_for_size request.
2096
2097 2005-10-15  Richard Henderson  <rth@redhat.com>
2098
2099         * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
2100         (gimplify_expr): ... here.
2101         (gimplify_compound_lval): Use it in initial scan loop.  Allow
2102         fb_lvalue in base expression.
2103
2104 2005-10-15  Richard Henderson  <rth@redhat.com>
2105
2106         PR 23714
2107         * builtins.c (expand_builtin_trap): Export.
2108         * expr.h (expand_builtin_trap): Declare.
2109         * expr.c (expand_assignment): Emit a trap for integral offsets 
2110         from registers that weren't reduced to bitpos.
2111
2112         * tree-cfg.c (mark_array_ref_addressable_1): Remove.
2113         (mark_array_ref_addressable): Remove.
2114         * tree-flow.h (mark_array_ref_addressable): Remove.
2115         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
2116
2117 2005-10-15  James E Wilson  <wilson@specifix.com>
2118
2119         PR target/24232
2120         * sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
2121         (add_dependence_list_and_free): Likewise.
2122         (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
2123         call.
2124
2125 2005-10-15  Diego Novillo  <dnovillo@redhat.com>
2126
2127         PR 23141
2128         PR 23142
2129         * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
2130         sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
2131         anti-range.
2132         (vrp_visit_phi_node): Only prevent infinite iterations when
2133         the previous result and the new result are both VR_RANGEs.
2134
2135 2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
2136
2137         * tree-into-ssa.c (mark_def_sites): Correct minor typo in
2138         function comment.
2139
2140 2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2141
2142         PR c/23439
2143         * c-parser.c (c_parser_for_statement): Use location of RID_FOR
2144         to initialize loc.
2145
2146 2005-10-14  Per Bothner  <per@bothner.com>
2147
2148         PR preprocessor/21250
2149         * c-ppoutput.c (print_line): Print internal line 0 as 1.
2150
2151 2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
2152
2153         PR c++/22551
2154         * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
2155         overflow flags.  Refactor some conditionals.
2156
2157 2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
2158
2159         PR tree-opt/21304
2160         * tree-dfa.c (add_referenced_var): Only look at decls which
2161         have TREE_CONSTANT or TREE_READONLY set instead of if
2162         !TREE_PUBLIC or !TREE_CONSTANT.
2163
2164 2005-10-13  James E Wilson  <wilson@specifix.com>
2165
2166         * doc/invoke.texi: For -x, add f95-cpp-input.
2167         * doc/install.texi: For --enable-languages doc, change f95 to fortran.
2168
2169 2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
2170
2171         PR tree-optimization/24262
2172         * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
2173         in loop all the time.
2174
2175 2005-10-12  Richard Henderson  <rth@redhat.com>
2176
2177         PR c/24255
2178         * tree.h (DECL_TRANSPARENT_UNION): Remove.
2179         * function.c (assign_parm_find_data_types): Don't support it.
2180         * print-tree.c (print_node): Likewise.
2181         * c-common.c (handle_transparent_union_attribute): Likewise.
2182         Use build_duplicate_type.
2183         * tree-inline.c (remap_type_1): Split out of remap_type;
2184         properly remap aggregate fields.
2185         (build_duplicate_type): New.
2186         * doc/extend.texi (Variable Attributes): Remove documentation
2187         for transparent_union.
2188
2189 2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2190
2191         PR target/24284
2192         * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
2193         (gen_stack_pointer_dec): Likewise.
2194
2195 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
2196
2197         PR middle-end/21275
2198         PR middle-end/21766
2199         * target.h (struct gcc_target): Add valid_dllimport_attribute_p
2200         target hook.
2201         (struct cxx): Add adjust_class_at_definition target hook.
2202         * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
2203         defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
2204         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
2205         hook_void_tree. Add to TARGET_CXX.
2206         * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
2207         dllimport_flag.
2208         (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
2209         * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
2210         instead of attribute. Check for dllexport override.  Warn if
2211         inconsistent dll linkage. Don't lose old dllimport if decl has
2212         had address referenced.   Tweak lookup of dllimport atribute.  
2213         (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
2214         for target specific rules.  Don't add dllimport attribute if
2215         DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
2216         dllimport attribute. 
2217         (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
2218         * varasm.c (initializer_constant_valid_p): Replace
2219         DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
2220
2221         PR target/21801
2222         PR target/23589
2223         * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
2224         'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
2225         (i[34567]86-*-mingw32*): Likewise.
2226
2227         * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
2228         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
2229                         
2230         * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
2231         C++-specific code. Change return value to bool. 
2232         (i386_pe_dllimport_p): Likewise.
2233         (associated_type): Simplify and make language-independent
2234         (i386_pe_encode_section_info): Replace override of ambiguous
2235         dllimport symbol refs with a gcc_assert.
2236         (i386_pe_valid_dllimport_attribute_p): Define.
2237         * config/i386/winnt-cxx.c: New file. Define C++ versions of
2238         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
2239         i386_pe_adjust_class_at_definition.
2240         * config/i386/winnt-stubs.c: New file. Define stub versions of
2241         lang-specific functions.
2242         * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
2243         i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
2244         i386_pe_adjust_class_at_definition.
2245         (i386_pe_valid_dllimport_attribute_p): Declare. 
2246         * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
2247         (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
2248         * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
2249
2250         PR target/19704
2251         * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
2252         dllimport attribute with test of DECL_DLLIMPORT_P.
2253
2254 2005-10-12  Adrian Straetling <straetling@de.ibm.com>
2255
2256         * combine.c (make_extraction): Correct offset computation.
2257
2258 2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
2259
2260         * config/cris/t-linux (LIMITS_H_TEST): Define.
2261
2262 2005-10-12  Richard Henderson  <rth@redhat.com>
2263
2264         PR rtl-opt/23324
2265         * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
2266
2267 2005-10-12  Richard Guenther  <rguenther@suse.de>
2268
2269         * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
2270
2271 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
2272
2273         PR c++/19964
2274         * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
2275         DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
2276         type.
2277
2278 2005-10-12  Richard Guenther  <rguenther@suse.de>
2279
2280         PR c++/23799
2281         * varasm.c (output_constant): Correct typo from previous
2282         patch by DJ.
2283
2284 2005-10-11  Ian Lance Taylor  <ian@airs.com>
2285
2286         PR rtl-optimization/13931
2287         * combine.c: Revert patch of 2003-05-14, and:
2288         (try_combine): Only set elim_i1 and elim_i2 if the destination is
2289         completely killed in the appropriate insn.
2290         (distribute_notes): Don't skip multiple hard register test for
2291         elim_i1 and elim_i2.
2292
2293 2005-10-11  Richard Henderson  <rth@redhat.com>
2294
2295         PR c/24255
2296         * c-typeck.c (convert_for_assignment): Use build_constructor_single
2297         to initialize a transparent union instead of a nop_expr.
2298
2299 2005-10-11  Richard Henderson  <rth@redhat.com>
2300
2301         * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
2302         * tree-ssa-dce.c: Include tree-scalar-evolution.h.
2303         (tree_ssa_dce_loop): Call scev_reset.
2304
2305         PR tree-opt/24300
2306         * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
2307         * tree-ssa-dce.c: Include cfgloop.h.
2308         (tree_ssa_dce_loop, pass_dce_loop): New.
2309         * tree-pass.h (pass_dce_loop): Declare it.
2310         * passes.c (init_optimization_passes): Use it.
2311
2312 2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2313
2314         PR middle-end/24263 
2315         * convert.c (convert_to_real): Revert 2005-10-05 patch.
2316         Only apply the optimization for rounding builtins if the inner
2317         cast is also an extension.
2318
2319 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
2320
2321         PR tree-opt/23946
2322         * tree-ssa-ccp.c (execute_fold_all_builtins): Call
2323         mark_new_vars_to_rename instead of update_stmt.
2324
2325 2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
2326
2327         * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
2328
2329 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
2330
2331         * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
2332         for setting MMX register to 0 rather than mmx.
2333
2334 2005-10-10  Steve Ellcey  <sje@cup.hp.com>
2335
2336         PR target/12098
2337         * configure.ac: Move gas check from mips specific case to common case.
2338         Do check for GNU as for mips*-*-* and *-*-hpux* targets.
2339         * configure: Regenerate
2340         * doc/install.texi: Update.
2341
2342 2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2343
2344         PR target/24284
2345         * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
2346
2347 2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
2348
2349         * gcc.c (do_spec_1): Accept numeric characters in file name
2350         suffixes.
2351
2352 2005-10-10  Nick Clifton  <nickc@redhat.com>
2353
2354         * config/arm/arm.c: Remove extraneous whitespace.  Remove comment
2355         describing the deleted arm_gen_rotated_half_load function.
2356
2357 2005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
2358
2359         * config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
2360         __fpscr_values.
2361
2362 2005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
2363
2364         * config.gcc (arm*-*-linux*): Remove redundant extra_parts and
2365         gnu_ld assignments.
2366         * config/arm/t-linux-eabi (LIB1ASMFUNCS)
2367         (EXTRA_MULTILIB_PARTS): Define.
2368         * config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
2369         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
2370         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
2371         * config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
2372         (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
2373         (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
2374
2375 2005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
2376
2377         PR tree-optimization/24226
2378         * tree-cfg.c (remove_bb): Clean up unreachable loops.
2379         * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
2380         * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
2381         Export.
2382
2383 2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2384
2385         * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
2386
2387 2005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2388
2389         PR target/24136
2390         * config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
2391         Rewrite for no need for the early clobber.
2392
2393 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
2394
2395         Merge from csl-arm-branch:
2396         2005-09-07  Paul Brook  <paul@codesourcery.com>
2397         * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
2398         space to string.
2399
2400         2005-04-30  Paul Brook  <paul@codesourcery.com>
2401         * config/arm/bpabi.h (TARGET_DEFAULT): Define.
2402         * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
2403
2404         2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
2405         * config/arm/arm.c (arm_all_abis): Add aapcs-linux.
2406         (arm_override_options): Use TARGET_AAPCS_BASED.
2407         * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
2408         (PTRDIFF_TYPE): Use int for AAPCS.
2409         (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
2410         * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
2411         (DEFAULT_SHORT_ENUMS): Delete.
2412         * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
2413
2414         2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
2415         * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
2416         * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
2417         * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
2418
2419         2004-12-03  Mark Mitchell  <mark@codesourcery.com>
2420         * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
2421
2422         2004-11-22  Mark Mitchell  <mark@codesourcery.com>
2423         * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
2424  
2425         2004-11-19  Mark Mitchell  <mark@codesourcery.com>
2426         * config.gcc (arm*-*-linux-gnueabi): Add it.
2427         * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
2428         redefining it.
2429         (TARGET_OS_CPP_BUILTINS): Likeiwse.
2430         * config/arm/linux-eabi.h: New file.
2431         * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
2432         (LINUX_TARET_LINK_SPEC): Likewise.
2433         (LINK_SPEC): Use it.
2434         * config/arm/t-linux-eabi: New file.
2435
2436 2005-10-08  Steven Bosscher  <stevenb@suse.de>
2437
2438         PR other/22202
2439         * params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
2440         spaces.
2441         (PARAM_SMS_DFA_HISTORY): Likewise.
2442
2443 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
2444
2445         PR middle-end/23150
2446         * calls.c (mem_overlaps_already_clobbered_arg_p): New.
2447         (load_register_parameters): Call it.
2448         (check_sibcall_argument_overlap_1): Likewise.
2449         (store_one_arg): Likewise.
2450
2451 2005-10-07  James E. Wilson  <wilson@specifix.com>
2452
2453         * config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
2454         DImode not VECINT24 for operand 2.
2455
2456         PR target/23644
2457         * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
2458         -mtune-arch.
2459
2460         PR target/24193
2461         * config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
2462         fr_spill): Use destination_operand for operand 0.
2463
2464 2005-10-07  DJ Delorie  <dj@redhat.com>
2465
2466         * varasm.c (output_constant): Limit error to expanding
2467         conversions.
2468
2469 2005-10-07  Richard Guenther  <rguenther@suse.de>
2470
2471         PR middle-end/24227
2472         * fold-const.c (fold_binary): Fix operand types during folding
2473         of X op (A, Y).  Evaluation order of the side-effects of
2474         X and A are frontend-defined, so ensure we honour that even for
2475         tcc_comparison class operands; eased by removing duplicate code.
2476
2477 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
2478
2479         * stor-layout.c (layout_type): Do not allow alignment of array
2480         elements to be greater than their size.
2481
2482 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
2483
2484         * config.host (hppa*-*-hpux*): Change out_host_hook_obj and
2485         host_xmake_file.
2486         (hppa*-*-linux*): Ditto.
2487         (ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
2488         * config/host-hpux.c: New.
2489         * config/x-hpux: New.
2490         * config/pa/x-hpux: Remove.
2491         * config/pa/x-linux: Remove.
2492         * config/pa/pa-host.c: Remove.
2493
2494 2005-10-07  Jeff Law  <law@redhat.com>
2495
2496         * tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
2497         determine whether or not to try and thread outgoing edges.
2498
2499 2005-10-07  David Edelsohn  <edelsohn@gnu.org>
2500
2501         * config/rs6000/rs6000.md (eqsi_power): New.
2502         (neg_eq0si): Add TARGET_POWER to final condition.
2503         (neg_eqsi): Same.
2504
2505 2005-10-06  Richard Henderson  <rth@redhat.com>
2506
2507         * config/rs6000/rs6000.c: Revert last change.
2508
2509 2005-10-06  Richard Henderson  <rth@redhat.com>
2510
2511         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
2512         (TARGET_CANNOT_FORCE_CONST_MEM): Use it.
2513
2514 2005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
2515
2516         PR middle-end/22216
2517         PR middle-end/23651
2518         * cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
2519         out return_label and naked_return_label.
2520
2521 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
2522         
2523         * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
2524         change.
2525
2526 2005-10-06  Richard Henderson  <rth@redhat.com>
2527
2528         PR tree-opt/22237
2529         * tree-inline.c (declare_return_variable): Handle modify_dest not
2530         being a DECL.
2531
2532 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
2533         
2534         Fix PR tree-optimization/22488
2535         * tree-ssa-structalias.c (check_for_overlaps): New function.
2536         (create_variable_info_for): Use it.
2537
2538 2005-10-06  Richard Henderson  <rth@redhat.com>
2539
2540         PR debug/24070
2541         * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
2542         (dwarf2out_start_source_file): Print it.
2543
2544 2005-10-06  Geoffrey Keating  <geoffk@apple.com>
2545
2546         * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
2547
2548 2005-10-06  Richard Henderson  <rth@redhat.com>
2549
2550         PR 23706
2551         * mode-switching.c (optimize_mode_switching): Clear transp bit
2552         for block with incomming abnormal edges.
2553
2554         * config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
2555         (fpscr_set_from_mem): Use them.
2556         * config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
2557         (fpscr postinc splitters): Rewrite as peephole2+split.
2558
2559 2005-10-06  David Edelsohn  <edelsohn@gnu.org>
2560
2561         * config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
2562         (eq<mode>_compare): Same.
2563
2564 2005-10-06  Richard Guenther  <rguenther@suse.de>
2565
2566         PR tree-optimization/24238
2567         * tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
2568
2569 2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
2570
2571         * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
2572         here.  Use AC_PATH_PROG for environment variables instead of
2573         test -x.
2574         * configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
2575         objdump also.
2576         * configure: Regenerated.
2577
2578 2005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
2579
2580         PR target/23783
2581         * arm.md (call): If the address isn't a SYMBOL_REF or a register,
2582         then force it into a register.
2583         (call_value): Likewise.
2584
2585 2005-10-06  Richard Henderson  <rth@redhat.com>
2586
2587         PR 24049
2588         * passes.c (init_optimization_passes): Move pass_lower_vector_ssa
2589         under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
2590         under pass_vectorize.
2591
2592 2005-10-05  Devang Patel  <dpatel@apple.com>
2593
2594         PR Debug/23205
2595         * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
2596         handling constants. Check NAMESPACE_DECL context for constants.
2597         
2598 2005-10-05  Eric Christopher  <echristo@apple.com>
2599
2600         * doc/md.texi (Standard Names): Fix name of pushm1 pattern.
2601
2602 2005-10-05  Richard Henderson  <rth@redhat.com>
2603
2604         PR 23714
2605         * tree-cfg.c (mark_array_ref_addressable_1): New.
2606         (mark_array_ref_addressable): New.
2607         * tree-flow.h (mark_array_ref_addressable): Declare.
2608         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
2609
2610 2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
2611
2612         PR middle-end/20606
2613         PR middle-end/24069
2614         * reload.c (subst_reloads): When adding a REG_LABEL to a
2615         jump instruction, also update JUMP_LABEL.
2616
2617 2005-10-05  David Edelsohn  <edelsohn@gnu.org>
2618
2619         * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
2620         * bb-reorder.c (copy_bb_p): Use it.
2621         * doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
2622
2623 2005-10-05  Richard Henderson  <rth@redhat.com>
2624
2625         PR target/23602
2626         * toplev.c (process_options): Warn about unsupported combinations
2627         of unwind tables and omit-frame-pointer.
2628         * config/i386/i386.c (override_options): Similarly.  Enable
2629         accumulate-outgoing-args if not explicitly disabled.
2630
2631 2005-10-05  Steve Ellcey  <sje@cup.hp.com>
2632
2633         * vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
2634         Handle big endian vs. small endian.
2635         (vec_initv2sf): Handle big endian vs. small endian.
2636         (*vec_extractv2sf_1): Ditto.
2637
2638 2005-10-05  Dale Johannesen  <dalej@apple.com>
2639
2640         * convert.c (convert_to_real):  Don't convert
2641         (float)floor(double d) to floorf((float)d).
2642
2643 2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
2644
2645         * config/arm/arm.md (insv): Use gen_int_mode in more places.
2646
2647 2005-10-05  Andrew MacLeod  <amacleod@redhat.com>
2648
2649         PR tree-optimization/18587
2650         * tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
2651         (build_defs, build_uses, build_v_may_defs, build_v_must_defs,
2652         build_vuses): Change to VEC type.
2653         (opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
2654         opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
2655         opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
2656         opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
2657         (get_name_decl): New.  Return DECL_UID of base variable.
2658         (operand_build_cmp): New.  qsort comparison routine.
2659         (operand_build_sort_virtual): New.  Sort virtual build vector.
2660         (init_ssa_operands, fini_ssa_operands): Use VEC routines.
2661         (FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
2662         (FINALIZE_BASE): Use get_name_decl.
2663         (finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
2664         finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
2665         (start_ssa_stmt_operands, append_def, append_use, append_vuse,
2666         append_v_may_def, append_v_must_def): Replace opbuild_* routines with
2667         direct VEC_* manipulations.
2668         (build_ssa_operands): Call operand_build_sort_virtual.
2669         (copy_virtual_operand, create_ssa_artficial_load_stmt,
2670         add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
2671         with direct VEC_* manipulations.
2672         * tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
2673         with direct VEC manipulations.
2674
2675 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
2676
2677         PR tree-optimization/21419
2678         PR tree-optimization/24146
2679         PR tree-optimization/24151
2680
2681         * c-typeck.c (readonly_error): Handle USE being lv_asm.
2682         (build_asm_expr): Call it if outputs are read-only.
2683         * gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
2684
2685 2005-10-05  Billy Biggs  <billy.biggs@gmail.com>
2686             Paolo Bonzini  <bonzini@gnu.org>
2687
2688         PR target/23809
2689
2690         * doc/extend.texi (x86 Built-ins): Document that -msse and friends
2691         enable the instructions and not just the built-ins.
2692         * doc/invoke.texi (x86 Options): Likewise.
2693
2694 2005-10-04  Geoffrey Keating  <geoffk@apple.com>
2695
2696         * config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
2697
2698         * doc/invoke.texi (Option Summary): Correct spelling
2699         of -mmacosx-version-min.
2700
2701 2005-10-04  Devang Patel  <dpatel@apple.com>
2702
2703         * c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
2704         real types.
2705
2706 2005-10-04  Steve Ellcey  <sje@cup.hp.com>
2707
2708         * tree-vect-transform.c (vect_create_epilog_for_reduction):
2709         Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
2710
2711 2005-10-04  Adrian Straetling  <straetling@de.ibm.com>
2712
2713         * config/s390/s390.md ("TDSI","DP"): New mode macros.
2714         ("TE","tg"): New mode attributes.
2715         ("sync_compare_and_swap<mode>"): Replace with a define_expand.
2716         ("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
2717         ("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
2718         dword_mode and one for GPRmode.
2719
2720 2005-10-04  Ian Lance Taylor  <ian@airs.com>
2721
2722         PR preprocessor/13726
2723         * c-ppoutput.c (cb_include): Add comments parameter, and print out
2724         any comments passed in.
2725
2726 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2727
2728         * tree.c (annotate_with_file_line): Fix typo.
2729
2730 2005-10-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2731
2732         PR ada/19382
2733         * builtins.c (fold_builtin_memcmp): When constructing the pointer
2734         type used to access data in the inlined length == 1 case, use
2735         build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
2736         (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
2737
2738 2005-10-04  Uros Bizjak  <uros@kss-loka.si>
2739
2740         * config/i386/i386.h (TARGET_FISTTP): Enable also for
2741         TARGET_SSE3 and only for TARGET_80387.
2742         * config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
2743         (fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
2744         Do not depend on TARGET_80387.
2745
2746 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2747
2748         * tree.c (last_annotated_node): Change type to location_t*.
2749         (annotate_with_file_line): Reflect the change of
2750         last_annotated_node type.
2751
2752 2005-10-04  Richard Guenther  <rguenther@suse.de>
2753
2754         PR c/23576
2755         * c-decl.c (grokdeclarator): Don't write to fields
2756         of error_mark_node.
2757
2758 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2759
2760         PR middle-end/23125
2761         * c-decl.c (finish_decl): Use set_user_assembler_name even for
2762         register variables.
2763         * varasm.c (make_decl_rtl): If a register variable does not
2764         have a set user assmbler name, error out.
2765         Decode the asmspec is now name+1 bypassing '*'.
2766
2767 2005-10-04  Steven Bosscher  <stevenb@suse.de>
2768
2769         PR tree-optimization/23049
2770         * tree-ssa-dom.c (thread_across_edge): Make sure that the condition
2771         of a COND_EXPR is folded before calling fold on the whole rhs of a
2772         conditional assignment.
2773         * doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
2774         document that a COND_EXPR may appear there.
2775
2776 2005-10-03  Diego Novillo  <dnovillo@redhat.com>
2777
2778         PR 23445
2779         * tree-vrp.c (extract_range_from_assert): If the new numeric
2780         range created out of the assertion contradicts the existing
2781         numeric range of the ASSERT_EXPR variable, make the new range
2782         varying.
2783
2784 2005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2785
2786         * config/sh/sh.c (sh_register_move_cost): Add case for moving
2787         from T_REGS to FP register class.
2788
2789 2005-10-03  Richard Henderson  <rth@redhat.com>
2790
2791         PR 24135
2792         * tree-nested.c (convert_nl_goto_reference): Lookup a translation
2793         before creating a new one.
2794
2795 2005-10-03  David Edelsohn  <edelsohn@gnu.org>
2796
2797         * config/rs6000/t-aix43 (LDFLAGS): New.
2798         * config/rs6000/t-aix52 (LDFLAGS): New.
2799
2800 2005-10-03  Ian Lance Taylor  <ian@airs.com>
2801
2802         * gimplify.c (find_single_pointer_decl_1): New static function.
2803         (find_single_pointer_decl): New static function.
2804         (internal_get_tmp_var): For a formal variable, set restrict base
2805         information if appropriate.
2806         * alias.c (find_base_decl): If a VAR_DECL has a restrict base,
2807         return it.
2808         * tree.h (DECL_BASED_ON_RESTRICT_P): Define.
2809         (DECL_GET_RESTRICT_BASE): Define.
2810         (SET_DECL_RESTRICT_BASE): Define.
2811         (decl_restrict_base_lookup): Declare.
2812         (decl_restrict_base_insert): Declare.
2813         (struct tree_decl_with_vis): Add based_on_restrict_p field.
2814         * tree.c (restrict_base_for_decl): New static variable.
2815         (init_ttree): Initialize restrict_base_for_decl.
2816         (copy_node_stat): Copy restrict base information.
2817         (decl_restrict_base_lookup): New function.
2818         (decl_restrict_base_insert): New function.
2819         (print_restrict_base_statistics): New static function.
2820         (dump_tree_statistics): Call print_restrict_base_statistics.
2821
2822 2005-10-02  Diego Novillo  <dnovillo@redhat.com>
2823
2824         PR 24142
2825         * tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
2826         case of anti-ranges.
2827
2828 2005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>
2829
2830         PR c/18851
2831         * c-typeck.c (tagged_tu_seen): Rename to ...
2832         (tagged_tu_seen_cache): this and add val field.
2833         (comptypes): Move functional to comptypes_internal
2834         and free tagged_tu_seen.
2835         (comptypes_internal): New function and call comptypes_internal
2836         instead of comptypes. Speed up by sibcalling
2837         tagged_types_tu_compatible_p.
2838         (alloc_tagged_tu_seen): New function
2839         (free_all_tagged_tu_seen_up_to): New function.
2840         (tagged_types_tu_compatible_p): Return the val of the seen two
2841         types.
2842         Add that the two types are the same to tagged_tu_seen_base
2843         if they are and call comptypes_internal instead of comptypes.
2844         <case UNION_TYPE>: Speed up common type where the fields are
2845         in the same order.
2846         (function_types_compatible_p): Call comptypes_internal instead of
2847         comptypes.
2848         (type_lists_compatible_p): Likewise.
2849         (all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
2850
2851 2005-10-02  Matthias Klose  <doko@debian.org>
2852
2853         * doc/invoke.texi: Fix typo and speling error.
2854
2855 2005-10-01  Richard Henderson  <rth@redhat.com>
2856
2857         * tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
2858
2859 2005-10-01  Mark Mitchell  <mark@codesourcery.com>
2860
2861         * config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
2862         using --start-group and --end-group.
2863
2864 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
2865
2866         * tree-vrp.c (value_inside_range, range_includes_zero_p): Add
2867         FIXME note regarding quirky semantics.
2868
2869 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
2870
2871         PR 24141
2872         * tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
2873         non-null range as a last resort.
2874
2875 2005-10-01  James A. Morrison  <phython@gcc.gnu.org>
2876             Diego Novillo  <dnovillo@redhat.com>
2877
2878         PR 23604
2879         * tree-vrp.c (extract_range_from_assert): For !=
2880         assertions, only build an anti-range if LIMIT is a
2881         single-valued range.
2882
2883 2005-09-30  Richard Earnshaw  <richard.earnshaw@arm.com>
2884
2885         * arm.md (movqi): On thumb when optimizing, handle loading from
2886         memory by describing this as taking a subreg of a zero-extended load
2887         into an SImode register.
2888         (movhi): Likewise.
2889
2890 2005-09-30  Daniel Jacobowitz  <dan@codesourcery.com>
2891
2892         * reload1.c (merge_assigned_reloads): Do not change any
2893         RELOAD_FOR_OUTPUT_ADDRESS reloads.
2894
2895 2005-09-30  Geoffrey Keating  <geoffk@apple.com>
2896
2897         * Makefile.in (LIPO_FOR_TARGET): Define.
2898         (STRIP_FOR_TARGET): Define.
2899
2900         * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
2901         before creating new ones.  Do symlinks before creating the actual
2902         targets.
2903
2904         * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
2905         to work out which multilibs are actually being built.
2906
2907 2005-09-30  Kazu Hirata  <kazu@codesourcery.com>
2908
2909         * tree-vect-transform.c, config/ms1/ms1.md,
2910         config/s390/s390.c, config/v850/v850.md: Fix comment typos.
2911         Follow spelling conventions.
2912         * doc/invoke.texi, doc/md.texi: Fix typos.
2913
2914 2005-09-30  Andrew Macleod  <amacleod@redat.com>
2915
2916         PR tree-optimization/21430
2917         * tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
2918         use operands, and set stmt pointer if need be.
2919         (FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
2920         tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
2921         present.
2922
2923 2005-09-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2924
2925         PR middle-end/24053
2926         * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
2927
2928 2005-09-29  Mark Mitchell  <mark@codesourcery.com>
2929
2930         * optabs.c (expand_binop): Initialize first_pass_p.
2931
2932 2005-09-29  Jakub Jelinek  <jakub@redhat.com>
2933
2934         PR middle-end/24109
2935         * c-decl.c (c_write_global_declarations_1): If any
2936         wrapup_global_declaration_2 call returned true, restart the loop.
2937
2938 2005-09-29  Daniel Berlin  <dberlin@dberlin.org>
2939
2940         Fix PR tree-optimization/24117
2941         * tree-ssa-structalias.c (find_func_aliases): Strip nops
2942         before considering whether to use anyoffset.
2943
2944 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
2945
2946         Revert this patch:
2947
2948         2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
2949
2950         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
2951         to order operands.
2952         (swap_commutative_operands_with_target): New.
2953
2954 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
2955
2956         PR c/21419
2957         * gimplify.c (gimplify_asm_expr): Raise an error if an output is
2958         read-only.
2959
2960 2005-09-29  Steven Bosscher  <stevenb@suse.de>
2961
2962         PR tree-optimization/23911
2963         * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
2964         and IMAGPART_EXPR too.
2965
2966 2005-09-28  Mark Mitchell  <mark@codesourcery.com>
2967
2968         PR 17886
2969         * expmed.c (expand_shift): Move logic to reverse rotation
2970         direction when  rotating by constants ...
2971         * optabs.c (expand_binop): ... here.
2972         * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
2973         (ix86_rotrdi3): New pattern.
2974         (rotldi3): Handle 32-bit mode.
2975         (ix86_rotldi3): New pattern.
2976
2977 2005-09-29  Alan Modra  <amodra@bigpond.net.au>
2978
2979         PR target/24102
2980         * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
2981         check for numbers that need no bit twiddle.
2982
2983 2005-09-28  Geoffrey Keating  <geoffk@apple.com>
2984
2985         * config/rs6000/t-darwin8: Uncomment contents, allow -m64
2986         multilib to be built.
2987
2988         * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
2989         (stage1-start): Delete old libgcc and libunwind before moving
2990         anything into the stage directory.
2991         (stage2-start): Likewise.
2992         (stage3-start): Likewise.
2993         (stage4-start): Likewise.
2994         (stageprofile-start): Likewise.
2995         (stagefeedback-start): Likewise.
2996         * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
2997         header in tm_file and CPU-specific t-darwin in tmake_file.
2998         (i[34567]86-*-darwin*): Don't change tm_file.
2999         (powerpc-*-darwin*): Don't change tm_file or tmake_file.
3000         * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
3001         shared library stub for target OS version.
3002         * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
3003         (SHLIB_LINK): Don't make SHLIB_SOLINK.
3004         (SHLIB_INSTALL): Don't install SHLIB_SOLINK.
3005         (libgcc_s.%.dylib): New.
3006         (LIBGCC): Define.
3007         (install-darwin-libgcc-stubs): New.
3008         (INSTALL_LIBGCC): New append.
3009         * config/i386/darwin-libgcc.10.4.ver: New.
3010         * config/i386/darwin-libgcc.10.5.ver: New.
3011         * config/i386/t-darwin: New.
3012         * config/rs6000/darwin-libgcc.10.4.ver: New.
3013         * config/rs6000/darwin-libgcc.10.5.ver: New.
3014         * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
3015         * config/rs6000/t-darwin (SHLIB_VERPFX): Define.
3016
3017 2005-09-28  Paul Brook  <paul@codesourcery.com>
3018
3019         * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
3020         denormals.
3021
3022 2005-09-28  Richard Guenther  <rguenther@suse.de>
3023
3024         PR tree-optimization/23853
3025         * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
3026         host_integerp to verify misalignment value.
3027
3028 2005-09-28  Richard Henderson  <rth@redhat.com>
3029
3030         * builtins.c (get_builtin_sync_mode): New.
3031         (expand_builtin_sync_operation): Pass in mode argument.
3032         (expand_builtin_compare_and_swap): Likewise.
3033         (expand_builtin_lock_test_and_set): Likewise.
3034         (expand_builtin_lock_release): Likewise.
3035         (expand_builtin): Update to match.
3036
3037 2005-09-28  Nick Clifton  <nickc@redhat.com>
3038
3039         * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
3040         formatting.  Add check to PLUS case to ensure that the offset is
3041         within an acceptable range.
3042
3043         * config/v850/v850.md (casesi): Disable the generation of the
3044         switch pattern as it is not being handled properly at the moment.
3045
3046         * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
3047         for when the high words are identical.
3048
3049 2005-09-27  Richard Henderson  <rth@redhat.com>
3050
3051         * pretty-print.c (pp_base_format): Fix typo for %>.
3052
3053 2005-09-27  Daniel Berlin  <dberlin@dberlin.org>
3054             Devang Patel  <dpatel@apple.com>
3055
3056         PR tree-optimization/23625
3057         * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
3058         LABEL_EXPR, assertion check.
3059
3060 2005-09-27  J"orn Rennecke <joern.rennecke@st.com>
3061
3062         * optabs.c (no_conflict_move_test): Check if a result of a
3063         to-be-moved insn would be clobbered by an originally
3064         preceding insn.
3065
3066 2005-09-27  Jeff Law  <law@redhat.com>
3067
3068         * passes.c (init_optimization_passes): Replace copy propagation
3069         passes immediately after DOM with phi-only copy propagation
3070         pases.  Add phi-only copy propagation pass after first DOM pass.
3071         * tree-pass.h (pass_phi_only_copy_prop): Declare.
3072         * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
3073         If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
3074         (execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
3075         to init_copy_prop.  Callers updated.
3076         (do_phi_only_copy_prop): New function.
3077         (pass_phi_only_copy_prop): New pass descriptor.
3078
3079 2005-09-27  Nick Clifton  <nickc@redhat.com>
3080
3081         * libgcc2.c (__popcount_tab): Remove redundant prototype.
3082
3083 2005-09-26  Jason Merrill  <jason@redhat.com>
3084
3085         PR c++/13764
3086         * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
3087
3088         * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
3089
3090 2005-09-26  James E Wilson  <wilson@specifix.com>
3091
3092         * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
3093         copyright.  Add gcc copyright plus libgcc exception.
3094         * config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
3095         copyright.
3096         * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
3097
3098 2005-09-26  Jeff Law  <law@redhat.com>
3099
3100         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
3101         about when to iterate.
3102
3103 2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
3104
3105         PR target/23847
3106         * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
3107         for __complex__ double in -mcpu=G5 mode.
3108
3109 2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
3110
3111         PR tree-optimization/23942
3112         * Makefile.in (SCEV_H): Depends on PARAMS_H.
3113         * tree-scalar-evolution.c: Include params.h.
3114         (t_bool): New enum.
3115         (follow_ssa_edge, follow_ssa_edge_in_rhs,
3116         follow_ssa_edge_in_condition_phi_branch,
3117         follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
3118         Change return type to t_bool.  Use a parameter to limit the size of
3119         trees that are walked before stopping
3120         (analyze_evolution_in_loop): Initialize the limit to 0.
3121         (follow_ssa_edge): Give up by returning t_dont_know if the limit
3122         exceeds PARAM_SCEV_MAX_EXPR_SIZE.
3123
3124 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
3125
3126         PR middle-end/23831
3127         * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
3128         simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
3129
3130 2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
3131
3132         * combine.c (make_extraction): Check for valid use of subreg.
3133
3134 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
3135
3136         PR target/24055
3137         * config/i386/i386.md ("*fistdi2_1"): New pattern.
3138         ("*fist<mode>2_1"): Use only HImode and SImode register operands.
3139         ("fist<mode>2_with_temp"): Use only register operands.
3140
3141 2005-09-26  J"orn Rennecke <joern.rennecke@st.com>
3142
3143         * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
3144         CALL_INSN_FUNCTION_USAGE.
3145
3146 2005-09-26  Richard Guenther  <rguenther@suse.de>
3147
3148         PR middle-end/15855
3149         * gcse.c: Include hashtab.h, define ldst entry hashtable.
3150         (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
3151         (ldst_entry): Use the hashtable instead of list-walking.
3152         (find_rtx_in_ldst): Likewise.
3153         (free_ldst_entry): Free the hashtable.
3154         (compute_ld_motion_mems): Create the hashtable.
3155         (trim_ld_motion_mems): Remove entry from hashtable if
3156         removing it from list.
3157         (compute_store_table): Likewise^2.
3158         (store_motion): Free hashtable in case we did not see
3159         any stores.
3160
3161 2005-09-25  Kazu Hirata  <kazu@codesourcery.com>
3162
3163         * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
3164         and arg1 if we are passing them to fold_build2.
3165
3166 2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
3167
3168         PR 23828
3169         * config/i386/i386.c (ix86_function_regparm): Fix the test for
3170         a nested function.
3171
3172 2005-09-25  Richard Henderson  <rth@redhat.com>
3173
3174         * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
3175         SYMBOL_REF_TLS_MODEL to be correct.
3176
3177 2005-09-24  Richard Henderson  <rth@redhat.com>
3178
3179         * ipa-type-escape.c (discover_unique_type): Remove dead code at
3180         end of function.  Reindent.
3181
3182 2005-09-24  Ian Lance Taylor  <ian@airs.com>
3183
3184         * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
3185         NEGATE_EXPR/BIT_NOT_EXPR case.
3186
3187 2005-09-24  Richard Henderson  <rth@redhat.com>
3188
3189         * c-common.c (handle_mode_attribute): When not modifying in place,
3190         create subtypes for enumerations.
3191         (sync_resolve_return): Use TYPE_MAIN_VARIANT.
3192         * gimplify.c (create_tmp_from_val): Likewise.
3193
3194 2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
3195
3196         * config/i386/i386.md (*tls_global_dynamic_64,
3197         *tls_local_dynamic_base_64): Add missing mode to call.
3198         (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
3199
3200 2005-09-24  Jan Hubicka  <jh@suse.cz>
3201
3202         * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
3203         (cgraph_clone_node): Likewise.
3204         * cgraph.h (cgraph_clone_edge): Update prototype.
3205         (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
3206         duplicated prototypes; add updating argument.
3207         * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
3208         * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
3209         updating profile.
3210         (cgraph_mark_inline_edge): Likewise.
3211         (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
3212         (cgraph_flatten_node): Likewise.
3213         (cgraph_decide_recursive_inlining): Likewise.
3214         (cgraph_decide_inlining_of_small_function): Likewise.
3215         * tree-optimize.c (tree_rest_of_compilation): Likewise.
3216
3217 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
3218             Pete Steinmetz <steinmtz@us.ibm.com>
3219
3220         * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
3221         (rldic.): Set type to "compare".
3222         (rldicr.): Same.
3223         (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
3224         mfjmpr for MFCTR/MFLR.
3225         (movdf_hardfloat64): Same.
3226         (movdf_softfloat64): Same.  Correct order of store and move types.
3227         (movti_string): Set type to store_ux/load_ux.
3228         (load_multiple): Set type to load_ux.
3229         (store_multiple): Set type to store_ux.
3230         (movmemsi): Set type to store_ux.
3231         (output_cbranch direct_return): Set type to jmpreg.
3232         (stmw): Set type to store_ux.
3233         (lmw): Set type to load_ux.
3234         * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
3235         * config/rs6000/440.md (ppc440-store): Increase latency to 6.
3236         * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
3237         * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
3238         * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
3239         * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
3240         (rios1-fpstore): Increase latency to 3.
3241         * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
3242         * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
3243
3244 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
3245             Andrew Pinski  <pinskia@physics.uc.edu>
3246
3247         * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
3248         operand2 constraint to "b".
3249         (sync_<fetchop_name>di_internal): Same.
3250         (sync_old_<fetchop_name>si_internal): Change operand3 constraint
3251         to "b".
3252         (sync_old_<fetchop_name>di_internal): Same.
3253         (sync_new_<fetchop_name>si_internal): Same.
3254         (sync_new_<fetchop_name>di_internal): Same.
3255
3256 2005-09-23  J"orn Rennecke <joern.rennecke@st.com>
3257
3258         PR middle-end/23991
3259         * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
3260         case, define as macros.
3261
3262         PR rtl-optimization/23837
3263         *  optabs.c (no_conflict_move_test): Don't set must_stay for a
3264         clobber / clobber match between dest and p->first.
3265
3266         * optabs.c (emit_libcall_block): Use no_conflict_move_test.
3267         (no_conflict_move_test): Update comments.
3268
3269 2005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
3270
3271         * doc/install.texi: Update URL for Jacks.
3272         * doc/sourcebuild.texi: Likewise.
3273
3274 2005-09-22  David Edelsohn  <edelsohn@gnu.org>
3275
3276         PR target/24007
3277         * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
3278         registers when choosing register preferences.
3279         (movdf_hardfloat64): Same.
3280
3281 2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
3282
3283         * expmed.c (expand_shift): Don't use the target of the rotate as
3284         target for the first expanded shift insn.
3285         * testsuite/gcc.dg/20050922-1.c: Testcase added.
3286
3287 2005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
3288
3289         PR tree-optimization/22438
3290         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
3291         preserved iv rhs rewriting specially.
3292
3293 2005-09-21  Daniel Berlin  <dberlin@dberlin.org>
3294
3295         * tree-data-ref.c (analyze_array_indexes): Only estimate when
3296         estimate_only  is true.
3297         * tree-flow.h (ref_contains_indirect_ref): New prototype.
3298         * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
3299         tree-ssa-structalias.c
3300         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
3301         ref_contains_indirect_ref.
3302         * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
3303
3304 2005-09-21  DJ Delorie  <dj@redhat.com>
3305
3306         * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
3307         MASK_PTR_A0D0.
3308         (mn10300_return_in_memory): Support variable size types also.
3309         (mn10300_pass_by_reference): Likewise.
3310         (mn10300_function_value): New.
3311         * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
3312         (FUNCTION_OUTGOING_VALUE): Likewise.
3313         * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
3314         * doc/invoke.texi: Document it.
3315
3316 2005-09-21  Uros Bizjak  <uros@kss-loka.si>
3317
3318         PR target/22585
3319         * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
3320         force integer op1 into register for XFmode compares.
3321
3322 2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
3323
3324         PR middle-end/23971
3325         * expmed.c (alg_code): Add alg_impossible.
3326         (alg_hash_entry): Add cost.
3327         (synth_mult): Record alg_impossible in the hash table if
3328         multiplication by a given integer is impossble within the
3329         limit.  Speed up using alg_impossible.
3330
3331 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
3332
3333         * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
3334         argument.  Allow and set any offset if needs_anyoffset is passed
3335         in.
3336         (get_constraint_for): Add argument here too.
3337         Pass it down.
3338         (do_structure_copy): Pass NULL to get_constraint_for.
3339         (handle_ptr_arith): Ditto.
3340         (find_func_aliases): Ditto.
3341
3342 2005-09-20  J"orn Rennecke <joern.rennecke@st.com>
3343
3344         PR rtl-optimization/23898
3345         * output.h (get_attr_min_length): Declare.
3346         * final.c (get_attr_length_1): New function, broken out of:
3347         (get_attr_length).
3348         (get_attr_min_length): New function.
3349         * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
3350         (duplicate_computed_gotos): Likewise.
3351         * genattr.c (insn_min_length): Generate declaration.
3352         * genattrtab.c (min_fn, min_attr_value): New functions.
3353         (make_length_attrs): Generate insn_min_length.
3354
3355 2005-09-20  Steve Ellcey  <sje@cup.hp.com>
3356
3357         * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
3358
3359 2005-09-20  Richard Henderson  <rth@redhat.com>
3360
3361         PR tree-optimization/24059
3362         * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
3363         EXPAND_STACK_PARM.
3364
3365 2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
3366
3367         * c.opt (fextended-identifiers): New.
3368         * c-opts.c (c_common_handle_option): Handle
3369         -fextended-identifiers.
3370         * doc/cpp.texi: Update documentation of extended identifiers.
3371         * doc/cppopts.texi (-fextended-identifiers): Document.
3372
3373 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
3374
3375         PR tree-optimization/23929
3376         * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
3377         if expr is NULL.
3378
3379         PR tree-optimization/23818
3380         * tree-stdarg.c (execute_optimize_stdarg): Call
3381         calculate_dominance_info.
3382
3383 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
3384
3385         * tree-data-ref.c (get_number_of_iters_for_loop): New function.
3386         (analyze_siv_subscript_cst_affine): Add weak SIV test.
3387         (compute_overlap_steps_for_affine_1_2): Use
3388         get_number_of_iters_for_loop.
3389         (analyze_subscript_affine_affine): Check whether difference is
3390         zero first.
3391         Use get_number_of_iters_for_loop.
3392         Check whether overlap occurs outside of bounds.
3393         (analyze_miv_subscript): Use get_number_of_iters_for_loop.
3394
3395 2005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
3396
3397         * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
3398         base register if possible.
3399
3400 2005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
3401
3402         PR tree-optimization/18463
3403         * tree-chrec.c (chrec_convert): Return fold_converted chrec if
3404         converting it directly is not possible.
3405         (chrec_convert_aggressive): New function.
3406         * tree-chrec.h (chrec_convert_aggressive): Declare.
3407         * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
3408         Fold chrec conversions aggressively if asked to.
3409         (instantiate_parameters): Modified because of changes in
3410         instantiate_parameters_1.
3411
3412 2005-09-19  Richard Henderson  <rth@redhat.com>
3413
3414         * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
3415         (reduc_splus_v2df): New.
3416
3417 2005-09-19  Richard Sandiford  <richard@codesourcery.com>
3418
3419         * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
3420         (ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
3421
3422 2005-09-19  Richard Henderson  <rth@redhat.com>
3423
3424         * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
3425         vcondu<SSEMODE12>.
3426
3427 2005-09-19  Richard Henderson  <rth@redhat.com>
3428
3429         * config/ia64/ia64.c (ia64_expand_widen_sum): New.
3430         (ia64_expand_dot_prod_v8qi): New.
3431         * config/ia64/ia64-protos.h: Update.
3432         * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
3433         widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
3434         sdot_prodv8qi, sdot_prodv4hi): New.
3435         (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
3436
3437 2005-09-19  Richard Henderson  <rth@redhat.com>
3438
3439         PR 23941
3440         * real.c (exact_real_truncate): Return false if the format cannot
3441         represent the number as a normal.
3442
3443         * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
3444         for a memory source.
3445
3446 2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
3447
3448         * tree-ssa-operands.c (swap_tree_operands): Export.
3449         * tree.h (swap_tree_operands): Declare.
3450         * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
3451         Call swap_tree_operands.
3452
3453 2005-09-19  Richard Henderson  <rth@redhat.com>
3454
3455         * tree-flow.h (merge_alias_info): Declare.
3456         * tree-ssa-copy.c (merge_alias_info): Export.
3457         * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
3458         (vect_create_data_ref_ptr): Use create_iv directly.
3459         (vectorizable_load): Use correct types for integer constants.
3460         (vect_generate_tmps_on_preheader): Likewise.
3461         (vect_gen_niters_for_prolog_loop): Likewise.
3462
3463 2005-09-19  Steven Bosscher  <stevenb@suse.de>
3464
3465         PR rtl-optimization/23943
3466         * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
3467
3468 2005-09-18  Jan Hubicka  <jh@suse.cz>
3469
3470         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
3471
3472 2005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
3473
3474         * varasm.c (output_constant): Do not abort on conversions to union
3475         types between different sizes.
3476
3477 2005-09-18  Richard Guenther  <rguenther@suse.de>
3478
3479         PR middle-end/23944
3480         * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
3481         fallback.
3482
3483 2005-09-18  Paul Brook  <paul@codesourcery.com>
3484
3485         * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
3486
3487 2005-09-17  Richard Henderson  <rth@redhat.com>
3488
3489         * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
3490         * tree-ssa-loop.c (pass_vect_dce): Remove.
3491         * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
3492         of pass_vectorize.
3493
3494 2005-09-17  Richard Henderson  <rth@redhat.com>
3495
3496         * tree-pass.h (pass_vect_dce): Declare.
3497         * passes.c (init_optimization_passes): Add it.
3498         * tree-flow.h (tree_ssa_dce): Declare.
3499         * tree-ssa-dce.c (tree_ssa_dce): Export.
3500         * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
3501         (gate_tree_vectorize): ... here.
3502         (pass_vect_dce): New.
3503
3504 2005-09-17  Jan Hubicka  <jh@suse.cz>
3505
3506         * except.c (struct eh_status): Turn region_array into vec.
3507         (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
3508         convert_from_eh_region_ranges, find_exception_handler_labels,
3509         current_function_has_exception_handlers, assign_filter_values,
3510         build_post_landing_pads, dw2_build_landing_pads,
3511         sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
3512         sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
3513         foreach_reachable_handler, can_throw_internal_1,
3514         convert_to_eh_region_ranges, verify_eh_tree): Update uses of
3515         region_array.
3516         (duplicate_eh_region_1): Update region_array.
3517         (duplicate_eh_regions): Resize region_array and avoid recomputing.
3518
3519 2005-09-17  David Edelsohn  <edelsohn@gnu.org>
3520
3521         PR middle-end/22067
3522         * expmed.c (expand_mult): Substitute simple register for op0 when
3523         computing max_cost.
3524
3525 2005-09-17  Richard Henderson  <rth@redhat.com>
3526
3527         * expr.c (emit_move_via_integer): Add force argument, pass it on
3528         to emit_move_change_mode.  Update callers.
3529         (emit_move_complex): Pass true to new force argument.
3530         * function.c (expand_function_end): Move expand_eh_return call
3531         earlier.  Merge sub-word complex values into a pseudo before
3532         copying to the return hard register.
3533
3534 2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
3535
3536         * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
3537         between different sizes.
3538
3539 2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
3540
3541         PR 23903
3542
3543         * passes.c (init_optimization_passes): Register dump files for
3544         IPA passes first.
3545
3546 2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
3547
3548         * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
3549         * config/s390/s390.c (s390_overlap_p): New function.
3550         * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
3551         peephole2, "*xc" peephole2): Added overlap check to the peephole2
3552         condition.
3553
3554 2005-09-16  Richard Guenther  <rguenther@suse.de>
3555
3556         * ipa-pure-const.c (static_execute): Free auxiliar information.
3557         * ipa-type-escape.c (discover_unique_type): Free temporary key.
3558         * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
3559
3560 2005-09-15  DJ Delorie  <dj@redhat.com>
3561
3562         * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
3563
3564 2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
3565
3566         * optabs.c (expand_binop): Use swap_commutative_operands_with_target
3567         to order operands.
3568         (swap_commutative_operands_with_target): New.
3569
3570 2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
3571
3572         * tree-data-ref.c (analyze_array_indexes): Add estimate_only
3573         parameter.
3574         Update callers.
3575         (estimate_iters_using_array): New function.
3576         * tree-data-ref.h (estimate_iters_using_array): Prototype
3577         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
3578         Use estimate_iters_using_array instead of analyze_array.
3579
3580 2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
3581
3582         * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
3583         as addressable.
3584
3585 2005-09-15  Michael Matz  <matz@suse.de>
3586
3587         * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
3588
3589 2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
3590
3591         PR tree-optimization/23835
3592         * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
3593         (create_name_tags): Rewrite to be not O(num_ssa_names^2).
3594
3595 2005-09-14  Richard Henderson  <rth@redhat.com>
3596
3597         * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
3598         (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
3599
3600 2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
3601
3602         * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
3603         in the ARRAY_TYPE case.
3604
3605 2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
3606
3607         * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
3608
3609 2005-09-14  Uros Bizjak  <uros@kss-loka.si>
3610
3611         PR middle-end/22480
3612         * tree-vect-transform.c (vectorizable_operation): Return false for
3613         scalar shift operations and for vector shift operations with
3614         non-invariant shift arguments.  Use scalar tree operand op1 as
3615         a shift operand when vector shift insn pattern uses scalar shift
3616         operand.
3617         * Makefile.in (tree-vect-transform.o): Depend on recog.h.
3618
3619 2005-09-14  Olivier Hainque  <hainque@adacore.com>
3620
3621         * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
3622         value if it has side-effects.
3623
3624 2005-09-14  David Edelsohn  <edelsohn@gnu.org>
3625
3626         PR target/22068
3627         * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
3628
3629 2005-09-14  Alan Modra  <amodra@bigpond.net.au>
3630
3631         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
3632         passed as NAME as if it were label at start of function code.
3633
3634 2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
3635
3636         * config/sh/sh.md (*movv4sf_i): Add general register cases to
3637         the constraints.
3638
3639 2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
3640
3641         * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
3642         as early clobber.  Rewrite so the PIC register is not implicitly used.
3643
3644 2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3645
3646         * tree.c (annotate_with_file_line): Compare line numbers before
3647         file names.
3648
3649 2005-09-13  Uros Bizjak  <uros@kss-loka.si>
3650
3651         PR target/23816
3652         * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
3653         (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
3654
3655 2005-09-13  Ian Lance Taylor  <ian@airs.com>
3656
3657         * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
3658         than a HOST_WIDEST_INT to gen_doloop_begin.
3659
3660 2005-09-13  Diego Novillo  <dnovillo@redhat.com>
3661
3662         * tree-dfa.c (dump_variable): Guard against NULL annotations.
3663
3664 2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
3665
3666         PR tree-optimize/23817
3667         * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
3668
3669 2005-09-13  Alan Modra  <amodra@bigpond.net.au>
3670
3671         PR target/23774
3672         * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
3673         word before changing the stack pointer.  Use gen_frame_mem for MEMs.
3674         Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
3675         (restore_stack_nonlocal): Likewise.
3676         (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
3677
3678 2005-09-12  Ian Lance Taylor  <ian@airs.com>
3679
3680         PR g++/7874
3681         * c.opt (ffriend-injection): New C++ option.
3682         * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
3683         (C++ Dialect Options): Document -ffriend-injection.
3684
3685 2005-09-12  Josh Conner  <jconner@apple.com>
3686
3687         PR middle-end/23237
3688         * ipa-reference.c (static_execute): Don't mark variables in
3689         named sections TREE_READONLY.
3690
3691 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
3692
3693         * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
3694         stack_tie.
3695
3696 2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
3697
3698         * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
3699         V_MUST_DEF instead of just the first_use_p.
3700         Don't mark the virtual variables for renaming on the statement which
3701         is being removed.
3702         (pass_dse): Remove TODO_update_ssa.
3703
3704 2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
3705
3706         PR middle-end/23290
3707         * stor-layout.c (compute_record_mode): For records with a single
3708         field, actually check the field's mode size against the type size.
3709
3710         * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
3711         registers for TARGET_SHMEDIA.
3712         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
3713         GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
3714         of GENERAL_REGS and FP_REGS.
3715
3716 2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
3717
3718         * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
3719
3720 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
3721
3722         * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
3723         CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
3724         are omitted.  Exclude stack_tie insn too.
3725
3726 2005-09-11  David Edelsohn  <edelsohn@gnu.org>
3727
3728         PR rtl-optimization/23098
3729         * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
3730         0.0f is easy.
3731         * config/rs6000/rs6000.md (movdf splitter): Use
3732         const_double_operand predicate for TARGET_POWERPC64.
3733         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
3734         SYMBOL_REF method to ABI_V4.
3735
3736         * config/rs6000/altivec.md (build_vector_mask_for_load): Use
3737         replace_equiv_address.
3738         * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
3739         rs6000_sr_alias_set and MEM_NOTRAP.
3740         (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
3741
3742 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
3743
3744         * tree.c (contains_placeholder_p) <tcc_expression>: Properly
3745         handle CALL_EXPR again.
3746
3747 2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
3748
3749         * arm/predicates.md (alignable_memory_operand): Delete.
3750
3751 2005-09-10  Richard Henderson  <rth@redhat.com>
3752
3753         PR debug/23806
3754         * dbxout.c (dbxout_expand_expr): New.
3755         (dbxout_symbol): Use it.
3756
3757 2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
3758
3759         * arm.c (arm_gen_rotated_half_load): Delete.
3760         (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
3761         (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
3762         (thumb_set_return_address): Likewise.
3763         (thumb_load_double_from_address): Use adjust_address.
3764         * arm.md (splits calling arm_gen_rotated_half_load): Delete.
3765         (extendhsisi2_mem, movhi_bytes): Use change_address.
3766         (movhi): Use widen_memory_access.
3767         (reload_out_df): Use replace_equiv_address.
3768         * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
3769
3770 2005-09-09  Richard Henderson  <rth@redhat.com>
3771
3772         PR debug/20998
3773         * dbxout.c: Include expr.h.
3774         (dbxout_global_decl): Don't suppress for DECL_RTL unset.
3775         (dbxout_symbol): Handle DECL_VALUE_EXPR.
3776         * Makefile.in (dbxout.o): Add EXPR_H.
3777
3778 2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
3779
3780         PR tree-optimization/23509
3781         * tree-cfg.c (replace_uses_by): Use replace_exp.
3782         * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
3783         pointers have name_mem_tag or type_mem_tag set.
3784
3785 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
3786
3787         * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
3788         CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
3789         of wrongly accessing operands.
3790
3791 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
3792
3793         * Makefile.in (tree-chrec.o): Depends on SCEV_H.
3794         * tree-chrec.c: Include tree-scalar-evolution.h.
3795         (chrec_convert): Instantiate the base and step before calling
3796         scev_probably_wraps_p that would fail on parametric evolutions.
3797         Collect all the fails into a single section failed_to_convert,
3798         print a diagnostic, and return chrec_dont_know instead of calling
3799         fold_convert.
3800         * tree-scalar-evolution.c (loop_closed_phi_def): New.
3801         (instantiate_parameters_1): Avoid instantiation of loop closed ssa
3802         phi nodes.
3803         (scev_const_prop): Don't replace the definition of a loop closed ssa
3804         phi node by itself, or by another loop closed ssa phi node.
3805         * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
3806         that base and step are defined.
3807
3808 2005-09-09  Richard Guenther  <rguenther@suse.de>
3809
3810         PR c++/23624
3811         * fold-const.c (fold_ternary): Check truth_value_p before
3812         calling invert_truthvalue.
3813
3814 2005-09-09  Nick Clifton  <nickc@redhat.com>
3815
3816         * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
3817         * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
3818         dimension of these arrays.
3819         * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
3820         these arrays.
3821         * longlong.h: Only provide a prototype for the __clz_tab[] array
3822         if this header has not been included from libgcc2.h.
3823         * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
3824         defining own types.
3825         Provide prototypes for exported functions.
3826         Use the __clz_tab[] and __popcount_tab[] arrays provided by
3827         libgcc2.c.
3828
3829 2005-09-08  Josh Conner  <jconner@apple.com>
3830
3831         PR c++/21135
3832         PR c++/23180
3833         * expr.c (expand_expr_addr_expr_1): Don't invoke
3834         expand_simple_binop for EXPAND_INITIALIZER.
3835
3836 2005-09-08  Richard Henderson  <rth@redhat.com>
3837
3838         PR debug/23190
3839         * toplev.c (wrapup_global_declaration_1): Split out ...
3840         (wrapup_global_declaration_2): ... from ...
3841         (wrapup_global_declarations): ... here.  Return bool.
3842         (check_global_declaration_1): Split out ...
3843         (check_global_declarations): from here.
3844         (emit_debug_global_declarations): New.
3845         * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
3846         check_global_declaration_1, emit_debug_global_declarations): Declare.
3847         * c-decl.c (c_write_global_declarations_1): Don't create a vector
3848         of decls.  Call wrapup_global_declaration_1,
3849         wrapup_global_declaration_2, check_global_declaration_1 directly.
3850         (c_write_global_declarations_2): New.
3851         (ext_block): New.
3852         (c_write_global_declarations): Call c_write_global_declarations_2.
3853         * langhooks.c (write_global_declarations): Call
3854         emit_debug_global_declarations.
3855
3856         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
3857         remove decls that have DECL_RTL_SET_P.
3858         * passes.c (rest_of_decl_compilation): Invoke
3859         cgraph_varpool_finalize_decl for all but functions.
3860
3861 2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3862
3863         * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
3864         the result of a conversion if the new min and max cannot be compared.
3865
3866 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
3867
3868         * config/s390/s390.c (s390_sr_alias_set): Variable removed.
3869         (override_options): Setting s390_sr_alias_set removed.
3870         (save_fpr, save_gprs): Set alias set to vararg or frame.
3871         (restore_fpr, restore_gprs, s390_emit_prologue): Replace
3872         s390_sr_alias_set with get_frame_alias_set ().
3873         (s390_gimplify_va_arg): Replace s390_sr_alias_set with
3874         get_varargs_alias_set ().
3875
3876 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
3877
3878         PR objc/20574
3879         PR objc/19324
3880         * c-parser.c (c_parser_objc_method_definition): If the next
3881         token is not "{", error out and don't start the function.
3882
3883 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
3884
3885         * tree-vrp.c (extract_range_from_expr): Move the check for non
3886         nullness after the check for gimple invariant.
3887
3888 2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3889
3890         * tree.c (host_integerp, tree_low_cst): Correct function comment.
3891
3892 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3893
3894         PR target/23747
3895         * config/m32r.md (movmemsi_internal): Canonicalize order of
3896         operands in PLUS component of template.
3897
3898 2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
3899
3900         * reload1.c (fixup_eh_region_note): Remove assertion.
3901         (fixup_abnormal_edges): Reverted removal of call to
3902         find_many_sub_basic_blocks made on 2005-08-31.
3903
3904 2005-09-07  Richard Henderson  <rth@redhat.com>
3905
3906         * function.c (ARG_POINTER_CFA_OFFSET): Move ...
3907         * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
3908         (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
3909         * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
3910         rearrange for better packing.
3911         (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
3912         (lookup_cfa_1): Remove inline marker.
3913         (cfa_equal_p): Split out of ...
3914         (def_cfa_1): ... here.  Use INVALID_REGNUM.
3915         (build_cfa_loc): Handle !cfa->indirect.
3916         (frame_pointer_cfa_offset): New.
3917         (dbx_reg_number): Assert register elimination performed; do
3918         leaf register remapping.
3919         (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
3920         (eliminate_reg_to_offset): New.
3921         (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
3922         for verifiably local stack frame addresses; re-base to CFA.
3923         (mem_loc_descriptor): Remove can_use_fbreg argument.
3924         (concat_loc_descriptor, loc_descriptor): Likewise.
3925         (containing_function_has_frame_base): Remove.
3926         (rtl_for_decl_location): Don't do register elimination or
3927         leaf register remapping here.
3928         (secname_for_decl): Split out from ..
3929         (add_location_or_const_value_attribute): ... here.
3930         (convert_cfa_to_loc_list): New.
3931         (compute_frame_pointer_to_cfa_displacement): New.
3932         (gen_subprogram_die): Use them.
3933         * tree.h (frame_base_decl): Remove.
3934         * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
3935         (prologue_stack_adjust): Remove.
3936         (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
3937         (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
3938         (set_frame_base_location): Remove.
3939         (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
3940         (dump_attrs_list, dump_dataflow_set): Use string concatenation.
3941         (vt_add_function_parameters): Don't eliminate_regs.
3942         (vt_initialize): Don't create frame_base_decl.
3943
3944 2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3945
3946         * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
3947         version of GNU binutils for 4.x and later.
3948
3949 2005-09-06  Mark Mitchell  <mark@codesourcery.com>
3950
3951         * ggc-page.c (ggc_push_context): Remove.
3952         (ggc_pop_context): Likewise.
3953         * ggc.h (ggc_push_context): Remove.
3954         (ggc_pop_context): Likewise.
3955
3956 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
3957
3958         PR target/8973
3959         * config/arc/arc.c (arc_output_function_epilogue): Update flags while
3960         returning from an interrupt handler.
3961
3962 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
3963
3964         PR target/8972
3965         * config/arc/arc.c (output_shift): Add check for loop count when
3966         optimizing.
3967
3968 2005-09-06  Steven Bosscher  <stevenb@suse.de>
3969
3970         * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
3971         form manually.
3972         (abs_replacement): Likewise.
3973         (pass_phiopt): Remove TODO_update_ssa.
3974
3975 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
3976
3977         PR c/23075
3978         * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
3979         if "return with no value, in function returning non-void" warning
3980         has been issued.
3981         * tree-cfg.c (execute_warn_function_return): Don't look at
3982         RETURN_EXPRs with TREE_NO_WARNING set.
3983
3984         PR target/22362
3985         * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
3986         for internal functions doesn't use registers used by global registers
3987         variables.  Use fewer register parameters if there are global register
3988         variables.
3989
3990 2005-09-06  Olivier Hainque  <hainque@adacore.com>
3991             Eric Botcazou  <ebotcazou@adacore.com>
3992
3993         PR middle-end/14997
3994         * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
3995         when we would be extracting outside its bit span (bitpos+bitsize
3996         larger than its mode), possible with some VIEW_CONVERT_EXPRs from
3997         Ada unchecked conversions.
3998
3999 2005-09-06  Steven Bosscher  <stevenb@suse.de>
4000
4001         * tree-ssa-pre.c (try_look_through_load): New function.
4002         (compute_avail): Use it to try to look through loads for some
4003         more useful expressions.
4004
4005 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
4006
4007         * simplify-rtx.c (simplify_binary_operation_1): Correct the
4008         condition for detecting cases like (a&a) and (a^a).
4009
4010 2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
4011
4012         * common.opt: Add option ftree-vect-loop-version.
4013         * params.def: Add --param vect-max-version-checks.
4014         * doc/invoke.texi: Document ftree-vect-loop-version and
4015         --param vect-max-version-checks.
4016         * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
4017         may_misalign_stmts and defines for accessors.
4018         * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
4019         LOOP_VINFO_MAY_MISALIGN_STMTS.
4020         (destroy_loop_vec_info): VEC_free for
4021         LOOP_VINFO_MAY_MISALIGN_STMTS.
4022         * tree-vect-analyze.c (vect_compute_data_ref_alignment):
4023         Update documentation.
4024         (vect_update_misalignment_for_peel): New.
4025         (vect_enhance_data_refs_alignment): Update to choose loop
4026         peeling or loop versioning if appropriate for the (potentially)
4027         unaligned data references in the loop.
4028         (vect_analyze_data_refs_alignment): Remove call to
4029         vect_enhance_data_refs_alignment so the checks can be done
4030         earlier.
4031         (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
4032         and move up call to vect_analyze_data_refs_alignment.
4033         * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
4034         (vect_transform_loop): Add call to loop_version.
4035
4036 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
4037
4038         PR rtl-optimization/23098
4039         * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
4040         * simplify-rtx.c (constant_pool_reference_p): New function.
4041         * rtl.h (constant_pool_reference_p): New prototype.
4042         * config/i386/i386.md (pushf split, mov[sdx]f split): Use
4043         constant_pool_reference_p in condition and
4044         avoid_constant_pool_reference in preparation statements.
4045
4046 2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
4047
4048         * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
4049         STRICT_LOW_PART SETs.
4050
4051 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
4052
4053         PR middle-end/21460
4054         * except.c (sjlj_emit_function_enter): Find the function begin
4055         note even when it's not in first basic block.
4056
4057 2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
4058
4059         * acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
4060         AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
4061         * aclocal.m4: Regenerate.
4062
4063 2005-09-05  DJ Delorie  <dj@redhat.com>
4064
4065         * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
4066         of macro.
4067
4068 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
4069
4070         * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
4071         config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
4072         config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
4073         Follow spelling conventions.
4074         * doc/invoke.texi: Follow spelling conventions.
4075
4076 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
4077
4078         * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
4079         * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
4080         * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
4081
4082 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
4083
4084         PR target/23683
4085         * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
4086         (output_stack_adjust): Use gen_tmp_stack_mem.
4087         (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
4088         (sh_set_return_address, sh_allocate_initial_value): Likewise.
4089         (sh_get_pr_initial_val): Likewise.
4090         (sh_builtin_saveregs): Use gen_frame_mem and change_address.
4091         (sh_initialize_trampoline): Likewise.  Also use adjust_address.
4092         * sh.md (divsi_inv_m0): Use gen_const_mem.
4093         (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
4094         (movdf_i4+1): Use gen_tmp_stack_mem.
4095         (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
4096         (fpu_switch+2): Likewise.
4097         (movv4sf_i, movv16sf_i): Use adjust_address.
4098         (symGOT_load): Set MEM_NOTRAP_P bit.
4099
4100 2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4101
4102         PR target/23721
4103         * pa.c (emit_move_sequence): Fix typo in last change.
4104
4105 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
4106
4107         PR rtl-optimization/23454
4108         * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
4109         is true.
4110
4111 2005-09-03  Richard Henderson  <rth@redhat.com>
4112             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4113
4114         PR middle-end/23671
4115         * pa.c (emit_move_sequence): Use replace_equiv_address instead of
4116         gen_rtx_MEM.
4117
4118 2005-09-02  Nicolas Pitre <nico@cam.org>
4119
4120         * config/arm/arm.c (arm_legitimize_address): Limit the value passed
4121         to bit_count to 32 bits.
4122
4123 2005-08-31  Mark Mitchell  <mark@codesourcery.com>